Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Road to specification completion #1

Open
gagbo opened this issue Dec 15, 2018 · 10 comments
Open

Road to specification completion #1

gagbo opened this issue Dec 15, 2018 · 10 comments
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed
Milestone

Comments

@gagbo
Copy link
Member

gagbo commented Dec 15, 2018

Summary

To avoid any surprise when loading this VSC theme, it should provide a value for every customizable item found in the documentation (so it is overwritten when the theme is loaded), or at least consider providing it.

Reference

All the references for this issue come from Visual Studio Code documentation

Contributions

Everyone is welcome to add/modify colours in this list. I (@gagbo) just aim to provide the most complete theme possible, so anyone who would want to tweak it can find directly the property they want to change in the source. Keeping the list in alphabetical order is important so we don't specify twice the same key, or forget one.

List

Contrast colors

  • contrastActiveBorder: An extra border around active elements to separate them from others for greater contrast.
  • contrastBorder: An extra border around elements to separate them from others for greater contrast.

Base colors

  • focusBorder: Overall border color for focused elements. This color is only used if not overridden by a component.
  • foreground: Overall foreground color. This color is only used if not overridden by a component.
  • widget.shadow: Shadow color of widgets such as Find/Replace inside the editor.
  • selection.background: Background color of text selections in the workbench (for input fields or text areas, does not apply to selections within the editor and the terminal).
  • descriptionForeground: Foreground color for description text providing additional information, for example for a label.
  • errorForeground: Overall foreground color for error messages (this color is only used if not overridden by a component).

Text colors

Colors inside a text document, such as the welcome page.

  • textBlockQuote.background: Background color for block quotes in text.
  • textBlockQuote.border: Border color for block quotes in text.
  • textCodeBlock.background: Background color for code blocks in text.
  • textLink.activeForeground: Foreground color for links in text when clicked on and on mouse hover.
  • textLink.foreground: Foreground color for links in text.
  • textPreformat.foreground: Foreground color for preformatted text segments.
  • textSeparator.foreground: Color for text separators.

Button control

A set of colors for button widgets such as Open Folder button in the Explorer of a new window.

  • button.background: Button background color.
  • button.foreground: Button foreground color.
  • button.hoverBackground: Button background color when hovering.

Dropdown control

A set of colors for all Dropdown widgets such as in the Integrated Terminal or the Output panel. Note that the Dropdown control is not used on macOS currently.

  • dropdown.background: Dropdown background.
  • dropdown.listBackground: Dropdown list background.
  • dropdown.border: Dropdown border.
  • dropdown.foreground: Dropdown foreground.

Input control

Colors for input controls such as in the Search view or the Find/Replace dialog.

  • input.background: Input box background.
  • input.border: Input box border.
  • input.foreground: Input box foreground.
  • input.placeholderForeground: Input box foreground color for placeholder text.
  • inputOption.activeBorder: Border color of activated options in input fields.
  • inputValidation.errorBackground: Input validation background color for error severity.
  • inputValidation.errorForeground: Input validation foreground color for error severity.
  • inputValidation.errorBorder: Input validation border color for error severity.
  • inputValidation.infoBackground: Input validation background color for information severity.
  • inputValidation.infoForeground: Input validation foreground color for information severity.
  • inputValidation.infoBorder: Input validation border color for information severity.
  • inputValidation.warningBackground: Input validation background color for information warning.
  • inputValidation.warningForeground: Input validation foreground color for warning severity.
  • inputValidation.warningBorder: Input validation border color for warning severity.

Scrollbar control

  • scrollbar.shadow: Scrollbar slider shadow to indicate that the view is scrolled.
  • scrollbarSlider.activeBackground: Scrollbar slider background color when clicked on.
  • scrollbarSlider.background: Scrollbar slider background color.
  • scrollbarSlider.hoverBackground: Scrollbar slider background color when hovering.

Badge

Badges are small information labels, for example, search results count.

  • badge.foreground: Badge foreground color.
  • badge.background: Badge background color.

Progress bar

  • progressBar.background: Background color of the progress bar shown for long running operations.

Lists and trees

