aboutsummaryrefslogtreecommitdiff
path: root/bundle
diff options
context:
space:
mode:
author_ov4 <ov4@ov4.org>2026-10-21 13:00:28 +0000
committer_ov4 <ov4@ov4.org>2026-10-21 13:00:28 +0000
commit23cc0711cc35db9b3251bd02d5abf64eb3634fd6 (patch)
treed89eb2ca032a863c7304c2e57fd1e1b6018dbd87 /bundle
parentdf84eb98170800edcc16ff1af0a1c81dc7c103ef (diff)
fix(bundle): switch editor to 2026 Dark and set default text foreground
Plain identifiers rendered black because the TextMate theme had no scope-less default entry. Vendor the 2026 Dark include chain and prepend the editor foreground/background as the default. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Diffstat (limited to 'bundle')
-rw-r--r--bundle/AGENTS/DEVELOPMENT.md2
-rw-r--r--bundle/ThirdPartyNotices.md4
-rw-r--r--bundle/src/editor.js23
-rw-r--r--bundle/src/style.css20
-rw-r--r--bundle/vendor/vscode/2026-dark.json711
-rw-r--r--bundle/vendor/vscode/dark_modern.json138
-rw-r--r--bundle/vendor/vscode/dark_plus.json3
-rw-r--r--bundle/vendor/vscode/dark_vs.json37
8 files changed, 908 insertions, 30 deletions
diff --git a/bundle/AGENTS/DEVELOPMENT.md b/bundle/AGENTS/DEVELOPMENT.md
index 09fe2b3..36f4085 100644
--- a/bundle/AGENTS/DEVELOPMENT.md
+++ b/bundle/AGENTS/DEVELOPMENT.md
@@ -20,7 +20,7 @@ Licenses and notices are included as frontend assets, including inside the singl
Nightly extends the existing native compiler jobs: reuse each job's EMBEDDED compiler, compile and test the desktop app on Linux, and upload only the Windows/macOS packages. macOS checks the extracted .tar.xz; Windows checks the single .exe in a fresh working directory. Publishing requires the original four packages plus both desktop packages and retains the existing current-SHA guard and asset replacement behavior. Validate workflow changes with actionlint and a fake gh API, never the real nightly release.
-The editor imports the plugin's grammar, language configuration and pure CommonJS modules directly. Vite's CommonJS adapter includes those sources. Do not duplicate their rules or add a second tokenizer. Dark+ and its parent theme are pinned under `vendor/vscode/`; retain upstream attribution.
+The editor imports the plugin's grammar, language configuration and pure CommonJS modules directly. Vite's CommonJS adapter includes those sources. Do not duplicate their rules or add a second tokenizer. VS Code 2026 Dark and its include chain (Dark Modern, Dark+, Dark (Visual Studio)) are pinned under `vendor/vscode/`; retain upstream attribution.
Windows and macOS nightly jobs cache Rust dependencies from `src-tauri/target` after selecting the Rust toolchain. The cache includes compiled dependencies and is saved even if a later check fails; project crates are rebuilt so the packaged compiler comes from the current checkout. Rust toolchain and Cargo configuration changes affect the cache key. Release optimization and archive compression settings are unchanged. Compare cold and warm CI runs to measure the benefit; a cache miss must still build normally.
diff --git a/bundle/ThirdPartyNotices.md b/bundle/ThirdPartyNotices.md
index 759e278..0aed0f3 100644
--- a/bundle/ThirdPartyNotices.md
+++ b/bundle/ThirdPartyNotices.md
@@ -2,8 +2,8 @@
The editor uses Monaco Editor (MIT), vscode-textmate (MIT), vscode-oniguruma (MIT), and jsonc-parser (MIT). Tauri and its dialog plugin are available under MIT or Apache-2.0. Their upstream license texts are distributed with the installed dependencies.
-`vendor/vscode/dark_plus.json` and `dark_vs.json` are copied without modifications from Microsoft Visual Studio Code 1.85.2, commit `8b3775030ed1a69b13e4f4c628c612102e30a681`, under the MIT license in `vendor/vscode/LICENSE.txt`.
+`vendor/vscode/2026-dark.json`, `dark_modern.json`, `dark_plus.json` and `dark_vs.json` are copied without modifications from Microsoft Visual Studio Code, commit `f93fdeb454a0f0fafe5f310408cec48dd3b6f58a`, under the MIT license in `vendor/vscode/LICENSE.txt`.
-Source: https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/theme-defaults/themes
+Source: https://github.com/microsoft/vscode/tree/f93fdeb454a0f0fafe5f310408cec48dd3b6f58a/extensions/theme-defaults/themes
The grammar and language configuration come directly from this repository's VS Code plugin. See [its third-party notices](../plugin/ThirdPartyNotices.md) for upstream attribution.
diff --git a/bundle/src/editor.js b/bundle/src/editor.js
index eaef000..e351c9d 100644
--- a/bundle/src/editor.js
+++ b/bundle/src/editor.js
@@ -16,14 +16,21 @@ import grammar from '../../plugin/syntaxes/cie-pseudocode.tmLanguage.json';
import configuration from '../../plugin/language-configuration.json';
import indentation from '../../plugin/src/indentation.js';
import brackets from '../../plugin/src/brackets.js';
-import darkPlusSource from '../vendor/vscode/dark_plus.json?raw';
-import darkSource from '../vendor/vscode/dark_vs.json?raw';
+const sources = import.meta.glob('../vendor/vscode/*.json', { query: '?raw', import: 'default', eager: true });
const languageId = 'cie-pseudocode';
const { indentationEdits, onTypeCharacters, shouldFormatOnType, selectionEndLine } = indentation;
-const dark = parse(darkSource);
-const plus = parse(darkPlusSource);
-export const theme = { ...dark, ...plus, tokenColors: [...dark.tokenColors, ...plus.tokenColors] };
+function loadTheme(name) {
+ const child = parse(sources[`../vendor/vscode/${name}.json`]);
+ if (!child.include) return child;
+ const parent = loadTheme(child.include.replace(/^\.\//, '').replace(/\.json$/, ''));
+ return { ...parent, ...child, colors: { ...parent.colors, ...child.colors }, tokenColors: [...(parent.tokenColors ?? []), ...(child.tokenColors ?? [])] };
+}
+const dark = loadTheme('2026-dark');
+export const theme = {
+ ...dark,
+ tokenColors: [{ settings: { foreground: dark.colors['editor.foreground'], background: dark.colors['editor.background'] } }, ...dark.tokenColors]
+};
class TokenState {
constructor(stack) { this.stack = stack; }
@@ -44,8 +51,8 @@ export async function createEditor(element) {
monaco.languages.register({ id: languageId, extensions: ['.cps'] });
monaco.languages.setLanguageConfiguration(languageId, { ...configuration, wordPattern: new RegExp(configuration.wordPattern) });
const tmGrammar = await registry.loadGrammarWithConfiguration(grammar.scopeName, monaco.languages.getEncodedLanguageId(languageId), { balancedBracketSelectors: ['*'] });
- monaco.editor.defineTheme('cpsc-dark-plus', { base: 'vs-dark', inherit: false, rules: [], colors: dark.colors });
- monaco.editor.setTheme('cpsc-dark-plus');
+ monaco.editor.defineTheme('cpsc-dark-2026', { base: 'vs-dark', inherit: false, rules: [], colors: dark.colors });
+ monaco.editor.setTheme('cpsc-dark-2026');
monaco.languages.setColorMap(registry.getColorMap());
monaco.languages.setTokensProvider(languageId, {
getInitialState: () => new TokenState(INITIAL),
@@ -72,7 +79,7 @@ export async function createEditor(element) {
}
});
const editor = monaco.editor.create(element, {
- language: languageId, theme: 'cpsc-dark-plus', automaticLayout: true,
+ language: languageId, theme: 'cpsc-dark-2026', automaticLayout: true,
insertSpaces: false, tabSize: 4, detectIndentation: false, autoIndent: 'full', formatOnType: true,
bracketPairColorization: { enabled: true, independentColorPoolPerBracketType: false },
minimap: { enabled: false }, smoothScrolling: false, cursorSmoothCaretAnimation: 'off',
diff --git a/bundle/src/style.css b/bundle/src/style.css
index 96ee3cd..0719fd4 100644
--- a/bundle/src/style.css
+++ b/bundle/src/style.css
@@ -1,20 +1,20 @@
-:root { color-scheme: dark; font: 13px system-ui, sans-serif; color: #d4d4d4; background: #1e1e1e; }
+:root { color-scheme: dark; font: 13px system-ui, sans-serif; color: #bbbebf; background: #121314; }
* { box-sizing: border-box; }
body { margin: 0; height: 100vh; display: flex; flex-direction: column; overflow: hidden; }
-header { display: flex; align-items: center; gap: 8px; padding: 8px; border-bottom: 1px solid #454545; }
-button { font: inherit; color: inherit; background: #333; border: 1px solid #555; padding: 5px 16px; border-radius: 2px; cursor: pointer; }
-button:hover { background: #404040; }
+header { display: flex; align-items: center; gap: 8px; padding: 8px; border-bottom: 1px solid #2a2b2c; }
+button { font: inherit; color: inherit; background: #191a1b; border: 1px solid #2a2b2c; padding: 5px 16px; border-radius: 2px; cursor: pointer; }
+button:hover { background: #242526; }
button:disabled { opacity: .5; cursor: default; }
-button:focus-visible, textarea:focus-visible, pre:focus-visible { outline: 1px solid #007acc; outline-offset: -1px; }
+button:focus-visible, textarea:focus-visible, pre:focus-visible { outline: 1px solid #3994bcb3; outline-offset: -1px; }
#filename { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin-left: 8px; }
main { min-height: 0; flex: 1; display: grid; grid-template-rows: minmax(160px, 2fr) minmax(100px, 1fr); }
#editor { min-height: 0; overflow: hidden; }
-#panels { min-height: 0; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #454545; }
+#panels { min-height: 0; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #2a2b2c; }
section { min-width: 0; min-height: 0; display: flex; flex-direction: column; }
-section + section { border-left: 1px solid #454545; }
-label { padding: 5px 10px; background: #252526; }
-textarea, pre { margin: 0; padding: 8px 10px; border: 0; color: inherit; background: #1e1e1e; font: 14px Consolas, Menlo, monospace; tab-size: 4; }
+section + section { border-left: 1px solid #2a2b2c; }
+label { padding: 5px 10px; background: #191a1b; }
+textarea, pre { margin: 0; padding: 8px 10px; border: 0; color: inherit; background: #121314; font: 14px Consolas, Menlo, monospace; tab-size: 4; }
textarea { flex: 1; min-height: 0; width: 100%; resize: none; border-radius: 0; }
pre { flex: 1; min-height: 0; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
-footer { min-height: 24px; padding: 3px 10px; border-top: 1px solid #454545; }
+footer { min-height: 24px; padding: 3px 10px; border-top: 1px solid #2a2b2c; }
.invalid-bracket { color: #f44747 !important; }
diff --git a/bundle/vendor/vscode/2026-dark.json b/bundle/vendor/vscode/2026-dark.json
new file mode 100644
index 0000000..6df7b08
--- /dev/null
+++ b/bundle/vendor/vscode/2026-dark.json
@@ -0,0 +1,711 @@
+{
+ "$schema": "vscode://schemas/color-theme",
+ "name": "2026 Dark",
+ "include": "./dark_modern.json",
+ "type": "dark",
+ "colors": {
+ "foreground": "#bfbfbf",
+ "disabledForeground": "#555555",
+ "errorForeground": "#f48771",
+ "descriptionForeground": "#8C8C8C",
+ "icon.foreground": "#8C8C8C",
+ "focusBorder": "#3994BCB3",
+ "textBlockQuote.background": "#242526",
+ "textBlockQuote.border": "#2A2B2C",
+ "textCodeBlock.background": "#242526",
+ "textLink.foreground": "#48A0C7",
+ "textLink.activeForeground": "#53A5CA",
+ "textPreformat.background": "#262626",
+ "textPreformat.foreground": "#8C8C8C",
+ "textSeparator.foreground": "#2a2a2a",
+ "button.background": "#297AA0",
+ "button.foreground": "#FFFFFF",
+ "button.hoverBackground": "#2B7DA3",
+ "button.border": "#297AA0",
+ "button.secondaryHoverBackground": "#FFFFFF10",
+ "button.secondaryBorder": "#333536",
+ "checkbox.background": "#242526",
+ "checkbox.border": "#707070",
+ "checkbox.foreground": "#8C8C8C",
+ "dropdown.background": "#191A1B",
+ "dropdown.border": "#333536",
+ "dropdown.foreground": "#bfbfbf",
+ "dropdown.listBackground": "#191A1B",
+ "input.background": "#191A1B",
+ "input.border": "#333536",
+ "input.foreground": "#bfbfbf",
+ "input.placeholderForeground": "#555555",
+ "inputOption.activeBackground": "#313233",
+ "inputOption.activeForeground": "#bfbfbf",
+ "inputOption.activeBorder": "#2A2B2C",
+ "inputValidation.infoBackground": "#1E3A47",
+ "inputValidation.infoBorder": "#3994BC",
+ "inputValidation.infoForeground": "#bfbfbf",
+ "inputValidation.warningBackground": "#352A05",
+ "inputValidation.warningBorder": "#B89500",
+ "inputValidation.warningForeground": "#bfbfbf",
+ "inputValidation.errorBackground": "#3A1D1D",
+ "inputValidation.errorBorder": "#BE1100",
+ "inputValidation.errorForeground": "#bfbfbf",
+ "scrollbar.shadow": "#191B1D4D",
+ "scrollbarSlider.background": "#A8A9AA85",
+ "scrollbarSlider.hoverBackground": "#A8A9AA90",
+ "scrollbarSlider.activeBackground": "#A8A9AA9C",
+ "badge.background": "#307E9F",
+ "badge.foreground": "#FFFFFF",
+ "progressBar.background": "#878889",
+ "list.activeSelectionBackground": "#FFFFFF22",
+ "list.activeSelectionForeground": "#ededed",
+ "list.inactiveSelectionBackground": "#2C2D2E",
+ "list.inactiveSelectionForeground": "#ededed",
+ "list.hoverBackground": "#FFFFFF14",
+ "list.hoverForeground": "#bfbfbf",
+ "list.dropBackground": "#3994BC1A",
+ "toolbar.activeBackground": "#FFFFFF33",
+ "list.focusBackground": "#FFFFFF22",
+ "list.focusForeground": "#bfbfbf",
+ "list.focusOutline": "#3994BCB3",
+ "list.highlightForeground": "#48A0C7",
+ "list.invalidItemForeground": "#444444",
+ "list.errorForeground": "#f48771",
+ "list.warningForeground": "#e5ba7d",
+ "activityBar.background": "#191A1B",
+ "activityBar.foreground": "#bfbfbf",
+ "activityBar.inactiveForeground": "#8C8C8C",
+ "activityBar.activeBackground": "#313233",
+ "activityBar.border": "#2A2B2C",
+ "activityBar.activeBorder": "#bfbfbf",
+ "activityBar.activeFocusBorder": "#3994BCB3",
+ "activityBarBadge.background": "#307E9F",
+ "activityBarBadge.foreground": "#FFFFFF",
+ "activityBarTop.activeBorder": "#bfbfbf",
+ "sideBar.background": "#191A1B",
+ "sideBar.foreground": "#bfbfbf",
+ "sideBar.border": "#2A2B2C",
+ "sideBarTitle.foreground": "#bfbfbf",
+ "sideBarSectionHeader.background": "#191A1B",
+ "sideBarSectionHeader.foreground": "#bfbfbf",
+ "sideBarSectionHeader.border": "#2A2B2C",
+ "titleBar.activeBackground": "#191A1B",
+ "titleBar.activeForeground": "#8C8C8C",
+ "titleBar.inactiveBackground": "#121314",
+ "titleBar.inactiveForeground": "#8C8C8C",
+ "titleBar.border": "#2A2B2C",
+ "menubar.selectionBackground": "#242526",
+ "menubar.selectionForeground": "#bfbfbf",
+ "menu.background": "#202122",
+ "menu.foreground": "#bfbfbf",
+ "menu.selectionBackground": "#3994BC26",
+ "menu.selectionForeground": "#bfbfbf",
+ "menu.selectionBorder": "#3994BC",
+ "menu.separatorBackground": "#2A2B2C",
+ "menu.border": "#2A2B2C",
+ "commandCenter.foreground": "#bfbfbf",
+ "commandCenter.activeForeground": "#bfbfbf",
+ "commandCenter.background": "#191A1B",
+ "commandCenter.activeBackground": "#FFFFFF0F",
+ "commandCenter.border": "#2E3031",
+ "editor.background": "#121314",
+ "editor.foreground": "#BBBEBF",
+ "editorStickyScroll.background": "#121314",
+ "editorStickyScrollHover.background": "#202122",
+ "editorStickyScroll.border": "#2A2B2C",
+ "editorLineNumber.foreground": "#858889",
+ "editorLineNumber.activeForeground": "#BBBEBF",
+ "editorCursor.foreground": "#BBBEBF",
+ "editor.selectionBackground": "#276782dd",
+ "editor.inactiveSelectionBackground": "#27678260",
+ "editor.selectionHighlightBackground": "#27678260",
+ "editor.wordHighlightBackground": "#27678250",
+ "editor.wordHighlightStrongBackground": "#27678280",
+ "editor.findMatchBackground": "#27678290",
+ "editor.findMatchHighlightBackground": "#27678280",
+ "editor.findRangeHighlightBackground": "#FFFFFF13",
+ "editor.hoverHighlightBackground": "#FFFFFF13",
+ "editor.lineHighlightBackground": "#242526",
+ "editor.rangeHighlightBackground": "#FFFFFF13",
+ "editorLink.activeForeground": "#3a94bc",
+ "editorWhitespace.foreground": "#8C8C8C4D",
+ "editorIndentGuide.background1": "#8384854D",
+ "editorIndentGuide.activeBackground1": "#838485",
+ "editorRuler.foreground": "#848484",
+ "editorCodeLens.foreground": "#8C8C8C",
+ "editorBracketMatch.background": "#3994BC55",
+ "editorBracketMatch.border": "#2A2B2C",
+ "editorWidget.background": "#202122",
+ "editorWidget.border": "#2A2B2C",
+ "editorWidget.foreground": "#bfbfbf",
+ "editorSuggestWidget.background": "#202122",
+ "editorSuggestWidget.border": "#2A2B2C",
+ "editorSuggestWidget.foreground": "#bfbfbf",
+ "editorSuggestWidget.highlightForeground": "#bfbfbf",
+ "editorSuggestWidget.selectedBackground": "#FFFFFF26",
+ "editorSuggestWidget.focusOutline": "#3994BCB3",
+ "editorHoverWidget.background": "#202122",
+ "editorHoverWidget.border": "#2A2B2C",
+ "widget.border": "#2A2B2C",
+ "peekView.border": "#2A2B2C",
+ "peekViewEditor.background": "#191A1B",
+ "peekViewEditor.matchHighlightBackground": "#3994BC33",
+ "peekViewResult.background": "#191A1B",
+ "peekViewResult.fileForeground": "#bfbfbf",
+ "peekViewResult.lineForeground": "#8C8C8C",
+ "peekViewResult.matchHighlightBackground": "#3994BC33",
+ "peekViewResult.selectionBackground": "#3994BC26",
+ "peekViewResult.selectionForeground": "#bfbfbf",
+ "peekViewTitle.background": "#242526",
+ "peekViewTitleDescription.foreground": "#8C8C8C",
+ "peekViewTitleLabel.foreground": "#bfbfbf",
+ "editorGutter.background": "#121314",
+ "editorGutter.addedBackground": "#72C892",
+ "editorGutter.deletedBackground": "#F28772",
+ "diffEditor.insertedLineBackground": "#347d3926",
+ "diffEditor.insertedTextBackground": "#57ab5a4d",
+ "diffEditor.removedLineBackground": "#c93c3726",
+ "diffEditor.removedTextBackground": "#f470674d",
+ "editorOverviewRuler.border": "#2A2B2C",
+ "editorOverviewRuler.findMatchForeground": "#3a94bc99",
+ "editorOverviewRuler.modifiedForeground": "#6ab890",
+ "editorOverviewRuler.addedForeground": "#73c991",
+ "editorOverviewRuler.deletedForeground": "#f48771",
+ "editorOverviewRuler.errorForeground": "#f48771",
+ "editorOverviewRuler.warningForeground": "#e5ba7d",
+ "panel.background": "#191A1B",
+ "panel.border": "#2A2B2C",
+ "panelSection.border": "#2A2B2C",
+ "panelSectionHeader.border": "#2A2B2C",
+ "panelTitle.activeBorder": "#3994BC",
+ "panelTitle.activeForeground": "#bfbfbf",
+ "panelTitle.inactiveForeground": "#8C8C8C",
+ "statusBar.background": "#191A1B",
+ "statusBar.inactiveBackground": "#121314",
+ "statusBar.foreground": "#8C8C8C",
+ "statusBar.border": "#2A2B2C",
+ "statusBar.focusBorder": "#3994BCB3",
+ "statusBar.debuggingBackground": "#3994BC",
+ "statusBar.debuggingForeground": "#FFFFFF",
+ "statusBar.noFolderBackground": "#191A1B",
+ "statusBar.noFolderForeground": "#8C8C8C",
+ "statusBarItem.activeBackground": "#4B4C4D",
+ "statusBarItem.hoverBackground": "#323233",
+ "statusBarItem.focusBorder": "#3994BCB3",
+ "statusBarItem.prominentBackground": "#3994BC",
+ "statusBarItem.prominentForeground": "#FFFFFF",
+ "statusBarItem.prominentHoverBackground": "#3994BC",
+ "tab.activeBackground": "#121314",
+ "tab.activeForeground": "#bfbfbf",
+ "tab.inactiveBackground": "#191A1B",
+ "tab.inactiveForeground": "#8C8C8C",
+ "tab.border": "#2A2B2C",
+ "tab.lastPinnedBorder": "#2A2B2C",
+ "tab.activeBorderTop": "#3994BC",
+ "tab.hoverBackground": "#121314",
+ "tab.hoverForeground": "#bfbfbf",
+ "tab.unfocusedActiveBackground": "#121314",
+ "tab.unfocusedActiveForeground": "#8C8C8C",
+ "tab.unfocusedInactiveBackground": "#191A1B",
+ "tab.unfocusedInactiveForeground": "#444444",
+ "editorGroupHeader.tabsBackground": "#191A1B",
+ "editorGroupHeader.connectedTabsBackground": "#202122",
+ "tab.activeBorder": "#121314",
+ "editorGroupHeader.tabsBorder": "#2A2B2C",
+ "breadcrumb.foreground": "#8C8C8C",
+ "breadcrumb.background": "#121314",
+ "breadcrumb.focusForeground": "#bfbfbf",
+ "breadcrumb.activeSelectionForeground": "#bfbfbf",
+ "breadcrumbPicker.background": "#202122",
+ "notificationCenter.border": "#2A2B2C",
+ "notificationCenterHeader.foreground": "#bfbfbf",
+ "notificationCenterHeader.background": "#242526",
+ "notificationToast.border": "#2A2B2C",
+ "notifications.foreground": "#bfbfbf",
+ "notifications.background": "#202122",
+ "notifications.border": "#2A2B2C",
+ "notificationLink.foreground": "#3a94bc",
+ "notificationsWarningIcon.foreground": "#CCA700",
+ "notificationsErrorIcon.foreground": "#f48771",
+ "notificationsInfoIcon.foreground": "#3a94bc",
+ "activityWarningBadge.foreground": "#202020",
+ "activityWarningBadge.background": "#CCA700",
+ "activityErrorBadge.foreground": "#FFFFFF",
+ "activityErrorBadge.background": "#f48771",
+ "extensionButton.prominentBackground": "#297AA0",
+ "extensionButton.prominentForeground": "#FFFFFF",
+ "extensionButton.prominentHoverBackground": "#2B7DA3",
+ "pickerGroup.border": "#2A2B2C",
+ "pickerGroup.foreground": "#bfbfbf",
+ "quickInput.background": "#202122",
+ "quickInput.foreground": "#bfbfbf",
+ "quickInputList.focusBackground": "#297AA0",
+ "quickInputList.focusForeground": "#FFFFFF",
+ "quickInputList.focusIconForeground": "#FFFFFF",
+ "quickInputList.focusHighlightForeground": "#FFFFFF",
+ "terminal.selectionBackground": "#3994BC33",
+ "terminal.background": "#191A1B",
+ "terminal.border": "#2A2B2C",
+ "terminal.tab.activeBorder": "#3994BC00",
+ "terminalCursor.foreground": "#bfbfbf",
+ "terminalCursor.background": "#191A1B",
+ "gitDecoration.addedResourceForeground": "#73c991",
+ "gitDecoration.modifiedResourceForeground": "#e5ba7d",
+ "gitDecoration.deletedResourceForeground": "#f48771",
+ "gitDecoration.untrackedResourceForeground": "#73c991",
+ "gitDecoration.ignoredResourceForeground": "#8C8C8C",
+ "gitDecoration.conflictingResourceForeground": "#f48771",
+ "gitDecoration.stageModifiedResourceForeground": "#e5ba7d",
+ "gitDecoration.stageDeletedResourceForeground": "#f48771",
+ "quickInputTitle.background": "#202122",
+ "commandCenter.activeBorder": "#333536",
+ "chat.requestBubbleBackground": "#ffffff13",
+ "chat.requestBubbleHoverBackground": "#ffffff22",
+ "chat.inputWorkingBorderColor1": "#297AA0",
+ "editorCommentsWidget.rangeBackground": "#488FAE26",
+ "editorCommentsWidget.rangeActiveBackground": "#488FAE46",
+ "charts.foreground": "#CCCCCC",
+ "charts.lines": "#C8CACC80",
+ "charts.blue": "#57A3F8",
+ "charts.red": "#EF8773",
+ "charts.yellow": "#E0B97F",
+ "charts.orange": "#CD861A",
+ "charts.green": "#86CF86",
+ "charts.purple": "#AD80D7",
+ "inlineChat.border": "#00000000",
+ "minimapSlider.background": "#A8A9AA85",
+ "minimapSlider.hoverBackground": "#A8A9AA90",
+ "minimapSlider.activeBackground": "#A8A9AA9C",
+
+ "agents.background": "#121314",
+ "agentsPanel.background": "#191A1B",
+ "agentsPanel.foreground": "#bfbfbf",
+ "agentsPanel.border": "#2A2B2C",
+ "surface.background": "#191A1B",
+ "surface.foreground": "#bfbfbf",
+ "surface.border": "#2A2B2C",
+ "agentsGradient.tintColor": "#297AA0",
+ "agentsChatInput.background": "#202122",
+ "agentsChatInput.foreground": "#bfbfbf",
+ "agentsChatInput.border": "#333536",
+ "agentsChatInput.focusBorder": "#3994BCB3",
+ "agentsChatInput.placeholderForeground": "#555555",
+ "agentsNewSessionButton.background": "#00000000",
+ "agentsNewSessionButton.foreground": "#bfbfbf",
+ "agentsNewSessionButton.border": "#333536",
+ "agentsNewSessionButton.hoverBackground": "#FFFFFF18",
+ "agentsBadge.background": "#307E9F",
+ "agentsBadge.foreground": "#FFFFFF",
+ "agentsUnreadBadge.background": "#307E9F",
+ "agentsUnreadBadge.foreground": "#FFFFFF",
+ },
+ "tokenColors": [
+ {
+ "scope": [
+ "comment",
+ "punctuation.definition.comment",
+ "string.comment"
+ ],
+ "settings": {
+ "foreground": "#8b949e"
+ }
+ },
+ {
+ "scope": [
+ "constant.other.placeholder",
+ "constant.character"
+ ],
+ "settings": {
+ "foreground": "#ff7b72"
+ }
+ },
+ {
+ "scope": [
+ "constant",
+ "entity.name.constant",
+ "variable.other.constant",
+ "variable.other.enummember",
+ "variable.language",
+ "entity"
+ ],
+ "settings": {
+ "foreground": "#79c0ff"
+ }
+ },
+ {
+ "scope": [
+ "entity.name",
+ "meta.export.default",
+ "meta.definition.variable"
+ ],
+ "settings": {
+ "foreground": "#ffa657"
+ }
+ },
+ {
+ "scope": [
+ "variable.parameter.function",
+ "meta.jsx.children",
+ "meta.block",
+ "meta.tag.attributes",
+ "entity.name.constant",
+ "meta.object.member",
+ "meta.embedded.expression"
+ ],
+ "settings": {
+ "foreground": "#c9d1d9"
+ }
+ },
+ {
+ "scope": "entity.name.function",
+ "settings": {
+ "foreground": "#d2a8ff"
+ }
+ },
+ {
+ "scope": [
+ "entity.name.tag",
+ "support.class.component"
+ ],
+ "settings": {
+ "foreground": "#7ee787"
+ }
+ },
+ {
+ "scope": "keyword",
+ "settings": {
+ "foreground": "#ff7b72"
+ }
+ },
+ {
+ "scope": [
+ "storage",
+ "storage.type"
+ ],
+ "settings": {
+ "foreground": "#ff7b72"
+ }
+ },
+ {
+ "scope": [
+ "storage.modifier.package",
+ "storage.modifier.import",
+ "storage.type.java"
+ ],
+ "settings": {
+ "foreground": "#c9d1d9"
+ }
+ },
+ {
+ "scope": [
+ "string",
+ "string punctuation.section.embedded source"
+ ],
+ "settings": {
+ "foreground": "#a5d6ff"
+ }
+ },
+ {
+ "scope": "support",
+ "settings": {
+ "foreground": "#79c0ff"
+ }
+ },
+ {
+ "scope": "meta.property-name",
+ "settings": {
+ "foreground": "#79c0ff"
+ }
+ },
+ {
+ "scope": "variable",
+ "settings": {
+ "foreground": "#ffa657"
+ }
+ },
+ {
+ "scope": "variable.other",
+ "settings": {
+ "foreground": "#c9d1d9"
+ }
+ },
+ {
+ "scope": "invalid.broken",
+ "settings": {
+ "foreground": "#ffa198",
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "scope": "invalid.deprecated",
+ "settings": {
+ "foreground": "#ffa198",
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "scope": "invalid.illegal",
+ "settings": {
+ "foreground": "#ffa198",
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "scope": "invalid.unimplemented",
+ "settings": {
+ "foreground": "#ffa198",
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "scope": "carriage-return",
+ "settings": {
+ "foreground": "#f0f6fc",
+ "fontStyle": "italic underline"
+ }
+ },
+ {
+ "scope": "message.error",
+ "settings": {
+ "foreground": "#ffa198"
+ }
+ },
+ {
+ "scope": "string variable",
+ "settings": {
+ "foreground": "#79c0ff"
+ }
+ },
+ {
+ "scope": [
+ "source.regexp",
+ "string.regexp"
+ ],
+ "settings": {
+ "foreground": "#a5d6ff"
+ }
+ },
+ {
+ "scope": [
+ "string.regexp.character-class",
+ "string.regexp constant.character.escape",
+ "string.regexp source.ruby.embedded",
+ "string.regexp string.regexp.arbitrary-repitition"
+ ],
+ "settings": {
+ "foreground": "#a5d6ff"
+ }
+ },
+ {
+ "scope": "string.regexp constant.character.escape",
+ "settings": {
+ "foreground": "#7ee787",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": "support.constant",
+ "settings": {
+ "foreground": "#79c0ff"
+ }
+ },
+ {
+ "scope": "support.variable",
+ "settings": {
+ "foreground": "#79c0ff"
+ }
+ },
+ {
+ "scope": "support.type.property-name.json",
+ "settings": {
+ "foreground": "#7ee787"
+ }
+ },
+ {
+ "scope": "meta.module-reference",
+ "settings": {
+ "foreground": "#79c0ff"
+ }
+ },
+ {
+ "scope": "punctuation.definition.list.begin.markdown",
+ "settings": {
+ "foreground": "#ffa657"
+ }
+ },
+ {
+ "scope": [
+ "markup.heading",
+ "markup.heading entity.name"
+ ],
+ "settings": {
+ "foreground": "#79c0ff",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": "markup.quote",
+ "settings": {
+ "foreground": "#7ee787"
+ }
+ },
+ {
+ "scope": "markup.italic",
+ "settings": {
+ "foreground": "#c9d1d9",
+ "fontStyle": "italic"
+ }
+ },
+ {
+ "scope": "markup.bold",
+ "settings": {
+ "foreground": "#c9d1d9",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": [
+ "markup.underline"
+ ],
+ "settings": {
+ "fontStyle": "underline"
+ }
+ },
+ {
+ "scope": [
+ "markup.strikethrough"
+ ],
+ "settings": {
+ "fontStyle": "strikethrough"
+ }
+ },
+ {
+ "scope": "markup.inline.raw",
+ "settings": {
+ "foreground": "#79c0ff"
+ }
+ },
+ {
+ "scope": [
+ "markup.deleted",
+ "meta.diff.header.from-file",
+ "punctuation.definition.deleted"
+ ],
+ "settings": {
+ "foreground": "#ffa198"
+ }
+ },
+ {
+ "scope": [
+ "punctuation.section.embedded"
+ ],
+ "settings": {
+ "foreground": "#ff7b72"
+ }
+ },
+ {
+ "scope": [
+ "markup.inserted",
+ "meta.diff.header.to-file",
+ "punctuation.definition.inserted"
+ ],
+ "settings": {
+ "foreground": "#7ee787"
+ }
+ },
+ {
+ "scope": [
+ "markup.changed",
+ "punctuation.definition.changed"
+ ],
+ "settings": {
+ "foreground": "#ffa657"
+ }
+ },
+ {
+ "scope": [
+ "markup.ignored",
+ "markup.untracked"
+ ],
+ "settings": {
+ "foreground": "#0d1117"
+ }
+ },
+ {
+ "scope": "meta.diff.range",
+ "settings": {
+ "foreground": "#d2a8ff",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": "meta.diff.header",
+ "settings": {
+ "foreground": "#79c0ff"
+ }
+ },
+ {
+ "scope": "meta.separator",
+ "settings": {
+ "foreground": "#79c0ff",
+ "fontStyle": "bold"
+ }
+ },
+ {
+ "scope": "meta.output",
+ "settings": {
+ "foreground": "#79c0ff"
+ }
+ },
+ {
+ "scope": [
+ "brackethighlighter.tag",
+ "brackethighlighter.curly",
+ "brackethighlighter.round",
+ "brackethighlighter.square",
+ "brackethighlighter.angle",
+ "brackethighlighter.quote"
+ ],
+ "settings": {
+ "foreground": "#8b949e"
+ }
+ },
+ {
+ "scope": "brackethighlighter.unmatched",
+ "settings": {
+ "foreground": "#ffa198"
+ }
+ },
+ {
+ "scope": [
+ "constant.other.reference.link",
+ "string.other.link"
+ ],
+ "settings": {
+ "foreground": "#a5d6ff"
+ }
+ },
+ {
+ "scope": "token.info-token",
+ "settings": {
+ "foreground": "#6796E6"
+ }
+ },
+ {
+ "scope": "token.warn-token",
+ "settings": {
+ "foreground": "#CD9731"
+ }
+ },
+ {
+ "scope": "token.error-token",
+ "settings": {
+ "foreground": "#F44747"
+ }
+ },
+ {
+ "scope": "token.debug-token",
+ "settings": {
+ "foreground": "#B267E6"
+ }
+ }
+ ],
+ "semanticHighlighting": true
+}
diff --git a/bundle/vendor/vscode/dark_modern.json b/bundle/vendor/vscode/dark_modern.json
new file mode 100644
index 0000000..7aee67b
--- /dev/null
+++ b/bundle/vendor/vscode/dark_modern.json
@@ -0,0 +1,138 @@
+{
+ "$schema": "vscode://schemas/color-theme",
+ "name": "Dark Modern",
+ "include": "./dark_plus.json",
+ "colors": {
+ "activityBar.activeBorder": "#0078D4",
+ "activityBar.background": "#181818",
+ "activityBar.border": "#2B2B2B",
+ "activityBar.foreground": "#D7D7D7",
+ "activityBar.inactiveForeground": "#868686",
+ "activityBarBadge.background": "#0078D4",
+ "activityBarBadge.foreground": "#FFFFFF",
+ "badge.background": "#616161",
+ "badge.foreground": "#F8F8F8",
+ "button.background": "#0078D4",
+ "button.border": "#ffffff1a",
+ "button.foreground": "#FFFFFF",
+ "button.hoverBackground": "#026EC1",
+ "button.secondaryBackground": "#00000000",
+ "button.secondaryForeground": "#CCCCCC",
+ "button.secondaryHoverBackground": "#2B2B2B",
+ "chat.slashCommandBackground": "#26477866",
+ "chat.slashCommandForeground": "#85B6FF",
+ "chat.editedFileForeground": "#E2C08D",
+ "checkbox.background": "#313131",
+ "checkbox.border": "#3C3C3C",
+ "debugToolBar.background": "#181818",
+ "descriptionForeground": "#9D9D9D",
+ "dropdown.background": "#313131",
+ "dropdown.border": "#3C3C3C",
+ "dropdown.foreground": "#CCCCCC",
+ "dropdown.listBackground": "#1F1F1F",
+ "editor.background": "#1F1F1F",
+ "editor.findMatchBackground": "#9E6A03",
+ "editor.foreground": "#CCCCCC",
+ "editorGroup.border": "#FFFFFF17",
+ "editorGroupHeader.tabsBackground": "#181818",
+ "editorGroupHeader.connectedTabsBackground": "#2B2B2B",
+ "editorGroupHeader.tabsBorder": "#2B2B2B",
+ "editorGutter.addedBackground": "#2EA043",
+ "editorGutter.deletedBackground": "#F85149",
+ "editorGutter.modifiedBackground": "#0078D4",
+ "editorLineNumber.activeForeground": "#CCCCCC",
+ "editorLineNumber.foreground": "#6E7681",
+ "editorOverviewRuler.border": "#010409",
+ "editorWidget.background": "#202020",
+ "errorForeground": "#F85149",
+ "focusBorder": "#0078D4",
+ "foreground": "#CCCCCC",
+ "icon.foreground": "#CCCCCC",
+ "input.background": "#313131",
+ "input.border": "#3C3C3C",
+ "input.foreground": "#CCCCCC",
+ "input.placeholderForeground": "#989898",
+ "inputOption.activeBackground": "#2489DB82",
+ "inputOption.activeBorder": "#2488DB",
+ "keybindingLabel.foreground": "#CCCCCC",
+ "menu.background": "#1F1F1F",
+ "menu.selectionBackground": "#0078d4",
+ "notificationCenterHeader.background": "#1F1F1F",
+ "notificationCenterHeader.foreground": "#CCCCCC",
+ "notifications.background": "#1F1F1F",
+ "notifications.border": "#2B2B2B",
+ "notifications.foreground": "#CCCCCC",
+ "panel.background": "#181818",
+ "panel.border": "#2B2B2B",
+ "panelInput.border": "#2B2B2B",
+ "panelTitle.activeBorder": "#0078D4",
+ "panelTitle.activeForeground": "#CCCCCC",
+ "panelTitle.inactiveForeground": "#9D9D9D",
+ "peekViewEditor.background": "#1F1F1F",
+ "peekViewEditor.matchHighlightBackground": "#BB800966",
+ "peekViewResult.background": "#1F1F1F",
+ "peekViewResult.matchHighlightBackground": "#BB800966",
+ "pickerGroup.border": "#3C3C3C",
+ "progressBar.background": "#0078D4",
+ "quickInput.background": "#222222",
+ "quickInput.foreground": "#CCCCCC",
+ "settings.dropdownBackground": "#313131",
+ "settings.dropdownBorder": "#3C3C3C",
+ "settings.headerForeground": "#FFFFFF",
+ "settings.modifiedItemIndicator": "#BB800966",
+ "sideBar.background": "#181818",
+ "sideBar.border": "#2B2B2B",
+ "sideBar.foreground": "#CCCCCC",
+ "sideBarSectionHeader.background": "#181818",
+ "sideBarSectionHeader.border": "#2B2B2B",
+ "sideBarSectionHeader.foreground": "#CCCCCC",
+ "sideBarTitle.foreground": "#CCCCCC",
+ "statusBar.background": "#181818",
+ "statusBar.inactiveBackground": "#1F1F1F",
+ "statusBar.border": "#2B2B2B",
+ "statusBarItem.hoverBackground": "#F1F1F133",
+ "statusBarItem.hoverForeground": "#FFFFFF",
+ "statusBar.debuggingBackground": "#0078D4",
+ "statusBar.debuggingForeground": "#FFFFFF",
+ "statusBar.focusBorder": "#0078D4",
+ "statusBar.foreground": "#CCCCCC",
+ "statusBar.noFolderBackground": "#1F1F1F",
+ "statusBarItem.focusBorder": "#0078D4",
+ "statusBarItem.prominentBackground": "#6E768166",
+ "statusBarItem.remoteBackground": "#0078D4",
+ "statusBarItem.remoteForeground": "#FFFFFF",
+ "tab.activeBackground": "#1F1F1F",
+ "tab.activeBorder": "#1F1F1F",
+ "tab.activeBorderTop": "#0078D4",
+ "tab.activeForeground": "#FFFFFF",
+ "tab.selectedBorderTop": "#6caddf",
+ "tab.border": "#2B2B2B",
+ "tab.hoverBackground": "#1F1F1F",
+ "tab.inactiveBackground": "#181818",
+ "tab.inactiveForeground": "#9D9D9D",
+ "tab.unfocusedActiveBorder": "#1F1F1F",
+ "tab.unfocusedActiveBorderTop": "#2B2B2B",
+ "tab.unfocusedHoverBackground": "#1F1F1F",
+ "terminal.foreground": "#CCCCCC",
+ "terminal.tab.activeBorder": "#0078D4",
+ "textBlockQuote.background": "#2B2B2B",
+ "textBlockQuote.border": "#616161",
+ "textCodeBlock.background": "#2B2B2B",
+ "textLink.activeForeground": "#4daafc",
+ "textLink.foreground": "#4daafc",
+ "textPreformat.foreground": "#D0D0D0",
+ "textPreformat.background": "#3C3C3C",
+ "textSeparator.foreground": "#21262D",
+ "titleBar.activeBackground": "#181818",
+ "titleBar.activeForeground": "#CCCCCC",
+ "titleBar.border": "#2B2B2B",
+ "titleBar.inactiveBackground": "#1F1F1F",
+ "titleBar.inactiveForeground": "#9D9D9D",
+ "welcomePage.tileBackground": "#2B2B2B",
+ "welcomePage.progress.foreground": "#0078D4",
+ "widget.border": "#313131",
+ "modernActivityBarItem.activeBackground": "#FFFFFF22",
+ "modernActivityBarItem.hoverBackground": "#FFFFFF11",
+ "modernActivityBar.border": "#252526"
+ },
+}
diff --git a/bundle/vendor/vscode/dark_plus.json b/bundle/vendor/vscode/dark_plus.json
index 5565e2d..8328860 100644
--- a/bundle/vendor/vscode/dark_plus.json
+++ b/bundle/vendor/vscode/dark_plus.json
@@ -64,7 +64,8 @@
"support.constant.math",
"support.constant.dom",
"support.constant.json",
- "entity.other.inherited-class"
+ "entity.other.inherited-class",
+ "punctuation.separator.namespace.ruby"
],
"settings": {
"foreground": "#4EC9B0"
diff --git a/bundle/vendor/vscode/dark_vs.json b/bundle/vendor/vscode/dark_vs.json
index 54d69be..796d291 100644
--- a/bundle/vendor/vscode/dark_vs.json
+++ b/bundle/vendor/vscode/dark_vs.json
@@ -5,28 +5,46 @@
"checkbox.border": "#6B6B6B",
"editor.background": "#1E1E1E",
"editor.foreground": "#D4D4D4",
+ "editorGroupHeader.connectedTabsBackground": "#303031",
+ "editorGroupHeader.tabsBorder": "#303031",
"editor.inactiveSelectionBackground": "#3A3D41",
"editorIndentGuide.background1": "#404040",
"editorIndentGuide.activeBackground1": "#707070",
"editor.selectionHighlightBackground": "#ADD6FF26",
"list.dropBackground": "#383B3D",
"activityBarBadge.background": "#007ACC",
+ "browser.border": "#00000000",
"sideBarTitle.foreground": "#BBBBBB",
"input.placeholderForeground": "#A6A6A6",
"menu.background": "#252526",
"menu.foreground": "#CCCCCC",
"menu.separatorBackground": "#454545",
"menu.border": "#454545",
+ "menu.selectionBackground": "#0078d4",
"statusBarItem.remoteForeground": "#FFF",
"statusBarItem.remoteBackground": "#16825D",
+ "statusBar.inactiveBackground": "#1476B8",
+ "titleBar.inactiveBackground": "#323233",
"ports.iconRunningProcessForeground": "#369432",
"sideBarSectionHeader.background": "#0000",
"sideBarSectionHeader.border": "#ccc3",
+ "tab.selectedBackground": "#37373D",
+ "tab.inactiveForeground": "#A6A6A6",
+ "tab.selectedForeground": "#FFFFFF",
"tab.lastPinnedBorder": "#ccc3",
"list.activeSelectionIconForeground": "#FFF",
"terminal.inactiveSelectionBackground": "#3A3D41",
"widget.border": "#303031",
- "actionBar.toggledBackground": "#383a49"
+ "actionBar.toggledBackground": "#383a49",
+ "agentsPanel.border": "#303031",
+ "agentsChatInput.border": "#303031",
+ "agentsChatInput.focusBorder": "#007ACC",
+ "agentsNewSessionButton.border": "#303031",
+ // modern ui
+ "surface.border": "#252526",
+ "modernActivityBarItem.activeBackground": "#1E1E1E",
+ "modernActivityBarItem.hoverBackground": "#1E1E1E66",
+ "modernActivityBar.border": "#252526",
},
"tokenColors": [
{
@@ -94,7 +112,10 @@
}
},
{
- "scope": "entity.name.tag.css",
+ "scope": [
+ "entity.name.tag.css",
+ "entity.name.tag.less"
+ ],
"settings": {
"foreground": "#d7ba7d"
}
@@ -108,10 +129,11 @@
{
"scope": [
"entity.other.attribute-name.class.css",
- "entity.other.attribute-name.class.mixin.css",
+ "source.css entity.other.attribute-name.class",
"entity.other.attribute-name.id.css",
"entity.other.attribute-name.parent-selector.css",
- "entity.other.attribute-name.pseudo-class.css",
+ "entity.other.attribute-name.parent.less",
+ "source.css entity.other.attribute-name.pseudo-class",
"entity.other.attribute-name.pseudo-element.css",
"source.css.less entity.other.attribute-name.id",
"entity.other.attribute-name.scss"
@@ -149,7 +171,8 @@
{
"scope": "markup.italic",
"settings": {
- "fontStyle": "italic"
+ "fontStyle": "italic",
+ "foreground": "#C586C0"
}
},
{
@@ -306,9 +329,7 @@
"scope": [
"support.type.vendored.property-name",
"support.type.property-name",
- "variable.css",
- "variable.scss",
- "variable.other.less",
+ "source.css variable",
"source.coffee.embedded"
],
"settings": {