@celljs/ta-web 4.6.1 → 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 +90 -0
- package/README.md +13 -7
- 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/account-menu.d.ts +3 -2
- package/esm/browser/components/account-menu.js +21 -16
- package/esm/browser/components/account-menu.js.map +1 -1
- package/esm/browser/components/app-view.js +13 -4
- package/esm/browser/components/app-view.js.map +1 -1
- package/esm/browser/components/chat-list.d.ts +3 -1
- package/esm/browser/components/chat-list.js +6 -1
- package/esm/browser/components/chat-list.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/folder-picker.d.ts +37 -6
- package/esm/browser/components/folder-picker.js +155 -33
- package/esm/browser/components/folder-picker.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/remote-hosts.d.ts +7 -0
- package/esm/browser/components/remote-hosts.js +94 -0
- package/esm/browser/components/remote-hosts.js.map +1 -0
- package/esm/browser/components/remote-prompts.d.ts +7 -0
- package/esm/browser/components/remote-prompts.js +72 -0
- package/esm/browser/components/remote-prompts.js.map +1 -0
- package/esm/browser/components/session-view.js +48 -4
- package/esm/browser/components/session-view.js.map +1 -1
- package/esm/browser/components/settings-view.js +8 -1
- package/esm/browser/components/settings-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.d.ts +4 -1
- package/esm/browser/components/web-composer.js +2 -2
- package/esm/browser/components/web-composer.js.map +1 -1
- package/esm/browser/components/working-directory.js +1 -1
- package/esm/browser/components/working-directory.js.map +1 -1
- package/esm/browser/extension/icons.js +6 -1
- package/esm/browser/extension/icons.js.map +1 -1
- package/esm/browser/extension/web-extension-api.d.ts +120 -2
- package/esm/browser/extension/web-extensions.d.ts +3 -0
- package/esm/browser/extension/web-extensions.js +33 -1
- package/esm/browser/extension/web-extensions.js.map +1 -1
- package/esm/browser/i18n/locales.d.ts +44 -1
- package/esm/browser/i18n/messages.d.ts +43 -0
- package/esm/browser/i18n/messages.js +99 -13
- 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/base.d.ts +1 -1
- package/esm/browser/style/base.js +6 -1
- package/esm/browser/style/base.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 +53 -15
- 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/message.d.ts +1 -0
- package/esm/browser/util/message.js +7 -5
- package/esm/browser/util/message.js.map +1 -1
- 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/esm/browser/workbench-protocol.d.ts +7 -1
- package/esm/browser/workbench-protocol.js.map +1 -1
- package/esm/browser/workbench.d.ts +7 -1
- package/esm/browser/workbench.js +23 -0
- package/esm/browser/workbench.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/account-menu.d.ts +3 -2
- package/lib/browser/components/account-menu.d.ts.map +1 -1
- package/lib/browser/components/account-menu.js +21 -16
- package/lib/browser/components/account-menu.js.map +1 -1
- package/lib/browser/components/app-view.d.ts.map +1 -1
- package/lib/browser/components/app-view.js +13 -4
- package/lib/browser/components/app-view.js.map +1 -1
- package/lib/browser/components/chat-list.d.ts +3 -1
- package/lib/browser/components/chat-list.d.ts.map +1 -1
- package/lib/browser/components/chat-list.js +6 -1
- package/lib/browser/components/chat-list.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/folder-picker.d.ts +37 -6
- package/lib/browser/components/folder-picker.d.ts.map +1 -1
- package/lib/browser/components/folder-picker.js +156 -33
- package/lib/browser/components/folder-picker.js.map +1 -1
- package/lib/browser/components/folder-picker.spec.js +15 -0
- package/lib/browser/components/folder-picker.spec.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/remote-hosts.d.ts +8 -0
- package/lib/browser/components/remote-hosts.d.ts.map +1 -0
- package/lib/browser/components/remote-hosts.js +130 -0
- package/lib/browser/components/remote-hosts.js.map +1 -0
- package/lib/browser/components/remote-prompts.d.ts +8 -0
- package/lib/browser/components/remote-prompts.d.ts.map +1 -0
- package/lib/browser/components/remote-prompts.js +108 -0
- package/lib/browser/components/remote-prompts.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/settings-view.d.ts.map +1 -1
- package/lib/browser/components/settings-view.js +7 -0
- package/lib/browser/components/settings-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 +4 -1
- package/lib/browser/components/web-composer.d.ts.map +1 -1
- package/lib/browser/components/web-composer.js +2 -2
- package/lib/browser/components/web-composer.js.map +1 -1
- package/lib/browser/components/working-directory.js +1 -1
- package/lib/browser/components/working-directory.js.map +1 -1
- package/lib/browser/extension/icons.d.ts.map +1 -1
- package/lib/browser/extension/icons.js +5 -0
- package/lib/browser/extension/icons.js.map +1 -1
- package/lib/browser/extension/web-extension-api.d.ts +120 -2
- 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 +33 -1
- package/lib/browser/extension/web-extensions.js.map +1 -1
- package/lib/browser/i18n/locales.d.ts +44 -1
- package/lib/browser/i18n/locales.d.ts.map +1 -1
- package/lib/browser/i18n/messages.d.ts +43 -0
- package/lib/browser/i18n/messages.d.ts.map +1 -1
- package/lib/browser/i18n/messages.js +99 -13
- 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 +8 -3
- package/lib/browser/notices/notices.spec.js.map +1 -1
- package/lib/browser/style/base.d.ts +1 -1
- package/lib/browser/style/base.d.ts.map +1 -1
- package/lib/browser/style/base.js +6 -1
- package/lib/browser/style/base.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 +53 -15
- 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/message.d.ts +1 -0
- package/lib/browser/util/message.d.ts.map +1 -1
- package/lib/browser/util/message.js +7 -5
- package/lib/browser/util/message.js.map +1 -1
- package/lib/browser/util/message.spec.js +2 -0
- package/lib/browser/util/message.spec.js.map +1 -1
- 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/lib/browser/workbench-protocol.d.ts +7 -1
- package/lib/browser/workbench-protocol.d.ts.map +1 -1
- package/lib/browser/workbench-protocol.js.map +1 -1
- package/lib/browser/workbench.d.ts +7 -1
- package/lib/browser/workbench.d.ts.map +1 -1
- package/lib/browser/workbench.js +23 -0
- package/lib/browser/workbench.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 +5 -1
- 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/account-menu.tsx +23 -20
- package/src/browser/components/app-view.tsx +12 -3
- package/src/browser/components/chat-list.tsx +9 -2
- 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/folder-picker.spec.ts +17 -0
- package/src/browser/components/folder-picker.tsx +221 -39
- package/src/browser/components/notice-center.tsx +7 -1
- package/src/browser/components/plus-menu.spec.ts +16 -0
- package/src/browser/components/remote-hosts.tsx +149 -0
- package/src/browser/components/remote-prompts.tsx +111 -0
- package/src/browser/components/session-view.tsx +65 -4
- package/src/browser/components/settings-view.tsx +8 -0
- 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 +18 -3
- package/src/browser/components/working-directory.tsx +1 -1
- package/src/browser/extension/icons.ts +10 -0
- package/src/browser/extension/web-extension-api.ts +134 -2
- package/src/browser/extension/web-extensions.ts +47 -2
- package/src/browser/i18n/messages.ts +99 -13
- package/src/browser/notices/notices-protocol.ts +3 -0
- package/src/browser/notices/notices.spec.ts +9 -3
- package/src/browser/notices/notices.ts +17 -1
- package/src/browser/style/base.ts +6 -1
- package/src/browser/style/conversation.ts +16 -1
- package/src/browser/style/layout.ts +53 -15
- 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/message.spec.ts +2 -0
- package/src/browser/util/message.ts +7 -4
- 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
- package/src/browser/workbench-protocol.ts +8 -0
- package/src/browser/workbench.ts +29 -0
|
@@ -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":"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"}
|
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DefaultWebTerminal = exports.XtermLoader = void 0;
|
|
4
|
+
const messages_1 = require("../i18n/messages");
|
|
5
|
+
const agent_settings_1 = require("../settings/agent-settings");
|
|
6
|
+
const terminal_links_1 = require("./terminal-links");
|
|
7
|
+
const terminal_theme_1 = require("./terminal-theme");
|
|
8
|
+
/** Loads xterm.js the first time a terminal is made, not with the page. */
|
|
9
|
+
var XtermLoader;
|
|
10
|
+
(function (XtermLoader) {
|
|
11
|
+
let loading;
|
|
12
|
+
function load() {
|
|
13
|
+
loading !== null && loading !== void 0 ? loading : (loading = import('./xterm.js').catch(error => {
|
|
14
|
+
loading = undefined;
|
|
15
|
+
throw error;
|
|
16
|
+
}));
|
|
17
|
+
return loading;
|
|
18
|
+
}
|
|
19
|
+
XtermLoader.load = load;
|
|
20
|
+
})(XtermLoader || (exports.XtermLoader = XtermLoader = {}));
|
|
21
|
+
const DEFAULT_COLS = 80;
|
|
22
|
+
const DEFAULT_ROWS = 24;
|
|
23
|
+
const SCROLLBACK = 5000;
|
|
24
|
+
/** Rows of one line that wraps, at most, read for its links. */
|
|
25
|
+
const MAX_WRAPPED_ROWS = 50;
|
|
26
|
+
/** A view being dragged to a new size fits once it stops. */
|
|
27
|
+
const FIT_MS = 50;
|
|
28
|
+
function cssVariable(name) {
|
|
29
|
+
return getComputedStyle(document.documentElement).getPropertyValue(name);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* A terminal as VS Code's: xterm.js on the GPU (its WebGL renderer; the DOM one when the browser has
|
|
33
|
+
* no WebGL or loses it), in the theme of the page, which it follows. It opens in an element of its own
|
|
34
|
+
* that moves from view to view, so that it keeps its screen and scrollback while no view shows it.
|
|
35
|
+
* URLs and paths of files are links, opened with Cmd or Ctrl + click, from the directory the shell says
|
|
36
|
+
* it is in (OSC 7), else the one it started in.
|
|
37
|
+
*/
|
|
38
|
+
class DefaultWebTerminal {
|
|
39
|
+
constructor(settings, openLink, options = {}) {
|
|
40
|
+
var _a, _b;
|
|
41
|
+
this.settings = settings;
|
|
42
|
+
this.openLink = openLink;
|
|
43
|
+
this.opened = false;
|
|
44
|
+
this.disposed = false;
|
|
45
|
+
/** Focus asked for before xterm.js opened: it takes it once it does. */
|
|
46
|
+
this.wantsFocus = false;
|
|
47
|
+
/** Output that came before xterm.js loaded. */
|
|
48
|
+
this.pending = [];
|
|
49
|
+
this.dataListeners = new Set();
|
|
50
|
+
this.resizeListeners = new Set();
|
|
51
|
+
this.host = document.createElement('div');
|
|
52
|
+
this.cols = (_a = options.cols) !== null && _a !== void 0 ? _a : DEFAULT_COLS;
|
|
53
|
+
this.rows = (_b = options.rows) !== null && _b !== void 0 ? _b : DEFAULT_ROWS;
|
|
54
|
+
this.cwd = options.cwd;
|
|
55
|
+
this.host.className = 'ta-terminal';
|
|
56
|
+
XtermLoader.load().then(module => this.start(module), error => console.error('The terminal did not load:', error));
|
|
57
|
+
}
|
|
58
|
+
write(data) {
|
|
59
|
+
if (this.term) {
|
|
60
|
+
this.term.write(data);
|
|
61
|
+
}
|
|
62
|
+
else if (!this.disposed) {
|
|
63
|
+
this.pending.push(data);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
onData(listener) {
|
|
67
|
+
this.dataListeners.add(listener);
|
|
68
|
+
return () => this.dataListeners.delete(listener);
|
|
69
|
+
}
|
|
70
|
+
onResize(listener) {
|
|
71
|
+
this.resizeListeners.add(listener);
|
|
72
|
+
return () => this.resizeListeners.delete(listener);
|
|
73
|
+
}
|
|
74
|
+
attach(element) {
|
|
75
|
+
this.detach();
|
|
76
|
+
this.parent = element;
|
|
77
|
+
element.appendChild(this.host);
|
|
78
|
+
this.observer = new ResizeObserver(() => this.layout());
|
|
79
|
+
this.observer.observe(element);
|
|
80
|
+
this.open();
|
|
81
|
+
this.layout();
|
|
82
|
+
return () => {
|
|
83
|
+
if (this.parent === element) {
|
|
84
|
+
this.detach();
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
focus() {
|
|
89
|
+
var _a;
|
|
90
|
+
if (this.opened) {
|
|
91
|
+
(_a = this.term) === null || _a === void 0 ? void 0 : _a.focus();
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
this.wantsFocus = true;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
dispose() {
|
|
98
|
+
var _a, _b;
|
|
99
|
+
this.disposed = true;
|
|
100
|
+
this.detach();
|
|
101
|
+
(_a = this.unsubscribe) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
102
|
+
(_b = this.term) === null || _b === void 0 ? void 0 : _b.dispose();
|
|
103
|
+
this.pending = [];
|
|
104
|
+
this.dataListeners.clear();
|
|
105
|
+
this.resizeListeners.clear();
|
|
106
|
+
}
|
|
107
|
+
start(module) {
|
|
108
|
+
if (this.disposed) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
this.module = module;
|
|
112
|
+
const term = new module.Terminal({
|
|
113
|
+
cols: this.cols,
|
|
114
|
+
rows: this.rows,
|
|
115
|
+
// The Unicode 11 widths of emoji and CJK, as programs reckon them.
|
|
116
|
+
allowProposedApi: true,
|
|
117
|
+
fontFamily: terminal_theme_1.TerminalTheme.fontFamily(cssVariable),
|
|
118
|
+
fontSize: 12,
|
|
119
|
+
lineHeight: 1.2,
|
|
120
|
+
scrollback: SCROLLBACK,
|
|
121
|
+
cursorBlink: true,
|
|
122
|
+
cursorInactiveStyle: 'outline',
|
|
123
|
+
minimumContrastRatio: 4.5,
|
|
124
|
+
drawBoldTextInBrightColors: true,
|
|
125
|
+
rescaleOverlappingGlyphs: true,
|
|
126
|
+
theme: terminal_theme_1.TerminalTheme.of(this.settings.state.theme, cssVariable),
|
|
127
|
+
});
|
|
128
|
+
const unicode = new module.Unicode11Addon();
|
|
129
|
+
term.loadAddon(unicode);
|
|
130
|
+
term.unicode.activeVersion = '11';
|
|
131
|
+
this.fit = new module.FitAddon();
|
|
132
|
+
term.loadAddon(this.fit);
|
|
133
|
+
// Shift+Enter as the kitty keyboard protocol writes it: a new line in the editor of pi (ta), not a send.
|
|
134
|
+
term.attachCustomKeyEventHandler(event => {
|
|
135
|
+
if (event.key === 'Enter' && event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) {
|
|
136
|
+
if (event.type === 'keydown') {
|
|
137
|
+
this.emitData('\x1b[13;2u');
|
|
138
|
+
}
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
return true;
|
|
142
|
+
});
|
|
143
|
+
term.onData(data => this.emitData(data));
|
|
144
|
+
// Mouse reports in the old encoding, bytes over 127: as characters, which the server sends as they are.
|
|
145
|
+
term.onBinary(data => this.emitData(data));
|
|
146
|
+
term.onResize(size => {
|
|
147
|
+
this.cols = size.cols;
|
|
148
|
+
this.rows = size.rows;
|
|
149
|
+
for (const listener of this.resizeListeners) {
|
|
150
|
+
listener(size);
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
term.parser.registerOscHandler(7, data => {
|
|
154
|
+
var _a;
|
|
155
|
+
this.cwd = (_a = terminal_links_1.TerminalLinkUtil.cwdOf(data)) !== null && _a !== void 0 ? _a : this.cwd;
|
|
156
|
+
return true;
|
|
157
|
+
});
|
|
158
|
+
term.registerLinkProvider({ provideLinks: (y, callback) => callback(this.linksAt(term, y)) });
|
|
159
|
+
for (const data of this.pending) {
|
|
160
|
+
term.write(data);
|
|
161
|
+
}
|
|
162
|
+
this.pending = [];
|
|
163
|
+
this.term = term;
|
|
164
|
+
this.unsubscribe = this.settings.subscribe(state => {
|
|
165
|
+
term.options.theme = terminal_theme_1.TerminalTheme.of(state.theme, cssVariable);
|
|
166
|
+
});
|
|
167
|
+
this.open();
|
|
168
|
+
this.layout();
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Opens xterm.js where it can measure its font: once, the first time it is in the page with a size
|
|
172
|
+
* (a hidden tab has none; ResizeObserver calls again when it shows).
|
|
173
|
+
*/
|
|
174
|
+
open() {
|
|
175
|
+
var _a;
|
|
176
|
+
const { term, module, parent } = this;
|
|
177
|
+
if (!term || !module || this.opened || !(parent === null || parent === void 0 ? void 0 : parent.clientWidth) || !parent.clientHeight) {
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
this.opened = true;
|
|
181
|
+
term.open(this.host);
|
|
182
|
+
const input = this.host.querySelector('.xterm-helper-textarea');
|
|
183
|
+
for (const name of ['autocomplete', 'autocorrect', 'autocapitalize']) {
|
|
184
|
+
input === null || input === void 0 ? void 0 : input.setAttribute(name, 'off');
|
|
185
|
+
}
|
|
186
|
+
input === null || input === void 0 ? void 0 : input.setAttribute('spellcheck', 'false');
|
|
187
|
+
try {
|
|
188
|
+
const webgl = new module.WebglAddon();
|
|
189
|
+
webgl.onContextLoss(() => webgl.dispose());
|
|
190
|
+
term.loadAddon(webgl);
|
|
191
|
+
}
|
|
192
|
+
catch (error) {
|
|
193
|
+
console.warn('No WebGL for the terminal; it draws with the DOM:', error);
|
|
194
|
+
}
|
|
195
|
+
// After the renderer: WebGL measures characters otherwise than the DOM, so the size it fits differs.
|
|
196
|
+
(_a = this.fit) === null || _a === void 0 ? void 0 : _a.fit();
|
|
197
|
+
if (this.wantsFocus) {
|
|
198
|
+
this.wantsFocus = false;
|
|
199
|
+
term.focus();
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Opens it the first time its view has a size, and fits it to the view after that, once the size
|
|
204
|
+
* settled; a hidden view (no size) keeps the size it had. Timers, not frames: a window in the
|
|
205
|
+
* background gets no frames, and the terminal would stay unopened there.
|
|
206
|
+
*/
|
|
207
|
+
layout() {
|
|
208
|
+
var _a;
|
|
209
|
+
if (!((_a = this.parent) === null || _a === void 0 ? void 0 : _a.clientWidth) || !this.parent.clientHeight) {
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
if (!this.opened) {
|
|
213
|
+
this.open();
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
clearTimeout(this.fitTimer);
|
|
217
|
+
this.fitTimer = setTimeout(() => {
|
|
218
|
+
var _a, _b, _c, _d, _e;
|
|
219
|
+
const size = ((_a = this.parent) === null || _a === void 0 ? void 0 : _a.clientWidth) && this.parent.clientHeight ? (_b = this.fit) === null || _b === void 0 ? void 0 : _b.proposeDimensions() : undefined;
|
|
220
|
+
if (size && (size.cols !== ((_c = this.term) === null || _c === void 0 ? void 0 : _c.cols) || size.rows !== ((_d = this.term) === null || _d === void 0 ? void 0 : _d.rows))) {
|
|
221
|
+
(_e = this.fit) === null || _e === void 0 ? void 0 : _e.fit();
|
|
222
|
+
}
|
|
223
|
+
}, FIT_MS);
|
|
224
|
+
}
|
|
225
|
+
/** The links of the line (with the rows it wraps onto) that crosses row `y` (from 1). */
|
|
226
|
+
linksAt(term, y) {
|
|
227
|
+
var _a;
|
|
228
|
+
var _b;
|
|
229
|
+
const buffer = term.buffer.active;
|
|
230
|
+
let first = y - 1;
|
|
231
|
+
while (first > 0 && y - 1 - first < MAX_WRAPPED_ROWS && ((_a = buffer.getLine(first)) === null || _a === void 0 ? void 0 : _a.isWrapped)) {
|
|
232
|
+
first--;
|
|
233
|
+
}
|
|
234
|
+
// The text of the line, and where each of its characters (UTF-16 units) is on the screen.
|
|
235
|
+
let text = '';
|
|
236
|
+
const places = [];
|
|
237
|
+
for (let row = first; row - first < MAX_WRAPPED_ROWS; row++) {
|
|
238
|
+
const line = buffer.getLine(row);
|
|
239
|
+
if (!line || (row > first && !line.isWrapped)) {
|
|
240
|
+
break;
|
|
241
|
+
}
|
|
242
|
+
for (let x = 0; x < line.length; x++) {
|
|
243
|
+
const cell = line.getCell(x);
|
|
244
|
+
const width = (_b = cell === null || cell === void 0 ? void 0 : cell.getWidth()) !== null && _b !== void 0 ? _b : 1;
|
|
245
|
+
if (!cell || width === 0) {
|
|
246
|
+
// The second half of a wide character.
|
|
247
|
+
continue;
|
|
248
|
+
}
|
|
249
|
+
const chars = cell.getChars() || ' ';
|
|
250
|
+
for (let unit = 0; unit < chars.length; unit++) {
|
|
251
|
+
places.push({ x: x + 1, y: row + 1, width });
|
|
252
|
+
}
|
|
253
|
+
text += chars;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
const links = terminal_links_1.TerminalLinkUtil.find(text).filter(link => places[link.start].y <= y && places[link.end - 1].y >= y);
|
|
257
|
+
if (!links.length) {
|
|
258
|
+
return undefined;
|
|
259
|
+
}
|
|
260
|
+
const mac = agent_settings_1.ShortcutUtil.isMac();
|
|
261
|
+
return links.map(link => {
|
|
262
|
+
const start = places[link.start];
|
|
263
|
+
const last = places[link.end - 1];
|
|
264
|
+
const hint = link.target.type === 'path'
|
|
265
|
+
? mac
|
|
266
|
+
? 'ta.terminal.openLinkMac'
|
|
267
|
+
: 'ta.terminal.openLink'
|
|
268
|
+
: mac
|
|
269
|
+
? 'ta.terminal.openUrlMac'
|
|
270
|
+
: 'ta.terminal.openUrl';
|
|
271
|
+
return {
|
|
272
|
+
range: { start: { x: start.x, y: start.y }, end: { x: last.x + last.width - 1, y: last.y } },
|
|
273
|
+
text: text.slice(link.start, link.end),
|
|
274
|
+
decorations: { underline: true, pointerCursor: true },
|
|
275
|
+
activate: (event) => {
|
|
276
|
+
if (mac ? event.metaKey : event.ctrlKey) {
|
|
277
|
+
this.openLink(link.target, { cwd: this.cwd, external: event.shiftKey && link.target.type !== 'path' });
|
|
278
|
+
}
|
|
279
|
+
},
|
|
280
|
+
hover: () => {
|
|
281
|
+
this.host.title = (0, messages_1.message)(this.settings.state.language, hint);
|
|
282
|
+
},
|
|
283
|
+
leave: () => {
|
|
284
|
+
this.host.title = '';
|
|
285
|
+
},
|
|
286
|
+
};
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
detach() {
|
|
290
|
+
var _a;
|
|
291
|
+
(_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
292
|
+
this.observer = undefined;
|
|
293
|
+
clearTimeout(this.fitTimer);
|
|
294
|
+
this.host.remove();
|
|
295
|
+
this.parent = undefined;
|
|
296
|
+
}
|
|
297
|
+
emitData(data) {
|
|
298
|
+
for (const listener of this.dataListeners) {
|
|
299
|
+
listener(data);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
exports.DefaultWebTerminal = DefaultWebTerminal;
|
|
304
|
+
//# sourceMappingURL=web-terminal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-terminal.js","sourceRoot":"","sources":["../../../src/browser/terminal/web-terminal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import '@xterm/xterm/css/xterm.css';
|
|
2
|
+
export { FitAddon } from '@xterm/addon-fit';
|
|
3
|
+
export { Unicode11Addon } from '@xterm/addon-unicode11';
|
|
4
|
+
export { WebglAddon } from '@xterm/addon-webgl';
|
|
5
|
+
export { Terminal } from '@xterm/xterm';
|
|
6
|
+
//# sourceMappingURL=xterm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xterm.d.ts","sourceRoot":"","sources":["../../../src/browser/terminal/xterm.ts"],"names":[],"mappings":"AACA,OAAO,4BAA4B,CAAC;AAKpC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Terminal = exports.WebglAddon = exports.Unicode11Addon = exports.FitAddon = void 0;
|
|
4
|
+
// What a terminal loads the first time one is made: xterm.js, its WebGL renderer and its styles.
|
|
5
|
+
require("@xterm/xterm/css/xterm.css");
|
|
6
|
+
const canvas_font_1 = require("./canvas-font");
|
|
7
|
+
canvas_font_1.CanvasFontFix.install();
|
|
8
|
+
var addon_fit_1 = require("@xterm/addon-fit");
|
|
9
|
+
Object.defineProperty(exports, "FitAddon", { enumerable: true, get: function () { return addon_fit_1.FitAddon; } });
|
|
10
|
+
var addon_unicode11_1 = require("@xterm/addon-unicode11");
|
|
11
|
+
Object.defineProperty(exports, "Unicode11Addon", { enumerable: true, get: function () { return addon_unicode11_1.Unicode11Addon; } });
|
|
12
|
+
var addon_webgl_1 = require("@xterm/addon-webgl");
|
|
13
|
+
Object.defineProperty(exports, "WebglAddon", { enumerable: true, get: function () { return addon_webgl_1.WebglAddon; } });
|
|
14
|
+
var xterm_1 = require("@xterm/xterm");
|
|
15
|
+
Object.defineProperty(exports, "Terminal", { enumerable: true, get: function () { return xterm_1.Terminal; } });
|
|
16
|
+
//# sourceMappingURL=xterm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xterm.js","sourceRoot":"","sources":["../../../src/browser/terminal/xterm.ts"],"names":[],"mappings":";;;AAAA,iGAAiG;AACjG,sCAAoC;AACpC,+CAA8C;AAE9C,2BAAa,CAAC,OAAO,EAAE,CAAC;AAExB,8CAA4C;AAAnC,qGAAA,QAAQ,OAAA;AACjB,0DAAwD;AAA/C,iHAAA,cAAc,OAAA;AACvB,kDAAgD;AAAvC,yGAAA,UAAU,OAAA;AACnB,sCAAwC;AAA/B,iGAAA,QAAQ,OAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/** What Ta Desktop can do for the page beyond a tab of a browser. */
|
|
2
|
+
export type DesktopFeature = 'webview' | 'debugWebview' | 'showItemInFolder' | 'browserData';
|
|
3
|
+
/** The file manager of the system, from Ta Desktop: {@link WebDesktop} of the extension API. */
|
|
4
|
+
export interface DesktopFileManager {
|
|
5
|
+
/** Node's `process.platform` of the machine: what the file manager is called there. */
|
|
6
|
+
readonly platform: string;
|
|
7
|
+
showItemInFolder(path: string): Promise<void>;
|
|
8
|
+
readonly browserData?: DesktopBrowserData;
|
|
9
|
+
}
|
|
10
|
+
/** A profile of the user's Chrome, Edge…, whose sign-ins Ta Desktop can take. */
|
|
11
|
+
export interface DesktopBrowserProfile {
|
|
12
|
+
id: string;
|
|
13
|
+
browser: string;
|
|
14
|
+
name: string;
|
|
15
|
+
}
|
|
16
|
+
/** What an import took; `appBound`: cookies only Chrome itself can read (Windows). */
|
|
17
|
+
export interface DesktopBrowserImport {
|
|
18
|
+
imported: number;
|
|
19
|
+
skipped: number;
|
|
20
|
+
appBound: number;
|
|
21
|
+
}
|
|
22
|
+
/** The sign-ins of the user's browsers in the browser of Ta: {@link WebBrowserData} of the extension API. */
|
|
23
|
+
export interface DesktopBrowserData {
|
|
24
|
+
profiles(): Promise<DesktopBrowserProfile[]>;
|
|
25
|
+
/** After the user said yes in a dialog of the app; `undefined` when they said no. */
|
|
26
|
+
import(profileId: string): Promise<DesktopBrowserImport | undefined>;
|
|
27
|
+
clear(): Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
/** A command of the DevTools protocol to the page of a `<webview>` of this page, by its getWebContentsId(). */
|
|
30
|
+
export type DebugWebview = (webContentsId: number, method: string, params?: Record<string, unknown>) => Promise<unknown>;
|
|
31
|
+
/**
|
|
32
|
+
* Ta Desktop gives its window's page `taDesktop` (its preload, apps/ta-desktop): the features it adds to
|
|
33
|
+
* what a browser can do. A browser, an installed web app and the mobile app have none.
|
|
34
|
+
*/
|
|
35
|
+
export declare namespace DesktopUtil {
|
|
36
|
+
function has(feature: DesktopFeature, scope?: object): boolean;
|
|
37
|
+
/** The file manager of the system, when the page is in Ta Desktop. */
|
|
38
|
+
function fileManager(scope?: object): DesktopFileManager | undefined;
|
|
39
|
+
/** The sign-ins of the user's browsers, where Ta Desktop can read them (macOS, Windows). */
|
|
40
|
+
function browserData(scope?: object): DesktopBrowserData | undefined;
|
|
41
|
+
/** `debugWebview` of Ta Desktop; `undefined` elsewhere. */
|
|
42
|
+
function debugWebview(scope?: object): DebugWebview | undefined;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=desktop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"desktop.d.ts","sourceRoot":"","sources":["../../../src/browser/util/desktop.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,cAAc,GAAG,kBAAkB,GAAG,aAAa,CAAC;AAE7F,gGAAgG;AAChG,MAAM,WAAW,kBAAkB;IAC/B,uFAAuF;IACvF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAC7C;AAED,iFAAiF;AACjF,MAAM,WAAW,qBAAqB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,sFAAsF;AACtF,MAAM,WAAW,oBAAoB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,6GAA6G;AAC7G,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC7C,qFAAqF;IACrF,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAC;IACrE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,+GAA+G;AAC/G,MAAM,MAAM,YAAY,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAYzH;;;GAGG;AACH,yBAAiB,WAAW,CAAC;IACzB,SAAgB,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,GAAE,MAAmB,GAAG,OAAO,CAGhF;IAED,sEAAsE;IACtE,SAAgB,WAAW,CAAC,KAAK,GAAE,MAAmB,GAAG,kBAAkB,GAAG,SAAS,CAWtF;IAED,4FAA4F;IAC5F,SAAgB,WAAW,CAAC,KAAK,GAAE,MAAmB,GAAG,kBAAkB,GAAG,SAAS,CAgBtF;IAED,2DAA2D;IAC3D,SAAgB,YAAY,CAAC,KAAK,GAAE,MAAmB,GAAG,YAAY,GAAG,SAAS,CAIjF;CACJ"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DesktopUtil = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Ta Desktop gives its window's page `taDesktop` (its preload, apps/ta-desktop): the features it adds to
|
|
6
|
+
* what a browser can do. A browser, an installed web app and the mobile app have none.
|
|
7
|
+
*/
|
|
8
|
+
var DesktopUtil;
|
|
9
|
+
(function (DesktopUtil) {
|
|
10
|
+
function has(feature, scope = globalThis) {
|
|
11
|
+
var _a;
|
|
12
|
+
const features = (_a = scope.taDesktop) === null || _a === void 0 ? void 0 : _a.features;
|
|
13
|
+
return Array.isArray(features) && features.includes(feature);
|
|
14
|
+
}
|
|
15
|
+
DesktopUtil.has = has;
|
|
16
|
+
/** The file manager of the system, when the page is in Ta Desktop. */
|
|
17
|
+
function fileManager(scope = globalThis) {
|
|
18
|
+
const desktop = scope.taDesktop;
|
|
19
|
+
const show = desktop === null || desktop === void 0 ? void 0 : desktop.showItemInFolder;
|
|
20
|
+
if (!has('showItemInFolder', scope) || typeof show !== 'function') {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
return Object.freeze({
|
|
24
|
+
platform: typeof (desktop === null || desktop === void 0 ? void 0 : desktop.platform) === 'string' ? desktop.platform : 'unknown',
|
|
25
|
+
showItemInFolder: (path) => Promise.resolve(show(path)).then(() => undefined),
|
|
26
|
+
browserData: browserData(scope),
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
DesktopUtil.fileManager = fileManager;
|
|
30
|
+
/** The sign-ins of the user's browsers, where Ta Desktop can read them (macOS, Windows). */
|
|
31
|
+
function browserData(scope = globalThis) {
|
|
32
|
+
var _a;
|
|
33
|
+
const data = (_a = scope.taDesktop) === null || _a === void 0 ? void 0 : _a.browserData;
|
|
34
|
+
const { profiles, import: take, clear } = data !== null && data !== void 0 ? data : {};
|
|
35
|
+
if (!has('browserData', scope) || typeof profiles !== 'function' || typeof take !== 'function' || typeof clear !== 'function') {
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
return Object.freeze({
|
|
39
|
+
profiles: async () => { var _a; return (_a = (await profiles())) !== null && _a !== void 0 ? _a : []; },
|
|
40
|
+
import: async (profileId) => {
|
|
41
|
+
const report = (await take(profileId));
|
|
42
|
+
return 'cancelled' in report ? undefined : report;
|
|
43
|
+
},
|
|
44
|
+
clear: async () => {
|
|
45
|
+
await clear();
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
DesktopUtil.browserData = browserData;
|
|
50
|
+
/** `debugWebview` of Ta Desktop; `undefined` elsewhere. */
|
|
51
|
+
function debugWebview(scope = globalThis) {
|
|
52
|
+
const desktop = scope.taDesktop;
|
|
53
|
+
const debug = desktop === null || desktop === void 0 ? void 0 : desktop.debugWebview;
|
|
54
|
+
return has('debugWebview', scope) && typeof debug === 'function' ? (webContentsId, method, params) => debug(webContentsId, method, params) : undefined;
|
|
55
|
+
}
|
|
56
|
+
DesktopUtil.debugWebview = debugWebview;
|
|
57
|
+
})(DesktopUtil || (exports.DesktopUtil = DesktopUtil = {}));
|
|
58
|
+
//# sourceMappingURL=desktop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"desktop.js","sourceRoot":"","sources":["../../../src/browser/util/desktop.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"desktop.spec.d.ts","sourceRoot":"","sources":["../../../src/browser/util/desktop.spec.ts"],"names":[],"mappings":""}
|