Colors for list and trees like the File Explorer. An active list/tree has keyboard focus, an inactive does not.

  • list.activeSelectionBackground: List/Tree background color for the selected item when the list/tree is active.
  • list.activeSelectionForeground: List/Tree foreground color for the selected item when the list/tree is active.
  • list.dropBackground: List/Tree drag and drop background when moving items around using the mouse.
  • list.focusBackground: List/Tree background color for the focused item when the list/tree is active.
  • list.focusForeground: List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.
  • list.highlightForeground: List/Tree foreground color of the match highlights when searching inside the list/tree.
  • list.hoverBackground: List/Tree background when hovering over items using the mouse.
  • list.hoverForeground: List/Tree foreground when hovering over items using the mouse.
  • list.inactiveSelectionBackground: List/Tree background color for the selected item when the list/tree is inactive.
  • list.inactiveSelectionForeground: List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.
  • list.inactiveFocusBackground: List background color for the focused item when the list is inactive. An active list has keyboard focus, an inactive does not. Currently only supported in lists.
  • list.invalidItemForeground: List/Tree foreground color for invalid items, for example an unresolved root in explorer.
  • list.errorForeground: Foreground color of list items containing errors.
  • list.warningForeground: Foreground color of list items containing warnings.

Activity Bar

The Activity Bar is displayed either on the far left or right of the workbench and allows fast switching between views of the Side Bar.

  • activityBar.background: Activity Bar background color.
  • activityBar.dropBackground: Drag and drop feedback color for the Activity Bar items.
  • activityBar.foreground: Activity bar foreground color (for example used for the icons).
  • activityBar.inactiveForeground: Activity bar item foreground color when it is inactive.
  • activityBar.border: Activity Bar border color with the Side Bar.
  • activityBarBadge.background: Activity notification badge background color.
  • activityBarBadge.foreground: Activity notification badge foreground color.

Side Bar

The Side Bar contains views like the Explorer and Search.

  • sideBar.background: Side Bar background color.
  • sideBar.foreground: Side Bar foreground color. The Side Bar is the container for views like Explorer and Search.
  • sideBar.border: Side Bar border color on the side separating the editor.
  • sideBar.dropBackground: Drag and drop feedback color for the side bar sections. The color should have transparency so that the side bar sections can still shine through. The side bar is the container for views like explorer and search.
  • sideBarTitle.foreground: Side Bar title foreground color.
  • sideBarSectionHeader.background: Side Bar section header background color.
  • sideBarSectionHeader.foreground: Side Bar section header foreground color.
  • sideBarSectionHeader.border: Side bar section header border color.

Editor Groups & Tabs

Editor Groups are the containers of editors. There can be many editor groups. A Tab is the container of an editor. Multiple Tabs can be opened in one editor group.

  • editorGroup.border: Color to separate multiple editor groups from each other.
  • editorGroup.dropBackground: Background color when dragging editors around.
  • editorGroupHeader.noTabsBackground: Background color of the editor group title header when Tabs are disabled (set "workbench.editor.showTabs": false).
  • editorGroupHeader.tabsBackground: Background color of the Tabs container.
  • editorGroupHeader.tabsBorder: Border color of the editor group title header when tabs are enabled.
  • editorGroup.emptyBackground: Background color of an empty editor group.
  • editorGroup.focusedEmptyBorder: Border color of an empty editor group that is focused.
  • tab.activeBackground: Active Tab background color.
  • tab.activeForeground: Active Tab foreground color in an active group.
  • tab.border: Border to separate Tabs from each other.
  • tab.activeBorder: Bottom border for the active tab.
  • tab.unfocusedActiveBorder: Bottom border for the active tab in an inactive editor group.
  • tab.activeBorderTop: Top border for the active tab.
  • tab.unfocusedActiveBorderTop: Top border for the active tab in an inactive editor group
  • tab.inactiveBackground: Inactive Tab background color.
  • tab.inactiveForeground: Inactive Tab foreground color in an active group.
  • tab.unfocusedActiveForeground: Active tab foreground color in an inactive editor group.
  • tab.unfocusedInactiveForeground: Inactive tab foreground color in an inactive editor group.
  • tab.hoverBackground: Tab background color when hovering
  • tab.unfocusedHoverBackground: Tab background color in an unfocused group when hovering
  • tab.hoverBorder: Border to highlight tabs when hovering
  • tab.unfocusedHoverBorder: Border to highlight tabs in an unfocused group when hovering
  • tab.activeModifiedBorder: Border on the top of modified (dirty) active tabs in an active group.
  • tab.inactiveModifiedBorder: Border on the top of modified (dirty) inactive tabs in an active group.
  • tab.unfocusedActiveModifiedBorder: Border on the top of modified (dirty) active tabs in an unfocused group.
  • tab.unfocusedInactiveModifiedBorder: Border on the top of modified (dirty) inactive tabs in an unfocused group.

