@celljs/ta-web 4.7.0 → 4.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +1 -1
- package/README.md +1 -1
- package/esm/browser/chat/chat-protocol.d.ts +4 -0
- package/esm/browser/chat/chat-view.js +4 -1
- package/esm/browser/chat/chat-view.js.map +1 -1
- package/esm/browser/chat/chat.d.ts +8 -1
- package/esm/browser/chat/chat.js +34 -15
- package/esm/browser/chat/chat.js.map +1 -1
- package/esm/browser/chat/draft-model.d.ts +15 -0
- package/esm/browser/chat/draft-model.js +53 -0
- package/esm/browser/chat/draft-model.js.map +1 -0
- package/esm/browser/components/app-view.js +10 -3
- package/esm/browser/components/app-view.js.map +1 -1
- package/esm/browser/components/composer-box.d.ts +6 -0
- package/esm/browser/components/composer-box.js +50 -13
- package/esm/browser/components/composer-box.js.map +1 -1
- package/esm/browser/components/composer.js +1 -1
- package/esm/browser/components/composer.js.map +1 -1
- package/esm/browser/components/dialog-view.d.ts +4 -1
- package/esm/browser/components/dialog-view.js +11 -7
- package/esm/browser/components/dialog-view.js.map +1 -1
- package/esm/browser/components/notice-center.js +3 -1
- package/esm/browser/components/notice-center.js.map +1 -1
- package/esm/browser/components/session-view.js +48 -4
- package/esm/browser/components/session-view.js.map +1 -1
- package/esm/browser/components/terminal-art.d.ts +7 -0
- package/esm/browser/components/terminal-art.js +12 -0
- package/esm/browser/components/terminal-art.js.map +1 -0
- package/esm/browser/components/tool-view.js +1 -1
- package/esm/browser/components/tool-view.js.map +1 -1
- package/esm/browser/components/web-composer.js +1 -1
- package/esm/browser/components/web-composer.js.map +1 -1
- package/esm/browser/extension/icons.js +4 -1
- package/esm/browser/extension/icons.js.map +1 -1
- package/esm/browser/extension/web-extension-api.d.ts +117 -1
- package/esm/browser/extension/web-extensions.d.ts +3 -0
- package/esm/browser/extension/web-extensions.js +22 -0
- package/esm/browser/extension/web-extensions.js.map +1 -1
- package/esm/browser/i18n/locales.d.ts +13 -1
- package/esm/browser/i18n/messages.d.ts +12 -0
- package/esm/browser/i18n/messages.js +24 -0
- package/esm/browser/i18n/messages.js.map +1 -1
- package/esm/browser/notices/notices-protocol.d.ts +3 -0
- package/esm/browser/notices/notices.d.ts +3 -0
- package/esm/browser/notices/notices.js +15 -0
- package/esm/browser/notices/notices.js.map +1 -1
- package/esm/browser/style/conversation.d.ts +1 -1
- package/esm/browser/style/conversation.js +16 -1
- package/esm/browser/style/conversation.js.map +1 -1
- package/esm/browser/style/layout.d.ts +1 -1
- package/esm/browser/style/layout.js +5 -0
- package/esm/browser/style/layout.js.map +1 -1
- package/esm/browser/style/shell.d.ts +1 -1
- package/esm/browser/style/shell.js +1 -0
- package/esm/browser/style/shell.js.map +1 -1
- package/esm/browser/terminal/canvas-font.d.ts +10 -0
- package/esm/browser/terminal/canvas-font.js +34 -0
- package/esm/browser/terminal/canvas-font.js.map +1 -0
- package/esm/browser/terminal/terminal-links.d.ts +18 -0
- package/esm/browser/terminal/terminal-links.js +72 -0
- package/esm/browser/terminal/terminal-links.js.map +1 -0
- package/esm/browser/terminal/terminal-theme.d.ts +8 -0
- package/esm/browser/terminal/terminal-theme.js +65 -0
- package/esm/browser/terminal/terminal-theme.js.map +1 -0
- package/esm/browser/terminal/web-terminal.d.ts +74 -0
- package/esm/browser/terminal/web-terminal.js +300 -0
- package/esm/browser/terminal/web-terminal.js.map +1 -0
- package/esm/browser/terminal/xterm.d.ts +5 -0
- package/esm/browser/terminal/xterm.js +9 -0
- package/esm/browser/terminal/xterm.js.map +1 -0
- package/esm/browser/util/desktop.d.ts +43 -0
- package/esm/browser/util/desktop.js +55 -0
- package/esm/browser/util/desktop.js.map +1 -0
- package/esm/browser/util/file-drag.d.ts +26 -0
- package/esm/browser/util/file-drag.js +73 -0
- package/esm/browser/util/file-drag.js.map +1 -0
- package/esm/browser/util/terminal-text.d.ts +33 -0
- package/esm/browser/util/terminal-text.js +209 -0
- package/esm/browser/util/terminal-text.js.map +1 -0
- package/esm/browser/util/tool.js +16 -0
- package/esm/browser/util/tool.js.map +1 -1
- package/lib/browser/chat/chat-protocol.d.ts +4 -0
- package/lib/browser/chat/chat-protocol.d.ts.map +1 -1
- package/lib/browser/chat/chat-view.d.ts.map +1 -1
- package/lib/browser/chat/chat-view.js +4 -1
- package/lib/browser/chat/chat-view.js.map +1 -1
- package/lib/browser/chat/chat.d.ts +8 -1
- package/lib/browser/chat/chat.d.ts.map +1 -1
- package/lib/browser/chat/chat.js +34 -15
- package/lib/browser/chat/chat.js.map +1 -1
- package/lib/browser/chat/chat.spec.js +30 -0
- package/lib/browser/chat/chat.spec.js.map +1 -1
- package/lib/browser/chat/draft-model.d.ts +16 -0
- package/lib/browser/chat/draft-model.d.ts.map +1 -0
- package/lib/browser/chat/draft-model.js +90 -0
- package/lib/browser/chat/draft-model.js.map +1 -0
- package/lib/browser/chat/draft-model.spec.d.ts +2 -0
- package/lib/browser/chat/draft-model.spec.d.ts.map +1 -0
- package/lib/browser/chat/draft-model.spec.js +31 -0
- package/lib/browser/chat/draft-model.spec.js.map +1 -0
- package/lib/browser/components/app-view.d.ts.map +1 -1
- package/lib/browser/components/app-view.js +10 -3
- package/lib/browser/components/app-view.js.map +1 -1
- package/lib/browser/components/composer-box.d.ts +6 -0
- package/lib/browser/components/composer-box.d.ts.map +1 -1
- package/lib/browser/components/composer-box.js +51 -14
- package/lib/browser/components/composer-box.js.map +1 -1
- package/lib/browser/components/composer.d.ts.map +1 -1
- package/lib/browser/components/composer.js +1 -1
- package/lib/browser/components/composer.js.map +1 -1
- package/lib/browser/components/dialog-view.d.ts +4 -1
- package/lib/browser/components/dialog-view.d.ts.map +1 -1
- package/lib/browser/components/dialog-view.js +11 -7
- package/lib/browser/components/dialog-view.js.map +1 -1
- package/lib/browser/components/notice-center.d.ts.map +1 -1
- package/lib/browser/components/notice-center.js +3 -1
- package/lib/browser/components/notice-center.js.map +1 -1
- package/lib/browser/components/plus-menu.spec.d.ts +2 -0
- package/lib/browser/components/plus-menu.spec.d.ts.map +1 -0
- package/lib/browser/components/plus-menu.spec.js +18 -0
- package/lib/browser/components/plus-menu.spec.js.map +1 -0
- package/lib/browser/components/session-view.d.ts.map +1 -1
- package/lib/browser/components/session-view.js +48 -4
- package/lib/browser/components/session-view.js.map +1 -1
- package/lib/browser/components/terminal-art.d.ts +8 -0
- package/lib/browser/components/terminal-art.d.ts.map +1 -0
- package/lib/browser/components/terminal-art.js +48 -0
- package/lib/browser/components/terminal-art.js.map +1 -0
- package/lib/browser/components/tool-view.js +1 -1
- package/lib/browser/components/tool-view.js.map +1 -1
- package/lib/browser/components/web-composer.d.ts.map +1 -1
- package/lib/browser/components/web-composer.js +1 -1
- package/lib/browser/components/web-composer.js.map +1 -1
- package/lib/browser/extension/icons.d.ts.map +1 -1
- package/lib/browser/extension/icons.js +3 -0
- package/lib/browser/extension/icons.js.map +1 -1
- package/lib/browser/extension/web-extension-api.d.ts +117 -1
- package/lib/browser/extension/web-extension-api.d.ts.map +1 -1
- package/lib/browser/extension/web-extensions.d.ts +3 -0
- package/lib/browser/extension/web-extensions.d.ts.map +1 -1
- package/lib/browser/extension/web-extensions.js +22 -0
- package/lib/browser/extension/web-extensions.js.map +1 -1
- package/lib/browser/i18n/locales.d.ts +13 -1
- package/lib/browser/i18n/locales.d.ts.map +1 -1
- package/lib/browser/i18n/messages.d.ts +12 -0
- package/lib/browser/i18n/messages.d.ts.map +1 -1
- package/lib/browser/i18n/messages.js +24 -0
- package/lib/browser/i18n/messages.js.map +1 -1
- package/lib/browser/notices/notices-protocol.d.ts +3 -0
- package/lib/browser/notices/notices-protocol.d.ts.map +1 -1
- package/lib/browser/notices/notices.d.ts +3 -0
- package/lib/browser/notices/notices.d.ts.map +1 -1
- package/lib/browser/notices/notices.js +15 -0
- package/lib/browser/notices/notices.js.map +1 -1
- package/lib/browser/notices/notices.spec.js +7 -2
- package/lib/browser/notices/notices.spec.js.map +1 -1
- package/lib/browser/style/conversation.d.ts +1 -1
- package/lib/browser/style/conversation.d.ts.map +1 -1
- package/lib/browser/style/conversation.js +16 -1
- package/lib/browser/style/conversation.js.map +1 -1
- package/lib/browser/style/layout.d.ts +1 -1
- package/lib/browser/style/layout.d.ts.map +1 -1
- package/lib/browser/style/layout.js +5 -0
- package/lib/browser/style/layout.js.map +1 -1
- package/lib/browser/style/shell.d.ts +1 -1
- package/lib/browser/style/shell.d.ts.map +1 -1
- package/lib/browser/style/shell.js +1 -0
- package/lib/browser/style/shell.js.map +1 -1
- package/lib/browser/terminal/canvas-font.d.ts +11 -0
- package/lib/browser/terminal/canvas-font.d.ts.map +1 -0
- package/lib/browser/terminal/canvas-font.js +37 -0
- package/lib/browser/terminal/canvas-font.js.map +1 -0
- package/lib/browser/terminal/canvas-font.spec.d.ts +2 -0
- package/lib/browser/terminal/canvas-font.spec.d.ts.map +1 -0
- package/lib/browser/terminal/canvas-font.spec.js +32 -0
- package/lib/browser/terminal/canvas-font.spec.js.map +1 -0
- package/lib/browser/terminal/terminal-links.d.ts +19 -0
- package/lib/browser/terminal/terminal-links.d.ts.map +1 -0
- package/lib/browser/terminal/terminal-links.js +75 -0
- package/lib/browser/terminal/terminal-links.js.map +1 -0
- package/lib/browser/terminal/terminal-links.spec.d.ts +2 -0
- package/lib/browser/terminal/terminal-links.spec.d.ts.map +1 -0
- package/lib/browser/terminal/terminal-links.spec.js +30 -0
- package/lib/browser/terminal/terminal-links.spec.js.map +1 -0
- package/lib/browser/terminal/terminal-theme.d.ts +9 -0
- package/lib/browser/terminal/terminal-theme.d.ts.map +1 -0
- package/lib/browser/terminal/terminal-theme.js +68 -0
- package/lib/browser/terminal/terminal-theme.js.map +1 -0
- package/lib/browser/terminal/terminal-theme.spec.d.ts +2 -0
- package/lib/browser/terminal/terminal-theme.spec.d.ts.map +1 -0
- package/lib/browser/terminal/terminal-theme.spec.js +24 -0
- package/lib/browser/terminal/terminal-theme.spec.js.map +1 -0
- package/lib/browser/terminal/web-terminal.d.ts +75 -0
- package/lib/browser/terminal/web-terminal.d.ts.map +1 -0
- package/lib/browser/terminal/web-terminal.js +304 -0
- package/lib/browser/terminal/web-terminal.js.map +1 -0
- package/lib/browser/terminal/xterm.d.ts +6 -0
- package/lib/browser/terminal/xterm.d.ts.map +1 -0
- package/lib/browser/terminal/xterm.js +16 -0
- package/lib/browser/terminal/xterm.js.map +1 -0
- package/lib/browser/util/desktop.d.ts +44 -0
- package/lib/browser/util/desktop.d.ts.map +1 -0
- package/lib/browser/util/desktop.js +58 -0
- package/lib/browser/util/desktop.js.map +1 -0
- package/lib/browser/util/desktop.spec.d.ts +2 -0
- package/lib/browser/util/desktop.spec.d.ts.map +1 -0
- package/lib/browser/util/desktop.spec.js +67 -0
- package/lib/browser/util/desktop.spec.js.map +1 -0
- package/lib/browser/util/file-drag.d.ts +27 -0
- package/lib/browser/util/file-drag.d.ts.map +1 -0
- package/lib/browser/util/file-drag.js +76 -0
- package/lib/browser/util/file-drag.js.map +1 -0
- package/lib/browser/util/file-drag.spec.d.ts +2 -0
- package/lib/browser/util/file-drag.spec.d.ts.map +1 -0
- package/lib/browser/util/file-drag.spec.js +46 -0
- package/lib/browser/util/file-drag.spec.js.map +1 -0
- package/lib/browser/util/terminal-text.d.ts +34 -0
- package/lib/browser/util/terminal-text.d.ts.map +1 -0
- package/lib/browser/util/terminal-text.js +212 -0
- package/lib/browser/util/terminal-text.js.map +1 -0
- package/lib/browser/util/terminal-text.spec.d.ts +2 -0
- package/lib/browser/util/terminal-text.spec.d.ts.map +1 -0
- package/lib/browser/util/terminal-text.spec.js +54 -0
- package/lib/browser/util/terminal-text.spec.js.map +1 -0
- package/lib/browser/util/tool.d.ts.map +1 -1
- package/lib/browser/util/tool.js +16 -0
- package/lib/browser/util/tool.js.map +1 -1
- package/lib/browser/util/tool.spec.js +12 -0
- package/lib/browser/util/tool.spec.js.map +1 -1
- package/package.json +11 -7
- package/src/browser/chat/chat-protocol.ts +4 -0
- package/src/browser/chat/chat-view.tsx +4 -0
- package/src/browser/chat/chat.spec.ts +31 -0
- package/src/browser/chat/chat.ts +36 -14
- package/src/browser/chat/draft-model.spec.tsx +31 -0
- package/src/browser/chat/draft-model.tsx +63 -0
- package/src/browser/components/app-view.tsx +10 -3
- package/src/browser/components/composer-box.tsx +52 -6
- package/src/browser/components/composer.tsx +1 -0
- package/src/browser/components/dialog-view.tsx +16 -7
- package/src/browser/components/notice-center.tsx +7 -1
- package/src/browser/components/plus-menu.spec.ts +16 -0
- package/src/browser/components/session-view.tsx +65 -4
- package/src/browser/components/terminal-art.tsx +21 -0
- package/src/browser/components/tool-view.tsx +1 -1
- package/src/browser/components/web-composer.tsx +1 -0
- package/src/browser/extension/icons.ts +6 -0
- package/src/browser/extension/web-extension-api.ts +131 -1
- package/src/browser/extension/web-extensions.ts +36 -1
- package/src/browser/i18n/messages.ts +24 -0
- package/src/browser/notices/notices-protocol.ts +3 -0
- package/src/browser/notices/notices.spec.ts +8 -2
- package/src/browser/notices/notices.ts +17 -1
- package/src/browser/style/conversation.ts +16 -1
- package/src/browser/style/layout.ts +5 -0
- package/src/browser/style/shell.ts +1 -0
- package/src/browser/terminal/canvas-font.spec.ts +29 -0
- package/src/browser/terminal/canvas-font.ts +32 -0
- package/src/browser/terminal/terminal-links.spec.ts +32 -0
- package/src/browser/terminal/terminal-links.ts +75 -0
- package/src/browser/terminal/terminal-theme.spec.ts +23 -0
- package/src/browser/terminal/terminal-theme.ts +66 -0
- package/src/browser/terminal/web-terminal.ts +330 -0
- package/src/browser/terminal/xterm.ts +10 -0
- package/src/browser/util/desktop.spec.ts +68 -0
- package/src/browser/util/desktop.ts +96 -0
- package/src/browser/util/file-drag.spec.ts +48 -0
- package/src/browser/util/file-drag.ts +78 -0
- package/src/browser/util/terminal-text.spec.ts +60 -0
- package/src/browser/util/terminal-text.ts +223 -0
- package/src/browser/util/tool.spec.ts +12 -0
- package/src/browser/util/tool.ts +17 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/browser/style/shell.ts"],"names":[],"mappings":";;;AAAA,gGAAgG;AACnF,QAAA,WAAW,GAAG
|
|
1
|
+
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../../src/browser/style/shell.ts"],"names":[],"mappings":";;;AAAA,gGAAgG;AACnF,QAAA,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0O1B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* xterm.js's WebGL renderer sets the font of its canvases as `${italic} ${weight} ${size}px ${family}`,
|
|
3
|
+
* which starts with a space when the text is not italic. Chromium 156 (Electron 45, the desktop app)
|
|
4
|
+
* rejects a font with leading spaces and keeps `10px sans-serif`: the glyphs come out tiny in cells of
|
|
5
|
+
* the right size. Setting `font` without the leading spaces makes it the font xterm.js meant; a font
|
|
6
|
+
* that was valid is unchanged. Remove when @xterm/addon-webgl writes `normal` there.
|
|
7
|
+
*/
|
|
8
|
+
export declare namespace CanvasFontFix {
|
|
9
|
+
function install(prototypes?: readonly (object | undefined)[]): void;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=canvas-font.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canvas-font.d.ts","sourceRoot":"","sources":["../../../src/browser/terminal/canvas-font.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,yBAAiB,aAAa,CAAC;IAC3B,SAAgB,OAAO,CAAC,UAAU,GAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAe,GAAG,IAAI,CAgBtF;CAKJ"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CanvasFontFix = void 0;
|
|
4
|
+
const INSTALLED = Symbol.for('ta.canvasFontTrim');
|
|
5
|
+
/**
|
|
6
|
+
* xterm.js's WebGL renderer sets the font of its canvases as `${italic} ${weight} ${size}px ${family}`,
|
|
7
|
+
* which starts with a space when the text is not italic. Chromium 156 (Electron 45, the desktop app)
|
|
8
|
+
* rejects a font with leading spaces and keeps `10px sans-serif`: the glyphs come out tiny in cells of
|
|
9
|
+
* the right size. Setting `font` without the leading spaces makes it the font xterm.js meant; a font
|
|
10
|
+
* that was valid is unchanged. Remove when @xterm/addon-webgl writes `normal` there.
|
|
11
|
+
*/
|
|
12
|
+
var CanvasFontFix;
|
|
13
|
+
(function (CanvasFontFix) {
|
|
14
|
+
function install(prototypes = defaults()) {
|
|
15
|
+
for (const prototype of prototypes) {
|
|
16
|
+
const target = prototype;
|
|
17
|
+
const font = target && Object.getOwnPropertyDescriptor(target, 'font');
|
|
18
|
+
if (!target || !(font === null || font === void 0 ? void 0 : font.set) || target[INSTALLED]) {
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
const set = font.set;
|
|
22
|
+
Object.defineProperty(target, 'font', {
|
|
23
|
+
...font,
|
|
24
|
+
set(value) {
|
|
25
|
+
set.call(this, typeof value === 'string' ? value.trimStart() : value);
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
Object.defineProperty(target, INSTALLED, { value: true });
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
CanvasFontFix.install = install;
|
|
32
|
+
function defaults() {
|
|
33
|
+
var _a, _b;
|
|
34
|
+
return [(_a = globalThis.CanvasRenderingContext2D) === null || _a === void 0 ? void 0 : _a.prototype, (_b = globalThis.OffscreenCanvasRenderingContext2D) === null || _b === void 0 ? void 0 : _b.prototype];
|
|
35
|
+
}
|
|
36
|
+
})(CanvasFontFix || (exports.CanvasFontFix = CanvasFontFix = {}));
|
|
37
|
+
//# sourceMappingURL=canvas-font.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canvas-font.js","sourceRoot":"","sources":["../../../src/browser/terminal/canvas-font.ts"],"names":[],"mappings":";;;AAAA,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAElD;;;;;;GAMG;AACH,IAAiB,aAAa,CAsB7B;AAtBD,WAAiB,aAAa;IAC1B,SAAgB,OAAO,CAAC,UAAU,GAAoC,QAAQ,EAAE;QAC5E,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,SAAqD,CAAC;YACrE,MAAM,IAAI,GAAG,MAAM,IAAI,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACvE,IAAI,CAAC,MAAM,IAAI,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAA,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7C,SAAS;YACb,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YACrB,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE;gBAClC,GAAG,IAAI;gBACP,GAAG,CAAe,KAAc;oBAC5B,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBAC1E,CAAC;aACJ,CAAC,CAAC;YACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IAhBe,cAAA,OAAO,UAgBtB,CAAA;IAED,SAAS,QAAQ;;QACb,OAAO,CAAC,MAAA,UAAU,CAAC,wBAAwB,0CAAE,SAAS,EAAE,MAAA,UAAU,CAAC,iCAAiC,0CAAE,SAAS,CAAC,CAAC;IACrH,CAAC;AACL,CAAC,EAtBgB,aAAa,aAAb,aAAa,GAAb,aAAa,QAsB7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canvas-font.spec.d.ts","sourceRoot":"","sources":["../../../src/browser/terminal/canvas-font.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const bun_test_1 = require("bun:test");
|
|
4
|
+
const canvas_font_1 = require("./canvas-font");
|
|
5
|
+
/** A context that, as Chromium 156, keeps its font when the new one starts with a space. */
|
|
6
|
+
class StrictContext {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.value = '10px sans-serif';
|
|
9
|
+
}
|
|
10
|
+
get font() {
|
|
11
|
+
return this.value;
|
|
12
|
+
}
|
|
13
|
+
set font(font) {
|
|
14
|
+
if (!/^\s/.test(font)) {
|
|
15
|
+
this.value = font.replace(/^(normal )+/, '');
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
(0, bun_test_1.describe)('CanvasFontFix', () => {
|
|
20
|
+
(0, bun_test_1.it)('sets the font xterm.js meant, and leaves a valid one as it is', () => {
|
|
21
|
+
const context = new StrictContext();
|
|
22
|
+
context.font = ' normal 24px Menlo';
|
|
23
|
+
(0, bun_test_1.expect)(context.font).toBe('10px sans-serif');
|
|
24
|
+
canvas_font_1.CanvasFontFix.install([StrictContext.prototype, undefined]);
|
|
25
|
+
canvas_font_1.CanvasFontFix.install([StrictContext.prototype]);
|
|
26
|
+
context.font = ' normal 24px Menlo';
|
|
27
|
+
(0, bun_test_1.expect)(context.font).toBe('24px Menlo');
|
|
28
|
+
context.font = 'italic bold 12px monospace';
|
|
29
|
+
(0, bun_test_1.expect)(context.font).toBe('italic bold 12px monospace');
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=canvas-font.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canvas-font.spec.js","sourceRoot":"","sources":["../../../src/browser/terminal/canvas-font.spec.ts"],"names":[],"mappings":";;AAAA,uCAAgD;AAChD,+CAA8C;AAE9C,4FAA4F;AAC5F,MAAM,aAAa;IAAnB;QACc,UAAK,GAAG,iBAAiB,CAAC;IASxC,CAAC;IARG,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IACD,IAAI,IAAI,CAAC,IAAY;QACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QACjD,CAAC;IACL,CAAC;CACJ;AAED,IAAA,mBAAQ,EAAC,eAAe,EAAE,GAAG,EAAE;IAC3B,IAAA,aAAE,EAAC,+DAA+D,EAAE,GAAG,EAAE;QACrE,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACpC,IAAA,iBAAM,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7C,2BAAa,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QAC5D,2BAAa,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,GAAG,oBAAoB,CAAC;QACpC,IAAA,iBAAM,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxC,OAAO,CAAC,IAAI,GAAG,4BAA4B,CAAC;QAC5C,IAAA,iBAAM,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type LinkTarget } from '../util/link';
|
|
2
|
+
/** A link in a line of a terminal: `text.slice(start, end)`. */
|
|
3
|
+
export interface TerminalLink {
|
|
4
|
+
start: number;
|
|
5
|
+
end: number;
|
|
6
|
+
target: LinkTarget;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* The links of a line of a terminal, as VS Code finds them: http(s) and file URLs, and paths of files
|
|
10
|
+
* (`src/a.ts:10:5`, `./b.md`, `/etc/hosts`, `docs/`) with the place a compiler or grep prints after
|
|
11
|
+
* them. A name alone is a file only with an extension files have (LinkUtil.codeReference); a path
|
|
12
|
+
* starting with `./`, `../` or two names under `/` is one with any name.
|
|
13
|
+
*/
|
|
14
|
+
export declare namespace TerminalLinkUtil {
|
|
15
|
+
function find(text: string): TerminalLink[];
|
|
16
|
+
/** `file://host/path` of OSC 7, the directory a shell says it is in. */
|
|
17
|
+
function cwdOf(osc7: string): string | undefined;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=terminal-links.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-links.d.ts","sourceRoot":"","sources":["../../../src/browser/terminal/terminal-links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAY,MAAM,cAAc,CAAC;AAEzD,gEAAgE;AAChE,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,UAAU,CAAC;CACtB;AAYD;;;;;GAKG;AACH,yBAAiB,gBAAgB,CAAC;IAC9B,SAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,EAAE,CAkCjD;IAED,wEAAwE;IACxE,SAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAUtD;CACJ"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TerminalLinkUtil = void 0;
|
|
4
|
+
const link_1 = require("../util/link");
|
|
5
|
+
const URL_START = /\b(?:https?|file):\/\//gi;
|
|
6
|
+
/** What a path may be in: anything up to a space, a quote or a bracket. */
|
|
7
|
+
const WORD = /[^\s'"`<>()[\]{}|;,]+/g;
|
|
8
|
+
/** A path at the start of a word, with the line and column a compiler or grep prints after it (`:10`, `:10:5`). */
|
|
9
|
+
const PATH = /^(?:\.{1,2}\/|\/)?(?:[\w@+.-]+\/)*[\w@+.-]+\/?(?::\d+(?::\d+)?)?/;
|
|
10
|
+
/** A path no one mistakes for a word, with or without an extension: `./x`, `../x`, `/etc/hosts` (not `/help`). */
|
|
11
|
+
const EXPLICIT = /^(?:\.{1,2}\/[^/]|\/[^/]+\/[^/])/;
|
|
12
|
+
/** TypeScript's and MSBuild's `(10,5)` right after a path. */
|
|
13
|
+
const PARENS = /^\((\d+)(?:,(\d+))?\)/;
|
|
14
|
+
/**
|
|
15
|
+
* The links of a line of a terminal, as VS Code finds them: http(s) and file URLs, and paths of files
|
|
16
|
+
* (`src/a.ts:10:5`, `./b.md`, `/etc/hosts`, `docs/`) with the place a compiler or grep prints after
|
|
17
|
+
* them. A name alone is a file only with an extension files have (LinkUtil.codeReference); a path
|
|
18
|
+
* starting with `./`, `../` or two names under `/` is one with any name.
|
|
19
|
+
*/
|
|
20
|
+
var TerminalLinkUtil;
|
|
21
|
+
(function (TerminalLinkUtil) {
|
|
22
|
+
function find(text) {
|
|
23
|
+
var _a, _b;
|
|
24
|
+
var _c;
|
|
25
|
+
const links = [];
|
|
26
|
+
for (const found of text.matchAll(URL_START)) {
|
|
27
|
+
const start = found.index;
|
|
28
|
+
const url = /^file:/i.test(found[0]) ? (_a = /^file:\/\/[^\s'"`<>]+/i.exec(text.slice(start))) === null || _a === void 0 ? void 0 : _a[0] : link_1.LinkUtil.bareUrl(text.slice(start));
|
|
29
|
+
const target = url && link_1.LinkUtil.parse(url);
|
|
30
|
+
if (target) {
|
|
31
|
+
links.push({ start, end: start + url.length, target });
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const inUrl = (index) => links.some(link => index >= link.start && index < link.end);
|
|
35
|
+
const urls = links.length;
|
|
36
|
+
for (const word of text.matchAll(WORD)) {
|
|
37
|
+
if (inUrl(word.index)) {
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
const path = (_b = PATH.exec(word[0])) === null || _b === void 0 ? void 0 : _b[0].replace(/[.:]+$/, '');
|
|
41
|
+
if (!path) {
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
const start = word.index;
|
|
45
|
+
let end = start + path.length;
|
|
46
|
+
let reference = path;
|
|
47
|
+
const parens = path.length === word[0].length ? PARENS.exec(text.slice(end)) : null;
|
|
48
|
+
if (parens && !/:\d+$/.test(path)) {
|
|
49
|
+
reference = `${path}:${parens[1]}${parens[2] ? `:${parens[2]}` : ''}`;
|
|
50
|
+
end += parens[0].length;
|
|
51
|
+
}
|
|
52
|
+
const target = (_c = link_1.LinkUtil.codeReference(reference)) !== null && _c !== void 0 ? _c : (EXPLICIT.test(reference) ? link_1.LinkUtil.parse(reference) : undefined);
|
|
53
|
+
if (target) {
|
|
54
|
+
links.push({ start, end, target });
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return urls === links.length ? links : links.sort((a, b) => a.start - b.start);
|
|
58
|
+
}
|
|
59
|
+
TerminalLinkUtil.find = find;
|
|
60
|
+
/** `file://host/path` of OSC 7, the directory a shell says it is in. */
|
|
61
|
+
function cwdOf(osc7) {
|
|
62
|
+
const found = /^file:\/\/[^/]*(\/.*)$/i.exec(osc7.trim());
|
|
63
|
+
if (!found) {
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
try {
|
|
67
|
+
return decodeURIComponent(found[1]);
|
|
68
|
+
}
|
|
69
|
+
catch (_a) {
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
TerminalLinkUtil.cwdOf = cwdOf;
|
|
74
|
+
})(TerminalLinkUtil || (exports.TerminalLinkUtil = TerminalLinkUtil = {}));
|
|
75
|
+
//# sourceMappingURL=terminal-links.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-links.js","sourceRoot":"","sources":["../../../src/browser/terminal/terminal-links.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-links.spec.d.ts","sourceRoot":"","sources":["../../../src/browser/terminal/terminal-links.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const bun_test_1 = require("bun:test");
|
|
4
|
+
const terminal_links_1 = require("./terminal-links");
|
|
5
|
+
const texts = (line) => terminal_links_1.TerminalLinkUtil.find(line).map(link => line.slice(link.start, link.end));
|
|
6
|
+
(0, bun_test_1.describe)('TerminalLinkUtil', () => {
|
|
7
|
+
(0, bun_test_1.it)('finds web pages, without the punctuation after them', () => {
|
|
8
|
+
(0, bun_test_1.expect)(texts('Local: http://localhost:5173/, docs at https://example.com/a?b=1.')).toEqual(['http://localhost:5173/', 'https://example.com/a?b=1']);
|
|
9
|
+
(0, bun_test_1.expect)(terminal_links_1.TerminalLinkUtil.find('see (https://x.dev/a)')[0].target).toEqual({ type: 'url', url: 'https://x.dev/a' });
|
|
10
|
+
});
|
|
11
|
+
(0, bun_test_1.it)('finds paths with the place compilers and grep print', () => {
|
|
12
|
+
const line = "src/app.ts:12:5 - error TS2304: Cannot find name 'x'.";
|
|
13
|
+
(0, bun_test_1.expect)(texts(line)).toEqual(['src/app.ts:12:5']);
|
|
14
|
+
(0, bun_test_1.expect)(terminal_links_1.TerminalLinkUtil.find(line)[0].target).toEqual({ type: 'path', path: 'src/app.ts', selection: { startLine: 12, startColumn: 5 } });
|
|
15
|
+
(0, bun_test_1.expect)(texts('src/a.ts(10,5): error')).toEqual(['src/a.ts(10,5)']);
|
|
16
|
+
(0, bun_test_1.expect)(terminal_links_1.TerminalLinkUtil.find('src/a.ts(10,5): error')[0].target).toMatchObject({ path: 'src/a.ts', selection: { startLine: 10, startColumn: 5 } });
|
|
17
|
+
(0, bun_test_1.expect)(texts('lib/x.js:3:const a = 1')).toEqual(['lib/x.js:3']);
|
|
18
|
+
(0, bun_test_1.expect)(texts('modified: ./docs/README.md and /etc/hosts, AGENTS.md.')).toEqual(['./docs/README.md', '/etc/hosts', 'AGENTS.md']);
|
|
19
|
+
(0, bun_test_1.expect)(texts('cd docs/ ; ls')).toEqual(['docs/']);
|
|
20
|
+
});
|
|
21
|
+
(0, bun_test_1.it)('leaves out what is no file', () => {
|
|
22
|
+
(0, bun_test_1.expect)(texts('v4.6.1 1.2.3 e.g. console.log ~/x deepseek-flash <inline:ta> Node.js /help and/or')).toEqual([]);
|
|
23
|
+
(0, bun_test_1.expect)(texts('see https://example.com/src/a.ts')).toEqual(['https://example.com/src/a.ts']);
|
|
24
|
+
});
|
|
25
|
+
(0, bun_test_1.it)('reads the directory of OSC 7', () => {
|
|
26
|
+
(0, bun_test_1.expect)(terminal_links_1.TerminalLinkUtil.cwdOf('file://mac.local/Users/me/my%20app')).toBe('/Users/me/my app');
|
|
27
|
+
(0, bun_test_1.expect)(terminal_links_1.TerminalLinkUtil.cwdOf('nonsense')).toBeUndefined();
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=terminal-links.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-links.spec.js","sourceRoot":"","sources":["../../../src/browser/terminal/terminal-links.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ITheme } from '@xterm/xterm';
|
|
2
|
+
import type { Theme } from '../settings/settings-protocol';
|
|
3
|
+
export declare namespace TerminalTheme {
|
|
4
|
+
/** The colours of a terminal on the page: its background and text are the page's (`--ta-*`), the rest VS Code's. */
|
|
5
|
+
function of(theme: Theme, variable: (name: string) => string): ITheme;
|
|
6
|
+
/** The font of the page's code: `--ta-mono`. */
|
|
7
|
+
function fontFamily(variable: (name: string) => string): string;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=terminal-theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-theme.d.ts","sourceRoot":"","sources":["../../../src/browser/terminal/terminal-theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAoD3D,yBAAiB,aAAa,CAAC;IAC3B,oHAAoH;IACpH,SAAgB,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAI3E;IAED,gDAAgD;IAChD,SAAgB,UAAU,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAErE;CACJ"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TerminalTheme = void 0;
|
|
4
|
+
/** The sixteen colours of VS Code's terminal, for a dark and a light page. */
|
|
5
|
+
const ANSI = {
|
|
6
|
+
dark: {
|
|
7
|
+
black: '#000000',
|
|
8
|
+
red: '#cd3131',
|
|
9
|
+
green: '#0dbc79',
|
|
10
|
+
yellow: '#e5e510',
|
|
11
|
+
blue: '#2472c8',
|
|
12
|
+
magenta: '#bc3fbc',
|
|
13
|
+
cyan: '#11a8cd',
|
|
14
|
+
white: '#e5e5e5',
|
|
15
|
+
brightBlack: '#666666',
|
|
16
|
+
brightRed: '#f14c4c',
|
|
17
|
+
brightGreen: '#23d18b',
|
|
18
|
+
brightYellow: '#f5f543',
|
|
19
|
+
brightBlue: '#3b8eea',
|
|
20
|
+
brightMagenta: '#d670d6',
|
|
21
|
+
brightCyan: '#29b8db',
|
|
22
|
+
brightWhite: '#e5e5e5',
|
|
23
|
+
selectionBackground: '#264f78',
|
|
24
|
+
selectionInactiveBackground: '#3a3d41',
|
|
25
|
+
scrollbarSliderBackground: 'rgba(121, 121, 121, 0.4)',
|
|
26
|
+
scrollbarSliderHoverBackground: 'rgba(100, 100, 100, 0.7)',
|
|
27
|
+
scrollbarSliderActiveBackground: 'rgba(191, 191, 191, 0.4)',
|
|
28
|
+
},
|
|
29
|
+
light: {
|
|
30
|
+
black: '#000000',
|
|
31
|
+
red: '#cd3131',
|
|
32
|
+
green: '#00bc00',
|
|
33
|
+
yellow: '#949800',
|
|
34
|
+
blue: '#0451a5',
|
|
35
|
+
magenta: '#bc05bc',
|
|
36
|
+
cyan: '#0598bc',
|
|
37
|
+
white: '#555555',
|
|
38
|
+
brightBlack: '#666666',
|
|
39
|
+
brightRed: '#cd3131',
|
|
40
|
+
brightGreen: '#14ce14',
|
|
41
|
+
brightYellow: '#b5ba00',
|
|
42
|
+
brightBlue: '#0451a5',
|
|
43
|
+
brightMagenta: '#bc05bc',
|
|
44
|
+
brightCyan: '#0598bc',
|
|
45
|
+
brightWhite: '#a5a5a5',
|
|
46
|
+
selectionBackground: '#add6ff',
|
|
47
|
+
selectionInactiveBackground: '#e5ebf1',
|
|
48
|
+
scrollbarSliderBackground: 'rgba(100, 100, 100, 0.4)',
|
|
49
|
+
scrollbarSliderHoverBackground: 'rgba(100, 100, 100, 0.7)',
|
|
50
|
+
scrollbarSliderActiveBackground: 'rgba(0, 0, 0, 0.6)',
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
var TerminalTheme;
|
|
54
|
+
(function (TerminalTheme) {
|
|
55
|
+
/** The colours of a terminal on the page: its background and text are the page's (`--ta-*`), the rest VS Code's. */
|
|
56
|
+
function of(theme, variable) {
|
|
57
|
+
const background = variable('--ta-code').trim() || (theme === 'dark' ? '#161618' : '#f7f8fa');
|
|
58
|
+
const foreground = variable('--ta-text').trim() || (theme === 'dark' ? '#e5e5e5' : '#1a1a1a');
|
|
59
|
+
return { ...ANSI[theme], background, foreground, cursor: foreground, cursorAccent: background };
|
|
60
|
+
}
|
|
61
|
+
TerminalTheme.of = of;
|
|
62
|
+
/** The font of the page's code: `--ta-mono`. */
|
|
63
|
+
function fontFamily(variable) {
|
|
64
|
+
return variable('--ta-mono').trim() || 'monospace';
|
|
65
|
+
}
|
|
66
|
+
TerminalTheme.fontFamily = fontFamily;
|
|
67
|
+
})(TerminalTheme || (exports.TerminalTheme = TerminalTheme = {}));
|
|
68
|
+
//# sourceMappingURL=terminal-theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-theme.js","sourceRoot":"","sources":["../../../src/browser/terminal/terminal-theme.ts"],"names":[],"mappings":";;;AAGA,8EAA8E;AAC9E,MAAM,IAAI,GAA0B;IAChC,IAAI,EAAE;QACF,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,SAAS;QACtB,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,SAAS;QACtB,YAAY,EAAE,SAAS;QACvB,UAAU,EAAE,SAAS;QACrB,aAAa,EAAE,SAAS;QACxB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,SAAS;QACtB,mBAAmB,EAAE,SAAS;QAC9B,2BAA2B,EAAE,SAAS;QACtC,yBAAyB,EAAE,0BAA0B;QACrD,8BAA8B,EAAE,0BAA0B;QAC1D,+BAA+B,EAAE,0BAA0B;KAC9D;IACD,KAAK,EAAE;QACH,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,SAAS;QACtB,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,SAAS;QACtB,YAAY,EAAE,SAAS;QACvB,UAAU,EAAE,SAAS;QACrB,aAAa,EAAE,SAAS;QACxB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,SAAS;QACtB,mBAAmB,EAAE,SAAS;QAC9B,2BAA2B,EAAE,SAAS;QACtC,yBAAyB,EAAE,0BAA0B;QACrD,8BAA8B,EAAE,0BAA0B;QAC1D,+BAA+B,EAAE,oBAAoB;KACxD;CACJ,CAAC;AAEF,IAAiB,aAAa,CAY7B;AAZD,WAAiB,aAAa;IAC1B,oHAAoH;IACpH,SAAgB,EAAE,CAAC,KAAY,EAAE,QAAkC;QAC/D,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC9F,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC9F,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;IACpG,CAAC;IAJe,cAAA,EAAE,KAIjB,CAAA;IAED,gDAAgD;IAChD,SAAgB,UAAU,CAAC,QAAkC;QACzD,OAAO,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,IAAI,WAAW,CAAC;IACvD,CAAC;IAFe,cAAA,UAAU,aAEzB,CAAA;AACL,CAAC,EAZgB,aAAa,aAAb,aAAa,GAAb,aAAa,QAY7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-theme.spec.d.ts","sourceRoot":"","sources":["../../../src/browser/terminal/terminal-theme.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const bun_test_1 = require("bun:test");
|
|
4
|
+
const terminal_theme_1 = require("./terminal-theme");
|
|
5
|
+
(0, bun_test_1.describe)('TerminalTheme', () => {
|
|
6
|
+
(0, bun_test_1.it)("takes the page's background and text, and VS Code's colours for the theme", () => {
|
|
7
|
+
const page = { '--ta-code': ' #161618', '--ta-text': '#e5e5e5', '--ta-mono': " 'SF Mono', monospace" };
|
|
8
|
+
const dark = terminal_theme_1.TerminalTheme.of('dark', name => { var _a; return (_a = page[name]) !== null && _a !== void 0 ? _a : ''; });
|
|
9
|
+
(0, bun_test_1.expect)(dark.background).toBe('#161618');
|
|
10
|
+
(0, bun_test_1.expect)(dark.foreground).toBe('#e5e5e5');
|
|
11
|
+
(0, bun_test_1.expect)(dark.cursor).toBe('#e5e5e5');
|
|
12
|
+
(0, bun_test_1.expect)(dark.cursorAccent).toBe('#161618');
|
|
13
|
+
(0, bun_test_1.expect)(dark.green).toBe('#0dbc79');
|
|
14
|
+
(0, bun_test_1.expect)(terminal_theme_1.TerminalTheme.fontFamily(name => { var _a; return (_a = page[name]) !== null && _a !== void 0 ? _a : ''; })).toBe("'SF Mono', monospace");
|
|
15
|
+
});
|
|
16
|
+
(0, bun_test_1.it)('has colours of its own when the page has none yet', () => {
|
|
17
|
+
const light = terminal_theme_1.TerminalTheme.of('light', () => '');
|
|
18
|
+
(0, bun_test_1.expect)(light.background).toBe('#f7f8fa');
|
|
19
|
+
(0, bun_test_1.expect)(light.foreground).toBe('#1a1a1a');
|
|
20
|
+
(0, bun_test_1.expect)(light.blue).toBe('#0451a5');
|
|
21
|
+
(0, bun_test_1.expect)(terminal_theme_1.TerminalTheme.fontFamily(() => '')).toBe('monospace');
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=terminal-theme.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-theme.spec.js","sourceRoot":"","sources":["../../../src/browser/terminal/terminal-theme.spec.ts"],"names":[],"mappings":";;AAAA,uCAAgD;AAChD,qDAAiD;AAEjD,IAAA,mBAAQ,EAAC,eAAe,EAAE,GAAG,EAAE;IAC3B,IAAA,aAAE,EAAC,2EAA2E,EAAE,GAAG,EAAE;QACjF,MAAM,IAAI,GAA2B,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC;QAC/H,MAAM,IAAI,GAAG,8BAAa,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,wBAAC,IAAI,CAAC,IAAI,CAAC,mCAAI,EAAE,GAAA,CAAC,CAAC;QAChE,IAAA,iBAAM,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,IAAA,iBAAM,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,IAAA,iBAAM,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,IAAA,iBAAM,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAA,iBAAM,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,IAAA,iBAAM,EAAC,8BAAa,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,wBAAC,IAAI,CAAC,IAAI,CAAC,mCAAI,EAAE,GAAA,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEH,IAAA,aAAE,EAAC,mDAAmD,EAAE,GAAG,EAAE;QACzD,MAAM,KAAK,GAAG,8BAAa,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAClD,IAAA,iBAAM,EAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,IAAA,iBAAM,EAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,IAAA,iBAAM,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,IAAA,iBAAM,EAAC,8BAAa,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { FitAddon } from '@xterm/addon-fit';
|
|
2
|
+
import type { ILink, Terminal } from '@xterm/xterm';
|
|
3
|
+
import type { WebTerminal, WebTerminalOptions } from '../extension/web-extension-api';
|
|
4
|
+
import type { OpenLinkOptions } from '../links/links-protocol';
|
|
5
|
+
import type { TaSettings } from '../settings/settings-protocol';
|
|
6
|
+
import type { LinkTarget } from '../util/link';
|
|
7
|
+
type XtermModule = typeof import('./xterm.js');
|
|
8
|
+
/** Loads xterm.js the first time a terminal is made, not with the page. */
|
|
9
|
+
export declare namespace XtermLoader {
|
|
10
|
+
function load(): Promise<XtermModule>;
|
|
11
|
+
}
|
|
12
|
+
/** Opens what a link points to, as a link of a reply (TaLinks.open). */
|
|
13
|
+
export type TerminalLinkOpener = (target: LinkTarget, options: OpenLinkOptions) => void;
|
|
14
|
+
/**
|
|
15
|
+
* A terminal as VS Code's: xterm.js on the GPU (its WebGL renderer; the DOM one when the browser has
|
|
16
|
+
* no WebGL or loses it), in the theme of the page, which it follows. It opens in an element of its own
|
|
17
|
+
* that moves from view to view, so that it keeps its screen and scrollback while no view shows it.
|
|
18
|
+
* URLs and paths of files are links, opened with Cmd or Ctrl + click, from the directory the shell says
|
|
19
|
+
* it is in (OSC 7), else the one it started in.
|
|
20
|
+
*/
|
|
21
|
+
export declare class DefaultWebTerminal implements WebTerminal {
|
|
22
|
+
protected readonly settings: TaSettings;
|
|
23
|
+
protected readonly openLink: TerminalLinkOpener;
|
|
24
|
+
cols: number;
|
|
25
|
+
rows: number;
|
|
26
|
+
/** Where paths of its links are read from. */
|
|
27
|
+
protected cwd?: string;
|
|
28
|
+
protected term?: Terminal;
|
|
29
|
+
protected fit?: FitAddon;
|
|
30
|
+
protected module?: XtermModule;
|
|
31
|
+
protected opened: boolean;
|
|
32
|
+
protected disposed: boolean;
|
|
33
|
+
/** Focus asked for before xterm.js opened: it takes it once it does. */
|
|
34
|
+
protected wantsFocus: boolean;
|
|
35
|
+
/** Output that came before xterm.js loaded. */
|
|
36
|
+
protected pending: string[];
|
|
37
|
+
protected readonly dataListeners: Set<(data: string) => void>;
|
|
38
|
+
protected readonly resizeListeners: Set<(size: {
|
|
39
|
+
cols: number;
|
|
40
|
+
rows: number;
|
|
41
|
+
}) => void>;
|
|
42
|
+
protected readonly host: HTMLDivElement;
|
|
43
|
+
protected parent?: HTMLElement;
|
|
44
|
+
protected observer?: ResizeObserver;
|
|
45
|
+
protected fitTimer?: ReturnType<typeof setTimeout>;
|
|
46
|
+
protected unsubscribe?: () => void;
|
|
47
|
+
constructor(settings: TaSettings, openLink: TerminalLinkOpener, options?: WebTerminalOptions);
|
|
48
|
+
write(data: string): void;
|
|
49
|
+
onData(listener: (data: string) => void): () => void;
|
|
50
|
+
onResize(listener: (size: {
|
|
51
|
+
cols: number;
|
|
52
|
+
rows: number;
|
|
53
|
+
}) => void): () => void;
|
|
54
|
+
attach(element: HTMLElement): () => void;
|
|
55
|
+
focus(): void;
|
|
56
|
+
dispose(): void;
|
|
57
|
+
protected start(module: XtermModule): void;
|
|
58
|
+
/**
|
|
59
|
+
* Opens xterm.js where it can measure its font: once, the first time it is in the page with a size
|
|
60
|
+
* (a hidden tab has none; ResizeObserver calls again when it shows).
|
|
61
|
+
*/
|
|
62
|
+
protected open(): void;
|
|
63
|
+
/**
|
|
64
|
+
* Opens it the first time its view has a size, and fits it to the view after that, once the size
|
|
65
|
+
* settled; a hidden view (no size) keeps the size it had. Timers, not frames: a window in the
|
|
66
|
+
* background gets no frames, and the terminal would stay unopened there.
|
|
67
|
+
*/
|
|
68
|
+
protected layout(): void;
|
|
69
|
+
/** The links of the line (with the rows it wraps onto) that crosses row `y` (from 1). */
|
|
70
|
+
protected linksAt(term: Terminal, y: number): ILink[] | undefined;
|
|
71
|
+
protected detach(): void;
|
|
72
|
+
protected emitData(data: string): void;
|
|
73
|
+
}
|
|
74
|
+
export {};
|
|
75
|
+
//# sourceMappingURL=web-terminal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-terminal.d.ts","sourceRoot":"","sources":["../../../src/browser/terminal/web-terminal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAuB,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAI/C,KAAK,WAAW,GAAG,cAAc,YAAY,CAAC,CAAC;AAE/C,2EAA2E;AAC3E,yBAAiB,WAAW,CAAC;IAGzB,SAAgB,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAM3C;CACJ;AAUD,wEAAwE;AACxE,MAAM,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;AAMxF;;;;;;GAMG;AACH,qBAAa,kBAAmB,YAAW,WAAW;IAuB9C,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU;IACvC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB;IAvBnD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAC1B,SAAS,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC;IACzB,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC/B,SAAS,CAAC,MAAM,UAAS;IACzB,SAAS,CAAC,QAAQ,UAAS;IAC3B,wEAAwE;IACxE,SAAS,CAAC,UAAU,UAAS;IAC7B,+CAA+C;IAC/C,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAM;IACjC,SAAS,CAAC,QAAQ,CAAC,aAAa,aAAkB,MAAM,KAAK,IAAI,EAAI;IACrE,SAAS,CAAC,QAAQ,CAAC,eAAe,aAAkB;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,EAAI;IAC/F,SAAS,CAAC,QAAQ,CAAC,IAAI,iBAAiC;IACxD,SAAS,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC/B,SAAS,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IACnD,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IAEnC,YACuB,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,kBAAkB,EAC/C,OAAO,GAAE,kBAAuB,EAUnC;IAED,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAMxB;IAED,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI,CAGnD;IAED,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,MAAM,IAAI,CAG7E;IAED,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,IAAI,CAavC;IAED,KAAK,IAAI,IAAI,CAMZ;IAED,OAAO,IAAI,IAAI,CAQd;IAED,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CA6DzC;IAED;;;OAGG;IACH,SAAS,CAAC,IAAI,IAAI,IAAI,CAyBrB;IAED;;;;OAIG;IACH,SAAS,CAAC,MAAM,IAAI,IAAI,CAevB;IAED,yFAAyF;IACzF,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,SAAS,CA6DhE;IAED,SAAS,CAAC,MAAM,IAAI,IAAI,CAMvB;IAED,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAIrC;CACJ"}
|