@lvce-editor/settings-view 1.5.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -914,10 +914,34 @@ const terminate = () => {
914
914
  globalThis.close();
915
915
  };
916
916
 
917
- const clear = state => {
917
+ const getFilteredItems = (items, tabs, searchValue = '') => {
918
+ const selectedTab = tabs.find(tab => tab.selected);
919
+ if (!selectedTab) {
920
+ return items;
921
+ }
922
+ const tabFilteredItems = items.filter(item => item.category === selectedTab.id);
923
+ if (!searchValue.trim()) {
924
+ return tabFilteredItems;
925
+ }
926
+ const normalizedSearchValue = searchValue.toLowerCase().trim();
927
+ return tabFilteredItems.filter(item => item.heading.toLowerCase().includes(normalizedSearchValue));
928
+ };
929
+
930
+ const User = 1;
931
+ const Script = 2;
932
+
933
+ const clear$1 = state => {
934
+ const {
935
+ items,
936
+ tabs
937
+ } = state;
938
+ const newSearchValue = '';
939
+ const filteredItems = getFilteredItems(items, tabs, newSearchValue);
918
940
  return {
919
941
  ...state,
920
- searchValue: ''
942
+ searchValue: newSearchValue,
943
+ inputSource: Script,
944
+ filteredItems
921
945
  };
922
946
  };
923
947
 
@@ -944,24 +968,33 @@ const create$1 = (id, uri, x, y, width, height) => {
944
968
  tabs: [],
945
969
  items: [],
946
970
  searchValue: '',
947
- filteredItems: []
971
+ filteredItems: [],
972
+ preferences: {},
973
+ inputSource: 0,
974
+ scrollOffset: 0,
975
+ filteredItemsCount: 0
948
976
  };
949
977
  set$1(id, state, state);
950
978
  };
951
979
 