Editor colors

The most prominent editor colors are the token colors used for syntax
highlighting and are based on the language grammar installed. These
colors are defined by the Color Theme but can also be customized with the
editor.tokenColorCustomizations setting. See Customizing a Color Theme for
details on updating a Color Theme and the available token types.

All other editor colors are listed here:

Basic Editor colors

  • editor.background: Editor background color.
  • editor.foreground: Editor default foreground color.
  • editorLineNumber.foreground: Color of editor line numbers.
  • editorLineNumber.activeForeground: Color of the active editor line number.
  • editorCursor.background: The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.
  • editorCursor.foreground: Color of the editor cursor.

Selection colors

Selection colors are visible when selecting one or more characters. In addition to the selection also all regions with the same content are highlighted.

  • editor.selectionBackground: Color of the editor selection.
  • editor.selectionForeground: Color of the selected text for high contrast.
  • editor.inactiveSelectionBackground: Color of the selection in an inactive editor. The color must not be opaque to not hide underlying decorations.
  • editor.selectionHighlightBackground: Color for regions with the same content as the selection. The color must not be opaque to not hide underlying decorations.
  • editor.selectionHighlightBorder: Border color for regions with the same content as the selection.

Word highlight colors

Word highlight colors are visible when the cursor is inside a symbol or a word.
Depending on the language support available for the file type, all matching
references and declarations are highlighted and read and write accesses get
different colors. If document symbol language support is not available, this
falls back to word highlighting.

  • editor.wordHighlightBackground: Background color of a symbol during read-access, for example when reading a variable. The color must not be opaque to not hide underlying decorations.
  • editor.wordHighlightBorder: Border color of a symbol during read-access, for example when reading a variable.
  • editor.wordHighlightStrongBackground: Background color of a symbol during write-access, for example when writing to a variable. The color must not be opaque to not hide underlying decorations.
  • editor.wordHighlightStrongBorder: Border color of a symbol during write-access, for example when writing to a variable.

Find matches

Find colors depend on the current find string in the Find/Replace dialog.

  • editor.findMatchBackground: Color of the current search match.
  • editor.findMatchHighlightBackground: Color of the other search matches. The color must not be opaque to not hide underlying decorations.
  • editor.findRangeHighlightBackground: Color the range limiting the search (Enable 'Find in Selection' in the find widget). The color must not be opaque to not hide underlying decorations.
  • editor.findMatchBorder: Border color of the current search match.
  • editor.findMatchHighlightBorder: Border color of the other search matches.
  • editor.findRangeHighlightBorder: Border color the range limiting the search (Enable 'Find in Selection' in the find widget).

Hover Highlight

The hover highlight is shown behind the symbol for which a hover is shown.

  • editor.hoverHighlightBackground: Highlight below the word for which a hover is shown. The color must not be opaque to not hide underlying decorations.

Line Highlight

The current line is typically shown as either background highlight or a border (not both). We chose to use
editor.lineHighlightBackground so editor.lineHighlightBorder is marked as done

  • editor.lineHighlightBackground: Background color for the highlight of line at the cursor position.
  • editor.lineHighlightBorder: Background color for the border around the line at the cursor position.

Link

The link color is visible when clicking on a link.

  • editorLink.activeForeground: Color of active links.

Range Highlight

The range highlight is visible when selecting a search result.

  • editor.rangeHighlightBackground: Background color of highlighted ranges, used by Quick Open, Symbol in File and Find features. The color must not be opaque to not hide underlying decorations.
  • editor.rangeHighlightBorder: Background color of the border around highlighted ranges.

