@lvce-editor/settings-view 1.21.0 → 2.1.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.
@@ -378,7 +378,7 @@ const create$4 = (method, params) => {
378
378
  };
379
379
  };
380
380
  const callbacks = Object.create(null);
381
- const set$2 = (id, fn) => {
381
+ const set$4 = (id, fn) => {
382
382
  callbacks[id] = fn;
383
383
  };
384
384
  const get$2 = id => {
@@ -397,7 +397,7 @@ const registerPromise = () => {
397
397
  resolve,
398
398
  promise
399
399
  } = Promise.withResolvers();
400
- set$2(id, resolve);
400
+ set$4(id, resolve);
401
401
  return {
402
402
  id,
403
403
  promise
@@ -742,10 +742,10 @@ const send = (transport, method, ...params) => {
742
742
  const message = create$4(method, params);
743
743
  transport.send(message);
744
744
  };
745
- const invoke = (ipc, method, ...params) => {
745
+ const invoke$1 = (ipc, method, ...params) => {
746
746
  return invokeHelper(ipc, method, params, false);
747
747
  };
748
- const invokeAndTransfer = (ipc, method, ...params) => {
748
+ const invokeAndTransfer$1 = (ipc, method, ...params) => {
749
749
  return invokeHelper(ipc, method, params, true);
750
750
  };
751
751
 
@@ -781,10 +781,10 @@ const createRpc = ipc => {
781
781
  send(ipc, method, ...params);
782
782
  },
783
783
  invoke(method, ...params) {
784
- return invoke(ipc, method, ...params);
784
+ return invoke$1(ipc, method, ...params);
785
785
  },
786
786
  invokeAndTransfer(method, ...params) {
787
- return invokeAndTransfer(ipc, method, ...params);
787
+ return invokeAndTransfer$1(ipc, method, ...params);
788
788
  },
789
789
  async dispose() {
790
790
  await ipc?.dispose();
@@ -836,6 +836,25 @@ const WebWorkerRpcClient = {
836
836
  __proto__: null,
837
837
  create: create$3
838
838
  };
839
+ const createMockRpc = ({
840
+ commandMap
841
+ }) => {
842
+ const invocations = [];
843
+ const invoke = (method, ...params) => {
844
+ invocations.push([method, ...params]);
845
+ const command = commandMap[method];
846
+ if (!command) {
847
+ throw new Error(`command ${method} not found`);
848
+ }
849
+ return command(...params);
850
+ };
851
+ const mockRpc = {
852
+ invoke,
853
+ invokeAndTransfer: invoke,
854
+ invocations
855
+ };
856
+ return mockRpc;
857
+ };
839
858
 
840
859
  const toCommandId = key => {
841
860
  const dotIndex = key.indexOf('.');
@@ -921,6 +940,33 @@ const terminate = () => {
921
940
  globalThis.close();
922
941
  };
923
942
 
943
+ const computeScrollBar = (height, totalItemCount, itemHeight, scrollOffset, scrollBarMinHeight) => {
944
+ const totalHeight = totalItemCount * itemHeight;
945
+ const scrollable = Math.max(0, totalHeight - height);
946
+ const thumbTrack = Math.max(0, height);
947
+ const thumbHeight = totalHeight > 0 ? Math.max(scrollBarMinHeight, Math.floor(height / Math.max(totalHeight, 1) * height)) : height;
948
+ const thumbMaxTop = Math.max(0, thumbTrack - thumbHeight);
949
+ const thumbTop = scrollable > 0 ? Math.min(thumbMaxTop, Math.floor(scrollOffset / scrollable * thumbMaxTop)) : 0;
950
+ return {
951
+ thumbHeight,
952
+ thumbTop
953
+ };
954
+ };
955
+
956
+ const computeVisibleItems = (items, height, scrollOffset, itemHeight) => {
957
+ const safeItemHeight = itemHeight <= 0 ? 1 : itemHeight;
958
+ const totalItems = items.length;
959
+ const minLineY = Math.max(0, Math.floor(scrollOffset / safeItemHeight));
960
+ const itemsPerViewport = Math.max(1, Math.ceil(height / safeItemHeight));
961
+ const maxLineY = Math.min(totalItems, minLineY + itemsPerViewport);
962
+ const visibleItems = items.slice(minLineY, maxLineY);
963
+ return {
964
+ maxLineY,
965
+ minLineY,
966
+ visibleItems
967
+ };
968
+ };
969
+
924
970
  const filterBySearch = (items, searchValue) => {
925
971
  if (!searchValue || !searchValue.trim()) {
926
972
  return items;
@@ -948,16 +994,16 @@ const validateSettings = (items, modifiedSettings, preferences) => {
948
994
  const hasError = errorMessage.length > 0;
949
995
  const modified = isItemModified(item, modifiedSettings);
950
996
  return {
951
- id: item.id,
952
- heading: item.heading,
953
- description: item.description,
954
- type: item.type,
955
- value: item.value,
956
997
  category: item.category,
957
- options: item.options,
958
- modified,
998
+ description: item.description,
959
999
  errorMessage,
960
- hasError
1000
+ hasError,
1001
+ heading: item.heading,
1002
+ id: item.id,
1003
+ modified,
1004
+ options: item.options,
1005
+ type: item.type,
1006
+ value: item.value
961
1007
  };
962
1008
  });
963
1009
  };
@@ -976,20 +1022,40 @@ const FocusSettingsInput = 2199;
976
1022
 
977
1023
  const clear$1 = state => {
978
1024
  const {
1025
+ height,
1026
+ itemHeight,
979
1027
  items,
980
- tabs,
981
1028
  modifiedSettings,
982
- preferences
1029
+ preferences,
1030
+ scrollBarMinHeight,
1031
+ tabs
983
1032
  } = state;
984
1033
  const newSearchValue = '';
985
1034
  const filteredItems = getFilteredItems(items, tabs, newSearchValue, modifiedSettings, preferences);
1035
+ const nextScrollOffset = 0;
1036
+ const {
1037
+ maxLineY,
1038
+ minLineY,
1039
+ visibleItems
1040
+ } = computeVisibleItems(filteredItems, height, nextScrollOffset, itemHeight);
1041
+ const {
1042
+ thumbHeight,
1043
+ thumbTop
1044
+ } = computeScrollBar(height, filteredItems.length, itemHeight, nextScrollOffset, scrollBarMinHeight);
986
1045
  return {
987
1046
  ...state,
1047
+ deltaY: 0,
988
1048
  filteredItems,
989
1049
  focus: FocusSettingsInput,
990
1050
  focusSource: Script,
991
1051
  inputSource: Script,
992
- searchValue: newSearchValue
1052
+ maxLineY,
1053
+ minLineY,
1054
+ scrollBarThumbHeight: thumbHeight,
1055
+ scrollBarThumbTop: thumbTop,
1056
+ scrollOffset: nextScrollOffset,
1057
+ searchValue: newSearchValue,
1058
+ visibleItems
993
1059
  };
994
1060
  };
995
1061
 
@@ -1003,10 +1069,10 @@ const clearHistory = state => {
1003
1069
 
1004
1070
  const {
1005
1071
  get: get$1,
1006
- set: set$1,
1007
- wrapCommand,
1008
1072
  getCommandIds,
1009
1073
  registerCommands,
1074
+ set: set$3,
1075
+ wrapCommand,
1010
1076
  wrapGetter
1011
1077
  } = create$2();
1012
1078
 
@@ -1014,36 +1080,36 @@ const create$1 = (id, uri, x, y, width, height) => {
1014
1080
  const state = {
1015
1081
  breakPointsExpanded: false,
1016
1082
  breakPointsVisible: false,
1017
- focus: 0,
1018
- id,
1019
- uri,
1020
- x,
1021
- y,
1022
- width,
1023
- height,
1024
1083
  deltaY: 0,
1025
- itemHeight: 100,
1026
- tabs: [],
1027
- items: [],
1028
- searchValue: '',
1029
1084
  filteredItems: [],
1030
- preferences: {},
1031
- inputSource: 0,
1032
- scrollOffset: 0,
1033
- minLineY: 0,
1034
- maxLineY: 0,
1035
- visibleItems: [],
1036
1085
  filteredItemsCount: 0,
1086
+ focus: 0,
1087
+ focusSource: 0,
1088
+ height,
1089
+ highlightsEnabled: false,
1037
1090
  history: [],
1038
1091
  historyIndex: -1,
1092
+ id,
1093
+ inputSource: 0,
1094
+ itemHeight: 100,
1095
+ items: [],
1096
+ maxLineY: 0,
1097
+ minLineY: 0,
1039
1098
  modifiedSettings: {},
1040
- focusSource: 0,
1099
+ preferences: {},
1041
1100
  scrollBarMinHeight: 0,
1042
1101
  scrollBarThumbHeight: 0,
1043
1102
  scrollBarThumbTop: 0,
1044
- highlightsEnabled: false
1103
+ scrollOffset: 0,
1104
+ searchValue: '',
1105
+ tabs: [],
1106
+ uri,
1107
+ visibleItems: [],
1108
+ width,
1109
+ x,
1110
+ y
1045
1111
  };
1046
- set$1(id, state, state);
1112
+ set$3(id, state, state);
1047
1113
  };
1048
1114
 
1049
1115
  const isEqual$4 = (oldState, newState) => {
@@ -1055,11 +1121,11 @@ const isEqual$3 = (oldState, newState) => {
1055
1121
  };
1056
1122
 
1057
1123
  const isEqual$2 = (oldState, newState) => {
1058
- return newState.inputSource === User || oldState.scrollOffset === newState.scrollOffset;
1124
+ return true;
1059
1125
  };
1060
1126
 
1061
1127
  const isEqual$1 = (oldState, newState) => {
1062
- return oldState.filteredItems === newState.filteredItems;
1128
+ return oldState.filteredItems === newState.filteredItems && oldState.visibleItems === newState.visibleItems;
1063
1129
  };
1064
1130
 
1065
1131
  const RenderItems = 1;
@@ -1094,8 +1160,8 @@ const diff = (oldState, newState) => {
1094
1160
 
1095
1161
  const diff2 = uid => {
1096
1162
  const {
1097
- oldState,
1098
- newState
1163
+ newState,
1164
+ oldState
1099
1165
  } = get$1(uid);
1100
1166
  const diffResult = diff(oldState, newState);
1101
1167
  return diffResult;
@@ -1104,25 +1170,478 @@ const diff2 = uid => {
1104
1170
  const Group = 'group';
1105
1171
  const Tab$1 = 'tab';
1106
1172
  const TabList = 'tablist';
1107
- const AriaRoles = {
1108
- __proto__: null,
1109
- Group,
1110
- Tab: Tab$1,
1111
- TabList};
1173
+
1174
+ const Actions = 'Actions';
1175
+ const AdditionalDetails = 'AdditionalDetails';
1176
+ const AdditionalDetailsEntry = 'AdditionalDetailsEntry';
1177
+ const AdditionalDetailsTitle = 'AdditionalDetailsTitle';
1178
+ const Aside$1 = 'Aside';
1179
+ const Badge$1 = 'Badge';
1180
+ const Button$1 = 'Button';
1181
+ const ButtonPrimary = 'ButtonPrimary';
1182
+ const CallStackArrow = 'CallStackArrow';
1183
+ const CallStackDescription = 'CallStackDescription';
1184
+ const CallStackLabel = 'CallStackLabel';
1185
+ const Categories = 'Categories';
1186
+ const Category = 'Category';
1187
+ const Changelog = 'Changelog';
1188
+ const Chevron = 'Chevron';
1189
+ const CloseMaskIcon = 'MaskIcon MaskIconClose';
1190
+ const CodeGeneratorInput = 'CodeGeneratorInput';
1191
+ const CodeGeneratorMessage = 'CodeGeneratorMessage';
1192
+ const CodeGeneratorWidget = 'CodeGeneratorWidget';
1193
+ const ColoredMaskIcon = 'ColoredMaskIcon';
1194
+ const ColorPicker = 'ColorPicker';
1195
+ const ColorPickerBackgroundColor = 'ColorPickerBackgroundColor';
1196
+ const ColorPickerDark = 'ColorPickerDark';
1197
+ const ColorPickerLight = 'ColorPickerLight';
1198
+ const ColorPickerRectangle = 'ColorPickerRectangle';
1199
+ const ColorPickerSlider = 'ColorPickerSlider';
1200
+ const ColorPickerSliderThumb = 'ColorPickerSliderThumb';
1201
+ const CompletionDetailCloseButton = 'CompletionDetailCloseButton';
1202
+ const CompletionDetailContent = 'CompletionDetailContent';
1203
+ const DebugButton = 'DebugButton';
1204
+ const DebugButtons = 'DebugButtons';
1205
+ const DebugPausedMessage = 'DebugPausedMessage';
1206
+ const DebugPropertyChevron = 'DebugPropertyChevron';
1207
+ const DebugPropertyKey = 'DebugPropertyKey';
1208
+ const DebugRow = 'DebugRow';
1209
+ const DebugRowCallStack = 'DebugRowCallStack';
1210
+ const DebugRowCheckBox = 'DebugRowCheckBox';
1211
+ const DebugRowInputField = 'DebugRowInputField';
1212
+ const DebugSectionAction = 'DebugSectionAction';
1213
+ const DebugSectionActions = 'DebugSectionActions';
1214
+ const DebugSectionHeader = 'DebugSectionHeader';
1215
+ const DebugValue = 'DebugValue';
1216
+ const DebugValueBoolean = 'DebugValueBoolean';
1217
+ const DebugValueFunction = 'DebugValueFunction';
1218
+ const DebugValueGetter = 'DebugValueGetter';
1219
+ const DebugValueNumber = 'DebugValueNumber';
1220
+ const DebugValueObject = 'DebugValueObject';
1221
+ const DebugValueScopeName = 'DebugValueScopeName';
1222
+ const DebugValueString = 'DebugValueString';
1223
+ const DebugValueSymbol = 'DebugValueSymbol';
1224
+ const DebugValueUndefined = 'DebugValueUndefined';
1225
+ const DefaultMarkdown = 'DefaultMarkdown';
1226
+ const DefinitionListItem = 'DefinitionListItem';
1227
+ const DefinitionListItemHeading = 'DefinitionListItemHeading';
1228
+ const DefinitionListItemValue = 'DefinitionListItemValue';
1229
+ const DeleteWatchExpression = 'DeleteWatchExpression';
1230
+ const Diagnostic = 'Diagnostic';
1231
+ const DiagnosticError = 'DiagnosticError';
1232
+ const DiagnosticWarning = 'DiagnosticWarning';
1233
+ const EditorCompletionItem = 'EditorCompletionItem';
1234
+ const EditorCompletionItemDeprecated = 'EditorCompletionItemDeprecated';
1235
+ const EditorCompletionItemFocused = 'EditorCompletionItemFocused';
1236
+ const EditorCompletionItemHighlight = 'EditorCompletionItemHighlight';
1237
+ const EditorCursor = 'EditorCursor';
1238
+ const EditorRow = 'EditorRow';
1239
+ const EditorSelection = 'EditorSelection';
1240
+ const EditorSourceActions = 'EditorSourceActions';
1241
+ const EditorSourceActionsList = 'EditorSourceActionsList';
1242
+ const Empty = '';
1243
+ const ExtensionActions = 'ExtensionActions';
1244
+ const ExtensionActive = 'ExtensionActive';
1245
+ const ExtensionDetail = 'ExtensionDetail';
1246
+ const ExtensionDetailDescription = 'ExtensionDetailDescription';
1247
+ const ExtensionDetailHeader = 'ExtensionDetailHeader';
1248
+ const ExtensionDetailHeaderActions = 'ExtensionDetailHeaderActions';
1249
+ const ExtensionDetailHeaderDetails = 'ExtensionDetailHeaderDetails';
1250
+ const ExtensionDetailIcon = 'ExtensionDetailIcon';
1251
+ const ExtensionDetailName = 'ExtensionDetailName';
1252
+ const ExtensionDetailNameBadge = 'ExtensionDetailNameBadge';
1253
+ const ExtensionDetailPanel = 'ExtensionDetailPanel';
1254
+ const ExtensionDetailTab = 'ExtensionDetailTab';
1255
+ const ExtensionDetailTabs = 'ExtensionDetailTabs';
1256
+ const ExtensionDetailTabSelected = 'ExtensionDetailTabSelected';
1257
+ const ExtensionHeader = 'ExtensionHeader';
1258
+ const ExtensionListItem = 'ExtensionListItem';
1259
+ const ExtensionListItemAuthorName = 'ExtensionListItemAuthorName';
1260
+ const ExtensionListItemDescription = 'ExtensionListItemDescription';
1261
+ const ExtensionListItemDetail = 'ExtensionListItemDetail';
1262
+ const ExtensionListItemFooter = 'ExtensionListItemFooter';
1263
+ const ExtensionListItemIcon = 'ExtensionListItemIcon';
1264
+ const ExtensionListItemName = 'ExtensionListItemName';
1265
+ const Extensions = 'Extensions';
1266
+ const Feature = 'Feature';
1267
+ const FeatureContent = 'FeatureContent';
1268
+ const Features = 'Features';
1269
+ const FeaturesList = 'FeaturesList';
1270
+ const FeatureWebView = 'FeatureWebView';
1271
+ const FileIcon = 'FileIcon';
1272
+ const Filter = 'Filter';
1273
+ const FilterBadge = 'FilterBadge';
1274
+ const FindWidget = 'FindWidget';
1275
+ const FindWidgetFind = 'FindWidgetFind';
1276
+ const FindWidgetMatchCount = 'FindWidgetMatchCount';
1277
+ const FindWidgetMatchCountEmpty = 'FindWidgetMatchCountEmpty';
1278
+ const FindWidgetReplace = 'FindWidgetReplace';
1279
+ const FindWidgetRight = 'FindWidgetRight';
1280
+ const FocusOutline = 'FocusOutline';
1281
+ const Grow = 'Grow';
1282
+ const Highlight = 'Highlight';
1283
+ const HighlightDeleted = 'HighlightDeleted';
1284
+ const HighlightInserted = 'HighlightInserted';
1285
+ const HoverDisplayString = 'HoverDisplayString';
1286
+ const HoverDocumentation = 'HoverDocumentation';
1287
+ const HoverEditorRow = 'HoverEditorRow';
1288
+ const HoverProblem = 'HoverProblem';
1289
+ const HoverProblemDetail = 'HoverProblemDetail';
1290
+ const HoverProblemMessage = 'HoverProblemMessage';
1291
+ const IconButton = 'IconButton';
1292
+ const IconButtonDisabled = 'IconButtonDisabled';
1293
+ const IconClose = 'IconClose';
1294
+ const InputBox$1 = 'InputBox';
1295
+ const InputLabel = 'InputLabel';
1296
+ const InputValidationError = 'InputValidationError';
1297
+ const Label$2 = 'Label';
1298
+ const LabelCut = 'LabelCut';
1299
+ const LabelDetail = 'LabelDetail';
1300
+ const Large = 'Large';
1301
+ const List = 'List';
1302
+ const ListItems = 'ListItems';
1303
+ const Markdown = 'Markdown';
1304
+ const MaskIcon$1 = 'MaskIcon';
1305
+ const MaskIconBook = 'MaskIconBook';
1306
+ const MaskIconCaseSensitive = 'MaskIconCaseSensitive';
1307
+ const MaskIconChevronDown = 'MaskIconChevronDown';
1308
+ const MaskIconChevronRight = 'MaskIconChevronRight';
1309
+ const MaskIconEllipsis = 'MaskIconEllipsis';
1310
+ const MaskIconExclude = 'MaskIconExclude';
1311
+ const MaskIconPreserveCase = 'MaskIconPreserveCase';
1312
+ const MaskIconRegex = 'MaskIconRegex';
1313
+ const MaskIconReplaceAll = 'MaskIconReplaceAll';
1314
+ const MaskIconSymbolFile = 'MaskIconSymbolFile';
1315
+ const MaskIconWholeWord = 'MaskIconWholeWord';
1316
+ const Message = 'Message';
1317
+ const MessageAction = 'MessageAction';
1318
+ const MoreInfo = 'MoreInfo';
1319
+ const MoreInfoEntry = 'MoreInfoEntry';
1320
+ const MoreInfoEntryKey = 'MoreInfoEntryKey';
1321
+ const MoreInfoEntryOdd = 'MoreInfoEntryOdd';
1322
+ const MoreInfoEntryValue = 'MoreInfoEntryValue';
1323
+ const MultilineInputBox = 'MultilineInputBox';
1324
+ const Normal = 'Normal';
1325
+ const Problem = 'Problem';
1326
+ const ProblemAt = 'ProblemAt';
1327
+ const ProblemBadge = 'ProblemBadge';
1328
+ const Problems = 'Problems';
1329
+ const ProblemSelected = 'ProblemSelected';
1330
+ const ProblemsErrorIcon = 'ProblemsErrorIcon';
1331
+ const ProblemsIcon = 'ProblemsIcon';
1332
+ const ProblemsList = 'ProblemsList';
1333
+ const ProblemsTable = 'ProblemsTable';
1334
+ const ProblemsTableBody = 'ProblemsTableBody';
1335
+ const ProblemsTableHeader = 'ProblemsTableHeader';
1336
+ const ProblemsTableRow = 'ProblemsTableRow';
1337
+ const ProblemsTableRowItem = 'ProblemsTableRowItem';
1338
+ const ProblemsTableRowOdd = 'ProblemsTableRowOdd';
1339
+ const ProblemsWarningIcon = 'ProblemsWarningIcon';
1340
+ const QuickPick = 'QuickPick';
1341
+ const QuickPickHeader = 'QuickPickHeader';
1342
+ const QuickPickHighlight = 'QuickPickHighlight';
1343
+ const QuickPickItem = 'QuickPickItem';
1344
+ const QuickPickItemActive = 'QuickPickItemActive';
1345
+ const QuickPickItemDescription = 'QuickPickItemDescription';
1346
+ const QuickPickItemLabel = 'QuickPickItemLabel';
1347
+ const QuickPickItems = 'QuickPickItems';
1348
+ const QuickPickMaskIcon = 'QuickPickMaskIcon';
1349
+ const QuickPickScrollbar = 'QuickPickScrollbar';
1350
+ const QuickPickScrollbarSlider = 'QuickPickScrollbarSlider';
1351
+ const QuickPickStatus = 'QuickPickStatus';
1352
+ const Resource = 'Resource';
1353
+ const Resources = 'Resources';
1354
+ const Sash = 'Sash';
1355
+ const SashVertical = 'SashVertical';
1356
+ const Scrollbar$1 = 'Scrollbar';
1357
+ const ScrollBar = 'ScrollBar';
1358
+ const ScrollBarSmall = 'ScrollBarSmall';
1359
+ const ScrollbarThumb = 'ScrollbarThumb';
1360
+ const ScrollBarThumb = 'ScrollBarThumb';
1361
+ const ScrollBarThumbActive = 'ScrollBarThumbActive';
1362
+ const ScrollbarTrack = 'ScrollbarTrack';
1363
+ const ScrollBarVertical = 'ScrollBarVertical';
1364
+ const Search = 'Search';
1365
+ const SearchField = 'SearchField';
1366
+ const SearchFieldButton$1 = 'SearchFieldButton';
1367
+ const SearchFieldButtonChecked = 'SearchFieldButtonChecked';
1368
+ const SearchFieldButtonDisabled = 'SearchFieldButtonDisabled';
1369
+ const SearchFieldButtons = 'SearchFieldButtons';
1370
+ const SearchFieldContainer = 'SearchFieldContainer';
1371
+ const SearchFieldDisabled = 'SearchFieldDisabled';
1372
+ const SearchFieldError = 'SearchFieldError';
1373
+ const SearchHeader = 'SearchHeader';
1374
+ const SearchHeaderDetails = 'SearchHeaderDetails';
1375
+ const SearchHeaderDetailsExpanded = 'SearchHeaderDetailsExpanded';
1376
+ const SearchHeaderDetailsExpandedTop = 'SearchHeaderDetailsExpandedTop';
1377
+ const SearchHeaderDetailsHeading = 'SearchHeaderDetailsHeading';
1378
+ const SearchHeaderTop = 'SearchHeaderTop';
1379
+ const SearchHeaderTopRight = 'SearchHeaderTopRight';
1380
+ const SearchInputError = 'SearchInputError';
1381
+ const SearchRemove = 'SearchRemove';
1382
+ const SearchToggleButton = 'SearchToggleButton';
1383
+ const SearchToggleButtonExpanded = 'SearchToggleButtonExpanded';
1384
+ const SettingsButton = 'SettingsButton';
1385
+ const SettingsIcon = 'SettingsIcon';
1386
+ const Small = 'Small';
1387
+ const SourceActionHeading = 'SourceActionHeading';
1388
+ const SourceActionIcon = 'SourceActionIcon';
1389
+ const SourceActionItem = 'SourceActionItem';
1390
+ const SourceActionItemFocused = 'SourceActionItemFocused';
1391
+ const SourceControlBadge = 'SourceControlBadge';
1392
+ const Table = 'Table';
1393
+ const TableCell = 'TableCell';
1394
+ const TableHeading = 'TableHeading';
1395
+ const ToggleDetails = 'ToggleDetails';
1396
+ const Tree = 'Tree';
1397
+ const TreeItem = 'TreeItem';
1398
+ const TreeItemActive = 'TreeItemActive';
1399
+ const TreeItems = 'TreeItems';
1112
1400
  const Viewlet$1 = 'Viewlet';
1401
+ const ViewletFind = 'ViewletFind';
1402
+ const ViewletFindWidget = 'ViewletFindWidget';
1403
+ const ViewletSearchMessage = 'ViewletSearchMessage';
1404
+ const ViewletSearchMessageIndented = 'ViewletSearchMessageIndented';
1405
+ const Welcome = 'Welcome';
1406
+ const WelcomeMessage = 'WelcomeMessage';
1407
+
1113
1408
  const ClassNames = {
1114
1409
  __proto__: null,
1115
- Viewlet: Viewlet$1};
1116
- const UpArrow = 14;
1117
- const DownArrow = 16;
1118
- const KeyCode = {
1119
- __proto__: null,
1120
- DownArrow,
1121
- UpArrow
1122
- };
1123
- const mergeClassNames = (...classNames) => {
1124
- return classNames.filter(Boolean).join(' ');
1410
+ Actions,
1411
+ AdditionalDetails,
1412
+ AdditionalDetailsEntry,
1413
+ AdditionalDetailsTitle,
1414
+ Aside: Aside$1,
1415
+ Badge: Badge$1,
1416
+ Button: Button$1,
1417
+ ButtonPrimary,
1418
+ CallStackArrow,
1419
+ CallStackDescription,
1420
+ CallStackLabel,
1421
+ Categories,
1422
+ Category,
1423
+ Changelog,
1424
+ Chevron,
1425
+ CloseMaskIcon,
1426
+ CodeGeneratorInput,
1427
+ CodeGeneratorMessage,
1428
+ CodeGeneratorWidget,
1429
+ ColorPicker,
1430
+ ColorPickerBackgroundColor,
1431
+ ColorPickerDark,
1432
+ ColorPickerLight,
1433
+ ColorPickerRectangle,
1434
+ ColorPickerSlider,
1435
+ ColorPickerSliderThumb,
1436
+ ColoredMaskIcon,
1437
+ CompletionDetailCloseButton,
1438
+ CompletionDetailContent,
1439
+ DebugButton,
1440
+ DebugButtons,
1441
+ DebugPausedMessage,
1442
+ DebugPropertyChevron,
1443
+ DebugPropertyKey,
1444
+ DebugRow,
1445
+ DebugRowCallStack,
1446
+ DebugRowCheckBox,
1447
+ DebugRowInputField,
1448
+ DebugSectionAction,
1449
+ DebugSectionActions,
1450
+ DebugSectionHeader,
1451
+ DebugValue,
1452
+ DebugValueBoolean,
1453
+ DebugValueFunction,
1454
+ DebugValueGetter,
1455
+ DebugValueNumber,
1456
+ DebugValueObject,
1457
+ DebugValueScopeName,
1458
+ DebugValueString,
1459
+ DebugValueSymbol,
1460
+ DebugValueUndefined,
1461
+ DefaultMarkdown,
1462
+ DefinitionListItem,
1463
+ DefinitionListItemHeading,
1464
+ DefinitionListItemValue,
1465
+ DeleteWatchExpression,
1466
+ Diagnostic,
1467
+ DiagnosticError,
1468
+ DiagnosticWarning,
1469
+ EditorCompletionItem,
1470
+ EditorCompletionItemDeprecated,
1471
+ EditorCompletionItemFocused,
1472
+ EditorCompletionItemHighlight,
1473
+ EditorCursor,
1474
+ EditorRow,
1475
+ EditorSelection,
1476
+ EditorSourceActions,
1477
+ EditorSourceActionsList,
1478
+ Empty,
1479
+ ExtensionActions,
1480
+ ExtensionActive,
1481
+ ExtensionDetail,
1482
+ ExtensionDetailDescription,
1483
+ ExtensionDetailHeader,
1484
+ ExtensionDetailHeaderActions,
1485
+ ExtensionDetailHeaderDetails,
1486
+ ExtensionDetailIcon,
1487
+ ExtensionDetailName,
1488
+ ExtensionDetailNameBadge,
1489
+ ExtensionDetailPanel,
1490
+ ExtensionDetailTab,
1491
+ ExtensionDetailTabSelected,
1492
+ ExtensionDetailTabs,
1493
+ ExtensionHeader,
1494
+ ExtensionListItem,
1495
+ ExtensionListItemAuthorName,
1496
+ ExtensionListItemDescription,
1497
+ ExtensionListItemDetail,
1498
+ ExtensionListItemFooter,
1499
+ ExtensionListItemIcon,
1500
+ ExtensionListItemName,
1501
+ Extensions,
1502
+ Feature,
1503
+ FeatureContent,
1504
+ FeatureWebView,
1505
+ Features,
1506
+ FeaturesList,
1507
+ FileIcon,
1508
+ Filter,
1509
+ FilterBadge,
1510
+ FindWidget,
1511
+ FindWidgetFind,
1512
+ FindWidgetMatchCount,
1513
+ FindWidgetMatchCountEmpty,
1514
+ FindWidgetReplace,
1515
+ FindWidgetRight,
1516
+ FocusOutline,
1517
+ Grow,
1518
+ Highlight,
1519
+ HighlightDeleted,
1520
+ HighlightInserted,
1521
+ HoverDisplayString,
1522
+ HoverDocumentation,
1523
+ HoverEditorRow,
1524
+ HoverProblem,
1525
+ HoverProblemDetail,
1526
+ HoverProblemMessage,
1527
+ IconButton,
1528
+ IconButtonDisabled,
1529
+ IconClose,
1530
+ InputBox: InputBox$1,
1531
+ InputLabel,
1532
+ InputValidationError,
1533
+ Label: Label$2,
1534
+ LabelCut,
1535
+ LabelDetail,
1536
+ Large,
1537
+ List,
1538
+ ListItems,
1539
+ Markdown,
1540
+ MaskIcon: MaskIcon$1,
1541
+ MaskIconBook,
1542
+ MaskIconCaseSensitive,
1543
+ MaskIconChevronDown,
1544
+ MaskIconChevronRight,
1545
+ MaskIconEllipsis,
1546
+ MaskIconExclude,
1547
+ MaskIconPreserveCase,
1548
+ MaskIconRegex,
1549
+ MaskIconReplaceAll,
1550
+ MaskIconSymbolFile,
1551
+ MaskIconWholeWord,
1552
+ Message,
1553
+ MessageAction,
1554
+ MoreInfo,
1555
+ MoreInfoEntry,
1556
+ MoreInfoEntryKey,
1557
+ MoreInfoEntryOdd,
1558
+ MoreInfoEntryValue,
1559
+ MultilineInputBox,
1560
+ Normal,
1561
+ Problem,
1562
+ ProblemAt,
1563
+ ProblemBadge,
1564
+ ProblemSelected,
1565
+ Problems,
1566
+ ProblemsErrorIcon,
1567
+ ProblemsIcon,
1568
+ ProblemsList,
1569
+ ProblemsTable,
1570
+ ProblemsTableBody,
1571
+ ProblemsTableHeader,
1572
+ ProblemsTableRow,
1573
+ ProblemsTableRowItem,
1574
+ ProblemsTableRowOdd,
1575
+ ProblemsWarningIcon,
1576
+ QuickPick,
1577
+ QuickPickHeader,
1578
+ QuickPickHighlight,
1579
+ QuickPickItem,
1580
+ QuickPickItemActive,
1581
+ QuickPickItemDescription,
1582
+ QuickPickItemLabel,
1583
+ QuickPickItems,
1584
+ QuickPickMaskIcon,
1585
+ QuickPickScrollbar,
1586
+ QuickPickScrollbarSlider,
1587
+ QuickPickStatus,
1588
+ Resource,
1589
+ Resources,
1590
+ Sash,
1591
+ SashVertical,
1592
+ ScrollBar,
1593
+ ScrollBarSmall,
1594
+ ScrollBarThumb,
1595
+ ScrollBarThumbActive,
1596
+ ScrollBarVertical,
1597
+ Scrollbar: Scrollbar$1,
1598
+ ScrollbarThumb,
1599
+ ScrollbarTrack,
1600
+ Search,
1601
+ SearchField,
1602
+ SearchFieldButton: SearchFieldButton$1,
1603
+ SearchFieldButtonChecked,
1604
+ SearchFieldButtonDisabled,
1605
+ SearchFieldButtons,
1606
+ SearchFieldContainer,
1607
+ SearchFieldDisabled,
1608
+ SearchFieldError,
1609
+ SearchHeader,
1610
+ SearchHeaderDetails,
1611
+ SearchHeaderDetailsExpanded,
1612
+ SearchHeaderDetailsExpandedTop,
1613
+ SearchHeaderDetailsHeading,
1614
+ SearchHeaderTop,
1615
+ SearchHeaderTopRight,
1616
+ SearchInputError,
1617
+ SearchRemove,
1618
+ SearchToggleButton,
1619
+ SearchToggleButtonExpanded,
1620
+ SettingsButton,
1621
+ SettingsIcon,
1622
+ Small,
1623
+ SourceActionHeading,
1624
+ SourceActionIcon,
1625
+ SourceActionItem,
1626
+ SourceActionItemFocused,
1627
+ SourceControlBadge,
1628
+ Table,
1629
+ TableCell,
1630
+ TableHeading,
1631
+ ToggleDetails,
1632
+ Tree,
1633
+ TreeItem,
1634
+ TreeItemActive,
1635
+ TreeItems,
1636
+ Viewlet: Viewlet$1,
1637
+ ViewletFind,
1638
+ ViewletFindWidget,
1639
+ ViewletSearchMessage,
1640
+ ViewletSearchMessageIndented,
1641
+ Welcome,
1642
+ WelcomeMessage
1125
1643
  };
1644
+
1126
1645
  const Button = 1;
1127
1646
  const Div = 4;
1128
1647
  const H1 = 5;
@@ -1135,19 +1654,17 @@ const Ul = 60;
1135
1654
  const Select$1 = 63;
1136
1655
  const Option = 64;
1137
1656
  const Label$1 = 66;
1138
- const VirtualDomElements = {
1139
- __proto__: null,
1140
- Aside,
1141
- Button,
1142
- Div,
1143
- H1,
1144
- H3,
1145
- Input,
1146
- Label: Label$1,
1147
- Option,
1148
- P,
1149
- Select: Select$1,
1150
- Ul};
1657
+
1658
+ const UpArrow = 14;
1659
+ const DownArrow = 16;
1660
+
1661
+ const DebugWorker = 55;
1662
+ const RendererWorker$1 = 1;
1663
+
1664
+ const mergeClassNames = (...classNames) => {
1665
+ return classNames.filter(Boolean).join(' ');
1666
+ };
1667
+
1151
1668
  const text = data => {
1152
1669
  return {
1153
1670
  type: Text,
@@ -1158,12 +1675,12 @@ const text = data => {
1158
1675
 
1159
1676
  const getKeyBindings$1 = () => {
1160
1677
  return [{
1161
- key: KeyCode.UpArrow,
1162
1678
  command: 'Settings.usePreviousSearchValue',
1679
+ key: UpArrow,
1163
1680
  when: FocusSettingsInput
1164
1681
  }, {
1165
- key: KeyCode.DownArrow,
1166
1682
  command: 'Settings.useNextSearchValue',
1683
+ key: DownArrow,
1167
1684
  when: FocusSettingsInput
1168
1685
  }];
1169
1686
  };
@@ -1199,18 +1716,38 @@ const handleClickTab = (state, name) => {
1199
1716
  return state;
1200
1717
  }
1201
1718
  const {
1719
+ height,
1720
+ itemHeight,
1202
1721
  items,
1203
- tabs,
1204
- searchValue,
1205
1722
  modifiedSettings,
1206
- preferences
1723
+ preferences,
1724
+ scrollOffset,
1725
+ searchValue,
1726
+ tabs
1207
1727
  } = state;
1208
1728
  const updatedTabs = getUpdatedTabs(tabs, name);
1209
1729
  const filteredItems = getFilteredItems(items, updatedTabs, searchValue, modifiedSettings, preferences);
1730
+ const {
1731
+ maxLineY,
1732
+ minLineY,
1733
+ visibleItems
1734
+ } = computeVisibleItems(filteredItems, height, scrollOffset, itemHeight);
1735
+ const {
1736
+ scrollBarMinHeight
1737
+ } = state;
1738
+ const {
1739
+ thumbHeight,
1740
+ thumbTop
1741
+ } = computeScrollBar(height, filteredItems.length, itemHeight, scrollOffset, scrollBarMinHeight);
1210
1742
  return {
1211
1743
  ...state,
1744
+ filteredItems,
1745
+ maxLineY,
1746
+ minLineY,
1747
+ scrollBarThumbHeight: thumbHeight,
1748
+ scrollBarThumbTop: thumbTop,
1212
1749
  tabs: updatedTabs,
1213
- filteredItems
1750
+ visibleItems
1214
1751
  };
1215
1752
  };
1216
1753
 
@@ -1277,24 +1814,47 @@ const addToHistory = (history, value) => {
1277
1814
 
1278
1815
  const handleInput = (state, value, inputSource = User) => {
1279
1816
  const {
1280
- items,
1281
- tabs,
1817
+ height,
1282
1818
  history,
1819
+ itemHeight,
1820
+ items,
1283
1821
  modifiedSettings,
1284
- preferences
1822
+ preferences,
1823
+ tabs
1285
1824
  } = state;
1286
1825
  const filteredItems = getFilteredItems(items, tabs, value, modifiedSettings, preferences);
1826
+ // Reset scroll when filter value changes so the user sees results from the top
1827
+ const nextScrollOffset = 0;
1828
+ const {
1829
+ maxLineY,
1830
+ minLineY,
1831
+ visibleItems
1832
+ } = computeVisibleItems(filteredItems, height, nextScrollOffset, itemHeight);
1833
+ const {
1834
+ scrollBarMinHeight
1835
+ } = state;
1836
+ const {
1837
+ thumbHeight,
1838
+ thumbTop
1839
+ } = computeScrollBar(height, filteredItems.length, itemHeight, nextScrollOffset, scrollBarMinHeight);
1287
1840
  const {
1288
1841
  newHistory,
1289
1842
  newHistoryIndex
1290
1843
  } = addToHistory(history, value);
1291
1844
  return {
1292
1845
  ...state,
1293
- searchValue: value,
1846
+ deltaY: 0,
1294
1847
  filteredItems,
1295
1848
  history: newHistory,
1296
1849
  historyIndex: newHistoryIndex,
1297
- inputSource
1850
+ inputSource,
1851
+ maxLineY,
1852
+ minLineY,
1853
+ scrollBarThumbHeight: thumbHeight,
1854
+ scrollBarThumbTop: thumbTop,
1855
+ scrollOffset: nextScrollOffset,
1856
+ searchValue: value,
1857
+ visibleItems
1298
1858
  };
1299
1859
  };
1300
1860
 
@@ -1318,8 +1878,8 @@ const handleInputFocus = state => {
1318
1878
  const handleScroll = (state, scrollTop, inputSource = User) => {
1319
1879
  return {
1320
1880
  ...state,
1321
- scrollOffset: scrollTop,
1322
- inputSource
1881
+ inputSource,
1882
+ scrollOffset: scrollTop
1323
1883
  };
1324
1884
  };
1325
1885
 
@@ -1342,12 +1902,12 @@ const getNewModifiedSettings = (modifiedSettings, name) => {
1342
1902
 
1343
1903
  const handleSettingUpdate = (state, name, value, inputSource) => {
1344
1904
  const {
1345
- modifiedSettings,
1905
+ filteredItems,
1346
1906
  items,
1347
- tabs,
1348
- searchValue,
1907
+ modifiedSettings,
1349
1908
  preferences,
1350
- filteredItems
1909
+ searchValue,
1910
+ tabs
1351
1911
  } = state;
1352
1912
  const newModifiedSettings = getNewModifiedSettings(modifiedSettings, name);
1353
1913
  const newPreferences = {
@@ -1357,8 +1917,8 @@ const handleSettingUpdate = (state, name, value, inputSource) => {
1357
1917
  const newFilteredItems = getNewFilteredItems(modifiedSettings, newModifiedSettings, items, tabs, searchValue, filteredItems, preferences, newPreferences);
1358
1918
  return {
1359
1919
  ...state,
1360
- inputSource,
1361
1920
  filteredItems: newFilteredItems,
1921
+ inputSource,
1362
1922
  preferences: newPreferences
1363
1923
  };
1364
1924
  };
@@ -1408,33 +1968,6 @@ const clamp = (value, min, max) => {
1408
1968
  return value;
1409
1969
  };
1410
1970
 
1411
- const computeScrollBar = (height, totalItemCount, itemHeight, scrollOffset, scrollBarMinHeight) => {
1412
- const totalHeight = totalItemCount * itemHeight;
1413
- const scrollable = Math.max(0, totalHeight - height);
1414
- const thumbTrack = Math.max(0, height);
1415
- const thumbHeight = totalHeight > 0 ? Math.max(scrollBarMinHeight, Math.floor(height / Math.max(totalHeight, 1) * height)) : height;
1416
- const thumbMaxTop = Math.max(0, thumbTrack - thumbHeight);
1417
- const thumbTop = scrollable > 0 ? Math.min(thumbMaxTop, Math.floor(scrollOffset / scrollable * thumbMaxTop)) : 0;
1418
- return {
1419
- thumbHeight,
1420
- thumbTop
1421
- };
1422
- };
1423
-
1424
- const computeVisibleItems = (items, height, scrollOffset, itemHeight) => {
1425
- const safeItemHeight = itemHeight <= 0 ? 1 : itemHeight;
1426
- const totalItems = items.length;
1427
- const minLineY = Math.max(0, Math.floor(scrollOffset / safeItemHeight));
1428
- const itemsPerViewport = Math.max(1, Math.ceil(height / safeItemHeight));
1429
- const maxLineY = Math.min(totalItems, minLineY + itemsPerViewport);
1430
- const visibleItems = items.slice(minLineY, maxLineY);
1431
- return {
1432
- visibleItems,
1433
- minLineY,
1434
- maxLineY
1435
- };
1436
- };
1437
-
1438
1971
  const handleWheel = (state, eventDeltaY, inputSource = User) => {
1439
1972
  const {
1440
1973
  deltaY: deltaY,
@@ -1446,13 +1979,16 @@ const handleWheel = (state, eventDeltaY, inputSource = User) => {
1446
1979
  const stepLimit = itemCount === 0 ? 10 : Number.POSITIVE_INFINITY;
1447
1980
  const limitedEventDelta = Math.max(-stepLimit, Math.min(stepLimit, eventDeltaY));
1448
1981
  const total = deltaY + limitedEventDelta;
1449
- const max = itemCount === 0 ? Number.POSITIVE_INFINITY : Math.max(0, itemCount * itemHeight);
1450
- const clampedDeltaY = clamp(total, 0, max);
1982
+ // Prevent scrolling beyond the available content height. If content is smaller
1983
+ // than the viewport, the maximum scroll is zero.
1984
+ const totalContentHeight = itemCount * itemHeight;
1985
+ const maxScrollable = Math.max(0, totalContentHeight - height);
1986
+ const clampedDeltaY = clamp(total, 0, maxScrollable);
1451
1987
  const scrollOffset = clampedDeltaY;
1452
1988
  const {
1453
- visibleItems,
1989
+ maxLineY,
1454
1990
  minLineY,
1455
- maxLineY
1991
+ visibleItems
1456
1992
  } = computeVisibleItems(filteredItems, height, scrollOffset, itemHeight);
1457
1993
  const {
1458
1994
  scrollBarMinHeight
@@ -1464,13 +2000,13 @@ const handleWheel = (state, eventDeltaY, inputSource = User) => {
1464
2000
  return {
1465
2001
  ...state,
1466
2002
  deltaY: clampedDeltaY,
1467
- scrollOffset,
1468
- visibleItems,
1469
- minLineY,
1470
- maxLineY,
1471
2003
  inputSource,
2004
+ maxLineY,
2005
+ minLineY,
1472
2006
  scrollBarThumbHeight: thumbHeight,
1473
- scrollBarThumbTop: thumbTop
2007
+ scrollBarThumbTop: thumbTop,
2008
+ scrollOffset,
2009
+ visibleItems
1474
2010
  };
1475
2011
  };
1476
2012
 
@@ -1487,15 +2023,13 @@ const getModifiedSettings = preferences => {
1487
2023
  };
1488
2024
 
1489
2025
  const rpcs = Object.create(null);
1490
- const set$g = (id, rpc) => {
2026
+ const set$2 = (id, rpc) => {
1491
2027
  rpcs[id] = rpc;
1492
2028
  };
1493
2029
  const get = id => {
1494
2030
  return rpcs[id];
1495
2031
  };
1496
2032
 
1497
- /* eslint-disable @typescript-eslint/explicit-function-return-type */
1498
-
1499
2033
  const create = rpcId => {
1500
2034
  return {
1501
2035
  // @ts-ignore
@@ -1511,7 +2045,7 @@ const create = rpcId => {
1511
2045
  return rpc.invokeAndTransfer(method, ...params);
1512
2046
  },
1513
2047
  set(rpc) {
1514
- set$g(rpcId, rpc);
2048
+ set$2(rpcId, rpc);
1515
2049
  },
1516
2050
  async dispose() {
1517
2051
  const rpc = get(rpcId);
@@ -1519,268 +2053,281 @@ const create = rpcId => {
1519
2053
  }
1520
2054
  };
1521
2055
  };
1522
- const DebugWorker$1 = 55;
1523
- const RendererWorker$1 = 1;
2056
+
1524
2057
  const {
1525
- invoke: invoke$3,
1526
- invokeAndTransfer: invokeAndTransfer$3,
1527
- set: set$3,
1528
- dispose: dispose$3
2058
+ invoke,
2059
+ invokeAndTransfer,
2060
+ set: set$1,
2061
+ dispose
1529
2062
  } = create(RendererWorker$1);
1530
2063
  const searchFileHtml = async uri => {
1531
- return invoke$3('ExtensionHost.searchFileWithHtml', uri);
2064
+ return invoke('ExtensionHost.searchFileWithHtml', uri);
1532
2065
  };
1533
2066
  const getFilePathElectron = async file => {
1534
- return invoke$3('FileSystemHandle.getFilePathElectron', file);
2067
+ return invoke('FileSystemHandle.getFilePathElectron', file);
1535
2068
  };
1536
2069
  const showContextMenu = async (x, y, id, ...args) => {
1537
- return invoke$3('ContextMenu.show', x, y, id, ...args);
2070
+ return invoke('ContextMenu.show', x, y, id, ...args);
1538
2071
  };
1539
2072
  const getElectronVersion = async () => {
1540
- return invoke$3('Process.getElectronVersion');
2073
+ return invoke('Process.getElectronVersion');
1541
2074
  };
1542
2075
  const applyBulkReplacement = async bulkEdits => {
1543
- await invoke$3('BulkReplacement.applyBulkReplacement', bulkEdits);
2076
+ await invoke('BulkReplacement.applyBulkReplacement', bulkEdits);
1544
2077
  };
1545
2078
  const setColorTheme = async id => {
1546
2079
  // @ts-ignore
1547
- return invoke$3(/* ColorTheme.setColorTheme */'ColorTheme.setColorTheme', /* colorThemeId */id);
2080
+ return invoke(/* ColorTheme.setColorTheme */'ColorTheme.setColorTheme', /* colorThemeId */id);
1548
2081
  };
1549
2082
  const getNodeVersion = async () => {
1550
- return invoke$3('Process.getNodeVersion');
2083
+ return invoke('Process.getNodeVersion');
1551
2084
  };
1552
2085
  const getChromeVersion = async () => {
1553
- return invoke$3('Process.getChromeVersion');
2086
+ return invoke('Process.getChromeVersion');
1554
2087
  };
1555
2088
  const getV8Version = async () => {
1556
- return invoke$3('Process.getV8Version');
2089
+ return invoke('Process.getV8Version');
1557
2090
  };
1558
2091
  const getFileHandles = async fileIds => {
1559
- const files = await invoke$3('FileSystemHandle.getFileHandles', fileIds);
2092
+ const files = await invoke('FileSystemHandle.getFileHandles', fileIds);
1560
2093
  return files;
1561
2094
  };
1562
2095
  const setWorkspacePath = async path => {
1563
- await invoke$3('Workspace.setPath', path);
2096
+ await invoke('Workspace.setPath', path);
1564
2097
  };
1565
2098
  const registerWebViewInterceptor = async (id, port) => {
1566
- await invokeAndTransfer$3('WebView.registerInterceptor', id, port);
2099
+ await invokeAndTransfer('WebView.registerInterceptor', id, port);
1567
2100
  };
1568
2101
  const unregisterWebViewInterceptor = async id => {
1569
- await invoke$3('WebView.unregisterInterceptor', id);
2102
+ await invoke('WebView.unregisterInterceptor', id);
1570
2103
  };
1571
2104
  const sendMessagePortToEditorWorker = async (port, rpcId) => {
1572
2105
  const command = 'HandleMessagePort.handleMessagePort';
1573
2106
  // @ts-ignore
1574
- await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToEditorWorker', port, command, rpcId);
2107
+ await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToEditorWorker', port, command, rpcId);
1575
2108
  };
1576
2109
  const sendMessagePortToErrorWorker = async (port, rpcId) => {
1577
2110
  const command = 'Errors.handleMessagePort';
1578
2111
  // @ts-ignore
1579
- await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToErrorWorker', port, command, rpcId);
2112
+ await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToErrorWorker', port, command, rpcId);
1580
2113
  };
1581
2114
  const sendMessagePortToMarkdownWorker = async (port, rpcId) => {
1582
2115
  const command = 'Markdown.handleMessagePort';
1583
2116
  // @ts-ignore
1584
- await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToMarkdownWorker', port, command, rpcId);
2117
+ await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToMarkdownWorker', port, command, rpcId);
2118
+ };
2119
+ const sendMessagePortToIconThemeWorker = async (port, rpcId) => {
2120
+ const command = 'IconTheme.handleMessagePort';
2121
+ // @ts-ignore
2122
+ await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToIconThemeWorker', port, command, rpcId);
1585
2123
  };
1586
2124
  const sendMessagePortToFileSystemWorker = async (port, rpcId) => {
1587
2125
  const command = 'FileSystem.handleMessagePort';
1588
2126
  // @ts-ignore
1589
- await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToFileSystemWorker', port, command, rpcId);
2127
+ await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToFileSystemWorker', port, command, rpcId);
1590
2128
  };
1591
2129
  const readFile = async uri => {
1592
- return invoke$3('FileSystem.readFile', uri);
2130
+ return invoke('FileSystem.readFile', uri);
1593
2131
  };
1594
2132
  const getWebViewSecret = async key => {
1595
2133
  // @ts-ignore
1596
- return invoke$3('WebView.getSecret', key);
2134
+ return invoke('WebView.getSecret', key);
1597
2135
  };
1598
2136
  const setWebViewPort = async (uid, port, origin, portType) => {
1599
- return invokeAndTransfer$3('WebView.setPort', uid, port, origin, portType);
2137
+ return invokeAndTransfer('WebView.setPort', uid, port, origin, portType);
1600
2138
  };
1601
2139
  const setFocus = key => {
1602
- return invoke$3('Focus.setFocus', key);
2140
+ return invoke('Focus.setFocus', key);
1603
2141
  };
1604
2142
  const getFileIcon = async options => {
1605
- return invoke$3('IconTheme.getFileIcon', options);
2143
+ return invoke('IconTheme.getFileIcon', options);
1606
2144
  };
1607
2145
  const getColorThemeNames = async () => {
1608
- return invoke$3('ColorTheme.getColorThemeNames');
2146
+ return invoke('ColorTheme.getColorThemeNames');
1609
2147
  };
1610
2148
  const disableExtension = async id => {
1611
- return invoke$3('ExtensionManagement.disable', id);
2149
+ // @ts-ignore
2150
+ return invoke('ExtensionManagement.disable', id);
1612
2151
  };
1613
2152
  const enableExtension = async id => {
1614
2153
  // @ts-ignore
1615
- return invoke$3('ExtensionManagement.enable', id);
2154
+ return invoke('ExtensionManagement.enable', id);
1616
2155
  };
1617
2156
  const handleDebugChange = async params => {
1618
2157
  // @ts-ignore
1619
- return invoke$3('Run And Debug.handleChange', params);
2158
+ return invoke('Run And Debug.handleChange', params);
1620
2159
  };
1621
2160
  const getFolderIcon = async options => {
1622
- return invoke$3('IconTheme.getFolderIcon', options);
2161
+ return invoke('IconTheme.getFolderIcon', options);
1623
2162
  };
1624
2163
  const closeWidget = async widgetId => {
1625
- return invoke$3('Viewlet.closeWidget', widgetId);
2164
+ return invoke('Viewlet.closeWidget', widgetId);
1626
2165
  };
1627
2166
  const sendMessagePortToExtensionHostWorker = async (port, rpcId = 0) => {
1628
2167
  const command = 'HandleMessagePort.handleMessagePort2';
1629
- await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker', port, command, rpcId);
2168
+ await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToExtensionHostWorker', port, command, rpcId);
1630
2169
  };
1631
2170
  const sendMessagePortToSearchProcess = async port => {
1632
- await invokeAndTransfer$3('SendMessagePortToElectron.sendMessagePortToElectron', port, 'HandleMessagePortForSearchProcess.handleMessagePortForSearchProcess');
2171
+ await invokeAndTransfer('SendMessagePortToElectron.sendMessagePortToElectron', port, 'HandleMessagePortForSearchProcess.handleMessagePortForSearchProcess');
1633
2172
  };
1634
2173
  const confirm = async (message, options) => {
1635
2174
  // @ts-ignore
1636
- const result = await invoke$3('Confirmprompt.prompt', message, options);
2175
+ const result = await invoke('ConfirmPrompt.prompt', message, options);
1637
2176
  return result;
1638
2177
  };
1639
2178
  const getRecentlyOpened = async () => {
1640
- return invoke$3(/* RecentlyOpened.getRecentlyOpened */'RecentlyOpened.getRecentlyOpened');
2179
+ return invoke(/* RecentlyOpened.getRecentlyOpened */'RecentlyOpened.getRecentlyOpened');
1641
2180
  };
1642
2181
  const getKeyBindings = async () => {
1643
- return invoke$3('KeyBindingsInitial.getKeyBindings');
2182
+ return invoke('KeyBindingsInitial.getKeyBindings');
1644
2183
  };
1645
2184
  const writeClipBoardText = async text => {
1646
- await invoke$3('ClipBoard.writeText', /* text */text);
2185
+ await invoke('ClipBoard.writeText', /* text */text);
1647
2186
  };
1648
2187
  const writeClipBoardImage = async blob => {
1649
2188
  // @ts-ignore
1650
- await invoke$3('ClipBoard.writeImage', /* text */blob);
2189
+ await invoke('ClipBoard.writeImage', /* text */blob);
1651
2190
  };
1652
2191
  const searchFileMemory = async uri => {
1653
2192
  // @ts-ignore
1654
- return invoke$3('ExtensionHost.searchFileWithMemory', uri);
2193
+ return invoke('ExtensionHost.searchFileWithMemory', uri);
1655
2194
  };
1656
2195
  const searchFileFetch = async uri => {
1657
- return invoke$3('ExtensionHost.searchFileWithFetch', uri);
2196
+ return invoke('ExtensionHost.searchFileWithFetch', uri);
1658
2197
  };
1659
2198
  const showMessageBox = async options => {
1660
- return invoke$3('ElectronDialog.showMessageBox', options);
2199
+ return invoke('ElectronDialog.showMessageBox', options);
1661
2200
  };
1662
2201
  const handleDebugResumed = async params => {
1663
- await invoke$3('Run And Debug.handleResumed', params);
2202
+ await invoke('Run And Debug.handleResumed', params);
1664
2203
  };
1665
2204
  const openWidget = async name => {
1666
- await invoke$3('Viewlet.openWidget', name);
2205
+ await invoke('Viewlet.openWidget', name);
1667
2206
  };
1668
2207
  const getIcons = async requests => {
1669
- const icons = await invoke$3('IconTheme.getIcons', requests);
2208
+ const icons = await invoke('IconTheme.getIcons', requests);
1670
2209
  return icons;
1671
2210
  };
1672
2211
  const activateByEvent = event => {
1673
- return invoke$3('ExtensionHostManagement.activateByEvent', event);
2212
+ return invoke('ExtensionHostManagement.activateByEvent', event);
1674
2213
  };
1675
2214
  const setAdditionalFocus = focusKey => {
1676
2215
  // @ts-ignore
1677
- return invoke$3('Focus.setAdditionalFocus', focusKey);
2216
+ return invoke('Focus.setAdditionalFocus', focusKey);
1678
2217
  };
1679
2218
  const getActiveEditorId = () => {
1680
2219
  // @ts-ignore
1681
- return invoke$3('GetActiveEditor.getActiveEditorId');
2220
+ return invoke('GetActiveEditor.getActiveEditorId');
1682
2221
  };
1683
2222
  const getWorkspacePath = () => {
1684
- return invoke$3('Workspace.getPath');
2223
+ return invoke('Workspace.getPath');
1685
2224
  };
1686
2225
  const sendMessagePortToRendererProcess = async port => {
1687
2226
  const command = 'HandleMessagePort.handleMessagePort';
1688
2227
  // @ts-ignore
1689
- await invokeAndTransfer$3('SendMessagePortToExtensionHostWorker.sendMessagePortToRendererProcess', port, command, DebugWorker$1);
2228
+ await invokeAndTransfer('SendMessagePortToExtensionHostWorker.sendMessagePortToRendererProcess', port, command, DebugWorker);
1690
2229
  };
1691
2230
  const getPreference = async key => {
1692
- return await invoke$3('Preferences.get', key);
2231
+ return await invoke('Preferences.get', key);
1693
2232
  };
1694
2233
  const getAllExtensions = async () => {
1695
- return invoke$3('ExtensionManagement.getAllExtensions');
2234
+ return invoke('ExtensionManagement.getAllExtensions');
1696
2235
  };
1697
2236
  const rerenderEditor = async key => {
1698
2237
  // @ts-ignore
1699
- return invoke$3('Editor.rerender', key);
2238
+ return invoke('Editor.rerender', key);
1700
2239
  };
1701
2240
  const handleDebugPaused = async params => {
1702
- await invoke$3('Run And Debug.handlePaused', params);
2241
+ await invoke('Run And Debug.handlePaused', params);
1703
2242
  };
1704
2243
  const openUri = async (uri, focus, options) => {
1705
- await invoke$3('Main.openUri', uri, focus, options);
2244
+ await invoke('Main.openUri', uri, focus, options);
1706
2245
  };
1707
2246
  const sendMessagePortToSyntaxHighlightingWorker = async port => {
1708
- await invokeAndTransfer$3(
2247
+ await invokeAndTransfer(
1709
2248
  // @ts-ignore
1710
2249
  'SendMessagePortToSyntaxHighlightingWorker.sendMessagePortToSyntaxHighlightingWorker', port, 'HandleMessagePort.handleMessagePort2');
1711
2250
  };
1712
2251
  const handleDebugScriptParsed = async script => {
1713
- await invoke$3('Run And Debug.handleScriptParsed', script);
2252
+ await invoke('Run And Debug.handleScriptParsed', script);
1714
2253
  };
1715
2254
  const getWindowId = async () => {
1716
- return invoke$3('GetWindowId.getWindowId');
2255
+ return invoke('GetWindowId.getWindowId');
1717
2256
  };
1718
2257
  const getBlob = async uri => {
1719
2258
  // @ts-ignore
1720
- return invoke$3('FileSystem.getBlob', uri);
2259
+ return invoke('FileSystem.getBlob', uri);
1721
2260
  };
1722
2261
  const getExtensionCommands = async () => {
1723
- return invoke$3('ExtensionHost.getCommands');
2262
+ return invoke('ExtensionHost.getCommands');
1724
2263
  };
1725
2264
  const showErrorDialog = async errorInfo => {
1726
2265
  // @ts-ignore
1727
- await invoke$3('ErrorHandling.showErrorDialog', errorInfo);
2266
+ await invoke('ErrorHandling.showErrorDialog', errorInfo);
1728
2267
  };
1729
2268
  const getFolderSize = async uri => {
1730
2269
  // @ts-ignore
1731
- return await invoke$3('FileSystem.getFolderSize', uri);
2270
+ return await invoke('FileSystem.getFolderSize', uri);
1732
2271
  };
1733
2272
  const getExtension = async id => {
1734
2273
  // @ts-ignore
1735
- return invoke$3('ExtensionManagement.getExtension', id);
2274
+ return invoke('ExtensionManagement.getExtension', id);
1736
2275
  };
1737
2276
  const getMarkdownDom = async html => {
1738
2277
  // @ts-ignore
1739
- return invoke$3('Markdown.getVirtualDom', html);
2278
+ return invoke('Markdown.getVirtualDom', html);
1740
2279
  };
1741
2280
  const renderMarkdown = async (markdown, options) => {
1742
2281
  // @ts-ignore
1743
- return invoke$3('Markdown.renderMarkdown', markdown, options);
2282
+ return invoke('Markdown.renderMarkdown', markdown, options);
1744
2283
  };
1745
2284
  const openNativeFolder = async uri => {
1746
2285
  // @ts-ignore
1747
- await invoke$3('OpenNativeFolder.openNativeFolder', uri);
2286
+ await invoke('OpenNativeFolder.openNativeFolder', uri);
1748
2287
  };
1749
2288
  const uninstallExtension = async id => {
1750
- return invoke$3('ExtensionManagement.uninstall', id);
2289
+ return invoke('ExtensionManagement.uninstall', id);
1751
2290
  };
1752
2291
  const installExtension = async id => {
1753
2292
  // @ts-ignore
1754
- return invoke$3('ExtensionManagement.install', id);
2293
+ return invoke('ExtensionManagement.install', id);
1755
2294
  };
1756
2295
  const openExtensionSearch = async () => {
1757
2296
  // @ts-ignore
1758
- return invoke$3('SideBar.openViewlet', 'Extensions');
2297
+ return invoke('SideBar.openViewlet', 'Extensions');
1759
2298
  };
1760
2299
  const setExtensionsSearchValue = async searchValue => {
1761
2300
  // @ts-ignore
1762
- return invoke$3('Extensions.handleInput', searchValue);
2301
+ return invoke('Extensions.handleInput', searchValue);
1763
2302
  };
1764
2303
  const openExternal = async uri => {
1765
2304
  // @ts-ignore
1766
- await invoke$3('Open.openExternal', uri);
2305
+ await invoke('Open.openExternal', uri);
1767
2306
  };
1768
2307
  const openUrl = async uri => {
1769
2308
  // @ts-ignore
1770
- await invoke$3('Open.openUrl', uri);
2309
+ await invoke('Open.openUrl', uri);
1771
2310
  };
1772
2311
  const getAllPreferences = async () => {
1773
2312
  // @ts-ignore
1774
- return invoke$3('Preferences.getAll');
2313
+ return invoke('Preferences.getAll');
1775
2314
  };
1776
2315
  const showSaveFilePicker = async () => {
1777
2316
  // @ts-ignore
1778
- return invoke$3('FilePicker.showSaveFilePicker');
2317
+ return invoke('FilePicker.showSaveFilePicker');
1779
2318
  };
1780
2319
  const getLogsDir = async () => {
1781
2320
  // @ts-ignore
1782
- return invoke$3('PlatformPaths.getLogsDir');
2321
+ return invoke('PlatformPaths.getLogsDir');
1783
2322
  };
2323
+ const registerMockRpc = commandMap => {
2324
+ const mockRpc = createMockRpc({
2325
+ commandMap
2326
+ });
2327
+ set$1(mockRpc);
2328
+ return mockRpc;
2329
+ };
2330
+
1784
2331
  const RendererWorker = {
1785
2332
  __proto__: null,
1786
2333
  activateByEvent,
@@ -1788,7 +2335,7 @@ const RendererWorker = {
1788
2335
  closeWidget,
1789
2336
  confirm,
1790
2337
  disableExtension,
1791
- dispose: dispose$3,
2338
+ dispose,
1792
2339
  enableExtension,
1793
2340
  getActiveEditorId,
1794
2341
  getAllExtensions,
@@ -1820,8 +2367,8 @@ const RendererWorker = {
1820
2367
  handleDebugResumed,
1821
2368
  handleDebugScriptParsed,
1822
2369
  installExtension,
1823
- invoke: invoke$3,
1824
- invokeAndTransfer: invokeAndTransfer$3,
2370
+ invoke,
2371
+ invokeAndTransfer,
1825
2372
  openExtensionSearch,
1826
2373
  openExternal,
1827
2374
  openNativeFolder,
@@ -1829,6 +2376,7 @@ const RendererWorker = {
1829
2376
  openUrl,
1830
2377
  openWidget,
1831
2378
  readFile,
2379
+ registerMockRpc,
1832
2380
  registerWebViewInterceptor,
1833
2381
  renderMarkdown,
1834
2382
  rerenderEditor,
@@ -1839,11 +2387,12 @@ const RendererWorker = {
1839
2387
  sendMessagePortToErrorWorker,
1840
2388
  sendMessagePortToExtensionHostWorker,
1841
2389
  sendMessagePortToFileSystemWorker,
2390
+ sendMessagePortToIconThemeWorker,
1842
2391
  sendMessagePortToMarkdownWorker,
1843
2392
  sendMessagePortToRendererProcess,
1844
2393
  sendMessagePortToSearchProcess,
1845
2394
  sendMessagePortToSyntaxHighlightingWorker,
1846
- set: set$3,
2395
+ set: set$1,
1847
2396
  setAdditionalFocus,
1848
2397
  setColorTheme,
1849
2398
  setExtensionsSearchValue,
@@ -1862,7 +2411,7 @@ const RendererWorker = {
1862
2411
 
1863
2412
  const getPreferences = async () => {
1864
2413
  try {
1865
- return await RendererWorker.getAllPreferences();
2414
+ return await getAllPreferences();
1866
2415
  } catch {
1867
2416
  return {};
1868
2417
  }
@@ -2966,30 +3515,29 @@ const unknownSettingType = () => {
2966
3515
 
2967
3516
  const getSettingItemsApplications = () => {
2968
3517
  return [{
2969
- id: 'telemetry',
2970
- heading: telemetry(),
3518
+ category: ApplicationsTab,
2971
3519
  description: telemetryDescription(),
3520
+ heading: telemetry(),
3521
+ id: 'telemetry',
2972
3522
  type: Boolean$1,
2973
- value: 'true',
2974
- category: ApplicationsTab
3523
+ value: 'true'
2975
3524
  }, {
2976
- id: 'updates',
2977
- heading: autoUpdates(),
3525
+ category: ApplicationsTab,
2978
3526
  description: autoUpdatesDescription(),
3527
+ heading: autoUpdates(),
3528
+ id: 'updates',
2979
3529
  type: Boolean$1,
2980
- value: 'true',
2981
- category: ApplicationsTab
3530
+ value: 'true'
2982
3531
  }];
2983
3532
  };
2984
3533
 
2985
3534
  const getSettingItemsEditor = () => {
2986
3535
  return [{
2987
- id: 'editor.fontSize',
2988
- heading: fontSize(),
3536
+ category: TextEditorTab,
2989
3537
  description: fontSizeDescription(),
3538
+ heading: fontSize(),
3539
+ id: 'editor.fontSize',
2990
3540
  type: Number$1,
2991
- value: 15,
2992
- category: TextEditorTab,
2993
3541
  validate(value) {
2994
3542
  if (typeof value !== 'number') {
2995
3543
  return 'font size must be of type number';
@@ -3003,91 +3551,91 @@ const getSettingItemsEditor = () => {
3003
3551
  return 'font size must not be greater than 100';
3004
3552
  }
3005
3553
  return '';
3006
- }
3554
+ },
3555
+ value: 15
3007
3556
  }, {
3008
- id: 'editor.fontFamily',
3009
- heading: fontFamily(),
3557
+ category: TextEditorTab,
3010
3558
  description: fontFamilyDescription(),
3559
+ heading: fontFamily(),
3560
+ id: 'editor.fontFamily',
3011
3561
  type: String,
3012
- value: 'Fira Code',
3013
- category: TextEditorTab
3562
+ value: 'Fira Code'
3014
3563
  }, {
3015
- id: 'editor.wordWrap',
3016
- heading: wordWrap(),
3017
- description: wordWrapDescription(),
3018
- type: Enum,
3019
- value: 'off',
3020
3564
  category: TextEditorTab,
3565
+ description: wordWrapDescription(),
3566
+ heading: wordWrap(),
3567
+ id: 'editor.wordWrap',
3021
3568
  options: [{
3022
3569
  id: 'editor.on',
3023
3570
  label: 'On' // i18n
3024
3571
  }, {
3025
3572
  id: 'editor.off',
3026
3573
  label: 'off' // i18n
3027
- }]
3028
- }, {
3029
- id: 'editor.lineNumbers',
3030
- heading: lineNumbers(),
3031
- description: lineNumbersDescription(),
3574
+ }],
3032
3575
  type: Enum,
3033
- value: 'on',
3576
+ value: 'off'
3577
+ }, {
3034
3578
  category: TextEditorTab,
3579
+ description: lineNumbersDescription(),
3580
+ heading: lineNumbers(),
3581
+ id: 'editor.lineNumbers',
3035
3582
  options: [{
3036
3583
  id: 'editor.on',
3037
3584
  label: 'On' // i18n
3038
3585
  }, {
3039
3586
  id: 'editor.off',
3040
3587
  label: 'off' // i18n
3041
- }]
3588
+ }],
3589
+ type: Enum,
3590
+ value: 'on'
3042
3591
  }, {
3043
- id: 'editor.minimap',
3044
- heading: minimap(),
3592
+ category: TextEditorTab,
3045
3593
  description: minimapDescription(),
3594
+ heading: minimap(),
3595
+ id: 'editor.minimap',
3046
3596
  type: Boolean$1,
3047
- value: 'true',
3048
- category: TextEditorTab
3597
+ value: 'true'
3049
3598
  }, {
3050
- id: 'editor.scrollBeyondLastLine',
3051
- heading: scrollBeyondLastLine(),
3599
+ category: TextEditorTab,
3052
3600
  description: scrollBeyondLastLineDescription(),
3601
+ heading: scrollBeyondLastLine(),
3602
+ id: 'editor.scrollBeyondLastLine',
3053
3603
  type: Boolean$1,
3054
- value: 'false',
3055
- category: TextEditorTab
3604
+ value: 'false'
3056
3605
  }, {
3057
- id: 'editor.smoothScrolling',
3058
- heading: smoothScrolling(),
3606
+ category: TextEditorTab,
3059
3607
  description: smoothScrollingDescription(),
3608
+ heading: smoothScrolling(),
3609
+ id: 'editor.smoothScrolling',
3060
3610
  type: Boolean$1,
3061
- value: 'true',
3062
- category: TextEditorTab
3611
+ value: 'true'
3063
3612
  }, {
3064
- id: 'editor.cursorBlinking',
3065
- heading: cursorBlinking(),
3613
+ category: TextEditorTab,
3066
3614
  description: cursorBlinkingDescription(),
3615
+ heading: cursorBlinking(),
3616
+ id: 'editor.cursorBlinking',
3067
3617
  type: String,
3068
- value: 'blink',
3069
- category: TextEditorTab
3618
+ value: 'blink'
3070
3619
  }, {
3071
- id: 'editor.cursorStyle',
3072
- heading: cursorStyle(),
3620
+ category: TextEditorTab,
3073
3621
  description: cursorStyleDescription(),
3622
+ heading: cursorStyle(),
3623
+ id: 'editor.cursorStyle',
3074
3624
  type: String,
3075
- value: 'line',
3076
- category: TextEditorTab
3625
+ value: 'line'
3077
3626
  }, {
3078
- id: 'editor.cursorWidth',
3079
- heading: cursorWidth(),
3627
+ category: TextEditorTab,
3080
3628
  description: cursorWidthDescription(),
3629
+ heading: cursorWidth(),
3630
+ id: 'editor.cursorWidth',
3081
3631
  type: Number$1,
3082
- value: '0',
3083
- category: TextEditorTab
3632
+ value: '0'
3084
3633
  }, {
3085
- id: 'editor.tabSize',
3086
- heading: tabSize(),
3634
+ category: TextEditorTab,
3087
3635
  description: tabSizeDescription(),
3636
+ heading: tabSize(),
3637
+ id: 'editor.tabSize',
3088
3638
  type: Number$1,
3089
- value: '4',
3090
- category: TextEditorTab,
3091
3639
  validate(value) {
3092
3640
  if (typeof value !== 'number') {
3093
3641
  return 'font size must be of type number';
@@ -3101,839 +3649,840 @@ const getSettingItemsEditor = () => {
3101
3649
  return `tab size must not be greater than ${maxTabSize}`;
3102
3650
  }
3103
3651
  return '';
3104
- }
3652
+ },
3653
+ value: '4'
3105
3654
  }, {
3106
- id: 'editor.insertSpaces',
3107
- heading: insertSpaces(),
3655
+ category: TextEditorTab,
3108
3656
  description: insertSpacesDescription(),
3657
+ heading: insertSpaces(),
3658
+ id: 'editor.insertSpaces',
3109
3659
  type: Boolean$1,
3110
- value: 'true',
3111
- category: TextEditorTab
3660
+ value: 'true'
3112
3661
  }, {
3113
- id: 'editor.detectIndentation',
3114
- heading: detectIndentation(),
3662
+ category: TextEditorTab,
3115
3663
  description: detectIndentationDescription(),
3664
+ heading: detectIndentation(),
3665
+ id: 'editor.detectIndentation',
3116
3666
  type: Boolean$1,
3117
- value: 'true',
3118
- category: TextEditorTab
3667
+ value: 'true'
3119
3668
  }, {
3120
- id: 'editor.trimAutoWhitespace',
3121
- heading: trimAutoWhitespace(),
3669
+ category: TextEditorTab,
3122
3670
  description: trimAutoWhitespaceDescription(),
3671
+ heading: trimAutoWhitespace(),
3672
+ id: 'editor.trimAutoWhitespace',
3123
3673
  type: Boolean$1,
3124
- value: 'true',
3125
- category: TextEditorTab
3674
+ value: 'true'
3126
3675
  }, {
3127
- id: 'editor.largeFileOptimizations',
3128
- heading: largeFileOptimizations(),
3676
+ category: TextEditorTab,
3129
3677
  description: largeFileOptimizationsDescription(),
3678
+ heading: largeFileOptimizations(),
3679
+ id: 'editor.largeFileOptimizations',
3130
3680
  type: Boolean$1,
3131
- value: 'true',
3132
- category: TextEditorTab
3681
+ value: 'true'
3133
3682
  }, {
3134
- id: 'editor.renderWhitespace',
3135
- heading: renderWhitespace(),
3683
+ category: TextEditorTab,
3136
3684
  description: renderWhitespaceDescription(),
3685
+ heading: renderWhitespace(),
3686
+ id: 'editor.renderWhitespace',
3137
3687
  type: String,
3138
- value: 'selection',
3139
- category: TextEditorTab
3688
+ value: 'selection'
3140
3689
  }, {
3141
- id: 'editor.renderControlCharacters',
3142
- heading: renderControlCharacters(),
3690
+ category: TextEditorTab,
3143
3691
  description: renderControlCharactersDescription(),
3692
+ heading: renderControlCharacters(),
3693
+ id: 'editor.renderControlCharacters',
3144
3694
  type: Boolean$1,
3145
- value: 'false',
3146
- category: TextEditorTab
3695
+ value: 'false'
3147
3696
  }, {
3148
- id: 'editor.renderLineHighlight',
3149
- heading: renderLineHighlight(),
3697
+ category: TextEditorTab,
3150
3698
  description: renderLineHighlightDescription(),
3699
+ heading: renderLineHighlight(),
3700
+ id: 'editor.renderLineHighlight',
3151
3701
  type: String,
3152
- value: 'line',
3153
- category: TextEditorTab
3702
+ value: 'line'
3154
3703
  }, {
3155
- id: 'editor.codeLens',
3156
- heading: codeLens(),
3704
+ category: TextEditorTab,
3157
3705
  description: codeLensDescription(),
3706
+ heading: codeLens(),
3707
+ id: 'editor.codeLens',
3158
3708
  type: Boolean$1,
3159
- value: 'true',
3160
- category: TextEditorTab
3709
+ value: 'true'
3161
3710
  }, {
3162
- id: 'editor.folding',
3163
- heading: folding(),
3711
+ category: TextEditorTab,
3164
3712
  description: foldingDescription(),
3713
+ heading: folding(),
3714
+ id: 'editor.folding',
3165
3715
  type: Boolean$1,
3166
- value: 'true',
3167
- category: TextEditorTab
3716
+ value: 'true'
3168
3717
  }, {
3169
- id: 'editor.showFoldingControls',
3170
- heading: showFoldingControls(),
3718
+ category: TextEditorTab,
3171
3719
  description: showFoldingControlsDescription(),
3720
+ heading: showFoldingControls(),
3721
+ id: 'editor.showFoldingControls',
3172
3722
  type: String,
3173
- value: 'mouseover',
3174
- category: TextEditorTab
3723
+ value: 'mouseover'
3175
3724
  }, {
3176
- id: 'editor.unfoldOnClickAfterEnd',
3177
- heading: unfoldOnClickAfterEnd(),
3725
+ category: TextEditorTab,
3178
3726
  description: unfoldOnClickAfterEndDescription(),
3727
+ heading: unfoldOnClickAfterEnd(),
3728
+ id: 'editor.unfoldOnClickAfterEnd',
3179
3729
  type: Boolean$1,
3180
- value: 'false',
3181
- category: TextEditorTab
3730
+ value: 'false'
3182
3731
  }, {
3183
- id: 'editor.links',
3184
- heading: links(),
3732
+ category: TextEditorTab,
3185
3733
  description: linksDescription(),
3734
+ heading: links(),
3735
+ id: 'editor.links',
3186
3736
  type: Boolean$1,
3187
- value: 'true',
3188
- category: TextEditorTab
3737
+ value: 'true'
3189
3738
  }, {
3190
- id: 'editor.colorDecorators',
3191
- heading: colorDecorators(),
3739
+ category: TextEditorTab,
3192
3740
  description: colorDecoratorsDescription(),
3741
+ heading: colorDecorators(),
3742
+ id: 'editor.colorDecorators',
3193
3743
  type: Boolean$1,
3194
- value: 'true',
3195
- category: TextEditorTab
3744
+ value: 'true'
3196
3745
  }, {
3197
- id: 'editor.lightbulb',
3198
- heading: lightbulb(),
3746
+ category: TextEditorTab,
3199
3747
  description: lightbulbDescription(),
3748
+ heading: lightbulb(),
3749
+ id: 'editor.lightbulb',
3200
3750
  type: Boolean$1,
3201
- value: 'true',
3202
- category: TextEditorTab
3751
+ value: 'true'
3203
3752
  }, {
3204
- id: 'editor.codeActionsOnSave',
3205
- heading: codeActionsOnSave(),
3753
+ category: TextEditorTab,
3206
3754
  description: codeActionsOnSaveDescription(),
3755
+ heading: codeActionsOnSave(),
3756
+ id: 'editor.codeActionsOnSave',
3207
3757
  type: Boolean$1,
3208
- value: 'false',
3209
- category: TextEditorTab
3758
+ value: 'false'
3210
3759
  }, {
3211
- id: 'editor.formatOnPaste',
3212
- heading: formatOnPaste(),
3760
+ category: TextEditorTab,
3213
3761
  description: formatOnPasteDescription(),
3762
+ heading: formatOnPaste(),
3763
+ id: 'editor.formatOnPaste',
3214
3764
  type: Boolean$1,
3215
- value: 'false',
3216
- category: TextEditorTab
3765
+ value: 'false'
3217
3766
  }, {
3218
- id: 'editor.formatOnType',
3219
- heading: formatOnType(),
3767
+ category: TextEditorTab,
3220
3768
  description: formatOnTypeDescription(),
3769
+ heading: formatOnType(),
3770
+ id: 'editor.formatOnType',
3221
3771
  type: Boolean$1,
3222
- value: 'false',
3223
- category: TextEditorTab
3772
+ value: 'false'
3224
3773
  }, {
3225
- id: 'editor.acceptSuggestionOnCommitCharacter',
3226
- heading: acceptSuggestionOnCommitCharacter(),
3774
+ category: TextEditorTab,
3227
3775
  description: acceptSuggestionOnCommitCharacterDescription(),
3776
+ heading: acceptSuggestionOnCommitCharacter(),
3777
+ id: 'editor.acceptSuggestionOnCommitCharacter',
3228
3778
  type: Boolean$1,
3229
- value: 'true',
3230
- category: TextEditorTab
3779
+ value: 'true'
3231
3780
  }, {
3232
- id: 'editor.acceptSuggestionOnEnter',
3233
- heading: acceptSuggestionOnEnter(),
3781
+ category: TextEditorTab,
3234
3782
  description: acceptSuggestionOnEnterDescription(),
3783
+ heading: acceptSuggestionOnEnter(),
3784
+ id: 'editor.acceptSuggestionOnEnter',
3235
3785
  type: String,
3236
- value: 'on',
3237
- category: TextEditorTab
3786
+ value: 'on'
3238
3787
  }, {
3239
- id: 'editor.tabCompletion',
3240
- heading: tabCompletion(),
3788
+ category: TextEditorTab,
3241
3789
  description: tabCompletionDescription(),
3790
+ heading: tabCompletion(),
3791
+ id: 'editor.tabCompletion',
3242
3792
  type: String,
3243
- value: 'on',
3244
- category: TextEditorTab
3793
+ value: 'on'
3245
3794
  }, {
3246
- id: 'editor.wordBasedSuggestions',
3247
- heading: wordBasedSuggestions(),
3795
+ category: TextEditorTab,
3248
3796
  description: wordBasedSuggestionsDescription(),
3797
+ heading: wordBasedSuggestions(),
3798
+ id: 'editor.wordBasedSuggestions',
3249
3799
  type: Boolean$1,
3250
- value: 'true',
3251
- category: TextEditorTab
3800
+ value: 'true'
3252
3801
  }, {
3253
- id: 'editor.suggestOnTriggerCharacters',
3254
- heading: suggestOnTriggerCharacters(),
3802
+ category: TextEditorTab,
3255
3803
  description: suggestOnTriggerCharactersDescription(),
3804
+ heading: suggestOnTriggerCharacters(),
3805
+ id: 'editor.suggestOnTriggerCharacters',
3256
3806
  type: Boolean$1,
3257
- value: 'true',
3258
- category: TextEditorTab
3807
+ value: 'true'
3259
3808
  }, {
3260
- id: 'editor.quickSuggestions',
3261
- heading: quickSuggestions(),
3809
+ category: TextEditorTab,
3262
3810
  description: quickSuggestionsDescription(),
3811
+ heading: quickSuggestions(),
3812
+ id: 'editor.quickSuggestions',
3263
3813
  type: Boolean$1,
3264
- value: 'true',
3265
- category: TextEditorTab
3814
+ value: 'true'
3266
3815
  }, {
3267
- id: 'editor.parameterHints',
3268
- heading: parameterHints(),
3816
+ category: TextEditorTab,
3269
3817
  description: parameterHintsDescription(),
3818
+ heading: parameterHints(),
3819
+ id: 'editor.parameterHints',
3270
3820
  type: Boolean$1,
3271
- value: 'true',
3272
- category: TextEditorTab
3821
+ value: 'true'
3273
3822
  }, {
3274
- id: 'editor.autoClosingBrackets',
3275
- heading: autoClosingBrackets(),
3823
+ category: TextEditorTab,
3276
3824
  description: autoClosingBracketsDescription(),
3825
+ heading: autoClosingBrackets(),
3826
+ id: 'editor.autoClosingBrackets',
3277
3827
  type: String,
3278
- value: 'always',
3279
- category: TextEditorTab
3828
+ value: 'always'
3280
3829
  }, {
3281
- id: 'editor.autoClosingQuotes',
3282
- heading: autoClosingQuotes(),
3830
+ category: TextEditorTab,
3283
3831
  description: autoClosingQuotesDescription(),
3832
+ heading: autoClosingQuotes(),
3833
+ id: 'editor.autoClosingQuotes',
3284
3834
  type: String,
3285
- value: 'always',
3286
- category: TextEditorTab
3835
+ value: 'always'
3287
3836
  }, {
3288
- id: 'editor.autoClosingOvertype',
3289
- heading: autoClosingOvertype(),
3837
+ category: TextEditorTab,
3290
3838
  description: autoClosingOvertypeDescription(),
3839
+ heading: autoClosingOvertype(),
3840
+ id: 'editor.autoClosingOvertype',
3291
3841
  type: String,
3292
- value: 'auto',
3293
- category: TextEditorTab
3842
+ value: 'auto'
3294
3843
  }, {
3295
- id: 'editor.autoClosingDelete',
3296
- heading: autoClosingDelete(),
3844
+ category: TextEditorTab,
3297
3845
  description: autoClosingDeleteDescription(),
3846
+ heading: autoClosingDelete(),
3847
+ id: 'editor.autoClosingDelete',
3298
3848
  type: String,
3299
- value: 'auto',
3300
- category: TextEditorTab
3849
+ value: 'auto'
3301
3850
  }, {
3302
- id: 'editor.autoSurround',
3303
- heading: autoSurround(),
3851
+ category: TextEditorTab,
3304
3852
  description: autoSurroundDescription(),
3853
+ heading: autoSurround(),
3854
+ id: 'editor.autoSurround',
3305
3855
  type: String,
3306
- value: 'quotes',
3307
- category: TextEditorTab
3856
+ value: 'quotes'
3308
3857
  }, {
3309
- id: 'editor.bracketPairColorization',
3310
- heading: bracketPairColorization(),
3858
+ category: TextEditorTab,
3311
3859
  description: bracketPairColorizationDescription(),
3860
+ heading: bracketPairColorization(),
3861
+ id: 'editor.bracketPairColorization',
3312
3862
  type: Boolean$1,
3313
- value: 'true',
3314
- category: TextEditorTab
3863
+ value: 'true'
3315
3864
  }, {
3316
- id: 'editor.guides',
3317
- heading: guides(),
3865
+ category: TextEditorTab,
3318
3866
  description: guidesDescription(),
3867
+ heading: guides(),
3868
+ id: 'editor.guides',
3319
3869
  type: Boolean$1,
3320
- value: 'true',
3321
- category: TextEditorTab
3870
+ value: 'true'
3322
3871
  }, {
3323
- id: 'editor.dragAndDrop',
3324
- heading: dragAndDrop(),
3872
+ category: TextEditorTab,
3325
3873
  description: dragAndDropDescription(),
3874
+ heading: dragAndDrop(),
3875
+ id: 'editor.dragAndDrop',
3326
3876
  type: Boolean$1,
3327
- value: 'true',
3328
- category: TextEditorTab
3877
+ value: 'true'
3329
3878
  }, {
3330
- id: 'editor.copyWithSyntaxHighlighting',
3331
- heading: copyWithSyntaxHighlighting(),
3879
+ category: TextEditorTab,
3332
3880
  description: copyWithSyntaxHighlightingDescription(),
3881
+ heading: copyWithSyntaxHighlighting(),
3882
+ id: 'editor.copyWithSyntaxHighlighting',
3333
3883
  type: Boolean$1,
3334
- value: 'true',
3335
- category: TextEditorTab
3884
+ value: 'true'
3336
3885
  }, {
3337
- id: 'editor.multiCursorModifier',
3338
- heading: multiCursorModifier(),
3886
+ category: TextEditorTab,
3339
3887
  description: multiCursorModifierDescription(),
3888
+ heading: multiCursorModifier(),
3889
+ id: 'editor.multiCursorModifier',
3340
3890
  type: String,
3341
- value: 'alt',
3342
- category: TextEditorTab
3891
+ value: 'alt'
3343
3892
  }, {
3344
- id: 'editor.multiCursorPaste',
3345
- heading: multiCursorPaste(),
3893
+ category: TextEditorTab,
3346
3894
  description: multiCursorPasteDescription(),
3895
+ heading: multiCursorPaste(),
3896
+ id: 'editor.multiCursorPaste',
3347
3897
  type: String,
3348
- value: 'full',
3349
- category: TextEditorTab
3898
+ value: 'full'
3350
3899
  }, {
3351
- id: 'editor.occurrencesHighlight',
3352
- heading: occurrencesHighlight(),
3900
+ category: TextEditorTab,
3353
3901
  description: occurrencesHighlightDescription(),
3902
+ heading: occurrencesHighlight(),
3903
+ id: 'editor.occurrencesHighlight',
3354
3904
  type: Boolean$1,
3355
- value: 'true',
3356
- category: TextEditorTab
3905
+ value: 'true'
3357
3906
  }, {
3358
- id: 'editor.selectionHighlight',
3359
- heading: selectionHighlight(),
3907
+ category: TextEditorTab,
3360
3908
  description: selectionHighlightDescription(),
3909
+ heading: selectionHighlight(),
3910
+ id: 'editor.selectionHighlight',
3361
3911
  type: Boolean$1,
3362
- value: 'true',
3363
- category: TextEditorTab
3912
+ value: 'true'
3364
3913
  }, {
3365
- id: 'editor.semanticHighlighting',
3366
- heading: semanticHighlighting(),
3914
+ category: TextEditorTab,
3367
3915
  description: semanticHighlightingDescription(),
3916
+ heading: semanticHighlighting(),
3917
+ id: 'editor.semanticHighlighting',
3368
3918
  type: Boolean$1,
3369
- value: 'true',
3370
- category: TextEditorTab
3919
+ value: 'true'
3371
3920
  }, {
3372
- id: 'editor.tokenColorCustomizations',
3373
- heading: tokenColorCustomizations(),
3921
+ category: TextEditorTab,
3374
3922
  description: tokenColorCustomizationsDescription(),
3923
+ heading: tokenColorCustomizations(),
3924
+ id: 'editor.tokenColorCustomizations',
3375
3925
  type: String,
3376
- value: '{}',
3377
- category: TextEditorTab
3926
+ value: '{}'
3378
3927
  }, {
3379
- id: 'editor.workbenchColorCustomizations',
3380
- heading: workbenchColorCustomizations(),
3928
+ category: TextEditorTab,
3381
3929
  description: workbenchColorCustomizationsDescription(),
3930
+ heading: workbenchColorCustomizations(),
3931
+ id: 'editor.workbenchColorCustomizations',
3382
3932
  type: String,
3383
- value: '{}',
3384
- category: TextEditorTab
3933
+ value: '{}'
3385
3934
  }, {
3386
- id: 'editorColorCustomizations',
3387
- heading: editorColorCustomizations(),
3935
+ category: TextEditorTab,
3388
3936
  description: editorColorCustomizationsDescription(),
3937
+ heading: editorColorCustomizations(),
3938
+ id: 'editorColorCustomizations',
3389
3939
  type: String,
3390
- value: '{}',
3391
- category: TextEditorTab
3940
+ value: '{}'
3392
3941
  }, {
3393
- id: 'editor.diffEditor',
3394
- heading: diffEditor(),
3942
+ category: TextEditorTab,
3395
3943
  description: diffEditorDescription(),
3944
+ heading: diffEditor(),
3945
+ id: 'editor.diffEditor',
3396
3946
  type: Boolean$1,
3397
- value: 'true',
3398
- category: TextEditorTab
3947
+ value: 'true'
3399
3948
  }, {
3400
- id: 'editor.diffWordWrap',
3401
- heading: diffWordWrap(),
3949
+ category: TextEditorTab,
3402
3950
  description: diffWordWrapDescription(),
3951
+ heading: diffWordWrap(),
3952
+ id: 'editor.diffWordWrap',
3403
3953
  type: String,
3404
- value: 'inherit',
3405
- category: TextEditorTab
3954
+ value: 'inherit'
3406
3955
  }, {
3407
- id: 'editor.diffCodeLens',
3408
- heading: diffCodeLens(),
3956
+ category: TextEditorTab,
3409
3957
  description: diffCodeLensDescription(),
3958
+ heading: diffCodeLens(),
3959
+ id: 'editor.diffCodeLens',
3410
3960
  type: Boolean$1,
3411
- value: 'true',
3412
- category: TextEditorTab
3961
+ value: 'true'
3413
3962
  }, {
3414
- id: 'editor.diffRenderSideBySide',
3415
- heading: diffRenderSideBySide(),
3963
+ category: TextEditorTab,
3416
3964
  description: diffRenderSideBySideDescription(),
3965
+ heading: diffRenderSideBySide(),
3966
+ id: 'editor.diffRenderSideBySide',
3417
3967
  type: Boolean$1,
3418
- value: 'true',
3419
- category: TextEditorTab
3968
+ value: 'true'
3420
3969
  }, {
3421
- id: 'editor.diffIgnoreTrimWhitespace',
3422
- heading: diffIgnoreTrimWhitespace(),
3970
+ category: TextEditorTab,
3423
3971
  description: diffIgnoreTrimWhitespaceDescription(),
3972
+ heading: diffIgnoreTrimWhitespace(),
3973
+ id: 'editor.diffIgnoreTrimWhitespace',
3424
3974
  type: Boolean$1,
3425
- value: 'false',
3426
- category: TextEditorTab
3975
+ value: 'false'
3427
3976
  }, {
3428
- id: 'editor.diffRenderIndicators',
3429
- heading: diffRenderIndicators(),
3977
+ category: TextEditorTab,
3430
3978
  description: diffRenderIndicatorsDescription(),
3979
+ heading: diffRenderIndicators(),
3980
+ id: 'editor.diffRenderIndicators',
3431
3981
  type: Boolean$1,
3432
- value: 'true',
3433
- category: TextEditorTab
3982
+ value: 'true'
3434
3983
  }, {
3435
- id: 'editor.diffRenderOverviewRuler',
3436
- heading: diffRenderOverviewRuler(),
3984
+ category: TextEditorTab,
3437
3985
  description: diffRenderOverviewRulerDescription(),
3986
+ heading: diffRenderOverviewRuler(),
3987
+ id: 'editor.diffRenderOverviewRuler',
3438
3988
  type: Boolean$1,
3439
- value: 'true',
3440
- category: TextEditorTab
3989
+ value: 'true'
3441
3990
  }, {
3442
- id: 'editor.diffRenderMarginRevertIcon',
3443
- heading: diffRenderMarginRevertIcon(),
3991
+ category: TextEditorTab,
3444
3992
  description: diffRenderMarginRevertIconDescription(),
3993
+ heading: diffRenderMarginRevertIcon(),
3994
+ id: 'editor.diffRenderMarginRevertIcon',
3445
3995
  type: Boolean$1,
3446
- value: 'true',
3447
- category: TextEditorTab
3996
+ value: 'true'
3448
3997
  }, {
3449
- id: 'editor.insertMode',
3450
- heading: insertMode(),
3998
+ category: TextEditorTab,
3451
3999
  description: insertModeDescription(),
4000
+ heading: insertMode(),
4001
+ id: 'editor.insertMode',
3452
4002
  type: Boolean$1,
3453
- value: 'true',
3454
- category: TextEditorTab
4003
+ value: 'true'
3455
4004
  }, {
3456
- id: 'editor.overwriteMode',
3457
- heading: overwriteMode(),
4005
+ category: TextEditorTab,
3458
4006
  description: overwriteModeDescription(),
4007
+ heading: overwriteMode(),
4008
+ id: 'editor.overwriteMode',
3459
4009
  type: Boolean$1,
3460
- value: 'false',
3461
- category: TextEditorTab
4010
+ value: 'false'
3462
4011
  }, {
3463
- id: 'editor.readOnly',
3464
- heading: readOnly(),
4012
+ category: TextEditorTab,
3465
4013
  description: readOnlyDescription(),
4014
+ heading: readOnly(),
4015
+ id: 'editor.readOnly',
3466
4016
  type: Boolean$1,
3467
- value: 'false',
3468
- category: TextEditorTab
4017
+ value: 'false'
3469
4018
  }, {
3470
- id: 'editor.accessibilitySupport',
3471
- heading: accessibilitySupport(),
4019
+ category: TextEditorTab,
3472
4020
  description: accessibilitySupportDescription(),
4021
+ heading: accessibilitySupport(),
4022
+ id: 'editor.accessibilitySupport',
3473
4023
  type: String,
3474
- value: 'auto',
3475
- category: TextEditorTab
4024
+ value: 'auto'
3476
4025
  }, {
3477
- id: 'editor.autoIndent',
3478
- heading: autoIndent(),
4026
+ category: TextEditorTab,
3479
4027
  description: autoIndentDescription(),
4028
+ heading: autoIndent(),
4029
+ id: 'editor.autoIndent',
3480
4030
  type: Boolean$1,
3481
- value: 'true',
3482
- category: TextEditorTab
4031
+ value: 'true'
3483
4032
  }, {
3484
- id: 'editor.bracketMatching',
3485
- heading: bracketMatching(),
4033
+ category: TextEditorTab,
3486
4034
  description: bracketMatchingDescription(),
4035
+ heading: bracketMatching(),
4036
+ id: 'editor.bracketMatching',
3487
4037
  type: Boolean$1,
3488
- value: 'true',
3489
- category: TextEditorTab
4038
+ value: 'true'
3490
4039
  }, {
3491
- id: 'editor.centeredLayout',
3492
- heading: centeredLayout(),
4040
+ category: TextEditorTab,
3493
4041
  description: centeredLayoutDescription(),
4042
+ heading: centeredLayout(),
4043
+ id: 'editor.centeredLayout',
3494
4044
  type: Boolean$1,
3495
- value: 'false',
3496
- category: TextEditorTab
4045
+ value: 'false'
3497
4046
  }, {
3498
- id: 'editor.columnSelection',
3499
- heading: columnSelection(),
4047
+ category: TextEditorTab,
3500
4048
  description: columnSelectionDescription(),
4049
+ heading: columnSelection(),
4050
+ id: 'editor.columnSelection',
3501
4051
  type: Boolean$1,
3502
- value: 'false',
3503
- category: TextEditorTab
4052
+ value: 'false'
3504
4053
  }, {
3505
- id: 'editor.contextmenu',
3506
- heading: contextmenu(),
4054
+ category: TextEditorTab,
3507
4055
  description: contextmenuDescription(),
4056
+ heading: contextmenu(),
4057
+ id: 'editor.contextmenu',
3508
4058
  type: Boolean$1,
3509
- value: 'true',
3510
- category: TextEditorTab
4059
+ value: 'true'
3511
4060
  }, {
3512
- id: 'editor.cursorSmoothCaretAnimation',
3513
- heading: cursorSmoothCaretAnimation(),
4061
+ category: TextEditorTab,
3514
4062
  description: cursorSmoothCaretAnimationDescription(),
4063
+ heading: cursorSmoothCaretAnimation(),
4064
+ id: 'editor.cursorSmoothCaretAnimation',
3515
4065
  type: String,
3516
- value: 'off',
3517
- category: TextEditorTab
4066
+ value: 'off'
3518
4067
  }, {
3519
- id: 'editor.cursorSurroundingLines',
3520
- heading: cursorSurroundingLines(),
4068
+ category: TextEditorTab,
3521
4069
  description: cursorSurroundingLinesDescription(),
4070
+ heading: cursorSurroundingLines(),
4071
+ id: 'editor.cursorSurroundingLines',
3522
4072
  type: Number$1,
3523
- value: '3',
3524
- category: TextEditorTab
4073
+ value: '3'
3525
4074
  }, {
3526
- id: 'editor.cursorSurroundingLinesStyle',
3527
- heading: cursorSurroundingLinesStyle(),
4075
+ category: TextEditorTab,
3528
4076
  description: cursorSurroundingLinesStyleDescription(),
4077
+ heading: cursorSurroundingLinesStyle(),
4078
+ id: 'editor.cursorSurroundingLinesStyle',
3529
4079
  type: String,
3530
- value: 'all',
3531
- category: TextEditorTab
4080
+ value: 'all'
3532
4081
  }, {
3533
- id: 'editor.disableMonospaceOptimizations',
3534
- heading: disableMonospaceOptimizations(),
4082
+ category: TextEditorTab,
3535
4083
  description: disableMonospaceOptimizationsDescription(),
4084
+ heading: disableMonospaceOptimizations(),
4085
+ id: 'editor.disableMonospaceOptimizations',
3536
4086
  type: Boolean$1,
3537
- value: 'false',
3538
- category: TextEditorTab
4087
+ value: 'false'
3539
4088
  }, {
3540
- id: 'editor.emptySelectionClipboard',
3541
- heading: emptySelectionClipboard(),
4089
+ category: TextEditorTab,
3542
4090
  description: emptySelectionClipboardDescription(),
4091
+ heading: emptySelectionClipboard(),
4092
+ id: 'editor.emptySelectionClipboard',
3543
4093
  type: Boolean$1,
3544
- value: 'true',
3545
- category: TextEditorTab
4094
+ value: 'true'
3546
4095
  }, {
3547
- id: 'editor.extraEditorClassName',
3548
- heading: extraEditorClassName(),
4096
+ category: TextEditorTab,
3549
4097
  description: extraEditorClassNameDescription(),
4098
+ heading: extraEditorClassName(),
4099
+ id: 'editor.extraEditorClassName',
3550
4100
  type: String,
3551
- value: '',
3552
- category: TextEditorTab
4101
+ value: ''
3553
4102
  }, {
3554
- id: 'editor.fastScrollSensitivity',
3555
- heading: fastScrollSensitivity(),
4103
+ category: TextEditorTab,
3556
4104
  description: fastScrollSensitivityDescription(),
4105
+ heading: fastScrollSensitivity(),
4106
+ id: 'editor.fastScrollSensitivity',
3557
4107
  type: Number$1,
3558
- value: '5',
3559
- category: TextEditorTab
4108
+ value: '5'
3560
4109
  }, {
3561
- id: 'editor.find',
3562
- heading: find(),
4110
+ category: TextEditorTab,
3563
4111
  description: findDescription(),
4112
+ heading: find(),
4113
+ id: 'editor.find',
3564
4114
  type: Boolean$1,
3565
- value: 'true',
3566
- category: TextEditorTab
4115
+ value: 'true'
3567
4116
  }, {
3568
- id: 'editor.fixedOverflowWidgets',
3569
- heading: fixedOverflowWidgets(),
4117
+ category: TextEditorTab,
3570
4118
  description: fixedOverflowWidgetsDescription(),
4119
+ heading: fixedOverflowWidgets(),
4120
+ id: 'editor.fixedOverflowWidgets',
3571
4121
  type: Boolean$1,
3572
- value: 'false',
3573
- category: TextEditorTab
4122
+ value: 'false'
3574
4123
  }, {
3575
- id: 'editor.foldingStrategy',
3576
- heading: foldingStrategy(),
4124
+ category: TextEditorTab,
3577
4125
  description: foldingStrategyDescription(),
4126
+ heading: foldingStrategy(),
4127
+ id: 'editor.foldingStrategy',
3578
4128
  type: String,
3579
- value: 'auto',
3580
- category: TextEditorTab
4129
+ value: 'auto'
3581
4130
  }, {
3582
- id: 'editor.fontLigatures',
3583
- heading: fontLigatures(),
4131
+ category: TextEditorTab,
3584
4132
  description: fontLigaturesDescription(),
4133
+ heading: fontLigatures(),
4134
+ id: 'editor.fontLigatures',
3585
4135
  type: Boolean$1,
3586
- value: 'false',
3587
- category: TextEditorTab
4136
+ value: 'false'
3588
4137
  }, {
3589
- id: 'editor.glyphMargin',
3590
- heading: glyphMargin(),
4138
+ category: TextEditorTab,
3591
4139
  description: glyphMarginDescription(),
4140
+ heading: glyphMargin(),
4141
+ id: 'editor.glyphMargin',
3592
4142
  type: Boolean$1,
3593
- value: 'true',
3594
- category: TextEditorTab
4143
+ value: 'true'
3595
4144
  }, {
3596
- id: 'editor.gotoLocation',
3597
- heading: gotoLocation(),
4145
+ category: TextEditorTab,
3598
4146
  description: gotoLocationDescription(),
4147
+ heading: gotoLocation(),
4148
+ id: 'editor.gotoLocation',
3599
4149
  type: String,
3600
- value: 'mouse',
3601
- category: TextEditorTab
4150
+ value: 'mouse'
3602
4151
  }, {
3603
- id: 'editor.hideCursorInOverviewRuler',
3604
- heading: hideCursorInOverviewRuler(),
4152
+ category: TextEditorTab,
3605
4153
  description: hideCursorInOverviewRulerDescription(),
4154
+ heading: hideCursorInOverviewRuler(),
4155
+ id: 'editor.hideCursorInOverviewRuler',
3606
4156
  type: Boolean$1,
3607
- value: 'false',
3608
- category: TextEditorTab
4157
+ value: 'false'
3609
4158
  }, {
3610
- id: 'editor.hover',
3611
- heading: hover(),
4159
+ category: TextEditorTab,
3612
4160
  description: hoverDescription(),
4161
+ heading: hover(),
4162
+ id: 'editor.hover',
3613
4163
  type: Boolean$1,
3614
- value: 'true',
3615
- category: TextEditorTab
4164
+ value: 'true'
3616
4165
  }, {
3617
- id: 'editor.inDiffEditor',
3618
- heading: inDiffEditor(),
4166
+ category: TextEditorTab,
3619
4167
  description: inDiffEditorDescription(),
4168
+ heading: inDiffEditor(),
4169
+ id: 'editor.inDiffEditor',
3620
4170
  type: Boolean$1,
3621
- value: 'false',
3622
- category: TextEditorTab
4171
+ value: 'false'
3623
4172
  }, {
3624
- id: 'editor.letterSpacing',
3625
- heading: letterSpacing(),
4173
+ category: TextEditorTab,
3626
4174
  description: letterSpacingDescription(),
4175
+ heading: letterSpacing(),
4176
+ id: 'editor.letterSpacing',
3627
4177
  type: Number$1,
3628
- value: '0',
3629
- category: TextEditorTab
4178
+ value: '0'
3630
4179
  }, {
3631
- id: 'editor.lightbulbEnabled',
3632
- heading: lightbulbEnabled(),
4180
+ category: TextEditorTab,
3633
4181
  description: lightbulbEnabledDescription(),
4182
+ heading: lightbulbEnabled(),
4183
+ id: 'editor.lightbulbEnabled',
3634
4184
  type: Boolean$1,
3635
- value: 'true',
3636
- category: TextEditorTab
4185
+ value: 'true'
3637
4186
  }, {
3638
- id: 'editor.lineDecorationsWidth',
3639
- heading: lineDecorationsWidth(),
4187
+ category: TextEditorTab,
3640
4188
  description: lineDecorationsWidthDescription(),
4189
+ heading: lineDecorationsWidth(),
4190
+ id: 'editor.lineDecorationsWidth',
3641
4191
  type: Number$1,
3642
- value: '10',
3643
- category: TextEditorTab
4192
+ value: '10'
3644
4193
  }, {
3645
- id: 'editor.lineHeight',
3646
- heading: lineHeight(),
4194
+ category: TextEditorTab,
3647
4195
  description: lineHeightDescription(),
4196
+ heading: lineHeight(),
4197
+ id: 'editor.lineHeight',
3648
4198
  type: Number$1,
3649
- value: '0',
3650
- category: TextEditorTab
4199
+ value: '0'
3651
4200
  }, {
3652
- id: 'editor.matchBrackets',
3653
- heading: matchBrackets(),
4201
+ category: TextEditorTab,
3654
4202
  description: matchBracketsDescription(),
4203
+ heading: matchBrackets(),
4204
+ id: 'editor.matchBrackets',
3655
4205
  type: Boolean$1,
3656
- value: 'true',
3657
- category: TextEditorTab
4206
+ value: 'true'
3658
4207
  }, {
3659
- id: 'editor.minimapEnabled',
3660
- heading: minimapEnabled(),
4208
+ category: TextEditorTab,
3661
4209
  description: minimapEnabledDescription(),
4210
+ heading: minimapEnabled(),
4211
+ id: 'editor.minimapEnabled',
3662
4212
  type: Boolean$1,
3663
- value: 'true',
3664
- category: TextEditorTab
4213
+ value: 'true'
3665
4214
  }, {
3666
- id: 'editor.mouseWheelScrollSensitivity',
3667
- heading: mouseWheelScrollSensitivity(),
4215
+ category: TextEditorTab,
3668
4216
  description: mouseWheelScrollSensitivityDescription(),
4217
+ heading: mouseWheelScrollSensitivity(),
4218
+ id: 'editor.mouseWheelScrollSensitivity',
3669
4219
  type: Number$1,
3670
- value: '1',
3671
- category: TextEditorTab
4220
+ value: '1'
3672
4221
  }, {
3673
- id: 'editor.mouseWheelZoom',
3674
- heading: mouseWheelZoom(),
4222
+ category: TextEditorTab,
3675
4223
  description: mouseWheelZoomDescription(),
4224
+ heading: mouseWheelZoom(),
4225
+ id: 'editor.mouseWheelZoom',
3676
4226
  type: Boolean$1,
3677
- value: 'false',
3678
- category: TextEditorTab
4227
+ value: 'false'
3679
4228
  }, {
3680
- id: 'editor.multiCursorMergeOverlapping',
3681
- heading: multiCursorMergeOverlapping(),
4229
+ category: TextEditorTab,
3682
4230
  description: multiCursorMergeOverlappingDescription(),
4231
+ heading: multiCursorMergeOverlapping(),
4232
+ id: 'editor.multiCursorMergeOverlapping',
3683
4233
  type: Boolean$1,
3684
- value: 'true',
3685
- category: TextEditorTab
4234
+ value: 'true'
3686
4235
  }, {
3687
- id: 'editor.overviewRulerBorder',
3688
- heading: overviewRulerBorder(),
4236
+ category: TextEditorTab,
3689
4237
  description: overviewRulerBorderDescription(),
4238
+ heading: overviewRulerBorder(),
4239
+ id: 'editor.overviewRulerBorder',
3690
4240
  type: Boolean$1,
3691
- value: 'true',
3692
- category: TextEditorTab
4241
+ value: 'true'
3693
4242
  }, {
3694
- id: 'editor.overviewRulerLanes',
3695
- heading: overviewRulerLanes(),
4243
+ category: TextEditorTab,
3696
4244
  description: overviewRulerLanesDescription(),
4245
+ heading: overviewRulerLanes(),
4246
+ id: 'editor.overviewRulerLanes',
3697
4247
  type: Number$1,
3698
- value: '3',
3699
- category: TextEditorTab
4248
+ value: '3'
3700
4249
  }, {
3701
- id: 'editor.peekWidgetDefaultFocus',
3702
- heading: peekWidgetDefaultFocus(),
4250
+ category: TextEditorTab,
3703
4251
  description: peekWidgetDefaultFocusDescription(),
4252
+ heading: peekWidgetDefaultFocus(),
4253
+ id: 'editor.peekWidgetDefaultFocus',
3704
4254
  type: String,
3705
- value: 'editor',
3706
- category: TextEditorTab
4255
+ value: 'editor'
3707
4256
  }, {
3708
- id: 'editor.quickSuggestionsDelay',
3709
- heading: quickSuggestionsDelay(),
4257
+ category: TextEditorTab,
3710
4258
  description: quickSuggestionsDelayDescription(),
4259
+ heading: quickSuggestionsDelay(),
4260
+ id: 'editor.quickSuggestionsDelay',
3711
4261
  type: Number$1,
3712
- value: '10',
3713
- category: TextEditorTab
4262
+ value: '10'
3714
4263
  }, {
3715
- id: 'editor.renderFinalNewline',
3716
- heading: renderFinalNewline(),
4264
+ category: TextEditorTab,
3717
4265
  description: renderFinalNewlineDescription(),
4266
+ heading: renderFinalNewline(),
4267
+ id: 'editor.renderFinalNewline',
3718
4268
  type: Boolean$1,
3719
- value: 'true',
3720
- category: TextEditorTab
4269
+ value: 'true'
3721
4270
  }, {
3722
- id: 'editor.renderValidationDecorations',
3723
- heading: renderValidationDecorations(),
4271
+ category: TextEditorTab,
3724
4272
  description: renderValidationDecorationsDescription(),
4273
+ heading: renderValidationDecorations(),
4274
+ id: 'editor.renderValidationDecorations',
3725
4275
  type: Boolean$1,
3726
- value: 'true',
3727
- category: TextEditorTab
4276
+ value: 'true'
3728
4277
  }, {
3729
- id: 'editor.revealHorizontalRightPadding',
3730
- heading: revealHorizontalRightPadding(),
4278
+ category: TextEditorTab,
3731
4279
  description: revealHorizontalRightPaddingDescription(),
4280
+ heading: revealHorizontalRightPadding(),
4281
+ id: 'editor.revealHorizontalRightPadding',
3732
4282
  type: Number$1,
3733
- value: '30',
3734
- category: TextEditorTab
4283
+ value: '30'
3735
4284
  }, {
3736
- id: 'editor.roundedSelection',
3737
- heading: roundedSelection(),
4285
+ category: TextEditorTab,
3738
4286
  description: roundedSelectionDescription(),
4287
+ heading: roundedSelection(),
4288
+ id: 'editor.roundedSelection',
3739
4289
  type: Boolean$1,
3740
- value: 'true',
3741
- category: TextEditorTab
4290
+ value: 'true'
3742
4291
  }, {
3743
- id: 'editor.rulers',
3744
- heading: rulers(),
4292
+ category: TextEditorTab,
3745
4293
  description: rulersDescription(),
4294
+ heading: rulers(),
4295
+ id: 'editor.rulers',
3746
4296
  type: String,
3747
- value: '[]',
3748
- category: TextEditorTab
4297
+ value: '[]'
3749
4298
  }, {
3750
- id: 'editor.scrollBeyondLastColumn',
3751
- heading: scrollBeyondLastColumn(),
4299
+ category: TextEditorTab,
3752
4300
  description: scrollBeyondLastColumnDescription(),
4301
+ heading: scrollBeyondLastColumn(),
4302
+ id: 'editor.scrollBeyondLastColumn',
3753
4303
  type: Number$1,
3754
- value: '5',
3755
- category: TextEditorTab
4304
+ value: '5'
3756
4305
  }, {
3757
- id: 'editor.scrollbar',
3758
- heading: scrollbar(),
4306
+ category: TextEditorTab,
3759
4307
  description: scrollbarDescription(),
4308
+ heading: scrollbar(),
4309
+ id: 'editor.scrollbar',
3760
4310
  type: String,
3761
- value: 'auto',
3762
- category: TextEditorTab
4311
+ value: 'auto'
3763
4312
  }, {
3764
- id: 'editor.scrollPredominantAxis',
3765
- heading: scrollPredominantAxis(),
4313
+ category: TextEditorTab,
3766
4314
  description: scrollPredominantAxisDescription(),
4315
+ heading: scrollPredominantAxis(),
4316
+ id: 'editor.scrollPredominantAxis',
3767
4317
  type: Boolean$1,
3768
- value: 'true',
3769
- category: TextEditorTab
4318
+ value: 'true'
3770
4319
  }, {
3771
- id: 'editor.selectionClipboard',
3772
- heading: selectionClipboard(),
4320
+ category: TextEditorTab,
3773
4321
  description: selectionClipboardDescription(),
4322
+ heading: selectionClipboard(),
4323
+ id: 'editor.selectionClipboard',
3774
4324
  type: Boolean$1,
3775
- value: 'true',
3776
- category: TextEditorTab
4325
+ value: 'true'
3777
4326
  }, {
3778
- id: 'editor.background',
3779
- heading: 'Editor background',
4327
+ category: TextEditorTab,
3780
4328
  description: 'Editor background color',
4329
+ heading: 'Editor background',
4330
+ id: 'editor.background',
3781
4331
  type: Color,
3782
- value: '#567567',
3783
- category: TextEditorTab
4332
+ value: '#567567'
3784
4333
  }, {
3785
- id: 'editor.showUnused',
3786
- heading: showUnused(),
4334
+ category: TextEditorTab,
3787
4335
  description: showUnusedDescription(),
4336
+ heading: showUnused(),
4337
+ id: 'editor.showUnused',
3788
4338
  type: Boolean$1,
3789
- value: 'true',
3790
- category: TextEditorTab
4339
+ value: 'true'
3791
4340
  }, {
3792
- id: 'editor.snippetSuggestions',
3793
- heading: snippetSuggestions(),
4341
+ category: TextEditorTab,
3794
4342
  description: snippetSuggestionsDescription(),
4343
+ heading: snippetSuggestions(),
4344
+ id: 'editor.snippetSuggestions',
3795
4345
  type: String,
3796
- value: 'bottom',
3797
- category: TextEditorTab
4346
+ value: 'bottom'
3798
4347
  }, {
3799
- id: 'editor.suggest',
3800
- heading: suggest(),
4348
+ category: TextEditorTab,
3801
4349
  description: suggestDescription(),
4350
+ heading: suggest(),
4351
+ id: 'editor.suggest',
3802
4352
  type: Boolean$1,
3803
- value: 'true',
3804
- category: TextEditorTab
4353
+ value: 'true'
3805
4354
  }, {
3806
- id: 'editor.suggestFontSize',
3807
- heading: suggestFontSize(),
4355
+ category: TextEditorTab,
3808
4356
  description: suggestFontSizeDescription(),
4357
+ heading: suggestFontSize(),
4358
+ id: 'editor.suggestFontSize',
3809
4359
  type: Number$1,
3810
- value: '0',
3811
- category: TextEditorTab
4360
+ value: '0'
3812
4361
  }, {
3813
- id: 'editor.suggestLineHeight',
3814
- heading: suggestLineHeight(),
4362
+ category: TextEditorTab,
3815
4363
  description: suggestLineHeightDescription(),
4364
+ heading: suggestLineHeight(),
4365
+ id: 'editor.suggestLineHeight',
3816
4366
  type: Number$1,
3817
- value: '0',
3818
- category: TextEditorTab
4367
+ value: '0'
3819
4368
  }, {
3820
- id: 'editor.suggestSelection',
3821
- heading: suggestSelection(),
4369
+ category: TextEditorTab,
3822
4370
  description: suggestSelectionDescription(),
4371
+ heading: suggestSelection(),
4372
+ id: 'editor.suggestSelection',
3823
4373
  type: String,
3824
- value: 'recentlyUsed',
3825
- category: TextEditorTab
4374
+ value: 'recentlyUsed'
3826
4375
  }, {
3827
- id: 'editor.useTabStops',
3828
- heading: useTabStops(),
4376
+ category: TextEditorTab,
3829
4377
  description: useTabStopsDescription(),
4378
+ heading: useTabStops(),
4379
+ id: 'editor.useTabStops',
3830
4380
  type: Boolean$1,
3831
- value: 'true',
3832
- category: TextEditorTab
4381
+ value: 'true'
3833
4382
  }, {
3834
- id: 'editor.wordSeparators',
3835
- heading: wordSeparators(),
4383
+ category: TextEditorTab,
3836
4384
  description: wordSeparatorsDescription(),
4385
+ heading: wordSeparators(),
4386
+ id: 'editor.wordSeparators',
3837
4387
  type: String,
3838
- value: '`~!@#$%^&*()-=+[{]}\\|;:\'",.<>/?',
3839
- category: TextEditorTab
4388
+ value: '`~!@#$%^&*()-=+[{]}\\|;:\'",.<>/?'
3840
4389
  }, {
3841
- id: 'editor.wrappingIndent',
3842
- heading: wrappingIndent(),
4390
+ category: TextEditorTab,
3843
4391
  description: wrappingIndentDescription(),
4392
+ heading: wrappingIndent(),
4393
+ id: 'editor.wrappingIndent',
3844
4394
  type: String,
3845
- value: 'same',
3846
- category: TextEditorTab
4395
+ value: 'same'
3847
4396
  }];
3848
4397
  };
3849
4398
 
3850
4399
  const getSettingItemsExtensions = () => {
3851
4400
  return [{
3852
- id: 'extensionsAutoUpdate',
3853
- heading: autoUpdateExtensions(),
4401
+ category: ExtensionsTab,
3854
4402
  description: autoUpdateExtensionsDescription(),
4403
+ heading: autoUpdateExtensions(),
4404
+ id: 'extensionsAutoUpdate',
3855
4405
  type: Boolean$1,
3856
- value: 'true',
3857
- category: ExtensionsTab
4406
+ value: 'true'
3858
4407
  }, {
3859
- id: 'extensionRecommendations',
3860
- heading: extensionRecommendations(),
4408
+ category: ExtensionsTab,
3861
4409
  description: extensionRecommendationsDescription(),
4410
+ heading: extensionRecommendations(),
4411
+ id: 'extensionRecommendations',
3862
4412
  type: Boolean$1,
3863
- value: 'true',
3864
- category: ExtensionsTab
4413
+ value: 'true'
3865
4414
  }];
3866
4415
  };
3867
4416
 
3868
4417
  const getSettingItemsFeatures = () => {
3869
4418
  return [{
3870
- id: 'autoSave',
3871
- heading: autoSave(),
4419
+ category: FeaturesTab,
3872
4420
  description: autoSaveDescription(),
4421
+ heading: autoSave(),
4422
+ id: 'autoSave',
3873
4423
  type: Boolean$1,
3874
- value: 'true',
3875
- category: FeaturesTab
4424
+ value: 'true'
3876
4425
  }, {
3877
- id: 'formatOnSave',
3878
- heading: formatOnSave(),
4426
+ category: FeaturesTab,
3879
4427
  description: formatOnSaveDescription(),
4428
+ heading: formatOnSave(),
4429
+ id: 'formatOnSave',
3880
4430
  type: Boolean$1,
3881
- value: 'false',
3882
- category: FeaturesTab
4431
+ value: 'false'
3883
4432
  }];
3884
4433
  };
3885
4434
 
3886
4435
  const getSettingItemsSecurity = () => {
3887
4436
  return [{
3888
- id: 'encryption',
3889
- heading: fileEncryption(),
4437
+ category: SecurityTab,
3890
4438
  description: fileEncryptionDescription(),
4439
+ heading: fileEncryption(),
4440
+ id: 'encryption',
3891
4441
  type: Boolean$1,
3892
- value: 'false',
3893
- category: SecurityTab
4442
+ value: 'false'
3894
4443
  }, {
3895
- id: 'twoFactor',
3896
- heading: twoFactorAuth(),
4444
+ category: SecurityTab,
3897
4445
  description: twoFactorAuthDescription(),
4446
+ heading: twoFactorAuth(),
4447
+ id: 'twoFactor',
3898
4448
  type: Boolean$1,
3899
- value: 'false',
3900
- category: SecurityTab
4449
+ value: 'false'
3901
4450
  }];
3902
4451
  };
3903
4452
 
3904
4453
  const getSettingItemsWindow = () => {
3905
4454
  return [{
3906
- id: 'windowTitle',
3907
- heading: windowTitle(),
4455
+ category: WindowTab,
3908
4456
  description: windowTitleDescription(),
4457
+ heading: windowTitle(),
4458
+ id: 'windowTitle',
3909
4459
  type: String,
3910
- value: 'Settings View',
3911
- category: WindowTab
4460
+ value: 'Settings View'
3912
4461
  }, {
3913
- id: 'windowSize',
3914
- heading: windowSize(),
4462
+ category: WindowTab,
3915
4463
  description: windowSizeDescription(),
4464
+ heading: windowSize(),
4465
+ id: 'windowSize',
3916
4466
  type: String,
3917
- value: '1024x768',
3918
- category: WindowTab
4467
+ value: '1024x768'
3919
4468
  }];
3920
4469
  };
3921
4470
 
3922
4471
  const getSettingItemsWorkbench = () => {
3923
4472
  return [{
3924
- id: 'theme',
3925
- heading: theme(),
4473
+ category: WorkbenchTab,
3926
4474
  description: themeDescription(),
4475
+ heading: theme(),
4476
+ id: 'theme',
3927
4477
  type: String,
3928
- value: 'Dark',
3929
- category: WorkbenchTab
4478
+ value: 'Dark'
3930
4479
  }, {
3931
- id: 'sidebarPosition',
3932
- heading: sidebarPosition(),
4480
+ category: WorkbenchTab,
3933
4481
  description: sidebarPositionDescription(),
4482
+ heading: sidebarPosition(),
4483
+ id: 'sidebarPosition',
3934
4484
  type: String,
3935
- value: 'Left',
3936
- category: WorkbenchTab
4485
+ value: 'Left'
3937
4486
  }];
3938
4487
  };
3939
4488
 
@@ -4034,13 +4583,13 @@ const getSavedTabId = savedState => {
4034
4583
  const restoreState = savedState => {
4035
4584
  if (!savedState) {
4036
4585
  return {
4037
- minLineY: 0,
4038
4586
  deltaY: 0,
4039
- tabId: '',
4040
- searchValue: '',
4041
- scrollOffset: 0,
4042
4587
  history: [],
4043
- historyIndex: -1
4588
+ historyIndex: -1,
4589
+ minLineY: 0,
4590
+ scrollOffset: 0,
4591
+ searchValue: '',
4592
+ tabId: ''
4044
4593
  };
4045
4594
  }
4046
4595
  const minLineY = getSavedMinLineY(savedState);
@@ -4051,23 +4600,23 @@ const restoreState = savedState => {
4051
4600
  const history = getSavedHistory(savedState);
4052
4601
  const historyIndex = getSavedHistoryIndex(savedState, history);
4053
4602
  return {
4054
- minLineY,
4055
4603
  deltaY,
4056
- tabId,
4057
- searchValue,
4058
- scrollOffset,
4059
4604
  history,
4060
- historyIndex
4605
+ historyIndex,
4606
+ minLineY,
4607
+ scrollOffset,
4608
+ searchValue,
4609
+ tabId
4061
4610
  };
4062
4611
  };
4063
4612
 
4064
4613
  const loadContent = async (state, savedState) => {
4065
4614
  const {
4066
- searchValue,
4067
- tabId,
4068
- scrollOffset,
4069
4615
  history,
4070
- historyIndex
4616
+ historyIndex,
4617
+ scrollOffset,
4618
+ searchValue,
4619
+ tabId
4071
4620
  } = restoreState(savedState);
4072
4621
  const tabs = getTabs();
4073
4622
  const newTabs = getUpdatedTabs(tabs, tabId);
@@ -4080,9 +4629,9 @@ const loadContent = async (state, savedState) => {
4080
4629
  itemHeight
4081
4630
  } = state;
4082
4631
  const {
4083
- visibleItems,
4632
+ maxLineY,
4084
4633
  minLineY,
4085
- maxLineY
4634
+ visibleItems
4086
4635
  } = computeVisibleItems(filteredItems, height, scrollOffset, itemHeight);
4087
4636
  const {
4088
4637
  scrollBarMinHeight
@@ -4094,20 +4643,20 @@ const loadContent = async (state, savedState) => {
4094
4643
  return {
4095
4644
  ...state,
4096
4645
  filteredItems,
4097
- visibleItems,
4098
- minLineY,
4099
- maxLineY,
4646
+ history,
4647
+ historyIndex,
4100
4648
  inputSource: Script,
4101
4649
  items,
4650
+ maxLineY,
4651
+ minLineY,
4102
4652
  modifiedSettings,
4103
4653
  preferences,
4654
+ scrollBarThumbHeight: thumbHeight,
4655
+ scrollBarThumbTop: thumbTop,
4104
4656
  scrollOffset,
4105
4657
  searchValue,
4106
4658
  tabs: newTabs,
4107
- history,
4108
- historyIndex,
4109
- scrollBarThumbHeight: thumbHeight,
4110
- scrollBarThumbTop: thumbTop
4659
+ visibleItems
4111
4660
  };
4112
4661
  };
4113
4662
 
@@ -4147,8 +4696,12 @@ const SettingsItem = 'SettingsItem';
4147
4696
  const SettingsItemCheckBox = 'SettingsItemCheckBox';
4148
4697
  const SettingsItemHeading = 'SettingsItemHeading';
4149
4698
  const SettingsItems = 'SettingsItems';
4699
+ const SettingsItemWrapper = 'SettingsItemWrapper';
4150
4700
  const SettingsMain = 'SettingsMain';
4151
4701
  const SettingsNoResults = 'SettingsNoResults';
4702
+ const SettingsScrollBar = 'ScrollBar';
4703
+ const SettingsScrollBarSmall = 'ScrollBarSmall';
4704
+ const SettingsScrollBarThumb = 'ScrollBarThumb';
4152
4705
  const SettingsSearchInput = 'SettingsSearchInput';
4153
4706
  const SettingsSideBar = 'SettingsSideBar';
4154
4707
  const SettingsTabs = 'SettingsTabs';
@@ -4161,9 +4714,9 @@ const getSettingsInputBadgeDom = (filteredSettingsCount, hasSearchValue) => {
4161
4714
  }
4162
4715
  const badgeText = matchingSettings(filteredSettingsCount);
4163
4716
  return [{
4164
- type: VirtualDomElements.Div,
4717
+ childCount: 1,
4165
4718
  className: Badge,
4166
- childCount: 1
4719
+ type: Div
4167
4720
  }, text(badgeText)];
4168
4721
  };
4169
4722
 
@@ -4173,7 +4726,6 @@ const HandleClickTab = 'handleClickTab';
4173
4726
  const HandleInput = 'handleInput';
4174
4727
  const HandleSettingInput = 'handleSettingInput';
4175
4728
  const HandleSettingChecked = 'handleSettingChecked';
4176
- const HandleScroll = 'handleScroll';
4177
4729
  const HandleWheel = 'handleWheel';
4178
4730
  const HandleSettingSelect = 'handleSettingSelect';
4179
4731
  const HandleInputFocus = 'handleInputFocus';
@@ -4188,36 +4740,36 @@ const getClearButtonClassName = hasSearchValue => {
4188
4740
  };
4189
4741
 
4190
4742
  const icon = {
4191
- type: VirtualDomElements.Div,
4743
+ childCount: 0,
4192
4744
  className: mergeClassNames(MaskIcon, MaskIconClearAll),
4193
- childCount: 0
4745
+ type: Div
4194
4746
  };
4195
4747
  const getSettingsInputButtonsDom = hasSearchValue => {
4196
4748
  return [{
4197
- type: VirtualDomElements.Button,
4198
- className: getClearButtonClassName(hasSearchValue),
4199
- childCount: 1,
4200
4749
  ariaLabel: clear(),
4201
- name: Clear$1,
4750
+ childCount: 1,
4751
+ className: getClearButtonClassName(hasSearchValue),
4202
4752
  disabled: !hasSearchValue,
4203
- onClick: HandleClickClear
4753
+ name: Clear$1,
4754
+ onClick: HandleClickClear,
4755
+ type: Button
4204
4756
  }, icon];
4205
4757
  };
4206
4758
 
4207
4759
  const getSettingsInputDom = () => {
4208
4760
  const placeholder = searchSettings();
4209
4761
  return [{
4210
- type: VirtualDomElements.Input,
4211
- className: mergeClassNames(InputBox, SettingsSearchInput, 'MultilineInputBox'),
4212
- placeholder,
4762
+ autocapitalize: 'off',
4213
4763
  autocomplete: 'off',
4214
4764
  autocorrect: 'off',
4215
- autocapitalize: 'off',
4216
- spellcheck: false,
4217
4765
  childCount: 0,
4766
+ className: mergeClassNames(InputBox, SettingsSearchInput, 'MultilineInputBox'),
4218
4767
  name: SettingsSearch,
4768
+ onFocus: HandleInputFocus,
4219
4769
  onInput: HandleInput,
4220
- onFocus: HandleInputFocus
4770
+ placeholder,
4771
+ spellcheck: false,
4772
+ type: Input
4221
4773
  }];
4222
4774
  };
4223
4775
 
@@ -4227,24 +4779,47 @@ const getChildCount$1 = hasSearchValue => {
4227
4779
  const getSettingsHeaderDom = (filteredSettingsCount, hasSearchValue) => {
4228
4780
  const childCount = getChildCount$1(hasSearchValue);
4229
4781
  return [{
4230
- type: VirtualDomElements.Div,
4782
+ childCount: 1,
4231
4783
  className: SettingsHeader,
4232
- childCount: 1
4784
+ type: Div
4233
4785
  }, {
4234
- type: VirtualDomElements.Div,
4786
+ childCount,
4235
4787
  className: mergeClassNames(SettingsInputWrapper, 'SearchField'),
4236
- childCount
4788
+ type: Div
4237
4789
  }, ...getSettingsInputDom(), ...getSettingsInputBadgeDom(filteredSettingsCount, hasSearchValue), ...getSettingsInputButtonsDom(hasSearchValue)];
4238
4790
  };
4239
4791
 
4792
+ const getContentHeadingDom = headerText => {
4793
+ return [{
4794
+ childCount: 1,
4795
+ className: SettingsContentHeading,
4796
+ type: H1
4797
+ }, text(headerText)];
4798
+ };
4799
+
4800
+ const parentNode$1 = {
4801
+ childCount: 1,
4802
+ className: mergeClassNames(SettingsScrollBar, SettingsScrollBarSmall),
4803
+ type: Div
4804
+ };
4805
+ const getScrollBarDom = (thumbHeight, thumbTop) => {
4806
+ return [parentNode$1, {
4807
+ childCount: 0,
4808
+ className: SettingsScrollBarThumb,
4809
+ height: `${thumbHeight}px`,
4810
+ top: `${thumbTop}px`,
4811
+ type: Div
4812
+ }];
4813
+ };
4814
+
4240
4815
  const getErrorMessageDom = errorMessage => {
4241
4816
  if (!errorMessage) {
4242
4817
  return [];
4243
4818
  }
4244
4819
  return [{
4245
- type: VirtualDomElements.Div,
4820
+ childCount: 1,
4246
4821
  className: ErrorMessage,
4247
- childCount: 1
4822
+ type: Div
4248
4823
  }, text(errorMessage)];
4249
4824
  };
4250
4825
 
@@ -4253,9 +4828,9 @@ const getInputId = id => {
4253
4828
  };
4254
4829
 
4255
4830
  const parent = {
4256
- type: VirtualDomElements.H3,
4831
+ childCount: 1,
4257
4832
  className: SettingsItemHeading,
4258
- childCount: 1
4833
+ type: H3
4259
4834
  };
4260
4835
  const getItemHeadingDom = heading => {
4261
4836
  return [parent, text(heading)];
@@ -4263,77 +4838,77 @@ const getItemHeadingDom = heading => {
4263
4838
 
4264
4839
  const getItemLabelDom = (domId, label) => {
4265
4840
  return [{
4266
- type: VirtualDomElements.Label,
4267
- htmlFor: domId,
4268
4841
  childCount: 1,
4269
- className: Label
4842
+ className: Label,
4843
+ htmlFor: domId,
4844
+ type: Label$1
4270
4845
  }, text(label)];
4271
4846
  };
4272
4847
 
4273
4848
  const getItemCheckBoxVirtualDom = item => {
4274
4849
  const {
4275
- heading,
4276
4850
  description,
4277
- id,
4278
- modified,
4851
+ errorMessage,
4279
4852
  hasError,
4280
- errorMessage
4853
+ heading,
4854
+ id,
4855
+ modified
4281
4856
  } = item;
4282
4857
  const domId = getInputId(id);
4283
4858
  const checkBoxClassName = hasError ? `${CheckBox} ${InputBoxError}` : CheckBox;
4284
4859
  const errorChildCount = hasError ? 1 : 0;
4285
4860
  return [{
4286
- type: VirtualDomElements.Div,
4287
- className: SettingsItem,
4288
4861
  childCount: 2 + errorChildCount,
4289
- role: AriaRoles.Group,
4290
- 'data-modified': modified
4862
+ className: SettingsItem,
4863
+ 'data-modified': modified,
4864
+ role: Group,
4865
+ type: Div
4291
4866
  }, ...getItemHeadingDom(heading), {
4292
- type: VirtualDomElements.Div,
4867
+ childCount: 2,
4293
4868
  className: SettingsItemCheckBox,
4294
- childCount: 2
4869
+ type: Div
4295
4870
  }, {
4296
- type: VirtualDomElements.Input,
4297
- className: checkBoxClassName,
4298
4871
  childCount: 0,
4872
+ className: checkBoxClassName,
4299
4873
  id: domId,
4300
4874
  inputType: 'checkbox',
4301
4875
  name: id,
4302
- onChange: HandleSettingChecked
4876
+ onChange: HandleSettingChecked,
4877
+ type: Input
4303
4878
  }, ...getItemLabelDom(domId, description), ...getErrorMessageDom(errorMessage)];
4304
4879
  };
4305
4880
 
4306
4881
  const getItemColorVirtualDom = item => {
4307
4882
  const {
4308
- heading,
4309
4883
  description,
4310
- id,
4311
- modified,
4884
+ errorMessage,
4312
4885
  hasError,
4313
- errorMessage
4886
+ heading,
4887
+ id,
4888
+ modified
4314
4889
  } = item;
4315
4890
  const domId = getInputId(id);
4316
4891
  const colorInputClassName = hasError ? mergeClassNames('ColorInput', InputBoxError) : mergeClassNames('ColorInput');
4317
4892
  const errorChildCount = hasError ? 1 : 0;
4318
4893
  return [{
4319
- type: VirtualDomElements.Div,
4320
- className: SettingsItem,
4321
4894
  childCount: 3 + errorChildCount,
4322
- role: AriaRoles.Group,
4323
- 'data-modified': modified
4895
+ className: SettingsItem,
4896
+ 'data-modified': modified,
4897
+ role: Group,
4898
+ type: Div
4324
4899
  }, ...getItemHeadingDom(heading), {
4325
- type: VirtualDomElements.Div,
4900
+ childCount: 2,
4326
4901
  className: SettingsItemCheckBox,
4327
- childCount: 2
4902
+ type: Div
4328
4903
  }, {
4329
- type: VirtualDomElements.Input,
4330
- className: colorInputClassName,
4331
- inputType: 'color',
4332
- placeholder: colorValue(),
4333
4904
  childCount: 0,
4905
+ className: colorInputClassName,
4334
4906
  id: domId,
4907
+ inputType: 'color',
4335
4908
  name: id,
4336
- onInput: HandleSettingInput
4909
+ onInput: HandleSettingInput,
4910
+ placeholder: colorValue(),
4911
+ type: Input
4337
4912
  }, ...getItemLabelDom(domId, description), ...getErrorMessageDom(errorMessage)];
4338
4913
  };
4339
4914
 
@@ -4342,9 +4917,9 @@ const getSettingsModifiedIndicatorDom = isModified => {
4342
4917
  return [];
4343
4918
  }
4344
4919
  return [{
4345
- type: VirtualDomElements.Div,
4920
+ childCount: 0,
4346
4921
  className: ModifiedIndicator,
4347
- childCount: 0
4922
+ type: Div
4348
4923
  }];
4349
4924
  };
4350
4925
 
@@ -4362,31 +4937,31 @@ const getInputClassName = hasError => {
4362
4937
  };
4363
4938
  const getItemNumberVirtualDom = item => {
4364
4939
  const {
4365
- heading,
4366
4940
  description,
4367
- id,
4368
- modified,
4941
+ errorMessage,
4369
4942
  hasError,
4370
- errorMessage
4943
+ heading,
4944
+ id,
4945
+ modified
4371
4946
  } = item;
4372
4947
  const domId = getInputId(id);
4373
4948
  const inputClassName = getInputClassName(hasError);
4374
4949
  const childCount = getChildCount(modified, hasError);
4375
4950
  return [{
4376
- type: VirtualDomElements.Div,
4377
- className: SettingsItem,
4378
4951
  childCount,
4379
- role: AriaRoles.Group,
4380
- 'data-modified': modified
4952
+ className: SettingsItem,
4953
+ 'data-modified': modified,
4954
+ role: Group,
4955
+ type: Div
4381
4956
  }, ...getSettingsModifiedIndicatorDom(modified), ...getItemHeadingDom(heading), ...getItemLabelDom(domId, description), {
4382
- type: VirtualDomElements.Input,
4383
- className: inputClassName,
4384
- inputType: 'number',
4385
- placeholder: numberValue(),
4386
4957
  childCount: 0,
4958
+ className: inputClassName,
4387
4959
  id: domId,
4960
+ inputType: 'number',
4388
4961
  name: id,
4389
- onInput: HandleSettingInput
4962
+ onInput: HandleSettingInput,
4963
+ placeholder: numberValue(),
4964
+ type: Input
4390
4965
  }, ...getErrorMessageDom(errorMessage)];
4391
4966
  };
4392
4967
 
@@ -4396,118 +4971,118 @@ const getOptionDom = option => {
4396
4971
  label
4397
4972
  } = option;
4398
4973
  return [{
4399
- type: VirtualDomElements.Option,
4400
4974
  childCount: 1,
4975
+ type: Option,
4401
4976
  value: id
4402
4977
  }, text(label)];
4403
4978
  };
4404
4979
 
4405
4980
  const getItemSelectVirtualDom = item => {
4406
4981
  const {
4407
- heading,
4408
4982
  description,
4409
- id,
4410
- options,
4983
+ errorMessage,
4411
4984
  hasError,
4412
- errorMessage
4985
+ heading,
4986
+ id,
4987
+ options
4413
4988
  } = item;
4414
4989
  const domId = getInputId(id);
4415
4990
  const selectClassName = hasError ? `${Select} ${InputBoxError}` : Select;
4416
4991
  const errorChildCount = hasError ? 1 : 0;
4417
4992
  return [{
4418
- type: VirtualDomElements.Div,
4419
- className: SettingsItem,
4420
4993
  childCount: 3 + errorChildCount,
4421
- role: AriaRoles.Group
4994
+ className: SettingsItem,
4995
+ role: Group,
4996
+ type: Div
4422
4997
  }, ...getItemHeadingDom(heading), ...getItemLabelDom(domId, description), {
4423
- type: VirtualDomElements.Select,
4424
- className: selectClassName,
4425
4998
  childCount: options?.length || 0,
4999
+ className: selectClassName,
4426
5000
  id: domId,
4427
5001
  name: id,
4428
- onChange: HandleSettingSelect
5002
+ onChange: HandleSettingSelect,
5003
+ type: Select$1
4429
5004
  }, ...(options?.flatMap(getOptionDom) || []), ...getErrorMessageDom(errorMessage)];
4430
5005
  };
4431
5006
 
4432
5007
  const getItemStringVirtualDom = item => {
4433
5008
  const {
4434
- heading,
4435
5009
  description,
4436
- id,
5010
+ errorMessage,
4437
5011
  hasError,
4438
- errorMessage
5012
+ heading,
5013
+ id
4439
5014
  } = item;
4440
5015
  const domId = getInputId(id);
4441
5016
  const inputClassName = hasError ? `${InputBox} ${InputBoxError}` : InputBox;
4442
5017
  const errorChildCount = hasError ? 1 : 0;
4443
5018
  return [{
4444
- type: VirtualDomElements.Div,
4445
- className: SettingsItem,
4446
5019
  childCount: 3 + errorChildCount,
4447
- role: AriaRoles.Group
5020
+ className: SettingsItem,
5021
+ role: Group,
5022
+ type: Div
4448
5023
  }, ...getItemHeadingDom(heading), ...getItemLabelDom(domId, description), {
4449
- type: VirtualDomElements.Input,
4450
- className: inputClassName,
4451
- inputType: 'text',
4452
- placeholder: stringValue(),
4453
5024
  childCount: 0,
5025
+ className: inputClassName,
4454
5026
  id: domId,
5027
+ inputType: 'text',
4455
5028
  name: id,
4456
- onInput: HandleSettingInput
5029
+ onInput: HandleSettingInput,
5030
+ placeholder: stringValue(),
5031
+ type: Input
4457
5032
  }, ...getErrorMessageDom(errorMessage)];
4458
5033
  };
4459
5034
 
4460
5035
  const getItemUnknownVirtualDom = () => {
4461
5036
  return [{
4462
- type: VirtualDomElements.Div,
4463
- className: SettingsItem,
4464
5037
  childCount: 1,
4465
- role: AriaRoles.Group
5038
+ className: SettingsItem,
5039
+ role: Group,
5040
+ type: Div
4466
5041
  }, text(unknownSettingType())];
4467
5042
  };
4468
5043
 
4469
5044
  const getItemUrlVirtualDom = item => {
4470
5045
  const {
4471
- heading,
4472
5046
  description,
4473
- id,
4474
- modified,
5047
+ errorMessage,
4475
5048
  hasError,
4476
- errorMessage
5049
+ heading,
5050
+ id,
5051
+ modified
4477
5052
  } = item;
4478
5053
  const domId = getInputId(id);
4479
5054
  const inputClassName = hasError ? `${InputBox} ${InputBoxError}` : InputBox;
4480
5055
  const errorChildCount = hasError ? 1 : 0;
4481
5056
  return [{
4482
- type: VirtualDomElements.Div,
4483
- className: SettingsItem,
4484
5057
  childCount: 3 + errorChildCount,
4485
- role: AriaRoles.Group,
4486
- 'data-modified': modified
5058
+ className: SettingsItem,
5059
+ 'data-modified': modified,
5060
+ role: Group,
5061
+ type: Div
4487
5062
  }, ...getItemHeadingDom(heading), ...getItemLabelDom(domId, description), {
4488
- type: VirtualDomElements.Input,
4489
- className: inputClassName,
4490
- inputType: 'url',
4491
- placeholder: numberValue(),
4492
5063
  childCount: 0,
5064
+ className: inputClassName,
4493
5065
  id: domId,
5066
+ inputType: 'url',
4494
5067
  name: id,
4495
- onInput: HandleSettingInput
5068
+ onInput: HandleSettingInput,
5069
+ placeholder: numberValue(),
5070
+ type: Input
4496
5071
  }, ...getErrorMessageDom(errorMessage)];
4497
5072
  };
4498
5073
 
4499
5074
  const getItemRender = type => {
4500
5075
  switch (type) {
4501
- case Number$1:
4502
- return getItemNumberVirtualDom;
4503
5076
  case Boolean$1:
4504
5077
  return getItemCheckBoxVirtualDom;
4505
- case String:
4506
- return getItemStringVirtualDom;
4507
- case Enum:
4508
- return getItemSelectVirtualDom;
4509
5078
  case Color:
4510
5079
  return getItemColorVirtualDom;
5080
+ case Enum:
5081
+ return getItemSelectVirtualDom;
5082
+ case Number$1:
5083
+ return getItemNumberVirtualDom;
5084
+ case String:
5085
+ return getItemStringVirtualDom;
4511
5086
  case Url:
4512
5087
  return getItemUrlVirtualDom;
4513
5088
  default:
@@ -4522,13 +5097,13 @@ const getItemVirtualDom = item => {
4522
5097
 
4523
5098
  const getSettingsNoResultsDom = searchValue => {
4524
5099
  return [{
4525
- type: VirtualDomElements.Div,
5100
+ childCount: 1,
4526
5101
  className: SettingsItems,
4527
- childCount: 1
5102
+ type: Div
4528
5103
  }, {
4529
- type: VirtualDomElements.P,
5104
+ childCount: 1,
4530
5105
  className: SettingsNoResults,
4531
- childCount: 1
5106
+ type: P
4532
5107
  }, text(noSettingsMatching(searchValue))];
4533
5108
  };
4534
5109
 
@@ -4537,25 +5112,25 @@ const getSettingsItemsDom = (items, searchValue) => {
4537
5112
  return getSettingsNoResultsDom(searchValue);
4538
5113
  }
4539
5114
  return [{
4540
- type: VirtualDomElements.Div,
5115
+ childCount: items.length,
4541
5116
  className: SettingsItems,
4542
- childCount: items.length
5117
+ type: Div
4543
5118
  }, ...items.flatMap(getItemVirtualDom)];
4544
5119
  };
4545
5120
 
4546
- const getSettingsContentDom = (items, tabs, searchValue) => {
5121
+ const getSettingsContentDom = (visibleItems, tabs, searchValue, thumbHeight, thumbTop) => {
4547
5122
  const selectedTab = tabs.find(tab => tab.selected);
4548
5123
  const headerText = selectedTab ? selectedTab.label : settingsContent();
4549
5124
  return [{
4550
- type: VirtualDomElements.Div,
5125
+ childCount: 2,
4551
5126
  className: SettingsContent,
5127
+ onWheel: HandleWheel,
5128
+ type: Div
5129
+ }, ...getContentHeadingDom(headerText), {
4552
5130
  childCount: 2,
4553
- onScroll: HandleScroll
4554
- }, {
4555
- type: VirtualDomElements.H1,
4556
- className: SettingsContentHeading,
4557
- childCount: 1
4558
- }, text(headerText), ...getSettingsItemsDom(items, searchValue)];
5131
+ className: SettingsItemWrapper,
5132
+ type: Div
5133
+ }, ...getSettingsItemsDom(visibleItems, searchValue), ...getScrollBarDom(thumbHeight, thumbTop)];
4559
5134
  };
4560
5135
 
4561
5136
  const getTabClassName = tab => {
@@ -4565,55 +5140,59 @@ const getTabClassName = tab => {
4565
5140
  const getTabVirtualDom = tab => {
4566
5141
  const className = getTabClassName(tab);
4567
5142
  return [{
4568
- type: VirtualDomElements.Button,
4569
- className,
5143
+ ariaSelected: tab.selected,
4570
5144
  childCount: 1,
4571
- role: AriaRoles.Tab,
4572
- name: tab.id,
5145
+ className,
4573
5146
  id: tab.id,
4574
- ariaSelected: tab.selected
5147
+ name: tab.id,
5148
+ role: Tab$1,
5149
+ type: Button
4575
5150
  }, text(tab.label)];
4576
5151
  };
4577
5152
 
4578
5153
  const getSettingsTabsDom = tabs => {
4579
5154
  return [{
4580
- type: VirtualDomElements.Ul,
4581
- className: SettingsTabs,
4582
- role: AriaRoles.TabList,
4583
5155
  childCount: tabs.length,
4584
- onClick: HandleClickTab
5156
+ className: SettingsTabs,
5157
+ onClick: HandleClickTab,
5158
+ role: TabList,
5159
+ type: Ul
4585
5160
  }, ...tabs.flatMap(getTabVirtualDom)];
4586
5161
  };
4587
5162
 
4588
5163
  const getSettingsSideBarDom = tabs => {
4589
5164
  return [{
4590
- type: VirtualDomElements.Aside,
5165
+ childCount: 1,
4591
5166
  className: SettingsSideBar,
4592
- childCount: 1
5167
+ type: Aside
4593
5168
  }, ...getSettingsTabsDom(tabs)];
4594
5169
  };
4595
5170
 
4596
- const getSettingsMainDom = (tabs, items, searchValue) => {
5171
+ const getSettingsMainDom = (tabs, visibleItems, totalItemCount, searchValue, thumbHeight, thumbTop) => {
4597
5172
  return [{
4598
- type: VirtualDomElements.Div,
5173
+ childCount: 2,
4599
5174
  className: SettingsMain,
4600
- childCount: 2
4601
- }, ...getSettingsSideBarDom(tabs), ...getSettingsContentDom(items, tabs, searchValue)];
5175
+ type: Div
5176
+ }, ...getSettingsSideBarDom(tabs), ...getSettingsContentDom(visibleItems, tabs, searchValue, thumbHeight, thumbTop)];
4602
5177
  };
4603
5178
 
5179
+ const parentNode = {
5180
+ childCount: 2,
5181
+ className: mergeClassNames(Viewlet, Settings),
5182
+ type: Div
5183
+ };
4604
5184
  const getSettingsDom = state => {
4605
5185
  const {
4606
- tabs,
4607
5186
  filteredItems,
4608
- searchValue
5187
+ scrollBarThumbHeight,
5188
+ scrollBarThumbTop,
5189
+ searchValue,
5190
+ tabs,
5191
+ visibleItems
4609
5192
  } = state;
4610
5193
  const hasSearchValue = searchValue.trim().length > 0;
4611
5194
  const filteredItemsCount = filteredItems.length;
4612
- return [{
4613
- type: VirtualDomElements.Div,
4614
- childCount: 2,
4615
- className: mergeClassNames(Viewlet, Settings)
4616
- }, ...getSettingsHeaderDom(filteredItemsCount, hasSearchValue), ...getSettingsMainDom(tabs, filteredItems, searchValue)];
5195
+ return [parentNode, ...getSettingsHeaderDom(filteredItemsCount, hasSearchValue), ...getSettingsMainDom(tabs, visibleItems, filteredItemsCount, searchValue, scrollBarThumbHeight, scrollBarThumbTop)];
4617
5196
  };
4618
5197
 
4619
5198
  const renderItems = (oldState, newState) => {
@@ -4659,18 +5238,18 @@ const renderValue = (oldState, newState) => {
4659
5238
 
4660
5239
  const getRenderer = diffType => {
4661
5240
  switch (diffType) {
5241
+ case RenderFocus:
5242
+ return renderFocus;
5243
+ case RenderFocusContext:
5244
+ return renderFocusContext;
4662
5245
  case RenderItems:
4663
5246
  return renderItems;
4664
- case RenderValue:
4665
- return renderValue;
4666
- case RenderSettingValues:
4667
- return renderSettingValues;
4668
5247
  case RenderScrollOffset:
4669
5248
  return renderScrollOffset;
4670
- case RenderFocusContext:
4671
- return renderFocusContext;
4672
- case RenderFocus:
4673
- return renderFocus;
5249
+ case RenderSettingValues:
5250
+ return renderSettingValues;
5251
+ case RenderValue:
5252
+ return renderValue;
4674
5253
  default:
4675
5254
  throw new Error('unknown renderer');
4676
5255
  }
@@ -4687,10 +5266,10 @@ const applyRender = (oldState, newState, diffResult) => {
4687
5266
 
4688
5267
  const render2 = (uid, diffResult) => {
4689
5268
  const {
4690
- oldState,
4691
- newState
5269
+ newState,
5270
+ oldState
4692
5271
  } = get$1(uid);
4693
- set$1(uid, newState, newState);
5272
+ set$3(uid, newState, newState);
4694
5273
  const commands = applyRender(oldState, newState, diffResult);
4695
5274
  return commands;
4696
5275
  };
@@ -4715,11 +5294,13 @@ const renderEventListeners = () => {
4715
5294
  }, {
4716
5295
  name: HandleSettingChecked,
4717
5296
  params: ['handleSettingChecked', 'event.target.name', 'event.target.value']
4718
- }, {
4719
- name: HandleScroll,
4720
- params: ['handleScroll', 'event.target.scrollTop'],
4721
- passive: true
4722
- }, {
5297
+ },
5298
+ // {
5299
+ // name: DomEventListenerFunctions.HandleScroll,
5300
+ // params: ['handleScroll', 'event.target.scrollTop'],
5301
+ // passive: true,
5302
+ // },
5303
+ {
4723
5304
  name: HandleWheel,
4724
5305
  params: ['handleWheel', 'event.deltaY'],
4725
5306
  passive: true
@@ -4734,24 +5315,24 @@ const renderEventListeners = () => {
4734
5315
 
4735
5316
  const saveState = state => {
4736
5317
  const {
4737
- tabs,
4738
- searchValue,
4739
- scrollOffset,
4740
5318
  focus,
4741
5319
  history,
4742
- historyIndex
5320
+ historyIndex,
5321
+ scrollOffset,
5322
+ searchValue,
5323
+ tabs
4743
5324
  } = state;
4744
5325
  const selectedTab = getSelectedTabId(tabs);
4745
5326
  return {
4746
- minLineY: 0,
4747
- maxLineY: 0,
4748
5327
  deltaY: 0,
4749
- searchValue,
4750
- selectedTab,
4751
- scrollOffset,
4752
5328
  focus,
4753
5329
  history,
4754
- historyIndex
5330
+ historyIndex,
5331
+ maxLineY: 0,
5332
+ minLineY: 0,
5333
+ scrollOffset,
5334
+ searchValue,
5335
+ selectedTab
4755
5336
  };
4756
5337
  };
4757
5338
 
@@ -4760,9 +5341,9 @@ const useNextSearchValue = state => {
4760
5341
  history,
4761
5342
  historyIndex,
4762
5343
  items,
4763
- tabs,
4764
5344
  modifiedSettings,
4765
- preferences
5345
+ preferences,
5346
+ tabs
4766
5347
  } = state;
4767
5348
  if (history.length === 0 || historyIndex >= history.length - 1) {
4768
5349
  return state;
@@ -4772,10 +5353,10 @@ const useNextSearchValue = state => {
4772
5353
  const filteredItems = getFilteredItems(items, tabs, newSearchValue, modifiedSettings, preferences);
4773
5354
  return {
4774
5355
  ...state,
4775
- searchValue: newSearchValue,
4776
- historyIndex: newHistoryIndex,
4777
5356
  filteredItems,
4778
- inputSource: Script
5357
+ historyIndex: newHistoryIndex,
5358
+ inputSource: Script,
5359
+ searchValue: newSearchValue
4779
5360
  };
4780
5361
  };
4781
5362
 
@@ -4784,9 +5365,9 @@ const usePreviousSearchValue = state => {
4784
5365
  history,
4785
5366
  historyIndex,
4786
5367
  items,
4787
- tabs,
4788
5368
  modifiedSettings,
4789
- preferences
5369
+ preferences,
5370
+ tabs
4790
5371
  } = state;
4791
5372
  if (history.length === 0 || historyIndex <= 0) {
4792
5373
  return state;
@@ -4796,10 +5377,10 @@ const usePreviousSearchValue = state => {
4796
5377
  const filteredItems = getFilteredItems(items, tabs, newSearchValue, modifiedSettings, preferences);
4797
5378
  return {
4798
5379
  ...state,
4799
- searchValue: newSearchValue,
4800
- historyIndex: newHistoryIndex,
4801
5380
  filteredItems,
4802
- inputSource: Script
5381
+ historyIndex: newHistoryIndex,
5382
+ inputSource: Script,
5383
+ searchValue: newSearchValue
4803
5384
  };
4804
5385
  };
4805
5386
 
@@ -4809,17 +5390,18 @@ const commandMap = {
4809
5390
  'Settings.clearHistory': wrapCommand(clearHistory),
4810
5391
  'Settings.create': create$1,
4811
5392
  'Settings.diff2': diff2,
4812
- 'Settings.getName': getName,
4813
5393
  'Settings.getCommandIds': getCommandIds,
5394
+ 'Settings.getKeyBindings': getKeyBindings$1,
5395
+ 'Settings.getName': getName,
4814
5396
  'Settings.handleClickTab': wrapCommand(handleClickTab),
4815
- 'Settings.handleInputBlur': wrapCommand(handleInputBlur),
4816
5397
  'Settings.handleInput': wrapCommand(handleInput),
5398
+ 'Settings.handleInputBlur': wrapCommand(handleInputBlur),
5399
+ 'Settings.handleInputFocus': wrapCommand(handleInputFocus),
4817
5400
  'Settings.handleScroll': wrapCommand(handleScroll),
4818
- 'Settings.handleWheel': wrapCommand(handleWheel),
4819
5401
  'Settings.handleSettingChecked': wrapCommand(handleSettingChecked),
4820
5402
  'Settings.handleSettingInput': wrapCommand(handleSettingInput),
4821
- 'Settings.handleInputFocus': wrapCommand(handleInputFocus),
4822
5403
  'Settings.handleSettingSelect': wrapCommand(handleSettingSelect),
5404
+ 'Settings.handleWheel': wrapCommand(handleWheel),
4823
5405
  'Settings.loadContent': wrapCommand(loadContent),
4824
5406
  'Settings.render2': render2,
4825
5407
  'Settings.renderActions': renderActions,
@@ -4828,8 +5410,7 @@ const commandMap = {
4828
5410
  'Settings.saveState': wrapGetter(saveState),
4829
5411
  'Settings.terminate': terminate,
4830
5412
  'Settings.useNextSearchValue': wrapCommand(useNextSearchValue),
4831
- 'Settings.usePreviousSearchValue': wrapCommand(usePreviousSearchValue),
4832
- 'Settings.getKeyBindings': getKeyBindings$1
5413
+ 'Settings.usePreviousSearchValue': wrapCommand(usePreviousSearchValue)
4833
5414
  };
4834
5415
 
4835
5416
  const {