mirror of
https://github.com/microsoft/vscode.git
synced 2025-12-24 20:26:08 +00:00
register terminal suggest colors/ icons (#244286)
This commit is contained in:
@@ -232,10 +232,10 @@
|
||||
"--vscode-editorGutter-commentGlyphForeground",
|
||||
"--vscode-editorGutter-commentRangeForeground",
|
||||
"--vscode-editorGutter-commentUnresolvedGlyphForeground",
|
||||
"--vscode-editorGutter-itemGlyphForeground",
|
||||
"--vscode-editorGutter-itemBackground",
|
||||
"--vscode-editorGutter-deletedBackground",
|
||||
"--vscode-editorGutter-foldingControlForeground",
|
||||
"--vscode-editorGutter-itemBackground",
|
||||
"--vscode-editorGutter-itemGlyphForeground",
|
||||
"--vscode-editorGutter-modifiedBackground",
|
||||
"--vscode-editorHint-border",
|
||||
"--vscode-editorHint-foreground",
|
||||
@@ -347,6 +347,7 @@
|
||||
"--vscode-extensionButton-prominentHoverBackground",
|
||||
"--vscode-extensionButton-separator",
|
||||
"--vscode-extensionIcon-preReleaseForeground",
|
||||
"--vscode-extensionIcon-privateForeground",
|
||||
"--vscode-extensionIcon-sponsorForeground",
|
||||
"--vscode-extensionIcon-starForeground",
|
||||
"--vscode-extensionIcon-verifiedForeground",
|
||||
@@ -372,14 +373,14 @@
|
||||
"--vscode-inlineChatInput-placeholderForeground",
|
||||
"--vscode-inlineEdit-gutterIndicator-background",
|
||||
"--vscode-inlineEdit-gutterIndicator-primaryBackground",
|
||||
"--vscode-inlineEdit-gutterIndicator-primaryBorder",
|
||||
"--vscode-inlineEdit-gutterIndicator-primaryForeground",
|
||||
"--vscode-inlineEdit-gutterIndicator-secondaryBackground",
|
||||
"--vscode-inlineEdit-gutterIndicator-secondaryBorder",
|
||||
"--vscode-inlineEdit-gutterIndicator-secondaryForeground",
|
||||
"--vscode-inlineEdit-gutterIndicator-successfulBackground",
|
||||
"--vscode-inlineEdit-gutterIndicator-successfulBorder",
|
||||
"--vscode-inlineEdit-gutterIndicator-successfulForeground",
|
||||
"--vscode-inlineEdit-indicator-background",
|
||||
"--vscode-inlineEdit-indicator-border",
|
||||
"--vscode-inlineEdit-indicator-foreground",
|
||||
"--vscode-inlineEdit-modifiedBackground",
|
||||
"--vscode-inlineEdit-modifiedBorder",
|
||||
"--vscode-inlineEdit-modifiedChangedLineBackground",
|
||||
@@ -388,9 +389,8 @@
|
||||
"--vscode-inlineEdit-originalBorder",
|
||||
"--vscode-inlineEdit-originalChangedLineBackground",
|
||||
"--vscode-inlineEdit-originalChangedTextBackground",
|
||||
"--vscode-inlineEdit-tabWillAcceptOriginalBorder",
|
||||
"--vscode-inlineEdit-tabWillAcceptModifiedBorder",
|
||||
"--vscode-inlineEdit-wordReplacementView-background",
|
||||
"--vscode-inlineEdit-tabWillAcceptOriginalBorder",
|
||||
"--vscode-input-background",
|
||||
"--vscode-input-border",
|
||||
"--vscode-input-foreground",
|
||||
@@ -786,7 +786,14 @@
|
||||
"--vscode-terminalStickyScroll-border",
|
||||
"--vscode-terminalStickyScrollHover-background",
|
||||
"--vscode-terminalSymbolIcon-aliasForeground",
|
||||
"--vscode-terminalSymbolIcon-argumentForeground",
|
||||
"--vscode-terminalSymbolIcon-fileForeground",
|
||||
"--vscode-terminalSymbolIcon-flagForeground",
|
||||
"--vscode-terminalSymbolIcon-folderForeground",
|
||||
"--vscode-terminalSymbolIcon-inlineSuggestionForeground",
|
||||
"--vscode-terminalSymbolIcon-methodForeground",
|
||||
"--vscode-terminalSymbolIcon-optionForeground",
|
||||
"--vscode-terminalSymbolIcon-optionValueForeground",
|
||||
"--vscode-testing-coverCountBadgeBackground",
|
||||
"--vscode-testing-coverCountBadgeForeground",
|
||||
"--vscode-testing-coveredBackground",
|
||||
|
||||
@@ -3,7 +3,29 @@
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
.monaco-editor .codicon.codicon-symbol-method-arrow,
|
||||
.monaco-workbench .codicon.codicon-symbol-method-arrow { color: var(--vscode-terminalSymbolIcon-aliasForeground); }
|
||||
.monaco-editor .codicon.codicon-flag,
|
||||
.monaco-workbench .codicon.codicon-flag { color: var(--vscode-terminalSymbolIcon-flagForeground); }
|
||||
.monaco-editor .codicon.codicon-terminal-symbol-alias,
|
||||
.monaco-workbench .codicon.codicon-terminal-symbol-alias { color: var(--vscode-terminalSymbolIcon-aliasForeground); }
|
||||
|
||||
.monaco-editor .codicon.codicon-terminal-symbol-flag,
|
||||
.monaco-workbench .codicon.codicon-terminal-symbol-flag { color: var(--vscode-terminalSymbolIcon-flagForeground); }
|
||||
|
||||
.monaco-editor .codicon.codicon-terminal-symbol-option-value,
|
||||
.monaco-workbench .codicon.codicon-terminal-symbol-option-value { color: var(--vscode-terminalSymbolIcon-optionValueForeground); }
|
||||
|
||||
.monaco-editor .codicon.codicon-terminal-symbol-method,
|
||||
.monaco-workbench .codicon.codicon-terminal-symbol-method { color: var(--vscode-terminalSymbolIcon-methodForeground); }
|
||||
|
||||
.monaco-editor .codicon.codicon-terminal-symbol-argument,
|
||||
.monaco-workbench .codicon.codicon-terminal-symbol-argument { color: var(--vscode-terminalSymbolIcon-argumentForeground); }
|
||||
|
||||
.monaco-editor .codicon.codicon-terminal-symbol-option,
|
||||
.monaco-workbench .codicon.codicon-terminal-symbol-option { color: var(--vscode-terminalSymbolIcon-optionForeground); }
|
||||
|
||||
.monaco-editor .codicon.codicon-terminal-symbol-inline-suggestion,
|
||||
.monaco-workbench .codicon.codicon-terminal-symbol-inline-suggestion { color: var(--vscode-terminalSymbolIcon-inlineSuggestionForeground); }
|
||||
|
||||
.monaco-editor .codicon.codicon-terminal-symbol-file,
|
||||
.monaco-workbench .codicon.codicon-terminal-symbol-file { color: var(--vscode-terminalSymbolIcon-fileForeground); }
|
||||
|
||||
.monaco-editor .codicon.codicon-terminal-symbol-folder,
|
||||
.monaco-workbench .codicon.codicon-terminal-symbol-folder { color: var(--vscode-terminalSymbolIcon-folderForeground); }
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
|
||||
import type { ITerminalAddon, Terminal } from '@xterm/xterm';
|
||||
import * as dom from '../../../../../base/browser/dom.js';
|
||||
import { Codicon } from '../../../../../base/common/codicons.js';
|
||||
import { Emitter, Event } from '../../../../../base/common/event.js';
|
||||
import { combinedDisposable, Disposable, MutableDisposable } from '../../../../../base/common/lifecycle.js';
|
||||
import { sep } from '../../../../../base/common/path.js';
|
||||
@@ -38,6 +37,7 @@ import { TerminalCompletionItem, TerminalCompletionItemKind, type ITerminalCompl
|
||||
import { IntervalTimer, TimeoutTimer } from '../../../../../base/common/async.js';
|
||||
import { localize } from '../../../../../nls.js';
|
||||
import { TerminalSuggestTelemetry } from './terminalSuggestTelemetry.js';
|
||||
import { terminalSymbolAliasIcon, terminalSymbolArgumentIcon, terminalSymbolEnumMember, terminalSymbolFileIcon, terminalSymbolFlagIcon, terminalSymbolInlineSuggestionIcon, terminalSymbolMethodIcon, terminalSymbolOptionIcon, terminalSymbolFolderIcon } from './terminalSymbolIcons.js';
|
||||
|
||||
export interface ISuggestController {
|
||||
isPasting: boolean;
|
||||
@@ -91,16 +91,16 @@ export class SuggestAddon extends Disposable implements ITerminalAddon, ISuggest
|
||||
readonly onDidFontConfigurationChange = this._onDidFontConfigurationChange.event;
|
||||
|
||||
private _kindToIconMap = new Map<number, ThemeIcon>([
|
||||
[TerminalCompletionItemKind.File, Codicon.file],
|
||||
[TerminalCompletionItemKind.Folder, Codicon.folder],
|
||||
[TerminalCompletionItemKind.Method, Codicon.symbolMethod],
|
||||
[TerminalCompletionItemKind.Alias, Codicon.symbolMethodArrow],
|
||||
[TerminalCompletionItemKind.Argument, Codicon.symbolVariable],
|
||||
[TerminalCompletionItemKind.Option, Codicon.symbolEnum],
|
||||
[TerminalCompletionItemKind.OptionValue, Codicon.symbolEnumMember],
|
||||
[TerminalCompletionItemKind.Flag, Codicon.flag],
|
||||
[TerminalCompletionItemKind.InlineSuggestion, Codicon.star],
|
||||
[TerminalCompletionItemKind.InlineSuggestionAlwaysOnTop, Codicon.star],
|
||||
[TerminalCompletionItemKind.File, terminalSymbolFileIcon],
|
||||
[TerminalCompletionItemKind.Folder, terminalSymbolFolderIcon],
|
||||
[TerminalCompletionItemKind.Method, terminalSymbolMethodIcon],
|
||||
[TerminalCompletionItemKind.Alias, terminalSymbolAliasIcon],
|
||||
[TerminalCompletionItemKind.Argument, terminalSymbolArgumentIcon],
|
||||
[TerminalCompletionItemKind.Option, terminalSymbolOptionIcon],
|
||||
[TerminalCompletionItemKind.OptionValue, terminalSymbolEnumMember],
|
||||
[TerminalCompletionItemKind.Flag, terminalSymbolFlagIcon],
|
||||
[TerminalCompletionItemKind.InlineSuggestion, terminalSymbolInlineSuggestionIcon],
|
||||
[TerminalCompletionItemKind.InlineSuggestionAlwaysOnTop, terminalSymbolInlineSuggestionIcon],
|
||||
]);
|
||||
|
||||
private _kindToTypeMap = new Map<number, string>([
|
||||
|
||||
@@ -4,10 +4,28 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import './media/terminalSymbolIcons.css';
|
||||
import { SYMBOL_ICON_ENUMERATOR_FOREGROUND, SYMBOL_ICON_METHOD_FOREGROUND } from '../../../../../editor/contrib/symbolIcons/browser/symbolIcons.js';
|
||||
import { SYMBOL_ICON_ENUMERATOR_FOREGROUND, SYMBOL_ICON_ENUMERATOR_MEMBER_FOREGROUND, SYMBOL_ICON_METHOD_FOREGROUND, SYMBOL_ICON_VARIABLE_FOREGROUND, SYMBOL_ICON_FILE_FOREGROUND, SYMBOL_ICON_FOLDER_FOREGROUND } from '../../../../../editor/contrib/symbolIcons/browser/symbolIcons.js';
|
||||
import { registerColor } from '../../../../../platform/theme/common/colorUtils.js';
|
||||
import { localize } from '../../../../../nls.js';
|
||||
import { registerIcon } from '../../../../../platform/theme/common/iconRegistry.js';
|
||||
import { Codicon } from '../../../../../base/common/codicons.js';
|
||||
|
||||
export const TERMINAL_SYMBOL_ICON_FLAG_FOREGROUND = registerColor('terminalSymbolIcon.flagForeground', SYMBOL_ICON_ENUMERATOR_FOREGROUND, localize('terminalSymbolIcon.flagForeground', 'The foreground color for an flag icon. These icons will appear in the terminal suggest widget.'));
|
||||
|
||||
export const TERMINAL_SYMBOL_ICON_ALIAS_FOREGROUND = registerColor('terminalSymbolIcon.aliasForeground', SYMBOL_ICON_METHOD_FOREGROUND, localize('terminalSymbolIcon.aliasForeground', 'The foreground color for an alias icon. These icons will appear in the terminal suggest widget.'));
|
||||
export const TERMINAL_SYMBOL_ICON_OPTION_VALUE_FOREGROUND = registerColor('terminalSymbolIcon.optionValueForeground', SYMBOL_ICON_ENUMERATOR_MEMBER_FOREGROUND, localize('terminalSymbolIcon.enumMemberForeground', 'The foreground color for an enum member icon. These icons will appear in the terminal suggest widget.'));
|
||||
export const TERMINAL_SYMBOL_ICON_METHOD_FOREGROUND = registerColor('terminalSymbolIcon.methodForeground', SYMBOL_ICON_METHOD_FOREGROUND, localize('terminalSymbolIcon.methodForeground', 'The foreground color for a method icon. These icons will appear in the terminal suggest widget.'));
|
||||
export const TERMINAL_SYMBOL_ICON_ARGUMENT_FOREGROUND = registerColor('terminalSymbolIcon.argumentForeground', SYMBOL_ICON_VARIABLE_FOREGROUND, localize('terminalSymbolIcon.argumentForeground', 'The foreground color for an argument icon. These icons will appear in the terminal suggest widget.'));
|
||||
export const TERMINAL_SYMBOL_ICON_OPTION_FOREGROUND = registerColor('terminalSymbolIcon.optionForeground', SYMBOL_ICON_ENUMERATOR_FOREGROUND, localize('terminalSymbolIcon.optionForeground', 'The foreground color for an option icon. These icons will appear in the terminal suggest widget.'));
|
||||
export const TERMINAL_SYMBOL_ICON_INLINE_SUGGESTION_FOREGROUND = registerColor('terminalSymbolIcon.inlineSuggestionForeground', null, localize('terminalSymbolIcon.inlineSuggestionForeground', 'The foreground color for an inline suggestion icon. These icons will appear in the terminal suggest widget.'));
|
||||
export const TERMINAL_SYMBOL_ICON_FILE_FOREGROUND = registerColor('terminalSymbolIcon.fileForeground', SYMBOL_ICON_FILE_FOREGROUND, localize('terminalSymbolIcon.fileForeground', 'The foreground color for a file icon. These icons will appear in the terminal suggest widget.'));
|
||||
export const TERMINAL_SYMBOL_ICON_FOLDER_FOREGROUND = registerColor('terminalSymbolIcon.folderForeground', SYMBOL_ICON_FOLDER_FOREGROUND, localize('terminalSymbolIcon.folderForeground', 'The foreground color for a folder icon. These icons will appear in the terminal suggest widget.'));
|
||||
|
||||
export const terminalSymbolFlagIcon = registerIcon('terminal-symbol-flag', Codicon.flag, localize('terminalSymbolFlagIcon', 'Icon for flags in the terminal suggest widget.'), TERMINAL_SYMBOL_ICON_FLAG_FOREGROUND);
|
||||
export const terminalSymbolAliasIcon = registerIcon('terminal-symbol-alias', Codicon.symbolMethod, localize('terminalSymbolAliasIcon', 'Icon for aliases in the terminal suggest widget.'), TERMINAL_SYMBOL_ICON_ALIAS_FOREGROUND);
|
||||
export const terminalSymbolEnumMember = registerIcon('terminal-symbol-option-value', Codicon.symbolEnumMember, localize('terminalSymbolOptionValue', 'Icon for enum members in the terminal suggest widget.'), TERMINAL_SYMBOL_ICON_OPTION_VALUE_FOREGROUND);
|
||||
export const terminalSymbolMethodIcon = registerIcon('terminal-symbol-method', Codicon.symbolMethod, localize('terminalSymbolMethodIcon', 'Icon for methods in the terminal suggest widget.'), TERMINAL_SYMBOL_ICON_METHOD_FOREGROUND);
|
||||
export const terminalSymbolArgumentIcon = registerIcon('terminal-symbol-argument', Codicon.symbolVariable, localize('terminalSymbolArgumentIcon', 'Icon for arguments in the terminal suggest widget.'), TERMINAL_SYMBOL_ICON_ARGUMENT_FOREGROUND);
|
||||
export const terminalSymbolOptionIcon = registerIcon('terminal-symbol-option', Codicon.symbolEnum, localize('terminalSymbolOptionIcon', 'Icon for options in the terminal suggest widget.'), TERMINAL_SYMBOL_ICON_OPTION_FOREGROUND);
|
||||
export const terminalSymbolInlineSuggestionIcon = registerIcon('terminal-symbol-inline-suggestion', Codicon.star, localize('terminalSymbolInlineSuggestionIcon', 'Icon for inline suggestions in the terminal suggest widget.'), TERMINAL_SYMBOL_ICON_INLINE_SUGGESTION_FOREGROUND);
|
||||
export const terminalSymbolFileIcon = registerIcon('terminal-symbol-file', Codicon.symbolFile, localize('terminalSymbolFileIcon', 'Icon for files in the terminal suggest widget.'), TERMINAL_SYMBOL_ICON_FILE_FOREGROUND);
|
||||
export const terminalSymbolFolderIcon = registerIcon('terminal-symbol-folder', Codicon.symbolFolder, localize('terminalSymbolFolderIcon', 'Icon for folders in the terminal suggest widget.'), TERMINAL_SYMBOL_ICON_FOLDER_FOREGROUND);
|
||||
|
||||
Reference in New Issue
Block a user