White spaces

To see the editor white spaces, enable Toggle Render Whitespace.

  • editorWhitespace.foreground: Color of whitespace characters in the editor.

Indent Guides

To see the editor indent guides, set "editor.renderIndentGuides": true.

  • editorIndentGuide.background: Color of the editor indentation guides.
  • editorIndentGuide.activeBackground: Color of the active editor indentation guide.

Rulers

To see editor rulers, define their location with "editor.rulers"

  • editorRuler.foreground: Color of the editor rulers.

CodeLens:

CodeLens

  • editorCodeLens.foreground: Foreground color of an editor CodeLens.

Bracket colors

  • editorBracketMatch.background: Background color behind matching brackets.
  • editorBracketMatch.border: Color for matching brackets boxes.

Overview ruler:

This ruler is located beneath the scroll bar on the right edge of the editor and gives an overview of the decorations in the editor.

  • editorOverviewRuler.border: Color of the overview ruler border.
  • editorOverviewRuler.findMatchForeground: Overview ruler marker color for find matches. The color must not be opaque to not hide underlying decorations.
  • editorOverviewRuler.rangeHighlightForeground: Overview ruler marker color for highlighted ranges, like by the Quick Open, Symbol in File and Find features. The color must not be opaque to not hide underlying decorations.
  • editorOverviewRuler.selectionHighlightForeground: Overview ruler marker color for selection highlights. The color must not be opaque to not hide underlying decorations.
  • editorOverviewRuler.wordHighlightForeground: Overview ruler marker color for symbol highlights. The color must not be opaque to not hide underlying decorations.
  • editorOverviewRuler.wordHighlightStrongForeground: Overview ruler marker color for write-access symbol highlights. The color must not be opaque to not hide underlying decorations.
  • editorOverviewRuler.modifiedForeground: Overview ruler marker color for modified content.
  • editorOverviewRuler.addedForeground: Overview ruler marker color for added content.
  • editorOverviewRuler.deletedForeground: Overview ruler marker color for deleted content.
  • editorOverviewRuler.errorForeground: Overview ruler marker color for errors.
  • editorOverviewRuler.warningForeground: Overview ruler marker color for warnings.
  • editorOverviewRuler.infoForeground: Overview ruler marker color for infos.
  • editorOverviewRuler.bracketMatchForeground: Overview ruler marker color for matching brackets.

Errors and warnings:

  • editorError.foreground: Foreground color of error squiggles in the editor.
  • editorError.border: Border color of error squiggles in the editor.
  • editorWarning.foreground: Foreground color of warning squiggles in the editor.
  • editorWarning.border: Border color of warning squiggles in the editor.
  • editorInfo.foreground: Foreground color of info squiggles in the editor.
  • editorInfo.border: Border color of info squiggles in the editor.
  • editorHint.foreground: Foreground color of hints in the editor.
  • editorHint.border: Border color of hints in the editor.

Unused source code:

  • editorUnnecessaryCode.border: Border of unnecessary (unused) source code in the editor.
  • editorUnnecessaryCode.opacity: Opacity of unnecessary (unused) source code in the editor.

Gutter colors

The gutter contains the glyph margins and the line numbers:

  • editorGutter.background: Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.
  • editorGutter.modifiedBackground: Editor gutter background color for lines that are modified.
  • editorGutter.addedBackground: Editor gutter background color for lines that are added.
  • editorGutter.deletedBackground: Editor gutter background color for lines that are deleted.

Diff editor colors

For coloring inserted and removed text, use either a background or a border color but not both.

  • diffEditor.insertedTextBackground: Background color for text that got inserted. The color must not be opaque to not hide underlying decorations.
  • diffEditor.insertedTextBorder: Outline color for the text that got inserted.
  • diffEditor.removedTextBackground: Background color for text that got removed. The color must not be opaque to not hide underlying decorations.
  • diffEditor.removedTextBorder: Outline color for text that got removed.
  • diffEditor.border: Border color between the two text editors.

Editor widget colors

