summaryrefslogtreecommitdiff
path: root/tools/node_modules/eslint/node_modules/ansi-escapes/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'tools/node_modules/eslint/node_modules/ansi-escapes/index.js')
-rw-r--r--tools/node_modules/eslint/node_modules/ansi-escapes/index.js27
1 files changed, 26 insertions, 1 deletions
diff --git a/tools/node_modules/eslint/node_modules/ansi-escapes/index.js b/tools/node_modules/eslint/node_modules/ansi-escapes/index.js
index 4638bbc3d6..283331858f 100644
--- a/tools/node_modules/eslint/node_modules/ansi-escapes/index.js
+++ b/tools/node_modules/eslint/node_modules/ansi-escapes/index.js
@@ -128,5 +128,30 @@ ansiEscapes.image = (buffer, options = {}) => {
};
ansiEscapes.iTerm = {
- setCwd: (cwd = process.cwd()) => `${OSC}50;CurrentDir=${cwd}${BEL}`
+ setCwd: (cwd = process.cwd()) => `${OSC}50;CurrentDir=${cwd}${BEL}`,
+
+ annotation: (message, options = {}) => {
+ let ret = `${OSC}1337;`;
+
+ const hasX = typeof options.x !== 'undefined';
+ const hasY = typeof options.y !== 'undefined';
+ if ((hasX || hasY) && !(hasX && hasY && typeof options.length !== 'undefined')) {
+ throw new Error('`x`, `y` and `length` must be defined when `x` or `y` is defined');
+ }
+
+ message = message.replace(/\|/g, '');
+
+ ret += options.isHidden ? 'AddHiddenAnnotation=' : 'AddAnnotation=';
+
+ if (options.length > 0) {
+ ret +=
+ (hasX ?
+ [message, options.length, options.x, options.y] :
+ [options.length, message]).join('|');
+ } else {
+ ret += message;
+ }
+
+ return ret + BEL;
+ }
};