952
- const isEqual$1 = (oldState, newState) => {
980
+ const isEqual$2 = (oldState, newState) => {
953
981
  return oldState.focus === newState.focus;
954
982
  };
955
983
 
956
- const isEqual = (oldState, newState) => {
984
+ const isEqual$1 = (oldState, newState) => {
957
985
  return oldState === newState;
958
986
  };
959
987
 
960
988
  const RenderItems = 1;
961
989
  const RenderFocus = 2;
990
+ const RenderValue = 3;
991
+
992
+ const isEqual = (oldState, newState) => {
993
+ return newState.inputSource === User || oldState.searchValue === newState.searchValue;
994
+ };
962
995
 
963
- const modules = [isEqual$1, isEqual];
964
- const numbers = [RenderFocus, RenderItems];
996
+ const modules = [isEqual$2, isEqual$1, isEqual];
997
+ const numbers = [RenderFocus, RenderItems, RenderValue];
965
998
 
966
999
  const diff = (oldState, newState) => {
967
1000
  const diffResult = [];
@@ -983,14 +1016,6 @@ const diff2 = uid => {
983
1016
  return diffResult;
984
1017
  };
985
1018
 
986
- const getFilteredItems = (items, tabs) => {
987
- const selectedTab = tabs.find(tab => tab.selected);
988
- if (!selectedTab) {
989
- return items;
990
- }
991
- return items.filter(item => item.category === selectedTab.id);
992
- };
993
-
994
1019
  const getSelectedTabId = tabs => {
995
1020
  for (const tab of tabs) {
996
1021
  if (tab.selected) {
@@ -1016,8 +1041,13 @@ const handleClickTab = (state, name) => {
1016
1041
  if (!name) {
1017
1042
  return state;
1018
1043
  }
1019
- const updatedTabs = getUpdatedTabs(state.tabs, name);
1020
- const filteredItems = getFilteredItems(state.items, updatedTabs);
1044
+ const {
1045
+ items,
1046
+ tabs,
1047
+ searchValue
1048
+ } = state;
1049
+ const updatedTabs = getUpdatedTabs(tabs, name);
1050
+ const filteredItems = getFilteredItems(items, updatedTabs, searchValue);
1021
1051
  return {
1022
1052
  ...state,
1023
1053
  tabs: updatedTabs,
@@ -1026,9 +1056,16 @@ const handleClickTab = (state, name) => {
1026
1056
  };
1027
1057
 
1028
1058
  const handleInput = (state, value) => {
1059
+ const {
1060
+ items,
1061
+ tabs
1062
+ } = state;
1063
+ const filteredItems = getFilteredItems(items, tabs, value);
1029
1064
  return {
1030
1065
  ...state,
1031
- searchValue: value
1066
+ searchValue: value,
1067
+ filteredItems,
1068
+ inputSource: User
1032
1069
  };
1033
1070
  };
1034
1071
 
@@ -1036,8 +1073,12 @@ const initialize = async () => {
1036
1073
  // TODO
1037
1074
  };
1038
1075
 
1076
+ const getPreferences = async () => {
1077
+ return {};
1078
+ };
1079
+
1039
1080
  const ApplicationsTab = 'applications';
1040
- const Clear = 'Clear';
1081
+ const Clear$1 = 'Clear';
1041
1082
  const ExtensionsTab = 'extensions';
1042
1083
  const FeaturesTab = 'features';
1043
1084
  const SecurityTab = 'security';
@@ -1046,106 +1087,1991 @@ const TextEditorTab = 'text-editor';
1046
1087
  const WindowTab = 'window';
1047
1088
  const WorkbenchTab = 'workbench';
1048
1089
 
1090
+ const Enum = 1;
1049
1091
  const String = 2;
1050
1092
  const Boolean$1 = 3;
1051
1093
  const Number$1 = 5;
1052
1094
 
1053
- const getSettingItems = async () => {
1054
- return [{
1055
- id: 'fontSize',
1056
- heading: 'Font Size',
1057
- description: 'The font size of the editor',
1095
+ const emptyObject = {};
1096
+ const RE_PLACEHOLDER = /\{(PH\d+)\}/g;
1097
+ const i18nString = (key, placeholders = emptyObject) => {
1098
+ if (placeholders === emptyObject) {
1099
+ return key;
1100
+ }
1101
+ const replacer = (match, rest) => {
1102
+ return placeholders[rest];
1103
+ };
1104
+ return key.replaceAll(RE_PLACEHOLDER, replacer);
1105
+ };
1106
+
1107
+ const AutoSave = 'Auto Save';
1108
+ const AutoSaveDescription = 'Automatically save files';
1109
+ const AutoUpdateExtensions = 'Auto Update Extensions';
1110
+ const AutoUpdateExtensionsDescription = 'Automatically update extensions';
1111
+ const AutoUpdates = 'Auto Updates';
1112
+ const AutoUpdatesDescription = 'Automatically check for updates';
1113
+ const Clear = 'Clear';
1114
+ const ExtensionRecommendations = 'Extension Recommendations';
1115
+ const ExtensionRecommendationsDescription = 'Show extension recommendations';
1116
+ const FileEncryption = 'File Encryption';
1117
+ const FileEncryptionDescription = 'Encrypt sensitive files';
1118
+ const FontFamily = 'Font Family';
1119
+ const FontFamilyDescription = 'The font family of the editor';
1120
+ const FontSize = 'Font Size';
1121
+ const FontSizeDescription = 'The font size of the editor';
1122
+ const FormatOnSave = 'Format on Save';
1123
+ const FormatOnSaveDescription = 'Format code when saving';
1124
+ const NumberValue = 'number value';
1125
+ const SearchSettings = 'Search Settings';
1126
+ const SettingsContent = 'Settings Content';
1127
+ const SidebarPosition = 'Sidebar Position';
1128
+ const SidebarPositionDescription = 'The position of the sidebar';
1129
+ const Telemetry = 'Telemetry';
1130
+ const TelemetryDescription = 'Enable telemetry collection';
1131
+ const Theme = 'Theme';
1132
+ const ThemeDescription = 'The color theme of the workbench';
1133
+ const TwoFactorAuth = 'Two Factor Auth';
1134
+ const TwoFactorAuthDescription = 'Enable two factor authentication';
1135
+ const WindowSize = 'Window Size';
1136
+ const WindowSizeDescription = 'The default window size';
1137
+ const WindowTitle = 'Window Title';
1138
+ const WindowTitleDescription = 'The title shown in the window';
1139
+ const NoSettingsMatching = 'No settings matching "{PH1}" found';
1140
+
1141
+ // Text Editor Settings
1142
+ const WordWrap = 'Word Wrap';
1143
+ const WordWrapDescription = 'Controls how lines should wrap';
1144
+ const LineNumbers = 'Line Numbers';
1145
+ const LineNumbersDescription = 'Controls the display of line numbers';
1146
+ const Minimap = 'Minimap';
1147
+ const MinimapDescription = 'Controls whether the minimap is shown';
1148
+ const ScrollBeyondLastLine = 'Scroll Beyond Last Line';
1149
+ const ScrollBeyondLastLineDescription = 'Controls whether the editor will scroll beyond the last line';
1150
+ const SmoothScrolling = 'Smooth Scrolling';
1151
+ const SmoothScrollingDescription = 'Controls whether the editor will scroll smoothly';
1152
+ const CursorBlinking = 'Cursor Blinking';
1153
+ const CursorBlinkingDescription = 'Controls how the cursor should blink';
1154
+ const CursorStyle = 'Cursor Style';
1155
+ const CursorStyleDescription = 'Controls the cursor style';
1156
+ const CursorWidth = 'Cursor Width';
1157
+ const CursorWidthDescription = 'Controls the width of the cursor';
1158
+ const TabSize = 'Tab Size';
1159
+ const TabSizeDescription = 'The number of spaces a tab is equal to';
1160
+ const InsertSpaces = 'Insert Spaces';
1161
+ const InsertSpacesDescription = 'Insert spaces when pressing Tab';
1162
+ const DetectIndentation = 'Detect Indentation';
1163
+ const DetectIndentationDescription = 'Controls whether the editor will automatically adjust the indentation';
1164
+ const TrimAutoWhitespace = 'Trim Auto Whitespace';
1165
+ const TrimAutoWhitespaceDescription = 'Remove trailing auto inserted whitespace';
1166
+ const LargeFileOptimizations = 'Large File Optimizations';
1167
+ const LargeFileOptimizationsDescription = 'Special handling for large files to disable certain features';
1168
+ const RenderWhitespace = 'Render Whitespace';
1169
+ const RenderWhitespaceDescription = 'Controls how the editor should render whitespace characters';
1170
+ const RenderControlCharacters = 'Render Control Characters';
1171
+ const RenderControlCharactersDescription = 'Controls whether the editor should render control characters';
1172
+ const RenderLineHighlight = 'Render Line Highlight';
1173
+ const RenderLineHighlightDescription = 'Controls how the editor should render the current line highlight';
1174
+ const CodeLens = 'Code Lens';
1175
+ const CodeLensDescription = 'Controls whether the editor shows CodeLens';
1176
+ const Folding = 'Folding';
1177
+ const FoldingDescription = 'Controls whether the editor has code folding enabled';
1178
+ const ShowFoldingControls = 'Show Folding Controls';
1179
+ const ShowFoldingControlsDescription = 'Controls when the folding controls on the gutter are automatically hidden';
1180
+ const UnfoldOnClickAfterEnd = 'Unfold On Click After End';
1181
+ const UnfoldOnClickAfterEndDescription = 'Controls whether clicking on the empty content after a folded line will unfold the line';
1182
+ const Links = 'Links';
1183
+ const LinksDescription = 'Controls whether the editor should detect links and make them clickable';
1184
+ const ColorDecorators = 'Color Decorators';
1185
+ const ColorDecoratorsDescription = 'Controls whether the editor should render the inline color decorators and color picker';
1186
+ const Lightbulb = 'Lightbulb';
1187
+ const LightbulbDescription = 'Controls whether the editor should show the lightbulb code action';
1188
+ const CodeActionsOnSave = 'Code Actions On Save';
1189
+ const CodeActionsOnSaveDescription = 'Code actions to be run on save';
1190
+ const FormatOnPaste = 'Format On Paste';
1191
+ const FormatOnPasteDescription = 'Format a file on paste';
1192
+ const FormatOnType = 'Format On Type';
1193
+ const FormatOnTypeDescription = 'Format a file on type';
1194
+ const AcceptSuggestionOnCommitCharacter = 'Accept Suggestion On Commit Character';
1195
+ const AcceptSuggestionOnCommitCharacterDescription = 'Controls if suggestions should be accepted on commit characters';
1196
+ const AcceptSuggestionOnEnter = 'Accept Suggestion On Enter';
1197
+ const AcceptSuggestionOnEnterDescription = 'Controls if suggestions should be accepted on Enter';
1198
+ const TabCompletion = 'Tab Completion';
1199
+ const TabCompletionDescription = 'Enables tab completions';
1200
+ const WordBasedSuggestions = 'Word Based Suggestions';
1201
+ const WordBasedSuggestionsDescription = 'Controls whether completions should be computed based on words in the document';
1202
+ const SuggestOnTriggerCharacters = 'Suggest On Trigger Characters';
1203
+ const SuggestOnTriggerCharactersDescription = 'Controls whether suggestions should automatically show up when typing trigger characters';
1204
+ const QuickSuggestions = 'Quick Suggestions';
1205
+ const QuickSuggestionsDescription = 'Controls whether suggestions should automatically show up while typing';
1206
+ const ParameterHints = 'Parameter Hints';
1207
+ const ParameterHintsDescription = 'Controls whether the editor should show parameter hints';
1208
+ const AutoClosingBrackets = 'Auto Closing Brackets';
1209
+ const AutoClosingBracketsDescription = 'Controls whether the editor should automatically close brackets after opening them';
1210
+ const AutoClosingQuotes = 'Auto Closing Quotes';
1211
+ const AutoClosingQuotesDescription = 'Controls whether the editor should automatically close quotes after opening them';
1212
+ const AutoClosingOvertype = 'Auto Closing Overtype';
1213
+ const AutoClosingOvertypeDescription = 'Controls whether the editor should type over closing quotes or brackets';
1214
+ const AutoClosingDelete = 'Auto Closing Delete';
1215
+ const AutoClosingDeleteDescription = 'Controls whether the editor should remove adjacent closing quotes or brackets when deleting';
1216
+ const AutoSurround = 'Auto Surround';
1217
+ const AutoSurroundDescription = 'Controls whether the editor should automatically surround selections';
1218
+ const BracketPairColorization = 'Bracket Pair Colorization';
1219
+ const BracketPairColorizationDescription = 'Controls whether the editor should enable bracket pair colorization';
1220
+ const Guides = 'Guides';
1221
+ const GuidesDescription = 'Controls whether the editor should render bracket pair guides';
1222
+ const DragAndDrop = 'Drag And Drop';
1223
+ const DragAndDropDescription = 'Controls whether the editor allows moving selections via drag and drop';
1224
+ const CopyWithSyntaxHighlighting = 'Copy With Syntax Highlighting';
1225
+ const CopyWithSyntaxHighlightingDescription = 'Controls whether syntax highlighting should be copied when copying text';
1226
+ const MultiCursorModifier = 'Multi Cursor Modifier';
1227
+ const MultiCursorModifierDescription = 'The modifier to be used to add multiple cursors with the mouse';
1228
+ const MultiCursorPaste = 'Multi Cursor Paste';
1229
+ const MultiCursorPasteDescription = 'Controls how the editor should handle multiple cursors when pasting';
1230
+ const OccurrencesHighlight = 'Occurrences Highlight';
1231
+ const OccurrencesHighlightDescription = 'Controls whether the editor should highlight similar matches to the selection';
1232
+ const SelectionHighlight = 'Selection Highlight';
1233
+ const SelectionHighlightDescription = 'Controls whether the editor should highlight similar matches to the selection';
1234
+ const SemanticHighlighting = 'Semantic Highlighting';
1235
+ const SemanticHighlightingDescription = 'Controls whether the editor should enable semantic highlighting';
1236
+ const TokenColorCustomizations = 'Token Color Customizations';
1237
+ const TokenColorCustomizationsDescription = 'Overrides editor syntax highlighting colors';
1238
+ const WorkbenchColorCustomizations = 'Workbench Color Customizations';
1239
+ const WorkbenchColorCustomizationsDescription = 'Overrides workbench colors';
1240
+ const EditorColorCustomizations = 'Editor Color Customizations';
1241
+ const EditorColorCustomizationsDescription = 'Overrides editor colors';
1242
+ const DiffEditor = 'Diff Editor';
1243
+ const DiffEditorDescription = 'Controls whether the diff editor shows the diff side by side or inline';
1244
+ const DiffWordWrap = 'Diff Word Wrap';
1245
+ const DiffWordWrapDescription = 'Controls whether the diff editor shows the diff side by side or inline';
1246
+ const DiffCodeLens = 'Diff Code Lens';
1247
+ const DiffCodeLensDescription = 'Controls whether the diff editor shows code lens';
1248
+ const DiffRenderSideBySide = 'Diff Render Side By Side';
1249
+ const DiffRenderSideBySideDescription = 'Controls whether the diff editor shows the diff side by side or inline';
1250
+ const DiffIgnoreTrimWhitespace = 'Diff Ignore Trim Whitespace';
1251
+ const DiffIgnoreTrimWhitespaceDescription = 'Controls whether the diff editor ignores changes in whitespace';
1252
+ const DiffRenderIndicators = 'Diff Render Indicators';
1253
+ const DiffRenderIndicatorsDescription = 'Controls whether the diff editor shows indicators';
1254
+ const DiffRenderOverviewRuler = 'Diff Render Overview Ruler';
1255
+ const DiffRenderOverviewRulerDescription = 'Controls whether the diff editor shows the overview ruler';
1256
+ const DiffRenderMarginRevertIcon = 'Diff Render Margin Revert Icon';
1257
+ const DiffRenderMarginRevertIconDescription = 'Controls whether the diff editor shows the revert icon in the margin';
1258
+
1259
+ // Additional Text Editor Settings
1260
+ const InsertMode = 'Insert Mode';
1261
+ const InsertModeDescription = 'Controls whether the editor is in insert mode';
1262
+ const OverwriteMode = 'Overwrite Mode';
1263
+ const OverwriteModeDescription = 'Controls whether the editor is in overwrite mode';
1264
+ const ReadOnly = 'Read Only';
1265
+ const ReadOnlyDescription = 'Controls whether the editor is read only';
1266
+ const AccessibilitySupport = 'Accessibility Support';
1267
+ const AccessibilitySupportDescription = 'Controls whether the editor should run in a mode where it is optimized for screen readers';
1268
+ const AutoIndent = 'Auto Indent';
1269
+ const AutoIndentDescription = 'Controls whether the editor should automatically adjust the indentation';
1270
+ const BracketMatching = 'Bracket Matching';
1271
+ const BracketMatchingDescription = 'Controls whether the editor should highlight matching brackets';
1272
+ const CenteredLayout = 'Centered Layout';
1273
+ const CenteredLayoutDescription = 'Controls whether the editor should use centered layout';
1274
+ const ColumnSelection = 'Column Selection';
1275
+ const ColumnSelectionDescription = 'Controls whether the editor should support column selection';
1276
+ const Contextmenu = 'Context Menu';
1277
+ const ContextmenuDescription = 'Controls whether the editor should show the context menu';
1278
+ const CursorSmoothCaretAnimation = 'Cursor Smooth Caret Animation';
1279
+ const CursorSmoothCaretAnimationDescription = 'Controls whether the cursor should be animated';
1280
+ const CursorSurroundingLines = 'Cursor Surrounding Lines';
1281
+ const CursorSurroundingLinesDescription = 'Controls the number of extra characters beyond which the editor will scroll horizontally';
1282
+ const CursorSurroundingLinesStyle = 'Cursor Surrounding Lines Style';
1283
+ const CursorSurroundingLinesStyleDescription = 'Controls when the cursor should be hidden';
1284
+ const DisableMonospaceOptimizations = 'Disable Monospace Optimizations';
1285
+ const DisableMonospaceOptimizationsDescription = 'Controls whether the editor should disable optimizations for monospace fonts';
1286
+ const EmptySelectionClipboard = 'Empty Selection Clipboard';
1287
+ const EmptySelectionClipboardDescription = 'Controls whether copying without a selection copies the current line';
1288
+ const ExtraEditorClassName = 'Extra Editor Class Name';
1289
+ const ExtraEditorClassNameDescription = 'An extra class name to add to the editor';
1290
+ const FastScrollSensitivity = 'Fast Scroll Sensitivity';
1291
+ const FastScrollSensitivityDescription = 'Scrolling speed multiplier when pressing Alt';
1292
+ const Find = 'Find';
1293
+ const FindDescription = 'Controls whether the editor should add extra space on the bottom';
1294
+ const FixedOverflowWidgets = 'Fixed Overflow Widgets';
1295
+ const FixedOverflowWidgetsDescription = 'Controls whether the editor should scroll beyond the last line';
1296
+ const FoldingStrategy = 'Folding Strategy';
1297
+ const FoldingStrategyDescription = 'Controls the folding strategy';
1298
+ const FontLigatures = 'Font Ligatures';
1299
+ const FontLigaturesDescription = 'Enables/Disables font ligatures';
1300
+ const GlyphMargin = 'Glyph Margin';
1301
+ const GlyphMarginDescription = 'Controls whether the editor should render the vertical glyph margin';
1302
+ const GotoLocation = 'Go To Location';
1303
+ const GotoLocationDescription = "Controls the behavior the 'Go to Definition'-mouse gesture";
1304
+ const HideCursorInOverviewRuler = 'Hide Cursor In Overview Ruler';
1305
+ const HideCursorInOverviewRulerDescription = 'Controls whether the cursor should be hidden in the overview ruler';
1306
+ const Hover = 'Hover';
1307
+ const HoverDescription = 'Controls whether the editor should show hover';
1308
+ const InDiffEditor = 'In Diff Editor';
1309
+ const InDiffEditorDescription = 'Controls whether the editor should be in a diff editor';
1310
+ const LetterSpacing = 'Letter Spacing';
1311
+ const LetterSpacingDescription = 'The letter spacing';
1312
+ const LightbulbEnabled = 'Lightbulb Enabled';
1313
+ const LightbulbEnabledDescription = 'Controls whether the editor should show the lightbulb code action';
1314
+ const LineDecorationsWidth = 'Line Decorations Width';
1315
+ const LineDecorationsWidthDescription = 'The width reserved for line decorations (in px)';
1316
+ const LineHeight = 'Line Height';
1317
+ const LineHeightDescription = 'The line height';
1318
+ const MatchBrackets = 'Match Brackets';
1319
+ const MatchBracketsDescription = 'Controls whether the editor should highlight matching brackets';
1320
+ const MinimapEnabled = 'Minimap Enabled';
1321
+ const MinimapEnabledDescription = 'Controls whether the minimap is shown';
1322
+ const MouseWheelScrollSensitivity = 'Mouse Wheel Scroll Sensitivity';
1323
+ const MouseWheelScrollSensitivityDescription = 'A multiplier to be used on the deltaX and deltaY of mouse wheel scroll events';
1324
+ const MouseWheelZoom = 'Mouse Wheel Zoom';
1325
+ const MouseWheelZoomDescription = 'Zoom the font of the editor when using mouse wheel and holding Ctrl';
1326
+ const MultiCursorMergeOverlapping = 'Multi Cursor Merge Overlapping';
1327
+ const MultiCursorMergeOverlappingDescription = 'Merge overlapping selections';
1328
+ const OverviewRulerBorder = 'Overview Ruler Border';
1329
+ const OverviewRulerBorderDescription = 'Controls whether a border should be drawn around the overview ruler';
1330
+ const OverviewRulerLanes = 'Overview Ruler Lanes';
1331
+ const OverviewRulerLanesDescription = 'Controls the number of decorations that can show in the overview ruler';
1332
+ const PeekWidgetDefaultFocus = 'Peek Widget Default Focus';
1333
+ const PeekWidgetDefaultFocusDescription = 'Controls if the peek widget should be focused by default';
1334
+ const QuickSuggestionsDelay = 'Quick Suggestions Delay';
1335
+ const QuickSuggestionsDelayDescription = 'Controls the delay in milliseconds after which quick suggestions will show up';
1336
+ const RenderFinalNewline = 'Render Final Newline';
1337
+ const RenderFinalNewlineDescription = 'Controls whether the editor should render the final newline as a space';
1338
+ const RenderValidationDecorations = 'Render Validation Decorations';
1339
+ const RenderValidationDecorationsDescription = 'Controls whether the editor should render validation decorations';
1340
+ const RevealHorizontalRightPadding = 'Reveal Horizontal Right Padding';
1341
+ const RevealHorizontalRightPaddingDescription = 'When revealing the cursor, a virtual padding (px) is added to the cursor, turning on a block cursor';
1342
+ const RoundedSelection = 'Rounded Selection';
1343
+ const RoundedSelectionDescription = 'Controls whether selections should have rounded corners';
1344
+ const Rulers = 'Rulers';
1345
+ const RulersDescription = 'Render vertical rulers at a certain number of monospace characters';
1346
+ const ScrollBeyondLastColumn = 'Scroll Beyond Last Column';
1347
+ const ScrollBeyondLastColumnDescription = 'Controls how many characters the editor will scroll horizontally';
1348
+ const Scrollbar = 'Scrollbar';
1349
+ const ScrollbarDescription = 'Controls the visibility and behavior of the scrollbars';
1350
+ const ScrollPredominantAxis = 'Scroll Predominant Axis';
1351
+ const ScrollPredominantAxisDescription = 'Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time';
1352
+ const SelectionClipboard = 'Selection Clipboard';
1353
+ const SelectionClipboardDescription = 'Controls whether the editor should use the CLIPBOARD selection';
1354
+ const ShowUnused = 'Show Unused';
1355
+ const ShowUnusedDescription = 'Controls fading out of unused code';
1356
+ const SnippetSuggestions = 'Snippet Suggestions';
1357
+ const SnippetSuggestionsDescription = 'Controls whether snippets are shown with other suggestions and how they are sorted';
1358
+ const Suggest = 'Suggest';
1359
+ const SuggestDescription = 'Controls whether suggestions should automatically show up while typing';
1360
+ const SuggestFontSize = 'Suggest Font Size';
1361
+ const SuggestFontSizeDescription = 'Font size for the suggest widget';
1362
+ const SuggestLineHeight = 'Suggest Line Height';
1363
+ const SuggestLineHeightDescription = 'Line height for the suggest widget';
1364
+ const SuggestSelection = 'Suggest Selection';
1365
+ const SuggestSelectionDescription = 'Controls how suggestions are selected when showing the suggest widget';
1366
+ const UseTabStops = 'Use Tab Stops';
1367
+ const UseTabStopsDescription = 'Inserting and deleting whitespace follows tab stops';
1368
+ const WordSeparators = 'Word Separators';
1369
+ const WordSeparatorsDescription = 'Characters that will be used as word separators when doing word related navigations or operations';
1370
+ const WrappingIndent = 'Wrapping Indent';
1371
+ const WrappingIndentDescription = 'Controls the indentation of wrapped lines';
1372
+
1373
+ const autoSave = () => {
1374
+ return i18nString(AutoSave);
1375
+ };
1376
+ const autoSaveDescription = () => {
1377
+ return i18nString(AutoSaveDescription);
1378
+ };
1379
+ const autoUpdateExtensions = () => {
1380
+ return i18nString(AutoUpdateExtensions);
1381
+ };
1382
+ const autoUpdateExtensionsDescription = () => {
1383
+ return i18nString(AutoUpdateExtensionsDescription);
1384
+ };
1385
+ const autoUpdates = () => {
1386
+ return i18nString(AutoUpdates);
1387
+ };
1388
+ const autoUpdatesDescription = () => {
1389
+ return i18nString(AutoUpdatesDescription);
1390
+ };
1391
+ const clear = () => {
1392
+ return i18nString(Clear);
1393
+ };
1394
+ const extensionRecommendations = () => {
1395
+ return i18nString(ExtensionRecommendations);
1396
+ };
1397
+ const extensionRecommendationsDescription = () => {
1398
+ return i18nString(ExtensionRecommendationsDescription);
1399
+ };
1400
+ const fileEncryption = () => {
1401
+ return i18nString(FileEncryption);
1402
+ };
1403
+ const fileEncryptionDescription = () => {
1404
+ return i18nString(FileEncryptionDescription);
1405
+ };
1406
+ const fontFamily = () => {
1407
+ return i18nString(FontFamily);
1408
+ };
1409
+ const fontFamilyDescription = () => {
1410
+ return i18nString(FontFamilyDescription);
1411
+ };
1412
+ const fontSize = () => {
1413
+ return i18nString(FontSize);
1414
+ };
1415
+ const fontSizeDescription = () => {
1416
+ return i18nString(FontSizeDescription);
1417
+ };
1418
+ const formatOnSave = () => {
1419
+ return i18nString(FormatOnSave);
1420
+ };
1421
+ const formatOnSaveDescription = () => {
1422
+ return i18nString(FormatOnSaveDescription);
1423
+ };
1424
+ const numberValue = () => {
1425
+ return i18nString(NumberValue);
1426
+ };
1427
+ const searchSettings = () => {
1428
+ return i18nString(SearchSettings);
1429
+ };
1430
+ const settingsContent = () => {
1431
+ return i18nString(SettingsContent);
1432
+ };
1433
+ const sidebarPosition = () => {
1434
+ return i18nString(SidebarPosition);
1435
+ };
1436
+ const sidebarPositionDescription = () => {
1437
+ return i18nString(SidebarPositionDescription);
1438
+ };
1439
+ const telemetry = () => {
1440
+ return i18nString(Telemetry);
1441
+ };
1442
+ const telemetryDescription = () => {
1443
+ return i18nString(TelemetryDescription);
1444
+ };
1445
+ const theme = () => {
1446
+ return i18nString(Theme);
1447
+ };
1448
+ const themeDescription = () => {
1449
+ return i18nString(ThemeDescription);
1450
+ };
1451
+ const twoFactorAuth = () => {
1452
+ return i18nString(TwoFactorAuth);
1453
+ };
1454
+ const twoFactorAuthDescription = () => {
1455
+ return i18nString(TwoFactorAuthDescription);
1456
+ };
1457
+ const windowSize = () => {
1458
+ return i18nString(WindowSize);
1459
+ };
1460
+ const windowSizeDescription = () => {
1461
+ return i18nString(WindowSizeDescription);
1462
+ };
1463
+ const windowTitle = () => {
1464
+ return i18nString(WindowTitle);
1465
+ };
1466
+ const windowTitleDescription = () => {
1467
+ return i18nString(WindowTitleDescription);
1468
+ };
1469
+ const noSettingsMatching = searchTerm => {
1470
+ return i18nString(NoSettingsMatching, {
1471
+ PH1: searchTerm
1472
+ });
1473
+ };
1474
+
1475
+ // Text Editor Settings
1476
+ const wordWrap = () => {
1477
+ return i18nString(WordWrap);
1478
+ };
1479
+ const wordWrapDescription = () => {
1480
+ return i18nString(WordWrapDescription);
1481
+ };
1482
+ const lineNumbers = () => {
1483
+ return i18nString(LineNumbers);
1484
+ };
1485
+ const lineNumbersDescription = () => {
1486
+ return i18nString(LineNumbersDescription);
1487
+ };
1488
+ const minimap = () => {
1489
+ return i18nString(Minimap);
1490
+ };
1491
+ const minimapDescription = () => {
1492
+ return i18nString(MinimapDescription);
1493
+ };
1494
+ const scrollBeyondLastLine = () => {
1495
+ return i18nString(ScrollBeyondLastLine);
1496
+ };
1497
+ const scrollBeyondLastLineDescription = () => {
1498
+ return i18nString(ScrollBeyondLastLineDescription);
1499
+ };
1500
+ const smoothScrolling = () => {
1501
+ return i18nString(SmoothScrolling);
1502
+ };
1503
+ const smoothScrollingDescription = () => {
1504
+ return i18nString(SmoothScrollingDescription);
1505
+ };
1506
+ const cursorBlinking = () => {
1507
+ return i18nString(CursorBlinking);
1508
+ };
1509
+ const cursorBlinkingDescription = () => {
1510
+ return i18nString(CursorBlinkingDescription);
1511
+ };
1512
+ const cursorStyle = () => {
1513
+ return i18nString(CursorStyle);
1514
+ };
1515
+ const cursorStyleDescription = () => {
1516
+ return i18nString(CursorStyleDescription);
1517
+ };
1518
+ const cursorWidth = () => {
1519
+ return i18nString(CursorWidth);
1520
+ };
1521
+ const cursorWidthDescription = () => {
1522
+ return i18nString(CursorWidthDescription);
1523
+ };
1524
+ const tabSize = () => {
1525
+ return i18nString(TabSize);
1526
+ };
1527
+ const tabSizeDescription = () => {
1528
+ return i18nString(TabSizeDescription);
1529
+ };
1530
+ const insertSpaces = () => {
1531
+ return i18nString(InsertSpaces);
1532
+ };
1533
+ const insertSpacesDescription = () => {
1534
+ return i18nString(InsertSpacesDescription);
1535
+ };
1536
+ const detectIndentation = () => {
1537
+ return i18nString(DetectIndentation);
1538
+ };
1539
+ const detectIndentationDescription = () => {
1540
+ return i18nString(DetectIndentationDescription);
1541
+ };
1542
+ const trimAutoWhitespace = () => {
1543
+ return i18nString(TrimAutoWhitespace);
1544
+ };
1545
+ const trimAutoWhitespaceDescription = () => {
1546
+ return i18nString(TrimAutoWhitespaceDescription);
1547
+ };
1548
+ const largeFileOptimizations = () => {
1549
+ return i18nString(LargeFileOptimizations);
1550
+ };
1551
+ const largeFileOptimizationsDescription = () => {
1552
+ return i18nString(LargeFileOptimizationsDescription);
1553
+ };
1554
+ const renderWhitespace = () => {
1555
+ return i18nString(RenderWhitespace);
1556
+ };
1557
+ const renderWhitespaceDescription = () => {
1558
+ return i18nString(RenderWhitespaceDescription);
1559
+ };
1560
+ const renderControlCharacters = () => {
1561
+ return i18nString(RenderControlCharacters);
1562
+ };
1563
+ const renderControlCharactersDescription = () => {
1564
+ return i18nString(RenderControlCharactersDescription);
1565
+ };
1566
+ const renderLineHighlight = () => {
1567
+ return i18nString(RenderLineHighlight);
1568
+ };
1569
+ const renderLineHighlightDescription = () => {
1570
+ return i18nString(RenderLineHighlightDescription);
1571
+ };
1572
+ const codeLens = () => {
1573
+ return i18nString(CodeLens);
1574
+ };
1575
+ const codeLensDescription = () => {
1576
+ return i18nString(CodeLensDescription);
1577
+ };
1578
+ const folding = () => {
1579
+ return i18nString(Folding);
1580
+ };
1581
+ const foldingDescription = () => {
1582
+ return i18nString(FoldingDescription);
1583
+ };
1584
+ const showFoldingControls = () => {
1585
+ return i18nString(ShowFoldingControls);
1586
+ };
1587
+ const showFoldingControlsDescription = () => {
1588
+ return i18nString(ShowFoldingControlsDescription);
1589
+ };
1590
+ const unfoldOnClickAfterEnd = () => {
1591
+ return i18nString(UnfoldOnClickAfterEnd);
1592
+ };
1593
+ const unfoldOnClickAfterEndDescription = () => {
1594
+ return i18nString(UnfoldOnClickAfterEndDescription);
1595
+ };
1596
+ const links = () => {
1597
+ return i18nString(Links);
1598
+ };
1599
+ const linksDescription = () => {
1600
+ return i18nString(LinksDescription);
1601
+ };
1602
+ const colorDecorators = () => {
1603
+ return i18nString(ColorDecorators);
1604
+ };
1605
+ const colorDecoratorsDescription = () => {
1606
+ return i18nString(ColorDecoratorsDescription);
1607
+ };
1608
+ const lightbulb = () => {
1609
+ return i18nString(Lightbulb);
1610
+ };
1611
+ const lightbulbDescription = () => {
1612
+ return i18nString(LightbulbDescription);
1613
+ };
1614
+ const codeActionsOnSave = () => {
1615
+ return i18nString(CodeActionsOnSave);
1616
+ };
1617
+ const codeActionsOnSaveDescription = () => {
1618
+ return i18nString(CodeActionsOnSaveDescription);
1619
+ };
1620
+ const formatOnPaste = () => {
1621
+ return i18nString(FormatOnPaste);
1622
+ };
1623
+ const formatOnPasteDescription = () => {
1624
+ return i18nString(FormatOnPasteDescription);
1625
+ };
1626
+ const formatOnType = () => {
1627
+ return i18nString(FormatOnType);
1628
+ };
1629
+ const formatOnTypeDescription = () => {
1630
+ return i18nString(FormatOnTypeDescription);
1631
+ };
1632
+ const acceptSuggestionOnCommitCharacter = () => {
1633
+ return i18nString(AcceptSuggestionOnCommitCharacter);
1634
+ };
1635
+ const acceptSuggestionOnCommitCharacterDescription = () => {
1636
+ return i18nString(AcceptSuggestionOnCommitCharacterDescription);
1637
+ };
1638
+ const acceptSuggestionOnEnter = () => {
1639
+ return i18nString(AcceptSuggestionOnEnter);
1640
+ };
1641
+ const acceptSuggestionOnEnterDescription = () => {
1642
+ return i18nString(AcceptSuggestionOnEnterDescription);
1643
+ };
1644
+ const tabCompletion = () => {
1645
+ return i18nString(TabCompletion);
1646
+ };
1647
+ const tabCompletionDescription = () => {
1648
+ return i18nString(TabCompletionDescription);
1649
+ };
1650
+ const wordBasedSuggestions = () => {
1651
+ return i18nString(WordBasedSuggestions);
1652
+ };
1653
+ const wordBasedSuggestionsDescription = () => {
1654
+ return i18nString(WordBasedSuggestionsDescription);
1655
+ };
1656
+ const suggestOnTriggerCharacters = () => {
1657
+ return i18nString(SuggestOnTriggerCharacters);
1658
+ };
1659
+ const suggestOnTriggerCharactersDescription = () => {
1660
+ return i18nString(SuggestOnTriggerCharactersDescription);
1661
+ };
1662
+ const quickSuggestions = () => {
1663
+ return i18nString(QuickSuggestions);
1664
+ };
1665
+ const quickSuggestionsDescription = () => {
1666
+ return i18nString(QuickSuggestionsDescription);
1667
+ };
1668
+ const parameterHints = () => {
1669
+ return i18nString(ParameterHints);
1670
+ };
1671
+ const parameterHintsDescription = () => {
1672
+ return i18nString(ParameterHintsDescription);
1673
+ };
1674
+ const autoClosingBrackets = () => {
1675
+ return i18nString(AutoClosingBrackets);
1676
+ };
1677
+ const autoClosingBracketsDescription = () => {
1678
+ return i18nString(AutoClosingBracketsDescription);
1679
+ };
1680
+ const autoClosingQuotes = () => {
1681
+ return i18nString(AutoClosingQuotes);
1682
+ };
1683
+ const autoClosingQuotesDescription = () => {
1684
+ return i18nString(AutoClosingQuotesDescription);
1685
+ };
1686
+ const autoClosingOvertype = () => {
1687
+ return i18nString(AutoClosingOvertype);
1688
+ };
1689
+ const autoClosingOvertypeDescription = () => {
1690
+ return i18nString(AutoClosingOvertypeDescription);
1691
+ };
1692
+ const autoClosingDelete = () => {
1693
+ return i18nString(AutoClosingDelete);
1694
+ };
1695
+ const autoClosingDeleteDescription = () => {
1696
+ return i18nString(AutoClosingDeleteDescription);
1697
+ };
1698
+ const autoSurround = () => {
1699
+ return i18nString(AutoSurround);
1700
+ };
1701
+ const autoSurroundDescription = () => {
1702
+ return i18nString(AutoSurroundDescription);
1703
+ };
1704
+ const bracketPairColorization = () => {
1705
+ return i18nString(BracketPairColorization);
1706
+ };
1707
+ const bracketPairColorizationDescription = () => {
1708
+ return i18nString(BracketPairColorizationDescription);
1709
+ };
1710
+ const guides = () => {
1711
+ return i18nString(Guides);
1712
+ };
1713
+ const guidesDescription = () => {
1714
+ return i18nString(GuidesDescription);
1715
+ };
1716
+ const dragAndDrop = () => {
1717
+ return i18nString(DragAndDrop);
1718
+ };
1719
+ const dragAndDropDescription = () => {
1720
+ return i18nString(DragAndDropDescription);
1721
+ };
1722
+ const copyWithSyntaxHighlighting = () => {
1723
+ return i18nString(CopyWithSyntaxHighlighting);
1724
+ };
1725
+ const copyWithSyntaxHighlightingDescription = () => {
1726
+ return i18nString(CopyWithSyntaxHighlightingDescription);
1727
+ };
1728
+ const multiCursorModifier = () => {
1729
+ return i18nString(MultiCursorModifier);
1730
+ };
1731
+ const multiCursorModifierDescription = () => {
1732
+ return i18nString(MultiCursorModifierDescription);
1733
+ };
1734
+ const multiCursorPaste = () => {
1735
+ return i18nString(MultiCursorPaste);
1736
+ };
1737
+ const multiCursorPasteDescription = () => {
1738
+ return i18nString(MultiCursorPasteDescription);
1739
+ };
1740
+ const occurrencesHighlight = () => {
1741
+ return i18nString(OccurrencesHighlight);
1742
+ };
1743
+ const occurrencesHighlightDescription = () => {
1744
+ return i18nString(OccurrencesHighlightDescription);
1745
+ };
1746
+ const selectionHighlight = () => {
1747
+ return i18nString(SelectionHighlight);
1748
+ };
1749
+ const selectionHighlightDescription = () => {
1750
+ return i18nString(SelectionHighlightDescription);
1751
+ };
1752
+ const semanticHighlighting = () => {
1753
+ return i18nString(SemanticHighlighting);
1754
+ };
1755
+ const semanticHighlightingDescription = () => {
1756
+ return i18nString(SemanticHighlightingDescription);
1757
+ };
1758
+ const tokenColorCustomizations = () => {
1759
+ return i18nString(TokenColorCustomizations);
1760
+ };
1761
+ const tokenColorCustomizationsDescription = () => {
1762
+ return i18nString(TokenColorCustomizationsDescription);
1763
+ };
1764
+ const workbenchColorCustomizations = () => {
1765
+ return i18nString(WorkbenchColorCustomizations);
1766
+ };
1767
+ const workbenchColorCustomizationsDescription = () => {
1768
+ return i18nString(WorkbenchColorCustomizationsDescription);
1769
+ };
1770
+ const editorColorCustomizations = () => {
1771
+ return i18nString(EditorColorCustomizations);
1772
+ };
1773
+ const editorColorCustomizationsDescription = () => {
1774
+ return i18nString(EditorColorCustomizationsDescription);
1775
+ };
1776
+ const diffEditor = () => {
1777
+ return i18nString(DiffEditor);
1778
+ };
1779
+ const diffEditorDescription = () => {
1780
+ return i18nString(DiffEditorDescription);
1781
+ };
1782
+ const diffWordWrap = () => {
1783
+ return i18nString(DiffWordWrap);
1784
+ };
1785
+ const diffWordWrapDescription = () => {
1786
+ return i18nString(DiffWordWrapDescription);
1787
+ };
1788
+ const diffCodeLens = () => {
1789
+ return i18nString(DiffCodeLens);
1790
+ };
1791
+ const diffCodeLensDescription = () => {
1792
+ return i18nString(DiffCodeLensDescription);
1793
+ };
1794
+ const diffRenderSideBySide = () => {
1795
+ return i18nString(DiffRenderSideBySide);
1796
+ };
1797
+ const diffRenderSideBySideDescription = () => {
1798
+ return i18nString(DiffRenderSideBySideDescription);
1799
+ };
1800
+ const diffIgnoreTrimWhitespace = () => {
1801
+ return i18nString(DiffIgnoreTrimWhitespace);
1802
+ };
1803
+ const diffIgnoreTrimWhitespaceDescription = () => {
1804
+ return i18nString(DiffIgnoreTrimWhitespaceDescription);
1805
+ };
1806
+ const diffRenderIndicators = () => {
1807
+ return i18nString(DiffRenderIndicators);
1808
+ };
1809
+ const diffRenderIndicatorsDescription = () => {
1810
+ return i18nString(DiffRenderIndicatorsDescription);
1811
+ };
1812
+ const diffRenderOverviewRuler = () => {
1813
+ return i18nString(DiffRenderOverviewRuler);
1814
+ };
1815
+ const diffRenderOverviewRulerDescription = () => {
1816
+ return i18nString(DiffRenderOverviewRulerDescription);
1817
+ };
1818
+ const diffRenderMarginRevertIcon = () => {
1819
+ return i18nString(DiffRenderMarginRevertIcon);
1820
+ };
1821
+ const diffRenderMarginRevertIconDescription = () => {
1822
+ return i18nString(DiffRenderMarginRevertIconDescription);
1823
+ };
1824
+
1825
+ // Additional Text Editor Settings
1826
+ const insertMode = () => {
1827
+ return i18nString(InsertMode);
1828
+ };
1829
+ const insertModeDescription = () => {
1830
+ return i18nString(InsertModeDescription);
1831
+ };
1832
+ const overwriteMode = () => {
1833
+ return i18nString(OverwriteMode);
1834
+ };
1835
+ const overwriteModeDescription = () => {
1836
+ return i18nString(OverwriteModeDescription);
1837
+ };
1838
+ const readOnly = () => {
1839
+ return i18nString(ReadOnly);
1840
+ };
1841
+ const readOnlyDescription = () => {
1842
+ return i18nString(ReadOnlyDescription);
1843
+ };
1844
+ const accessibilitySupport = () => {
1845
+ return i18nString(AccessibilitySupport);
1846
+ };
1847
+ const accessibilitySupportDescription = () => {
1848
+ return i18nString(AccessibilitySupportDescription);
1849
+ };
1850
+ const autoIndent = () => {
1851
+ return i18nString(AutoIndent);
1852
+ };
1853
+ const autoIndentDescription = () => {
1854
+ return i18nString(AutoIndentDescription);
1855
+ };
1856
+ const bracketMatching = () => {
1857
+ return i18nString(BracketMatching);
1858
+ };
1859
+ const bracketMatchingDescription = () => {
1860
+ return i18nString(BracketMatchingDescription);
1861
+ };
1862
+ const centeredLayout = () => {
1863
+ return i18nString(CenteredLayout);
1864
+ };
1865
+ const centeredLayoutDescription = () => {
1866
+ return i18nString(CenteredLayoutDescription);
1867
+ };
1868
+ const columnSelection = () => {
1869
+ return i18nString(ColumnSelection);
1870
+ };
1871
+ const columnSelectionDescription = () => {
1872
+ return i18nString(ColumnSelectionDescription);
1873
+ };
1874
+ const contextmenu = () => {
1875
+ return i18nString(Contextmenu);
1876
+ };
1877
+ const contextmenuDescription = () => {
1878
+ return i18nString(ContextmenuDescription);
1879
+ };
1880
+ const cursorSmoothCaretAnimation = () => {
1881
+ return i18nString(CursorSmoothCaretAnimation);
1882
+ };
1883
+ const cursorSmoothCaretAnimationDescription = () => {
1884
+ return i18nString(CursorSmoothCaretAnimationDescription);
1885
+ };
1886
+ const cursorSurroundingLines = () => {
1887
+ return i18nString(CursorSurroundingLines);
1888
+ };
1889
+ const cursorSurroundingLinesDescription = () => {
1890
+ return i18nString(CursorSurroundingLinesDescription);
1891
+ };
1892
+ const cursorSurroundingLinesStyle = () => {
1893
+ return i18nString(CursorSurroundingLinesStyle);
1894
+ };
1895
+ const cursorSurroundingLinesStyleDescription = () => {
1896
+ return i18nString(CursorSurroundingLinesStyleDescription);
1897
+ };
1898
+ const disableMonospaceOptimizations = () => {
1899
+ return i18nString(DisableMonospaceOptimizations);
1900
+ };
1901
+ const disableMonospaceOptimizationsDescription = () => {
1902
+ return i18nString(DisableMonospaceOptimizationsDescription);
1903
+ };
1904
+ const emptySelectionClipboard = () => {
1905
+ return i18nString(EmptySelectionClipboard);
1906
+ };
1907
+ const emptySelectionClipboardDescription = () => {
1908
+ return i18nString(EmptySelectionClipboardDescription);
1909
+ };
1910
+ const extraEditorClassName = () => {
1911
+ return i18nString(ExtraEditorClassName);
1912
+ };
1913
+ const extraEditorClassNameDescription = () => {
1914
+ return i18nString(ExtraEditorClassNameDescription);
1915
+ };
1916
+ const fastScrollSensitivity = () => {
1917
+ return i18nString(FastScrollSensitivity);
1918
+ };
1919
+ const fastScrollSensitivityDescription = () => {
1920
+ return i18nString(FastScrollSensitivityDescription);
1921
+ };
1922
+ const find = () => {
1923
+ return i18nString(Find);
1924
+ };
1925
+ const findDescription = () => {
1926
+ return i18nString(FindDescription);
1927
+ };
1928
+ const fixedOverflowWidgets = () => {
1929
+ return i18nString(FixedOverflowWidgets);
1930
+ };
1931
+ const fixedOverflowWidgetsDescription = () => {
1932
+ return i18nString(FixedOverflowWidgetsDescription);
1933
+ };
1934
+ const foldingStrategy = () => {
1935
+ return i18nString(FoldingStrategy);
1936
+ };
1937
+ const foldingStrategyDescription = () => {
1938
+ return i18nString(FoldingStrategyDescription);
1939
+ };
1940
+ const fontLigatures = () => {
1941
+ return i18nString(FontLigatures);
1942
+ };
1943
+ const fontLigaturesDescription = () => {
1944
+ return i18nString(FontLigaturesDescription);
1945
+ };
1946
+ const glyphMargin = () => {
1947
+ return i18nString(GlyphMargin);
1948
+ };
1949
+ const glyphMarginDescription = () => {
1950
+ return i18nString(GlyphMarginDescription);
1951
+ };
1952
+ const gotoLocation = () => {
1953
+ return i18nString(GotoLocation);
1954
+ };
1955
+ const gotoLocationDescription = () => {
1956
+ return i18nString(GotoLocationDescription);
1957
+ };
1958
+ const hideCursorInOverviewRuler = () => {
1959
+ return i18nString(HideCursorInOverviewRuler);
1960
+ };
1961
+ const hideCursorInOverviewRulerDescription = () => {
1962
+ return i18nString(HideCursorInOverviewRulerDescription);
1963
+ };
1964
+ const hover = () => {
1965
+ return i18nString(Hover);
1966
+ };
1967
+ const hoverDescription = () => {
1968
+ return i18nString(HoverDescription);
1969
+ };
1970
+ const inDiffEditor = () => {
1971
+ return i18nString(InDiffEditor);
1972
+ };
1973
+ const inDiffEditorDescription = () => {
1974
+ return i18nString(InDiffEditorDescription);
1975
+ };
1976
+ const letterSpacing = () => {
1977
+ return i18nString(LetterSpacing);
1978
+ };
1979
+ const letterSpacingDescription = () => {
1980
+ return i18nString(LetterSpacingDescription);
1981
+ };
1982
+ const lightbulbEnabled = () => {
1983
+ return i18nString(LightbulbEnabled);
1984
+ };
1985
+ const lightbulbEnabledDescription = () => {
1986
+ return i18nString(LightbulbEnabledDescription);
1987
+ };
1988
+ const lineDecorationsWidth = () => {
1989
+ return i18nString(LineDecorationsWidth);
1990
+ };
1991
+ const lineDecorationsWidthDescription = () => {
1992
+ return i18nString(LineDecorationsWidthDescription);
1993
+ };
1994
+ const lineHeight = () => {
1995
+ return i18nString(LineHeight);
1996
+ };
1997
+ const lineHeightDescription = () => {
1998
+ return i18nString(LineHeightDescription);
1999
+ };
2000
+ const matchBrackets = () => {
2001
+ return i18nString(MatchBrackets);
2002
+ };
2003
+ const matchBracketsDescription = () => {
2004
+ return i18nString(MatchBracketsDescription);
2005
+ };
2006
+ const minimapEnabled = () => {
2007
+ return i18nString(MinimapEnabled);
2008
+ };
2009
+ const minimapEnabledDescription = () => {
2010
+ return i18nString(MinimapEnabledDescription);
2011
+ };
2012
+ const mouseWheelScrollSensitivity = () => {
2013
+ return i18nString(MouseWheelScrollSensitivity);
2014
+ };
2015
+ const mouseWheelScrollSensitivityDescription = () => {
2016
+ return i18nString(MouseWheelScrollSensitivityDescription);
2017
+ };
2018
+ const mouseWheelZoom = () => {
2019
+ return i18nString(MouseWheelZoom);
2020
+ };
2021
+ const mouseWheelZoomDescription = () => {
2022
+ return i18nString(MouseWheelZoomDescription);
2023
+ };
2024
+ const multiCursorMergeOverlapping = () => {
2025
+ return i18nString(MultiCursorMergeOverlapping);
2026
+ };
2027
+ const multiCursorMergeOverlappingDescription = () => {
2028
+ return i18nString(MultiCursorMergeOverlappingDescription);
2029
+ };
2030
+ const overviewRulerBorder = () => {
2031
+ return i18nString(OverviewRulerBorder);
2032
+ };
2033
+ const overviewRulerBorderDescription = () => {
2034
+ return i18nString(OverviewRulerBorderDescription);
2035
+ };
2036
+ const overviewRulerLanes = () => {
2037
+ return i18nString(OverviewRulerLanes);
2038
+ };
2039
+ const overviewRulerLanesDescription = () => {
2040
+ return i18nString(OverviewRulerLanesDescription);
2041
+ };
2042
+ const peekWidgetDefaultFocus = () => {
2043
+ return i18nString(PeekWidgetDefaultFocus);
2044
+ };
2045
+ const peekWidgetDefaultFocusDescription = () => {
2046
+ return i18nString(PeekWidgetDefaultFocusDescription);
2047
+ };
2048
+ const quickSuggestionsDelay = () => {
2049
+ return i18nString(QuickSuggestionsDelay);
2050
+ };
2051
+ const quickSuggestionsDelayDescription = () => {
2052
+ return i18nString(QuickSuggestionsDelayDescription);
2053
+ };
2054
+ const renderFinalNewline = () => {
2055
+ return i18nString(RenderFinalNewline);
2056
+ };
2057
+ const renderFinalNewlineDescription = () => {
2058
+ return i18nString(RenderFinalNewlineDescription);
2059
+ };
2060
+ const renderValidationDecorations = () => {
2061
+ return i18nString(RenderValidationDecorations);
2062
+ };
2063
+ const renderValidationDecorationsDescription = () => {
2064
+ return i18nString(RenderValidationDecorationsDescription);
2065
+ };
2066
+ const revealHorizontalRightPadding = () => {
2067
+ return i18nString(RevealHorizontalRightPadding);
2068
+ };
2069
+ const revealHorizontalRightPaddingDescription = () => {
2070
+ return i18nString(RevealHorizontalRightPaddingDescription);
2071
+ };
2072
+ const roundedSelection = () => {
2073
+ return i18nString(RoundedSelection);
2074
+ };
2075
+ const roundedSelectionDescription = () => {
2076
+ return i18nString(RoundedSelectionDescription);
2077
+ };
2078
+ const rulers = () => {
2079
+ return i18nString(Rulers);
2080
+ };
2081
+ const rulersDescription = () => {
2082
+ return i18nString(RulersDescription);
2083
+ };
2084
+ const scrollBeyondLastColumn = () => {
2085
+ return i18nString(ScrollBeyondLastColumn);
2086
+ };
2087
+ const scrollBeyondLastColumnDescription = () => {
2088
+ return i18nString(ScrollBeyondLastColumnDescription);
2089
+ };
2090
+ const scrollbar = () => {
2091
+ return i18nString(Scrollbar);
2092
+ };
2093
+ const scrollbarDescription = () => {
2094
+ return i18nString(ScrollbarDescription);
2095
+ };
2096
+ const scrollPredominantAxis = () => {
2097
+ return i18nString(ScrollPredominantAxis);
2098
+ };
2099
+ const scrollPredominantAxisDescription = () => {
2100
+ return i18nString(ScrollPredominantAxisDescription);
2101
+ };
2102
+ const selectionClipboard = () => {
2103
+ return i18nString(SelectionClipboard);
2104
+ };
2105
+ const selectionClipboardDescription = () => {
2106
+ return i18nString(SelectionClipboardDescription);
2107
+ };
2108
+ const showUnused = () => {
2109
+ return i18nString(ShowUnused);
2110
+ };
2111
+ const showUnusedDescription = () => {
2112
+ return i18nString(ShowUnusedDescription);
2113
+ };
2114
+ const snippetSuggestions = () => {
2115
+ return i18nString(SnippetSuggestions);
2116
+ };
2117
+ const snippetSuggestionsDescription = () => {
2118
+ return i18nString(SnippetSuggestionsDescription);
2119
+ };
2120
+ const suggest = () => {
2121
+ return i18nString(Suggest);
2122
+ };
2123
+ const suggestDescription = () => {
2124
+ return i18nString(SuggestDescription);
2125
+ };
2126
+ const suggestFontSize = () => {
2127
+ return i18nString(SuggestFontSize);
2128
+ };
2129
+ const suggestFontSizeDescription = () => {
2130
+ return i18nString(SuggestFontSizeDescription);
2131
+ };
2132
+ const suggestLineHeight = () => {
2133
+ return i18nString(SuggestLineHeight);
2134
+ };
2135
+ const suggestLineHeightDescription = () => {
2136
+ return i18nString(SuggestLineHeightDescription);
2137
+ };
2138
+ const suggestSelection = () => {
2139
+ return i18nString(SuggestSelection);
2140
+ };
2141
+ const suggestSelectionDescription = () => {
2142
+ return i18nString(SuggestSelectionDescription);
2143
+ };
2144
+ const useTabStops = () => {
2145
+ return i18nString(UseTabStops);
2146
+ };
2147
+ const useTabStopsDescription = () => {
2148
+ return i18nString(UseTabStopsDescription);
2149
+ };
2150
+ const wordSeparators = () => {
2151
+ return i18nString(WordSeparators);
2152
+ };
2153
+ const wordSeparatorsDescription = () => {
2154
+ return i18nString(WordSeparatorsDescription);
2155
+ };
2156
+ const wrappingIndent = () => {
2157
+ return i18nString(WrappingIndent);
2158
+ };
2159
+ const wrappingIndentDescription = () => {
2160
+ return i18nString(WrappingIndentDescription);
2161
+ };
2162
+
2163
+ const getSettingItems = async () => {
2164
+ return [{
2165
+ id: 'fontSize',
2166
+ heading: fontSize(),
2167
+ description: fontSizeDescription(),
2168
+ type: Number$1,
2169
+ value: '15px',
2170
+ category: TextEditorTab
2171
+ }, {
2172
+ id: 'fontFamily',
2173
+ heading: fontFamily(),
2174
+ description: fontFamilyDescription(),
2175
+ type: String,
2176
+ value: 'Fira Code',
2177
+ category: TextEditorTab
2178
+ },
2179
+ // Text Editor Settings
2180
+ {
2181
+ id: 'wordWrap',
2182
+ heading: wordWrap(),
2183
+ description: wordWrapDescription(),
2184
+ type: Enum,
2185
+ value: 'off',
2186
+ category: TextEditorTab,
2187
+ options: [{
2188
+ id: 'on',
2189
+ label: 'On' // i18n
2190
+ }, {
2191
+ id: 'off',
2192
+ label: 'off' // i18n
2193
+ }]
2194
+ }, {
2195
+ id: 'lineNumbers',
2196
+ heading: lineNumbers(),
2197
+ description: lineNumbersDescription(),
2198
+ type: Enum,
2199
+ value: 'on',
2200
+ category: TextEditorTab,
2201
+ options: [{
2202
+ id: 'on',
2203
+ label: 'On' // i18n
2204
+ }, {
2205
+ id: 'off',
2206
+ label: 'off' // i18n
2207
+ }]
2208
+ }, {
2209
+ id: 'minimap',
2210
+ heading: minimap(),
2211
+ description: minimapDescription(),
2212
+ type: Boolean$1,
2213
+ value: 'true',
2214
+ category: TextEditorTab
2215
+ }, {
2216
+ id: 'scrollBeyondLastLine',
2217
+ heading: scrollBeyondLastLine(),
2218
+ description: scrollBeyondLastLineDescription(),
2219
+ type: Boolean$1,
2220
+ value: 'false',
2221
+ category: TextEditorTab
2222
+ }, {
2223
+ id: 'smoothScrolling',
2224
+ heading: smoothScrolling(),
2225
+ description: smoothScrollingDescription(),
2226
+ type: Boolean$1,
2227
+ value: 'true',
2228
+ category: TextEditorTab
2229
+ }, {
2230
+ id: 'cursorBlinking',
2231
+ heading: cursorBlinking(),
2232
+ description: cursorBlinkingDescription(),
2233
+ type: String,
2234
+ value: 'blink',
2235
+ category: TextEditorTab
2236
+ }, {
2237
+ id: 'cursorStyle',
2238
+ heading: cursorStyle(),
2239
+ description: cursorStyleDescription(),
2240
+ type: String,
2241
+ value: 'line',
2242
+ category: TextEditorTab
2243
+ }, {
2244
+ id: 'cursorWidth',
2245
+ heading: cursorWidth(),
2246
+ description: cursorWidthDescription(),
2247
+ type: Number$1,
2248
+ value: '0',
2249
+ category: TextEditorTab
2250
+ }, {
2251
+ id: 'tabSize',
2252
+ heading: tabSize(),
2253
+ description: tabSizeDescription(),
2254
+ type: Number$1,
2255
+ value: '4',
2256
+ category: TextEditorTab
2257
+ }, {
2258
+ id: 'insertSpaces',
2259
+ heading: insertSpaces(),
2260
+ description: insertSpacesDescription(),
2261
+ type: Boolean$1,
2262
+ value: 'true',
2263
+ category: TextEditorTab
2264
+ }, {
2265
+ id: 'detectIndentation',
2266
+ heading: detectIndentation(),
2267
+ description: detectIndentationDescription(),
2268
+ type: Boolean$1,
2269
+ value: 'true',
2270
+ category: TextEditorTab
2271
+ }, {
2272
+ id: 'trimAutoWhitespace',
2273
+ heading: trimAutoWhitespace(),
2274
+ description: trimAutoWhitespaceDescription(),
2275
+ type: Boolean$1,
2276
+ value: 'true',
2277
+ category: TextEditorTab
2278
+ }, {
2279
+ id: 'largeFileOptimizations',
2280
+ heading: largeFileOptimizations(),
2281
+ description: largeFileOptimizationsDescription(),
2282
+ type: Boolean$1,
2283
+ value: 'true',
2284
+ category: TextEditorTab
2285
+ }, {
2286
+ id: 'renderWhitespace',
2287
+ heading: renderWhitespace(),
2288
+ description: renderWhitespaceDescription(),
2289
+ type: String,
2290
+ value: 'selection',
2291
+ category: TextEditorTab
2292
+ }, {
2293
+ id: 'renderControlCharacters',
2294
+ heading: renderControlCharacters(),
2295
+ description: renderControlCharactersDescription(),
2296
+ type: Boolean$1,
2297
+ value: 'false',
2298
+ category: TextEditorTab
2299
+ }, {
2300
+ id: 'renderLineHighlight',
2301
+ heading: renderLineHighlight(),
2302
+ description: renderLineHighlightDescription(),
2303
+ type: String,
2304
+ value: 'line',
2305
+ category: TextEditorTab
2306
+ }, {
2307
+ id: 'codeLens',
2308
+ heading: codeLens(),
2309
+ description: codeLensDescription(),
2310
+ type: Boolean$1,
2311
+ value: 'true',
2312
+ category: TextEditorTab
2313
+ }, {
2314
+ id: 'folding',
2315
+ heading: folding(),
2316
+ description: foldingDescription(),
2317
+ type: Boolean$1,
2318
+ value: 'true',
2319
+ category: TextEditorTab
2320
+ }, {
2321
+ id: 'showFoldingControls',
2322
+ heading: showFoldingControls(),
2323
+ description: showFoldingControlsDescription(),
2324
+ type: String,
2325
+ value: 'mouseover',
2326
+ category: TextEditorTab
2327
+ }, {
2328
+ id: 'unfoldOnClickAfterEnd',
2329
+ heading: unfoldOnClickAfterEnd(),
2330
+ description: unfoldOnClickAfterEndDescription(),
2331
+ type: Boolean$1,
2332
+ value: 'false',
2333
+ category: TextEditorTab
2334
+ }, {
2335
+ id: 'links',
2336
+ heading: links(),
2337
+ description: linksDescription(),
2338
+ type: Boolean$1,
2339
+ value: 'true',
2340
+ category: TextEditorTab
2341
+ }, {
2342
+ id: 'colorDecorators',
2343
+ heading: colorDecorators(),
2344
+ description: colorDecoratorsDescription(),
2345
+ type: Boolean$1,
2346
+ value: 'true',
2347
+ category: TextEditorTab
2348
+ }, {
2349
+ id: 'lightbulb',
2350
+ heading: lightbulb(),
2351
+ description: lightbulbDescription(),
2352
+ type: Boolean$1,
2353
+ value: 'true',
2354
+ category: TextEditorTab
2355
+ }, {
2356
+ id: 'codeActionsOnSave',
2357
+ heading: codeActionsOnSave(),
2358
+ description: codeActionsOnSaveDescription(),
2359
+ type: Boolean$1,
2360
+ value: 'false',
2361
+ category: TextEditorTab
2362
+ }, {
2363
+ id: 'formatOnPaste',
2364
+ heading: formatOnPaste(),
2365
+ description: formatOnPasteDescription(),
2366
+ type: Boolean$1,
2367
+ value: 'false',
2368
+ category: TextEditorTab
2369
+ }, {
2370
+ id: 'formatOnType',
2371
+ heading: formatOnType(),
2372
+ description: formatOnTypeDescription(),
2373
+ type: Boolean$1,
2374
+ value: 'false',
2375
+ category: TextEditorTab
2376
+ }, {
2377
+ id: 'acceptSuggestionOnCommitCharacter',
2378
+ heading: acceptSuggestionOnCommitCharacter(),
2379
+ description: acceptSuggestionOnCommitCharacterDescription(),
2380
+ type: Boolean$1,
2381
+ value: 'true',
2382
+ category: TextEditorTab
2383
+ }, {
2384
+ id: 'acceptSuggestionOnEnter',
2385
+ heading: acceptSuggestionOnEnter(),
2386
+ description: acceptSuggestionOnEnterDescription(),
2387
+ type: String,
2388
+ value: 'on',
2389
+ category: TextEditorTab
2390
+ }, {
2391
+ id: 'tabCompletion',
2392
+ heading: tabCompletion(),
2393
+ description: tabCompletionDescription(),
2394
+ type: String,
2395
+ value: 'on',
2396
+ category: TextEditorTab
2397
+ }, {
2398
+ id: 'wordBasedSuggestions',
2399
+ heading: wordBasedSuggestions(),
2400
+ description: wordBasedSuggestionsDescription(),
2401
+ type: Boolean$1,
2402
+ value: 'true',
2403
+ category: TextEditorTab
2404
+ }, {
2405
+ id: 'suggestOnTriggerCharacters',
2406
+ heading: suggestOnTriggerCharacters(),
2407
+ description: suggestOnTriggerCharactersDescription(),
2408
+ type: Boolean$1,
2409
+ value: 'true',
2410
+ category: TextEditorTab
2411
+ }, {
2412
+ id: 'quickSuggestions',
2413
+ heading: quickSuggestions(),
2414
+ description: quickSuggestionsDescription(),
2415
+ type: Boolean$1,
2416
+ value: 'true',
2417
+ category: TextEditorTab
2418
+ }, {
2419
+ id: 'parameterHints',
2420
+ heading: parameterHints(),
2421
+ description: parameterHintsDescription(),
2422
+ type: Boolean$1,
2423
+ value: 'true',
2424
+ category: TextEditorTab
2425
+ }, {
2426
+ id: 'autoClosingBrackets',
2427
+ heading: autoClosingBrackets(),
2428
+ description: autoClosingBracketsDescription(),
2429
+ type: String,
2430
+ value: 'always',
2431
+ category: TextEditorTab
2432
+ }, {
2433
+ id: 'autoClosingQuotes',
2434
+ heading: autoClosingQuotes(),
2435
+ description: autoClosingQuotesDescription(),
2436
+ type: String,
2437
+ value: 'always',
2438
+ category: TextEditorTab
2439
+ }, {
2440
+ id: 'autoClosingOvertype',
2441
+ heading: autoClosingOvertype(),
2442
+ description: autoClosingOvertypeDescription(),
2443
+ type: String,
2444
+ value: 'auto',
2445
+ category: TextEditorTab
2446
+ }, {
2447
+ id: 'autoClosingDelete',
2448
+ heading: autoClosingDelete(),
2449
+ description: autoClosingDeleteDescription(),
2450
+ type: String,
2451
+ value: 'auto',
2452
+ category: TextEditorTab
2453
+ }, {
2454
+ id: 'autoSurround',
2455
+ heading: autoSurround(),
2456
+ description: autoSurroundDescription(),
2457
+ type: String,
2458
+ value: 'quotes',
2459
+ category: TextEditorTab
2460
+ }, {
2461
+ id: 'bracketPairColorization',
2462
+ heading: bracketPairColorization(),
2463
+ description: bracketPairColorizationDescription(),
2464
+ type: Boolean$1,
2465
+ value: 'true',
2466
+ category: TextEditorTab
2467
+ }, {
2468
+ id: 'guides',
2469
+ heading: guides(),
2470
+ description: guidesDescription(),
2471
+ type: Boolean$1,
2472
+ value: 'true',
2473
+ category: TextEditorTab
2474
+ }, {
2475
+ id: 'dragAndDrop',
2476
+ heading: dragAndDrop(),
2477
+ description: dragAndDropDescription(),
2478
+ type: Boolean$1,
2479
+ value: 'true',
2480
+ category: TextEditorTab
2481
+ }, {
2482
+ id: 'copyWithSyntaxHighlighting',
2483
+ heading: copyWithSyntaxHighlighting(),
2484
+ description: copyWithSyntaxHighlightingDescription(),
2485
+ type: Boolean$1,
2486
+ value: 'true',
2487
+ category: TextEditorTab
2488
+ }, {
2489
+ id: 'multiCursorModifier',
2490
+ heading: multiCursorModifier(),
2491
+ description: multiCursorModifierDescription(),
2492
+ type: String,
2493
+ value: 'alt',
2494
+ category: TextEditorTab
2495
+ }, {
2496
+ id: 'multiCursorPaste',
2497
+ heading: multiCursorPaste(),
2498
+ description: multiCursorPasteDescription(),
2499
+ type: String,
2500
+ value: 'full',
2501
+ category: TextEditorTab
2502
+ }, {
2503
+ id: 'occurrencesHighlight',
2504
+ heading: occurrencesHighlight(),
2505
+ description: occurrencesHighlightDescription(),
2506
+ type: Boolean$1,
2507
+ value: 'true',
2508
+ category: TextEditorTab
2509
+ }, {
2510
+ id: 'selectionHighlight',
2511
+ heading: selectionHighlight(),
2512
+ description: selectionHighlightDescription(),
2513
+ type: Boolean$1,
2514
+ value: 'true',
2515
+ category: TextEditorTab
2516
+ }, {
2517
+ id: 'semanticHighlighting',
2518
+ heading: semanticHighlighting(),
2519
+ description: semanticHighlightingDescription(),
2520
+ type: Boolean$1,
2521
+ value: 'true',
2522
+ category: TextEditorTab
2523
+ }, {
2524
+ id: 'tokenColorCustomizations',
2525
+ heading: tokenColorCustomizations(),
2526
+ description: tokenColorCustomizationsDescription(),
2527
+ type: String,
2528
+ value: '{}',
2529
+ category: TextEditorTab
2530
+ }, {
2531
+ id: 'workbenchColorCustomizations',
2532
+ heading: workbenchColorCustomizations(),
2533
+ description: workbenchColorCustomizationsDescription(),
2534
+ type: String,
2535
+ value: '{}',
2536
+ category: TextEditorTab
2537
+ }, {
2538
+ id: 'editorColorCustomizations',
2539
+ heading: editorColorCustomizations(),
2540
+ description: editorColorCustomizationsDescription(),
2541
+ type: String,
2542
+ value: '{}',
2543
+ category: TextEditorTab
2544
+ }, {
2545
+ id: 'diffEditor',
2546
+ heading: diffEditor(),
2547
+ description: diffEditorDescription(),
2548
+ type: Boolean$1,
2549
+ value: 'true',
2550
+ category: TextEditorTab
2551
+ }, {
2552
+ id: 'diffWordWrap',
2553
+ heading: diffWordWrap(),
2554
+ description: diffWordWrapDescription(),
2555
+ type: String,
2556
+ value: 'inherit',
2557
+ category: TextEditorTab
2558
+ }, {
2559
+ id: 'diffCodeLens',
2560
+ heading: diffCodeLens(),
2561
+ description: diffCodeLensDescription(),
2562
+ type: Boolean$1,
2563
+ value: 'true',
2564
+ category: TextEditorTab
2565
+ }, {
2566
+ id: 'diffRenderSideBySide',
2567
+ heading: diffRenderSideBySide(),
2568
+ description: diffRenderSideBySideDescription(),
2569
+ type: Boolean$1,
2570
+ value: 'true',
2571
+ category: TextEditorTab
2572
+ }, {
2573
+ id: 'diffIgnoreTrimWhitespace',
2574
+ heading: diffIgnoreTrimWhitespace(),
2575
+ description: diffIgnoreTrimWhitespaceDescription(),
2576
+ type: Boolean$1,
2577
+ value: 'false',
2578
+ category: TextEditorTab
2579
+ }, {
2580
+ id: 'diffRenderIndicators',
2581
+ heading: diffRenderIndicators(),
2582
+ description: diffRenderIndicatorsDescription(),
2583
+ type: Boolean$1,
2584
+ value: 'true',
2585
+ category: TextEditorTab
2586
+ }, {
2587
+ id: 'diffRenderOverviewRuler',
2588
+ heading: diffRenderOverviewRuler(),
2589
+ description: diffRenderOverviewRulerDescription(),
2590
+ type: Boolean$1,
2591
+ value: 'true',
2592
+ category: TextEditorTab
2593
+ }, {
2594
+ id: 'diffRenderMarginRevertIcon',
2595
+ heading: diffRenderMarginRevertIcon(),
2596
+ description: diffRenderMarginRevertIconDescription(),
2597
+ type: Boolean$1,
2598
+ value: 'true',
2599
+ category: TextEditorTab
2600
+ },
2601
+ // Additional Text Editor Settings
2602
+ {
2603
+ id: 'insertMode',
2604
+ heading: insertMode(),
2605
+ description: insertModeDescription(),
2606
+ type: Boolean$1,
2607
+ value: 'true',
2608
+ category: TextEditorTab
2609
+ }, {
2610
+ id: 'overwriteMode',
2611
+ heading: overwriteMode(),
2612
+ description: overwriteModeDescription(),
2613
+ type: Boolean$1,
2614
+ value: 'false',
2615
+ category: TextEditorTab
2616
+ }, {
2617
+ id: 'readOnly',
2618
+ heading: readOnly(),
2619
+ description: readOnlyDescription(),
2620
+ type: Boolean$1,
2621
+ value: 'false',
2622
+ category: TextEditorTab
2623
+ }, {
2624
+ id: 'accessibilitySupport',
2625
+ heading: accessibilitySupport(),
2626
+ description: accessibilitySupportDescription(),
2627
+ type: String,
2628
+ value: 'auto',
2629
+ category: TextEditorTab
2630
+ }, {
2631
+ id: 'autoIndent',
2632
+ heading: autoIndent(),
2633
+ description: autoIndentDescription(),
2634
+ type: Boolean$1,
2635
+ value: 'true',
2636
+ category: TextEditorTab
2637
+ }, {
2638
+ id: 'bracketMatching',
2639
+ heading: bracketMatching(),
2640
+ description: bracketMatchingDescription(),
2641
+ type: Boolean$1,
2642
+ value: 'true',
2643
+ category: TextEditorTab
2644
+ }, {
2645
+ id: 'centeredLayout',
2646
+ heading: centeredLayout(),
2647
+ description: centeredLayoutDescription(),
2648
+ type: Boolean$1,
2649
+ value: 'false',
2650
+ category: TextEditorTab
2651
+ }, {
2652
+ id: 'columnSelection',
2653
+ heading: columnSelection(),
2654
+ description: columnSelectionDescription(),
2655
+ type: Boolean$1,
2656
+ value: 'false',
2657
+ category: TextEditorTab
2658
+ }, {
2659
+ id: 'contextmenu',
2660
+ heading: contextmenu(),
2661
+ description: contextmenuDescription(),
2662
+ type: Boolean$1,
2663
+ value: 'true',
2664
+ category: TextEditorTab
2665
+ }, {
2666
+ id: 'cursorSmoothCaretAnimation',
2667
+ heading: cursorSmoothCaretAnimation(),
2668
+ description: cursorSmoothCaretAnimationDescription(),
2669
+ type: String,
2670
+ value: 'off',
2671
+ category: TextEditorTab
2672
+ }, {
2673
+ id: 'cursorSurroundingLines',
2674
+ heading: cursorSurroundingLines(),
2675
+ description: cursorSurroundingLinesDescription(),
2676
+ type: Number$1,
2677
+ value: '3',
2678
+ category: TextEditorTab
2679
+ }, {
2680
+ id: 'cursorSurroundingLinesStyle',
2681
+ heading: cursorSurroundingLinesStyle(),
2682
+ description: cursorSurroundingLinesStyleDescription(),
2683
+ type: String,
2684
+ value: 'all',
2685
+ category: TextEditorTab
2686
+ }, {
2687
+ id: 'disableMonospaceOptimizations',
2688
+ heading: disableMonospaceOptimizations(),
2689
+ description: disableMonospaceOptimizationsDescription(),
2690
+ type: Boolean$1,
2691
+ value: 'false',
2692
+ category: TextEditorTab
2693
+ }, {
2694
+ id: 'emptySelectionClipboard',
2695
+ heading: emptySelectionClipboard(),
2696
+ description: emptySelectionClipboardDescription(),
2697
+ type: Boolean$1,
2698
+ value: 'true',
2699
+ category: TextEditorTab
2700
+ }, {
2701
+ id: 'extraEditorClassName',
2702
+ heading: extraEditorClassName(),
2703
+ description: extraEditorClassNameDescription(),
2704
+ type: String,
2705
+ value: '',
2706
+ category: TextEditorTab
2707
+ }, {
2708
+ id: 'fastScrollSensitivity',
2709
+ heading: fastScrollSensitivity(),
2710
+ description: fastScrollSensitivityDescription(),
2711
+ type: Number$1,
2712
+ value: '5',
2713
+ category: TextEditorTab
2714
+ }, {
2715
+ id: 'find',
2716
+ heading: find(),
2717
+ description: findDescription(),
2718
+ type: Boolean$1,
2719
+ value: 'true',
2720
+ category: TextEditorTab
2721
+ }, {
2722
+ id: 'fixedOverflowWidgets',
2723
+ heading: fixedOverflowWidgets(),
2724
+ description: fixedOverflowWidgetsDescription(),
2725
+ type: Boolean$1,
2726
+ value: 'false',
2727
+ category: TextEditorTab
2728
+ }, {
2729
+ id: 'foldingStrategy',
2730
+ heading: foldingStrategy(),
2731
+ description: foldingStrategyDescription(),
2732
+ type: String,
2733
+ value: 'auto',
2734
+ category: TextEditorTab
2735
+ }, {
2736
+ id: 'fontLigatures',
2737
+ heading: fontLigatures(),
2738
+ description: fontLigaturesDescription(),
2739
+ type: Boolean$1,
2740
+ value: 'false',
2741
+ category: TextEditorTab
2742
+ }, {
2743
+ id: 'glyphMargin',
2744
+ heading: glyphMargin(),
2745
+ description: glyphMarginDescription(),
2746
+ type: Boolean$1,
2747
+ value: 'true',
2748
+ category: TextEditorTab
2749
+ }, {
2750
+ id: 'gotoLocation',
2751
+ heading: gotoLocation(),
2752
+ description: gotoLocationDescription(),
2753
+ type: String,
2754
+ value: 'mouse',
2755
+ category: TextEditorTab
2756
+ }, {
2757
+ id: 'hideCursorInOverviewRuler',
2758
+ heading: hideCursorInOverviewRuler(),
2759
+ description: hideCursorInOverviewRulerDescription(),
2760
+ type: Boolean$1,
2761
+ value: 'false',
2762
+ category: TextEditorTab
2763
+ }, {
2764
+ id: 'hover',
2765
+ heading: hover(),
2766
+ description: hoverDescription(),
2767
+ type: Boolean$1,
2768
+ value: 'true',
2769
+ category: TextEditorTab
2770
+ }, {
2771
+ id: 'inDiffEditor',
2772
+ heading: inDiffEditor(),
2773
+ description: inDiffEditorDescription(),
2774
+ type: Boolean$1,
2775
+ value: 'false',
2776
+ category: TextEditorTab
2777
+ }, {
2778
+ id: 'letterSpacing',
2779
+ heading: letterSpacing(),
2780
+ description: letterSpacingDescription(),
2781
+ type: Number$1,
2782
+ value: '0',
2783
+ category: TextEditorTab
2784
+ }, {
2785
+ id: 'lightbulbEnabled',
2786
+ heading: lightbulbEnabled(),
2787
+ description: lightbulbEnabledDescription(),
2788
+ type: Boolean$1,
2789
+ value: 'true',
2790
+ category: TextEditorTab
2791
+ }, {
2792
+ id: 'lineDecorationsWidth',
2793
+ heading: lineDecorationsWidth(),
2794
+ description: lineDecorationsWidthDescription(),
2795
+ type: Number$1,
2796
+ value: '10',
2797
+ category: TextEditorTab
2798
+ }, {
2799
+ id: 'lineHeight',
2800
+ heading: lineHeight(),
2801
+ description: lineHeightDescription(),
2802
+ type: Number$1,
2803
+ value: '0',
2804
+ category: TextEditorTab
2805
+ }, {
2806
+ id: 'matchBrackets',
2807
+ heading: matchBrackets(),
2808
+ description: matchBracketsDescription(),
2809
+ type: Boolean$1,
2810
+ value: 'true',
2811
+ category: TextEditorTab
2812
+ }, {
2813
+ id: 'minimapEnabled',
2814
+ heading: minimapEnabled(),
2815
+ description: minimapEnabledDescription(),
2816
+ type: Boolean$1,
2817
+ value: 'true',
2818
+ category: TextEditorTab
2819
+ }, {
2820
+ id: 'mouseWheelScrollSensitivity',
2821
+ heading: mouseWheelScrollSensitivity(),
2822
+ description: mouseWheelScrollSensitivityDescription(),
2823
+ type: Number$1,
2824
+ value: '1',
2825
+ category: TextEditorTab
2826
+ }, {
2827
+ id: 'mouseWheelZoom',
2828
+ heading: mouseWheelZoom(),
2829
+ description: mouseWheelZoomDescription(),
2830
+ type: Boolean$1,
2831
+ value: 'false',
2832
+ category: TextEditorTab
2833
+ }, {
2834
+ id: 'multiCursorMergeOverlapping',
2835
+ heading: multiCursorMergeOverlapping(),
2836
+ description: multiCursorMergeOverlappingDescription(),
2837
+ type: Boolean$1,
2838
+ value: 'true',
2839
+ category: TextEditorTab
2840
+ }, {
2841
+ id: 'overviewRulerBorder',
2842
+ heading: overviewRulerBorder(),
2843
+ description: overviewRulerBorderDescription(),
2844
+ type: Boolean$1,
2845
+ value: 'true',
2846
+ category: TextEditorTab
2847
+ }, {
2848
+ id: 'overviewRulerLanes',
2849
+ heading: overviewRulerLanes(),
2850
+ description: overviewRulerLanesDescription(),
1058
2851
  type: Number$1,
1059
- value: '15px',
2852
+ value: '3',
1060
2853
  category: TextEditorTab
1061
2854
  }, {
1062
- id: 'fontFamily',
1063
- heading: 'Font Family',
1064
- description: 'The font family of the editor',
2855
+ id: 'peekWidgetDefaultFocus',
2856
+ heading: peekWidgetDefaultFocus(),
2857
+ description: peekWidgetDefaultFocusDescription(),
1065
2858
  type: String,
1066
- value: 'Fira Code',
2859
+ value: 'editor',
2860
+ category: TextEditorTab
2861
+ }, {
2862
+ id: 'quickSuggestionsDelay',
2863
+ heading: quickSuggestionsDelay(),
2864
+ description: quickSuggestionsDelayDescription(),
2865
+ type: Number$1,
2866
+ value: '10',
2867
+ category: TextEditorTab
2868
+ }, {
2869
+ id: 'renderFinalNewline',
2870
+ heading: renderFinalNewline(),
2871
+ description: renderFinalNewlineDescription(),
2872
+ type: Boolean$1,
2873
+ value: 'true',
2874
+ category: TextEditorTab
2875
+ }, {
2876
+ id: 'renderValidationDecorations',
2877
+ heading: renderValidationDecorations(),
2878
+ description: renderValidationDecorationsDescription(),
2879
+ type: Boolean$1,
2880
+ value: 'true',
2881
+ category: TextEditorTab
2882
+ }, {
2883
+ id: 'revealHorizontalRightPadding',
2884
+ heading: revealHorizontalRightPadding(),
2885
+ description: revealHorizontalRightPaddingDescription(),
2886
+ type: Number$1,
2887
+ value: '30',
2888
+ category: TextEditorTab
2889
+ }, {
2890
+ id: 'roundedSelection',
2891
+ heading: roundedSelection(),
2892
+ description: roundedSelectionDescription(),
2893
+ type: Boolean$1,
2894
+ value: 'true',
2895
+ category: TextEditorTab
2896
+ }, {
2897
+ id: 'rulers',
2898
+ heading: rulers(),
2899
+ description: rulersDescription(),
2900
+ type: String,
2901
+ value: '[]',
2902
+ category: TextEditorTab
2903
+ }, {
2904
+ id: 'scrollBeyondLastColumn',
2905
+ heading: scrollBeyondLastColumn(),
2906
+ description: scrollBeyondLastColumnDescription(),
2907
+ type: Number$1,
2908
+ value: '5',
2909
+ category: TextEditorTab
2910
+ }, {
2911
+ id: 'scrollbar',
2912
+ heading: scrollbar(),
2913
+ description: scrollbarDescription(),
2914
+ type: String,
2915
+ value: 'auto',
2916
+ category: TextEditorTab
2917
+ }, {
2918
+ id: 'scrollPredominantAxis',
2919
+ heading: scrollPredominantAxis(),
2920
+ description: scrollPredominantAxisDescription(),
2921
+ type: Boolean$1,
2922
+ value: 'true',
2923
+ category: TextEditorTab
2924
+ }, {
2925
+ id: 'selectionClipboard',
2926
+ heading: selectionClipboard(),
2927
+ description: selectionClipboardDescription(),
2928
+ type: Boolean$1,
2929
+ value: 'true',
2930
+ category: TextEditorTab
2931
+ }, {
2932
+ id: 'showUnused',
2933
+ heading: showUnused(),
2934
+ description: showUnusedDescription(),
2935
+ type: Boolean$1,
2936
+ value: 'true',
2937
+ category: TextEditorTab
2938
+ }, {
2939
+ id: 'snippetSuggestions',
2940
+ heading: snippetSuggestions(),
2941
+ description: snippetSuggestionsDescription(),
2942
+ type: String,
2943
+ value: 'bottom',
2944
+ category: TextEditorTab
2945
+ }, {
2946
+ id: 'suggest',
2947
+ heading: suggest(),
2948
+ description: suggestDescription(),
2949
+ type: Boolean$1,
2950
+ value: 'true',
2951
+ category: TextEditorTab
2952
+ }, {
2953
+ id: 'suggestFontSize',
2954
+ heading: suggestFontSize(),
2955
+ description: suggestFontSizeDescription(),
2956
+ type: Number$1,
2957
+ value: '0',
2958
+ category: TextEditorTab
2959
+ }, {
2960
+ id: 'suggestLineHeight',
2961
+ heading: suggestLineHeight(),
2962
+ description: suggestLineHeightDescription(),
2963
+ type: Number$1,
2964
+ value: '0',
2965
+ category: TextEditorTab
2966
+ }, {
2967
+ id: 'suggestSelection',
2968
+ heading: suggestSelection(),
2969
+ description: suggestSelectionDescription(),
2970
+ type: String,
2971
+ value: 'recentlyUsed',
2972
+ category: TextEditorTab
2973
+ }, {
2974
+ id: 'useTabStops',
2975
+ heading: useTabStops(),
2976
+ description: useTabStopsDescription(),
2977
+ type: Boolean$1,
2978
+ value: 'true',
2979
+ category: TextEditorTab
2980
+ }, {
2981
+ id: 'wordSeparators',
2982
+ heading: wordSeparators(),
2983
+ description: wordSeparatorsDescription(),
2984
+ type: String,
2985
+ value: '`~!@#$%^&*()-=+[{]}\\|;:\'",.<>/?',
2986
+ category: TextEditorTab
2987
+ }, {
2988
+ id: 'wrappingIndent',
2989
+ heading: wrappingIndent(),
2990
+ description: wrappingIndentDescription(),
2991
+ type: String,
2992
+ value: 'same',
1067
2993
  category: TextEditorTab
1068
2994
  }, {
1069
2995
  id: 'theme',
1070
- heading: 'Theme',
1071
- description: 'The color theme of the workbench',
2996
+ heading: theme(),
2997
+ description: themeDescription(),
1072
2998
  type: String,
1073
2999
  value: 'Dark',
1074
3000
  category: WorkbenchTab
1075
3001
  }, {
1076
3002
  id: 'sidebarPosition',
1077
- heading: 'Sidebar Position',
1078
- description: 'The position of the sidebar',
3003
+ heading: sidebarPosition(),
3004
+ description: sidebarPositionDescription(),
1079
3005
  type: String,
1080
3006
  value: 'Left',
1081
3007
  category: WorkbenchTab
1082
3008
  }, {
1083
3009
  id: 'windowTitle',
1084
- heading: 'Window Title',
1085
- description: 'The title shown in the window',
3010
+ heading: windowTitle(),
3011
+ description: windowTitleDescription(),
1086
3012
  type: String,
1087
3013
  value: 'Settings View',
1088
3014
  category: WindowTab
1089
3015
  }, {
1090
3016
  id: 'windowSize',
1091
- heading: 'Window Size',
1092
- description: 'The default window size',
3017
+ heading: windowSize(),
3018
+ description: windowSizeDescription(),
1093
3019
  type: String,
1094
3020
  value: '1024x768',
1095
3021
  category: WindowTab
1096
3022
  }, {
1097
3023
  id: 'autoSave',
1098
- heading: 'Auto Save',
1099
- description: 'Automatically save files',
3024
+ heading: autoSave(),
3025
+ description: autoSaveDescription(),
1100
3026
  type: Boolean$1,
1101
3027
  value: 'true',
1102
3028
  category: FeaturesTab
1103
3029
  }, {
1104
3030
  id: 'formatOnSave',
1105
- heading: 'Format on Save',
1106
- description: 'Format code when saving',
3031
+ heading: formatOnSave(),
3032
+ description: formatOnSaveDescription(),
1107
3033
  type: Boolean$1,
1108
3034
  value: 'false',
1109
3035
  category: FeaturesTab
1110
3036
  }, {
1111
3037
  id: 'telemetry',
1112
- heading: 'Telemetry',
1113
- description: 'Enable telemetry collection',
3038
+ heading: telemetry(),
3039
+ description: telemetryDescription(),
1114
3040
  type: Boolean$1,
1115
3041
  value: 'true',
1116
3042
  category: ApplicationsTab
1117
3043
  }, {
1118
3044
  id: 'updates',
1119
- heading: 'Auto Updates',
1120
- description: 'Automatically check for updates',
3045
+ heading: autoUpdates(),
3046
+ description: autoUpdatesDescription(),
1121
3047
  type: Boolean$1,
1122
3048
  value: 'true',
1123
3049
  category: ApplicationsTab
1124
3050
  }, {
1125
3051
  id: 'encryption',
1126
- heading: 'File Encryption',
1127
- description: 'Encrypt sensitive files',
3052
+ heading: fileEncryption(),
3053
+ description: fileEncryptionDescription(),
1128
3054
  type: Boolean$1,
1129
3055
  value: 'false',
1130
3056
  category: SecurityTab
1131
3057
  }, {
1132
3058
  id: 'twoFactor',
1133
- heading: 'Two Factor Auth',
1134
- description: 'Enable two factor authentication',
3059
+ heading: twoFactorAuth(),
3060
+ description: twoFactorAuthDescription(),
1135
3061
  type: Boolean$1,
1136
3062
  value: 'false',
1137
3063
  category: SecurityTab
1138
3064
  }, {
1139
3065
  id: 'extensionsAutoUpdate',
1140
- heading: 'Auto Update Extensions',
1141
- description: 'Automatically update extensions',
3066
+ heading: autoUpdateExtensions(),
3067
+ description: autoUpdateExtensionsDescription(),
1142
3068
  type: Boolean$1,
1143
3069
  value: 'true',
1144
3070
  category: ExtensionsTab
1145
3071
  }, {
1146
3072
  id: 'extensionRecommendations',
1147
- heading: 'Extension Recommendations',
1148
- description: 'Show extension recommendations',
3073
+ heading: extensionRecommendations(),
3074
+ description: extensionRecommendationsDescription(),
1149
3075
  type: Boolean$1,
1150
3076
  value: 'true',
1151
3077
  category: ExtensionsTab
@@ -1185,15 +3111,78 @@ const getTabs = () => {
1185
3111
  return tabs;
1186
3112
  };
1187
3113
 
3114
+ const getSavedMinLineY = savedState => {
3115
+ if (savedState && typeof savedState === 'object' && 'minLineY' in savedState && typeof savedState.minLineY === 'number') {
3116
+ return savedState.minLineY;
3117
+ }
3118
+ return 0;
3119
+ };
3120
+ const getSavedSearchValue = savedState => {
3121
+ if (savedState && typeof savedState === 'object' && 'searchValue' in savedState && typeof savedState.searchValue === 'string') {
3122
+ return savedState.searchValue;
3123
+ }
3124
+ return '';
3125
+ };
3126
+ const getSavedDeltaY = savedState => {
3127
+ if (savedState && typeof savedState === 'object' && 'deltaY' in savedState && typeof savedState.deltaY === 'number') {
3128
+ return savedState.deltaY;
3129
+ }
3130
+ return 0;
3131
+ };
3132
+ const getSavedWorkspacePath = savedState => {
3133
+ if (savedState && typeof savedState === 'object' && 'workspacePath' in savedState && typeof savedState.workspacePath === 'string') {
3134
+ return savedState.workspacePath;
3135
+ }
3136
+ return '';
3137
+ };
3138
+ const getSavedTabId = savedState => {
3139
+ if (savedState && typeof savedState === 'object' && 'selectedTab' in savedState && typeof savedState.selectedTab === 'string') {
3140
+ return savedState.selectedTab;
3141
+ }
3142
+ return '';
3143
+ };
3144
+ const restoreState = savedState => {
3145
+ if (!savedState) {
3146
+ return {
3147
+ root: '',
3148
+ minLineY: 0,
3149
+ deltaY: 0,
3150
+ tabId: '',
3151
+ searchValue: ''
3152
+ };
3153
+ }
3154
+ const root = getSavedWorkspacePath(savedState);
3155
+ const minLineY = getSavedMinLineY(savedState);
3156
+ const deltaY = getSavedDeltaY(savedState);
3157
+ const tabId = getSavedTabId(savedState);
3158
+ const searchValue = getSavedSearchValue(savedState);
3159
+ return {
3160
+ root,
3161
+ minLineY,
3162
+ deltaY,
3163
+ tabId,
3164
+ searchValue
3165
+ };
3166
+ };
3167
+
1188
3168
  const loadContent = async (state, savedState) => {
3169
+ const {
3170
+ searchValue,
3171
+ tabId
3172
+ } = restoreState(savedState);
1189
3173
  const tabs = getTabs();
3174
+ const newTabs = getUpdatedTabs(tabs, tabId);
1190
3175
  const items = await getSettingItems();
1191
- const filteredItems = getFilteredItems(items, tabs);
3176
+ const filteredItems = getFilteredItems(items, newTabs, searchValue);
3177
+ const preferences = await getPreferences();
1192
3178
  return {
1193
3179
  ...state,
1194
- tabs,
3180
+ tabs: newTabs,
1195
3181
  items,
1196
- filteredItems
3182
+ filteredItems,
3183
+ preferences,
3184
+ inputSource: Script,
3185
+ searchValue
1197
3186
  };
1198
3187
  };
1199
3188
 
@@ -1215,21 +3204,25 @@ const Div = 4;
1215
3204
  const H1 = 5;
1216
3205
  const Input = 6;
1217
3206
  const Text = 12;
1218
- const H2 = 22;
1219
3207
  const H3 = 23;
1220
3208
  const Aside = 28;
1221
3209
  const P = 50;
1222
3210
  const Ul = 60;
3211
+ const Select = 63;
3212
+ const Option = 64;
3213
+ const Label = 66;
1223
3214
  const VirtualDomElements = {
1224
3215
  __proto__: null,
1225
3216
  Aside,
1226
3217
  Button,
1227
3218
  Div,
1228
3219
  H1,
1229
- H2,
1230
3220
  H3,
1231
3221
  Input,
3222
+ Label,
3223
+ Option,
1232
3224
  P,
3225
+ Select,
1233
3226
  Ul};
1234
3227
  const text = data => {
1235
3228
  return {
@@ -1240,11 +3233,17 @@ const text = data => {
1240
3233
  };
1241
3234
 
1242
3235
  const {
1243
- Viewlet} = ClassNames;
3236
+ Viewlet
3237
+ } = ClassNames;
1244
3238
  const Settings = 'Settings';
1245
3239
 
3240
+ // TODo use numeric ids
3241
+ const HandleClickClear = 'handleClickClear';
3242
+ const HandleClickTab = 'handleClickTab';
3243
+ const HandleInput = 'handleInput';
3244
+
1246
3245
  const getSettingsInputDom = () => {
1247
- const placeholder = 'Search Settings';
3246
+ const placeholder = searchSettings();
1248
3247
  return [{
1249
3248
  type: VirtualDomElements.Div,
1250
3249
  className: 'SettingsInputWrapper',
@@ -1254,16 +3253,21 @@ const getSettingsInputDom = () => {
1254
3253
  className: 'InputBox SettingsSearchInput',
1255
3254
  placeholder,
1256
3255
  childCount: 0,
1257
- name: SettingsSearch // TODO add input event listener
3256
+ name: SettingsSearch,
3257
+ onInput: HandleInput
1258
3258
  }, {
1259
3259
  type: VirtualDomElements.Button,
1260
- className: 'Button InputButton',
3260
+ className: 'Button InputButton SearchFieldButton',
1261
3261
  childCount: 1,
1262
- ariaLabel: 'Clear',
1263
- // TODO i18n string
1264
- name: Clear // TODO add click event listener
1265
- }, text('Clear') // TODO use icon
1266
- ];
3262
+ ariaLabel: clear(),
3263
+ name: Clear$1,
3264
+ // TODO add click event listener
3265
+ onClick: HandleClickClear
3266
+ }, {
3267
+ type: VirtualDomElements.Div,
3268
+ className: 'MaskIcon MaskIconClearAll',
3269
+ childCount: 0
3270
+ }];
1267
3271
  };
1268
3272
 
1269
3273
  const getSettingsHeaderDom = () => {
@@ -1274,6 +3278,33 @@ const getSettingsHeaderDom = () => {
1274
3278
  }, ...getSettingsInputDom()];
1275
3279
  };
1276
3280
 
3281
+ const getItemCheckBoxVirtualDom = item => {
3282
+ const {
3283
+ heading,
3284
+ description
3285
+ } = item;
3286
+ return [{
3287
+ type: VirtualDomElements.Div,
3288
+ className: 'SettingsItem',
3289
+ childCount: 3
3290
+ }, {
3291
+ type: VirtualDomElements.H3,
3292
+ childCount: 1
3293
+ }, text(heading), {
3294
+ type: VirtualDomElements.Div,
3295
+ className: 'SettingsItemCheckBox',
3296
+ childCount: 2
3297
+ }, {
3298
+ type: VirtualDomElements.Input,
3299
+ className: 'CheckBox',
3300
+ inputType: 'checkbox',
3301
+ childCount: 0
3302
+ }, {
3303
+ type: VirtualDomElements.Label,
3304
+ childCount: 1
3305
+ }, text(description)];
3306
+ };
3307
+
1277
3308
  const getItemNumberVirtualDom = item => {
1278
3309
  const {
1279
3310
  heading,
@@ -1293,37 +3324,124 @@ const getItemNumberVirtualDom = item => {
1293
3324
  type: VirtualDomElements.Input,
1294
3325
  className: 'InputBox',
1295
3326
  inputType: 'number',
1296
- placeholder: 'number value',
3327
+ placeholder: numberValue(),
3328
+ childCount: 0
3329
+ }];
3330
+ };
3331
+
3332
+ const getOptionDom = option => {
3333
+ const {
3334
+ id,
3335
+ label
3336
+ } = option;
3337
+ return [{
3338
+ type: VirtualDomElements.Option,
3339
+ childCount: 1,
3340
+ value: id
3341
+ }, text(label)];
3342
+ };
3343
+
3344
+ const getItemSelectVirtualDom = item => {
3345
+ const {
3346
+ heading,
3347
+ description
3348
+ } = item;
3349
+ const options = item.options || [];
3350
+ return [{
3351
+ type: VirtualDomElements.Div,
3352
+ className: 'SettingsItem',
3353
+ childCount: 3
3354
+ }, {
3355
+ type: VirtualDomElements.H3,
3356
+ childCount: 1
3357
+ }, text(heading), {
3358
+ type: VirtualDomElements.P,
3359
+ childCount: 1
3360
+ }, text(description), {
3361
+ type: VirtualDomElements.Select,
3362
+ className: 'Select',
3363
+ childCount: options.length
3364
+ }, ...options.flatMap(getOptionDom)];
3365
+ };
3366
+
3367
+ const getItemStringVirtualDom = item => {
3368
+ const {
3369
+ heading,
3370
+ description
3371
+ } = item;
3372
+ return [{
3373
+ type: VirtualDomElements.Div,
3374
+ className: 'SettingsItem',
3375
+ childCount: 3
3376
+ }, {
3377
+ type: VirtualDomElements.H3,
3378
+ childCount: 1
3379
+ }, text(heading), {
3380
+ type: VirtualDomElements.P,
3381
+ childCount: 1
3382
+ }, text(description), {
3383
+ type: VirtualDomElements.Input,
3384
+ className: 'InputBox',
3385
+ inputType: 'text',
3386
+ placeholder: numberValue(),
1297
3387
  childCount: 0
1298
3388
  }];
1299
3389
  };
1300
3390
 
1301
- const getSettingsItemsDom = items => {
3391
+ const getItemVirtualDom = item => {
3392
+ if (item.type === Number$1) {
3393
+ return getItemNumberVirtualDom(item);
3394
+ }
3395
+ if (item.type === Boolean$1) {
3396
+ return getItemCheckBoxVirtualDom(item);
3397
+ }
3398
+ if (item.type === String) {
3399
+ return getItemStringVirtualDom(item);
3400
+ }
3401
+ if (item.type === Enum) {
3402
+ return getItemSelectVirtualDom(item);
3403
+ }
3404
+ // TODO
3405
+ return [text('unknown setting type')];
3406
+ };
3407
+
3408
+ const getSettingsNoResultsDom = searchValue => {
3409
+ return [{
3410
+ type: VirtualDomElements.Div,
3411
+ className: 'SettingsItems',
3412
+ childCount: 1
3413
+ }, {
3414
+ type: VirtualDomElements.Div,
3415
+ className: 'SettingsNoResults',
3416
+ childCount: 1
3417
+ }, text(noSettingsMatching(searchValue))];
3418
+ };
3419
+
3420
+ const getSettingsItemsDom = (items, searchValue) => {
3421
+ if (items.length === 0 && searchValue.trim()) {
3422
+ return getSettingsNoResultsDom(searchValue);
3423
+ }
1302
3424
  return [{
1303
3425
  type: VirtualDomElements.Div,
1304
3426
  className: 'SettingsItems',
1305
3427
  childCount: items.length
1306
- }, ...items.flatMap(getItemNumberVirtualDom)];
3428
+ }, ...items.flatMap(getItemVirtualDom)];
1307
3429
  };
1308
3430
 
1309
- const getSettingsContentDom = (items, tabs) => {
3431
+ const getSettingsContentDom = (items, tabs, searchValue) => {
1310
3432
  const selectedTab = tabs.find(tab => tab.selected);
1311
- const headerText = selectedTab ? selectedTab.label : 'Settings Content';
3433
+ const headerText = selectedTab ? selectedTab.label : settingsContent();
1312
3434
  return [{
1313
3435
  type: VirtualDomElements.Div,
1314
3436
  className: 'SettingsContent',
1315
3437
  childCount: 2
1316
3438
  }, {
1317
3439
  type: VirtualDomElements.H1,
3440
+ className: 'SettingsContentHeading',
1318
3441
  childCount: 1
1319
- }, text(headerText), ...getSettingsItemsDom(items)];
3442
+ }, text(headerText), ...getSettingsItemsDom(items, searchValue)];
1320
3443
  };
1321
3444
 
1322
- // TODo use numeric ids
1323
- const HandleClickClear = 'handleClickClear';
1324
- const HandleClickTab = 'handleClickTab';
1325
- const HandleInput = 'handleInput';
1326
-
1327
3445
  const getTabClassName = tab => {
1328
3446
  return tab.selected ? mergeClassNames('Tab', 'TabSelected') : 'Tab';
1329
3447
  };
@@ -1352,36 +3470,32 @@ const getSettingsTabsDom = tabs => {
1352
3470
  };
1353
3471
 
1354
3472
  const getSettingsSideBarDom = tabs => {
1355
- const sideBarHeading = 'Settings SideBar';
1356
3473
  return [{
1357
3474
  type: VirtualDomElements.Aside,
1358
3475
  className: 'SettingsSideBar',
1359
- childCount: 2
1360
- }, {
1361
- type: VirtualDomElements.H2,
1362
- className: 'SettingsSideBarHeading',
1363
3476
  childCount: 1
1364
- }, text(sideBarHeading), ...getSettingsTabsDom(tabs)];
3477
+ }, ...getSettingsTabsDom(tabs)];
1365
3478
  };
1366
3479
 
1367
- const getSettingsMainDom = (tabs, items) => {
3480
+ const getSettingsMainDom = (tabs, items, searchValue) => {
1368
3481
  return [{
1369
3482
  type: VirtualDomElements.Div,
1370
3483
  className: 'SettingsMain',
1371
3484
  childCount: 2
1372
- }, ...getSettingsSideBarDom(tabs), ...getSettingsContentDom(items, tabs)];
3485
+ }, ...getSettingsSideBarDom(tabs), ...getSettingsContentDom(items, tabs, searchValue)];
1373
3486
  };
1374
3487
 
1375
3488
  const getSettingsDom = state => {
1376
3489
  const {
1377
3490
  tabs,
1378
- filteredItems
3491
+ filteredItems,
3492
+ searchValue
1379
3493
  } = state;
1380
3494
  return [{
1381
3495
  type: VirtualDomElements.Div,
1382
3496
  childCount: 2,
1383
3497
  className: mergeClassNames(Viewlet, Settings)
1384
- }, ...getSettingsHeaderDom(), ...getSettingsMainDom(tabs, filteredItems)];
3498
+ }, ...getSettingsHeaderDom(), ...getSettingsMainDom(tabs, filteredItems, searchValue)];
1385
3499
  };
1386
3500
 
1387
3501
  const renderItems = (oldState, newState) => {
@@ -1389,10 +3503,20 @@ const renderItems = (oldState, newState) => {
1389
3503
  return ['Viewlet.setDom2', newState.id, dom];
1390
3504
  };
1391
3505
 
3506
+ const renderValue = (oldState, newState) => {
3507
+ const {
3508
+ id,
3509
+ searchValue
3510
+ } = newState;
3511
+ return ['Viewlet.setValueByName', id, SettingsSearch, searchValue];
3512
+ };
3513
+
1392
3514
  const getRenderer = diffType => {
1393
3515
  switch (diffType) {
1394
3516
  case RenderItems:
1395
3517
  return renderItems;
3518
+ case RenderValue:
3519
+ return renderValue;
1396
3520
  default:
1397
3521
  throw new Error('unknown renderer');
1398
3522
  }
@@ -1434,42 +3558,6 @@ const renderEventListeners = () => {
1434
3558
  }];
1435
3559
  };
1436
3560
 
1437
- const getSavedMinLineY = savedState => {
1438
- if (savedState && typeof savedState === 'object' && 'minLineY' in savedState && typeof savedState.minLineY === 'number') {
1439
- return savedState.minLineY;
1440
- }
1441
- return 0;
1442
- };
1443
- const getSavedDeltaY = savedState => {
1444
- if (savedState && typeof savedState === 'object' && 'deltaY' in savedState && typeof savedState.deltaY === 'number') {
1445
- return savedState.deltaY;
1446
- }
1447
- return 0;
1448
- };
1449
- const getSavedWorkspacePath = savedState => {
1450
- if (savedState && typeof savedState === 'object' && 'workspacePath' in savedState && typeof savedState.workspacePath === 'string') {
1451
- return savedState.workspacePath;
1452
- }
1453
- return '';
1454
- };
1455
- const restoreState = savedState => {
1456
- if (!savedState) {
1457
- return {
1458
- root: '',
1459
- minLineY: 0,
1460
- deltaY: 0
1461
- };
1462
- }
1463
- const root = getSavedWorkspacePath(savedState);
1464
- const minLineY = getSavedMinLineY(savedState);
1465
- const deltaY = getSavedDeltaY(savedState);
1466
- return {
1467
- root,
1468
- minLineY,
1469
- deltaY
1470
- };
1471
- };
1472
-
1473
3561
  const saveState = state => {
1474
3562
  const {
1475
3563
  tabs,
@@ -1500,7 +3588,7 @@ const commandMap = {
1500
3588
  'Settings.saveState': wrapGetter(saveState),
1501
3589
  'Settings.terminate': terminate,
1502
3590
  'Settings.handleClickTab': wrapCommand(handleClickTab),
1503
- 'Settings.clear': wrapCommand(clear),
3591
+ 'Settings.clear': wrapCommand(clear$1),
1504
3592
  'Settings.handleInput': wrapCommand(handleInput)
1505
3593
  };
1506
3594