The Editor widget is shown in front of the editor content. Examples are the Find/Replace dialog, the suggestion widget, and the editor hover.

  • editorWidget.background: Background color of editor widgets, such as Find/Replace.
  • editorWidget.border: Border color of the editor widget unless the widget does not contain a border or defines its own border color.
  • editorWidget.resizeBorder: Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget.
  • editorSuggestWidget.background: Background color of the suggestion widget.
  • editorSuggestWidget.border: Border color of the suggestion widget.
  • editorSuggestWidget.foreground: Foreground color of the suggestion widget.
  • editorSuggestWidget.highlightForeground: Color of the match highlights in the suggestion widget.
  • editorSuggestWidget.selectedBackground: Background color of the selected entry in the suggestion widget.
  • editorHoverWidget.background: Background color of the editor hover.
  • editorHoverWidget.border: Border color of the editor hover.

Debug widget colors

The Debug Exception widget is a peek view that shows in the editor when debug stops at an exception.

  • debugExceptionWidget.background: Exception widget background color.
  • debugExceptionWidget.border: Exception widget border color.

Editor Marker colors

The editor marker view shows when navigating to errors and warnings in the editor (Go to Next Error or Warning command).

  • editorMarkerNavigation.background: Editor marker navigation widget background.
  • editorMarkerNavigationError.background: Editor marker navigation widget error color.
  • editorMarkerNavigationWarning.background: Editor marker navigation widget warning color.
  • editorMarkerNavigationInfo.background: Editor marker navigation widget info color.

Peek view colors

Peek views are used to show references and declarations as a view inside the editor.

  • peekView.border: Color of the peek view borders and arrow.
  • peekViewEditor.background: Background color of the peek view editor.
  • peekViewEditorGutter.background: Background color of the gutter in the peek view editor.
  • peekViewEditor.matchHighlightBackground: Match highlight color in the peek view editor.
  • peekViewEditor.matchHighlightBorder: Match highlight border color in the peek view editor.
  • peekViewResult.background: Background color of the peek view result list.
  • peekViewResult.fileForeground: Foreground color for file nodes in the peek view result list.
  • peekViewResult.lineForeground: Foreground color for line nodes in the peek view result list.
  • peekViewResult.matchHighlightBackground: Match highlight color in the peek view result list.
  • peekViewResult.selectionBackground: Background color of the selected entry in the peek view result list.
  • peekViewResult.selectionForeground: Foreground color of the selected entry in the peek view result list.
  • peekViewTitle.background: Background color of the peek view title area.
  • peekViewTitleDescription.foreground: Color of the peek view title info.
  • peekViewTitleLabel.foreground: Color of the peek view title.

Merge conflicts

Merge conflict decorations are shown when the editor contains special diff ranges.

  • merge.currentHeaderBackground: Current header background in inline merge conflicts. The color must not be opaque to not hide underlying decorations.
  • merge.currentContentBackground: Current content background in inline merge conflicts. The color must not be opaque to not hide underlying decorations.
  • merge.incomingHeaderBackground: Incoming header background in inline merge conflicts. The color must not be opaque to not hide underlying decorations.
  • merge.incomingContentBackground: Incoming content background in inline merge conflicts. The color must not be opaque to not hide underlying decorations.
  • merge.border: Border color on headers and the splitter in inline merge conflicts.
  • merge.commonContentBackground: Common ancestor content background in inline merge-conflicts. The color must not be opaque to not hide underlying decorations.
  • merge.commonHeaderBackground: Common ancestor header background in inline merge-conflicts. The color must not be opaque to not hide underlying decorations.
  • editorOverviewRuler.currentContentForeground: Current overview ruler foreground for inline merge conflicts.
  • editorOverviewRuler.incomingContentForeground: Incoming overview ruler foreground for inline merge conflicts.
  • editorOverviewRuler.commonContentForeground: Common ancestor overview ruler foreground for inline merge conflicts.

Panel colors

Panels are shown below the editor area and contain views like Output and Integrated Terminal.

  • panel.background: Panel background color.
  • panel.border: Panel border color to separate the panel from the editor.
  • panel.dropBackground: Drag and drop feedback color for the panel title items. The color should have transparency so that the panel entries can still shine through.
  • panelTitle.activeBorder: Border color for the active panel title.
  • panelTitle.activeForeground: Title color for the active panel.
  • panelTitle.inactiveForeground: Title color for the inactive panel.

Status Bar colors

The Status Bar is shown in the bottom of the workbench.

  • statusBar.background: Standard Status Bar background color.
  • statusBar.foreground: Status Bar foreground color.
  • statusBar.border: Status Bar border color separating the Status Bar and editor.
  • statusBar.debuggingBackground: Status Bar background color when a program is being debugged.
  • statusBar.debuggingForeground: Status Bar foreground color when a program is being debugged.
  • statusBar.debuggingBorder: Status Bar border color separating the Status Bar and editor when a program is being debugged.
  • statusBar.noFolderForeground: Status Bar foreground color when no folder is opened.
  • statusBar.noFolderBackground: Status Bar background color when no folder is opened.
  • statusBar.noFolderBorder: Status Bar border color separating the Status Bar and editor when no folder is opened.
  • statusBarItem.activeBackground: Status Bar item background color when clicking.
  • statusBarItem.hoverBackground: Status Bar item background color when hovering.
  • statusBarItem.prominentBackground: Status Bar prominent items background color. Prominent items stand out from other Status Bar entries to indicate importance. Change mode Toggle Tab Key Moves Focus from command palette to see an example.
  • statusBarItem.prominentHoverBackground: Status Bar prominent items background color when hovering. Prominent items stand out from other Status Bar entries to indicate importance. Change mode Toggle Tab Key Moves Focus from command palette to see an example.

Title Bar colors

  • titleBar.activeBackground: Title Bar background when the window is active.
  • titleBar.activeForeground: Title Bar foreground when the window is active.
  • titleBar.inactiveBackground: Title Bar background when the window is inactive.
  • titleBar.inactiveForeground: Title Bar foreground when the window is inactive.
  • titleBar.border: Title bar border color.

Menu Bar colors

  • menubar.selectionForeground: Foreground color of the selected menu item in the menubar.
  • menubar.selectionBackground: Background color of the selected menu item in the menubar.
  • menubar.selectionBorder: Border color of the selected menu item in the menubar.
  • menu.foreground: Foreground color of menu items.
  • menu.background: Background color of menu items.
  • menu.selectionForeground: Foreground color of the selected menu item in menus.
  • menu.selectionBackground: Background color of the selected menu item in menus.
  • menu.selectionBorder: Border color of the selected menu item in menus.
  • menu.separatorBackground: Color of a separator menu item in menus.

Notification colors

Notification toasts slide up from the bottom-right of the workbench. The
toasts are the pop ups.
Once opened in the Notification Center, they are displayed in a list with a header.

  • notificationCenter.border: Notification Center border color.
  • notificationCenterHeader.foreground: Notification Center header foreground color.
  • notificationCenterHeader.background: Notification Center header background color.
  • notificationToast.border: Notification toast border color.
  • notifications.foreground: Notification foreground color.
  • notifications.background: Notification background color.
  • notifications.border: Notification border color separating from other notifications in the Notification Center.
  • notificationLink.foreground: Notification links foreground color.

Extensions

  • extensionButton.prominentForeground: Extension view button foreground color (for example Install button).
  • extensionButton.prominentBackground: Extension view button background color.
  • extensionButton.prominentHoverBackground: Extension view button background hover color.

Quick picker

  • pickerGroup.border: Quick picker (Quick Open) color for grouping borders.
  • pickerGroup.foreground: Quick picker (Quick Open) color for grouping labels.

Integrated Terminal colors

  • terminal.background: The background of the Integrated Terminal's viewport.
  • terminal.border: The color of the border that separates split panes within the terminal. This defaults to panel.border.
  • terminal.foreground: The default foreground color of the Integrated Terminal.
  • terminal.ansiBlack: 'Black' ANSI color in the terminal.
  • terminal.ansiBlue: 'Blue' ANSI color in the terminal.
  • terminal.ansiBrightBlack: 'BrightBlack' ANSI color in the terminal.
  • terminal.ansiBrightBlue: 'BrightBlue' ANSI color in the terminal.
  • terminal.ansiBrightCyan: 'BrightCyan' ANSI color in the terminal.
  • terminal.ansiBrightGreen: 'BrightGreen' ANSI color in the terminal.
  • terminal.ansiBrightMagenta: 'BrightMagenta' ANSI color in the terminal.
  • terminal.ansiBrightRed: 'BrightRed' ANSI color in the terminal.
  • terminal.ansiBrightWhite: 'BrightWhite' ANSI color in the terminal.
  • terminal.ansiBrightYellow: 'BrightYellow' ANSI color in the terminal.
  • terminal.ansiCyan: 'Cyan' ANSI color in the terminal.
  • terminal.ansiGreen: 'Green' ANSI color in the terminal.
  • terminal.ansiMagenta: 'Magenta' ANSI color in the terminal.
  • terminal.ansiRed: 'Red' ANSI color in the terminal.
  • terminal.ansiWhite: 'White' ANSI color in the terminal.
  • terminal.ansiYellow: 'Yellow' ANSI color in the terminal.
  • terminal.selectionBackground: The selection background color of the terminal.
  • terminalCursor.background: The background color of the terminal cursor. Allows customizing the color of a character overlapped by a block cursor.
  • terminalCursor.foreground: The foreground color of the terminal cursor.

Debug

  • debugToolBar.background: Debug toolbar background color.
  • debugToolBar.border: Debug toolbar border color.
  • editor.stackFrameHighlightBackground: Background color of the top stack frame highlight in the editor.
  • editor.focusedStackFrameHighlightBackground: Background color of the focused stack frame highlight in the editor.

Welcome page

  • welcomePage.buttonBackground: Background color for the buttons on the Welcome page.
  • welcomePage.buttonHoverBackground: Hover background color for the buttons on the Welcome page.
  • walkThrough.embeddedEditorBackground: Background color for the embedded editors on the Interactive Playground.

Git colors

  • gitDecoration.addedResourceForeground: Color for added Git resources. Used for file labels and the SCM viewlet.
  • gitDecoration.modifiedResourceForeground: Color for modified Git resources. Used for file labels and the SCM viewlet.
  • gitDecoration.deletedResourceForeground: Color for deleted Git resources. Used for file labels and the SCM viewlet.
  • gitDecoration.untrackedResourceForeground: Color for untracked Git resources. Used for file labels and the SCM viewlet.
  • gitDecoration.ignoredResourceForeground: Color for ignored Git resources. Used for file labels and the SCM viewlet.
  • gitDecoration.conflictingResourceForeground: Color for conflicting Git resources. Used for file labels and the SCM viewlet.
  • gitDecoration.submoduleResourceForeground: Color for submodule resources.

Settings Editor colors

Note: These colors are for the GUI settings editor which can be opened with the Preferences: Open Settings (UI) command.

  • settings.headerForeground: The foreground color for a section header or active title.
  • settings.modifiedItemIndicator: The line that indicates a modified setting.
  • settings.dropdownBackground: Dropdown background.
  • settings.dropdownForeground: Dropdown foreground.
  • settings.dropdownBorder: Dropdown border.
  • settings.dropdownListBorder: Dropdown list border.
  • settings.checkboxBackground: Checkbox background.
  • settings.checkboxForeground: Checkbox foreground.
  • settings.checkboxBorder: Checkbox border.
  • settings.textInputBackground: Text input box background.
  • settings.textInputForeground: Text input box foreground.
  • settings.textInputBorder: Text input box border.
  • settings.numberInputBackground: Number input box background.
  • settings.numberInputForeground: Number input box foreground.
  • settings.numberInputBorder: Number input box border.

Breadcrumbs

The theme colors for breadcrumbs navigation:

  • breadcrumb.foreground: Color of breadcrumb items.
  • breadcrumb.focusForeground: Color of focused breadcrumb items.
  • breadcrumb.activeSelectionForeground: Color of selected breadcrumb items.
  • breadcrumbPicker.background: Background color of breadcrumb item picker.

Snippets

The theme colors for snippets:

  • editor.snippetTabstopHighlightBackground: Highlight background color of a snippet tabstop.
  • editor.snippetTabstopHighlightBorder: Highlight border color of a snippet tabstop.
  • editor.snippetFinalTabstopHighlightBackground: Highlight background color of the final tabstop of a snippet.
  • editor.snippetFinalTabstopHighlightBorder: Highlight border color of the final tabstop of a snippet.
@gagbo gagbo added enhancement New feature or request help wanted Extra attention is needed labels Dec 15, 2018
@gagbo gagbo added this to the 1.0 milestone Dec 15, 2018
@gagbo gagbo self-assigned this Dec 15, 2018
@roosta
Copy link
Member

roosta commented Dec 17, 2018

Wow, this is quite something, putting me to shame :) I should probably do something similar to the emacs theme when I get around to it. Great initiative.

@gagbo
Copy link
Member Author

gagbo commented Dec 17, 2018

Don't worry too much, looking at pretty colors and adding 4/5 values in the json is currently my "pause" activity :)

And also, this is probably a lot harder on Emacs because there are a lot more font-locks to define with all the plugin/mode-specific ones :)

It is a lot easier to do this on VSC just because there's a well illustrated documentation with all the values related to UI stuff. The colors for the classic Vim highlight groups (semantic highlighting, or "almost anything within the actual editor pane for non text files") is apprently done in another part of the JSON (currently the tokens part of the theme) and I don't expect to touch this one much, and just try to take PRs in for the languages that I do not use. Not entirely sure for now how I'll manage this

@roosta
Copy link
Member

roosta commented Dec 19, 2018

It's always nice with a calming pause activity :) yeah there's a lot of font-locks in Emacs but there's a function that lists all of them list-faces-display. I've been using it a bit to color in stuff that's missing, but I can't account for all the plugins, and sometimes the only way to set a correct color is by knowing how the face is used.
Do you mean the regex's that define the highlight groups? I wouldn't expect you to do much with that, isn't that outside the scope of a color theme?

@gagbo
Copy link
Member Author

gagbo commented Dec 19, 2018

oh no, for the "highlight group like" color associations mean associating a color to a token type :

{
    "name": "Built-in constant",
    "scope": "constant.language",
    "settings": {
        "foreground": "#0aaeb3"
        }
    },

These kind of associations in the thme file look like the hi link cComment Comment or hi! rubyComment guifg=... statements in Vim colorthemes.

The colors I am currently defining are only used for non-semantic/generic stuff, that's what I mean.

@roosta
Copy link
Member

roosta commented Dec 20, 2018

Right, gotcha.

@gagbo
Copy link
Member Author

gagbo commented Dec 23, 2018

For information, I'm starting to think that everything that is around the editor should be darker than it, so the focus is more pronounced towards the editor panel. This is what it looks like currently, to show an idea :

screenshot_srcery_vscode_efae84c

The constrast is pretty strong between the two colors for now, but I plan on reducing it (the darker black is actually #000000 so I'll probably make it warmer soon, it's just to illustrate here)

@roosta
Copy link
Member

roosta commented Dec 23, 2018

I like the idea, there are other shades of black and gray defined in srcery that you could use:

name hex
hard_black #121212
xgray1 #262626
xgray2 #303030
xgray3 #3A3A3A
xgray4 #444444
xgray5 #4E4E4E

Also, there is the possibility to use other colors from the xterm palette. The colors listed in the table above are from this palette. They are chosen because the availability of these colors are pretty good in any given 256 color terminal env.

@gagbo
Copy link
Member Author

gagbo commented Dec 24, 2018

Noted, I'll try to use them more. What I've been doing so far is using a color picker to just change the Value (as in HSV) of the ansi black or ansi white colors, this way I thought to keep the "earthiness" of the colorscheme.

Since outside of integrated terminal there are only going to be 24 bit colors with transparency support, I don't think it matters too much to use xgray colors there if it's just for compatibility.

@roosta
Copy link
Member

roosta commented Dec 24, 2018

You could do that as well, like you said in vscode it doesn't matter. I simply use those extra colors for consistency since both vim and emacs have a strong terminal presence. If it looks better to pick out some new accent colors go ahead.

@gagbo
Copy link
Member Author

gagbo commented Jan 10, 2019

( Next thing to do : notifications are darker when hovered on. They should be brighter )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants