monaco-editor-core 0.56.0-dev-20251218 → 0.56.0-dev-20251219

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.
Files changed (173) hide show
  1. package/esm/nls.keys.json +1 -1
  2. package/esm/nls.messages.cs.js +2 -2
  3. package/esm/nls.messages.de.js +2 -2
  4. package/esm/nls.messages.es.js +2 -2
  5. package/esm/nls.messages.fr.js +2 -2
  6. package/esm/nls.messages.it.js +2 -2
  7. package/esm/nls.messages.ja.js +2 -2
  8. package/esm/nls.messages.js +1 -1
  9. package/esm/nls.messages.json +1 -1
  10. package/esm/nls.messages.ko.js +2 -2
  11. package/esm/nls.messages.pl.js +2 -2
  12. package/esm/nls.messages.pt-br.js +2 -2
  13. package/esm/nls.messages.ru.js +2 -2
  14. package/esm/nls.messages.tr.js +2 -2
  15. package/esm/nls.messages.zh-cn.js +2 -2
  16. package/esm/nls.messages.zh-tw.js +2 -2
  17. package/esm/nls.metadata.json +2 -0
  18. package/esm/vs/base/common/fuzzyScorer.js +3 -2
  19. package/esm/vs/base/common/fuzzyScorer.js.map +1 -1
  20. package/esm/vs/editor/common/core/editorColorRegistry.js +34 -33
  21. package/esm/vs/editor/common/core/editorColorRegistry.js.map +1 -1
  22. package/esm/vs/editor/common/cursor/cursorTypeEditOperations.js +3 -3
  23. package/esm/vs/editor/common/cursor/cursorTypeEditOperations.js.map +1 -1
  24. package/esm/vs/editor/common/editorContextKeys.js +47 -47
  25. package/esm/vs/editor/common/languages/modesRegistry.js +1 -1
  26. package/esm/vs/editor/common/languages.js +56 -56
  27. package/esm/vs/editor/common/model/editStack.js +1 -1
  28. package/esm/vs/editor/common/standaloneStrings.js +11 -11
  29. package/esm/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
  30. package/esm/vs/editor/common/viewModel/viewModelImpl.js +4 -15
  31. package/esm/vs/editor/common/viewModel/viewModelImpl.js.map +1 -1
  32. package/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
  33. package/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +18 -9
  34. package/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js.map +1 -1
  35. package/esm/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
  36. package/esm/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
  37. package/esm/vs/editor/contrib/clipboard/browser/clipboard.js +17 -17
  38. package/esm/vs/editor/contrib/codeAction/browser/codeAction.js +1 -1
  39. package/esm/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -29
  40. package/esm/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
  41. package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
  42. package/esm/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
  43. package/esm/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
  44. package/esm/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
  45. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
  46. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
  47. package/esm/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +1 -1
  48. package/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
  49. package/esm/vs/editor/contrib/comment/browser/comment.js +6 -6
  50. package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js +10 -10
  51. package/esm/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
  52. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
  53. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +9 -9
  54. package/esm/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
  55. package/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
  56. package/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
  57. package/esm/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
  58. package/esm/vs/editor/contrib/find/browser/findController.js +16 -16
  59. package/esm/vs/editor/contrib/find/browser/findWidget.js +26 -26
  60. package/esm/vs/editor/contrib/folding/browser/folding.js +20 -20
  61. package/esm/vs/editor/contrib/folding/browser/folding.js.map +1 -1
  62. package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  63. package/esm/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  64. package/esm/vs/editor/contrib/format/browser/formatActions.js +2 -2
  65. package/esm/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  66. package/esm/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
  67. package/esm/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
  68. package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  69. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
  70. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  71. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  72. package/esm/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  73. package/esm/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
  74. package/esm/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
  75. package/esm/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  76. package/esm/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
  77. package/esm/vs/editor/contrib/hover/browser/hoverCopyButton.js +2 -2
  78. package/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +9 -9
  79. package/esm/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
  80. package/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  81. package/esm/vs/editor/contrib/indentation/browser/indentation.js +20 -20
  82. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
  83. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +21 -21
  84. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +13 -13
  85. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +1 -1
  86. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
  87. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +5 -5
  88. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +1 -1
  89. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js.map +1 -1
  90. package/esm/vs/editor/contrib/inlineCompletions/browser/model/renameSymbolProcessor.js +4 -4
  91. package/esm/vs/editor/contrib/inlineCompletions/browser/model/renameSymbolProcessor.js.map +1 -1
  92. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +6 -6
  93. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +1 -1
  94. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js +3 -3
  95. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +20 -20
  96. package/esm/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  97. package/esm/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  98. package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js +31 -31
  99. package/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  100. package/esm/vs/editor/contrib/links/browser/links.js +10 -10
  101. package/esm/vs/editor/contrib/message/browser/messageController.js +1 -1
  102. package/esm/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  103. package/esm/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  104. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  105. package/esm/vs/editor/contrib/peekView/browser/peekView.js +18 -18
  106. package/esm/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  107. package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +11 -11
  108. package/esm/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +32 -32
  109. package/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  110. package/esm/vs/editor/contrib/rename/browser/rename.js +11 -11
  111. package/esm/vs/editor/contrib/rename/browser/renameWidget.js +7 -7
  112. package/esm/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  113. package/esm/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
  114. package/esm/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  115. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  116. package/esm/vs/editor/contrib/suggest/browser/suggest.js +9 -9
  117. package/esm/vs/editor/contrib/suggest/browser/suggestController.js +11 -11
  118. package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js +17 -17
  119. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
  120. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  121. package/esm/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
  122. package/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  123. package/esm/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  124. package/esm/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  125. package/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  126. package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
  127. package/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  128. package/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  129. package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
  130. package/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js +3 -3
  131. package/esm/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
  132. package/esm/vs/platform/action/common/actionCommonCategories.js +6 -6
  133. package/esm/vs/platform/actionWidget/browser/actionList.js +4 -4
  134. package/esm/vs/platform/actionWidget/browser/actionWidget.js +7 -7
  135. package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
  136. package/esm/vs/platform/actions/browser/toolbar.js +2 -2
  137. package/esm/vs/platform/actions/common/menuService.js +2 -2
  138. package/esm/vs/platform/configuration/common/configurationRegistry.js +10 -10
  139. package/esm/vs/platform/contextkey/browser/contextKeyService.js +1 -1
  140. package/esm/vs/platform/contextkey/common/contextkey.js +9 -9
  141. package/esm/vs/platform/contextkey/common/contextkeys.js +9 -9
  142. package/esm/vs/platform/contextkey/common/scanner.js +5 -5
  143. package/esm/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  144. package/esm/vs/platform/hover/browser/hoverWidget.js +1 -1
  145. package/esm/vs/platform/hover/browser/updatableHoverWidget.js +1 -1
  146. package/esm/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
  147. package/esm/vs/platform/list/browser/listService.js +27 -27
  148. package/esm/vs/platform/markers/common/markerService.js +2 -2
  149. package/esm/vs/platform/markers/common/markers.js +6 -6
  150. package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +8 -8
  151. package/esm/vs/platform/quickinput/browser/helpQuickAccess.js +1 -1
  152. package/esm/vs/platform/quickinput/browser/quickInput.js +10 -10
  153. package/esm/vs/platform/quickinput/browser/quickInputActions.js +5 -5
  154. package/esm/vs/platform/quickinput/browser/quickInputController.js +6 -6
  155. package/esm/vs/platform/quickinput/browser/quickInputList.js +1 -1
  156. package/esm/vs/platform/quickinput/browser/quickInputUtils.js +2 -2
  157. package/esm/vs/platform/quickinput/browser/quickInputUtils.js.map +1 -1
  158. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
  159. package/esm/vs/platform/theme/common/colorUtils.js +2 -2
  160. package/esm/vs/platform/theme/common/colors/baseColors.js +18 -18
  161. package/esm/vs/platform/theme/common/colors/chartsColors.js +8 -8
  162. package/esm/vs/platform/theme/common/colors/editorColors.js +95 -95
  163. package/esm/vs/platform/theme/common/colors/inputColors.js +47 -47
  164. package/esm/vs/platform/theme/common/colors/listColors.js +36 -36
  165. package/esm/vs/platform/theme/common/colors/menuColors.js +7 -7
  166. package/esm/vs/platform/theme/common/colors/minimapColors.js +11 -11
  167. package/esm/vs/platform/theme/common/colors/miscColors.js +16 -16
  168. package/esm/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  169. package/esm/vs/platform/theme/common/colors/searchColors.js +3 -3
  170. package/esm/vs/platform/theme/common/iconRegistry.js +6 -6
  171. package/esm/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  172. package/esm/vs/platform/workspace/common/workspace.js +1 -1
  173. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/base/common/fuzzyScorer.ts","vs/base/common/fuzzyScorer.ts"],"names":[],"mappings":"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","file":"fuzzyScorer.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["\nimport { createMatches as createFuzzyMatches, fuzzyScore, IMatch } from './filters.js';\nimport { sep } from './path.js';\nimport { isWindows } from './platform.js';\n\n// function printMatrix(query: string, target: string, matches: number[], scores: number[]): void {\n// \tconsole.log('\\t' + target.split('').join('\\t'));\n// \tfor (let queryIndex = 0; queryIndex < query.length; queryIndex++) {\n// \t\tlet line = query[queryIndex] + '\\t';\n// \t\tfor (let targetIndex = 0; targetIndex < target.length; targetIndex++) {\n// \t\t\tconst currentIndex = queryIndex * target.length + targetIndex;\n// \t\t\tline = line + 'M' + matches[currentIndex] + '/' + 'S' + scores[currentIndex] + '\\t';\n// \t\t}\n\n// \t\tconsole.log(line);\n// \t}\n// }\n\n//#endregion\n\n\n//#region Alternate fuzzy scorer implementation that is e.g. used for symbols\n\nexport type FuzzyScore2 = [number | undefined /* score */, IMatch[]];\n\nconst NO_SCORE2: FuzzyScore2 = [undefined, []];\n\nexport function scoreFuzzy2(target: string, query: IPreparedQuery | IPreparedQueryPiece, patternStart = 0, wordStart = 0): FuzzyScore2 {\n\n\t// Score: multiple inputs\n\tconst preparedQuery = query as IPreparedQuery;\n\tif (preparedQuery.values && preparedQuery.values.length > 1) {\n\t\treturn doScoreFuzzy2Multiple(target, preparedQuery.values, patternStart, wordStart);\n\t}\n\n\t// Score: single input\n\treturn doScoreFuzzy2Single(target, query, patternStart, wordStart);\n}\n\nfunction doScoreFuzzy2Multiple(target: string, query: IPreparedQueryPiece[], patternStart: number, wordStart: number): FuzzyScore2 {\n\tlet totalScore = 0;\n\tconst totalMatches: IMatch[] = [];\n\n\tfor (const queryPiece of query) {\n\t\tconst [score, matches] = doScoreFuzzy2Single(target, queryPiece, patternStart, wordStart);\n\t\tif (typeof score !== 'number') {\n\t\t\t// if a single query value does not match, return with\n\t\t\t// no score entirely, we require all queries to match\n\t\t\treturn NO_SCORE2;\n\t\t}\n\n\t\ttotalScore += score;\n\t\ttotalMatches.push(...matches);\n\t}\n\n\t// if we have a score, ensure that the positions are\n\t// sorted in ascending order and distinct\n\treturn [totalScore, normalizeMatches(totalMatches)];\n}\n\nfunction doScoreFuzzy2Single(target: string, query: IPreparedQueryPiece, patternStart: number, wordStart: number): FuzzyScore2 {\n\tconst score = fuzzyScore(query.original, query.originalLowercase, patternStart, target, target.toLowerCase(), wordStart, { firstMatchCanBeWeak: true, boostFullMatch: true });\n\tif (!score) {\n\t\treturn NO_SCORE2;\n\t}\n\n\treturn [score[0], createFuzzyMatches(score)];\n}\n\n//#endregion\n\n\n//#region Item (label, description, path) scorer\n\n/**\n * Scoring on structural items that have a label and optional description.\n */\nexport interface IItemScore {\n\n\t/**\n\t * Overall score.\n\t */\n\tscore: number;\n}\n\nconst NO_ITEM_SCORE = Object.freeze<IItemScore>({ score: 0 });\n\nexport interface IItemAccessor<T> {\n}\n\nfunction normalizeMatches(matches: IMatch[]): IMatch[] {\n\n\t// sort matches by start to be able to normalize\n\tconst sortedMatches = matches.sort((matchA, matchB) => {\n\t\treturn matchA.start - matchB.start;\n\t});\n\n\t// merge matches that overlap\n\tconst normalizedMatches: IMatch[] = [];\n\tlet currentMatch: IMatch | undefined = undefined;\n\tfor (const match of sortedMatches) {\n\n\t\t// if we have no current match or the matches\n\t\t// do not overlap, we take it as is and remember\n\t\t// it for future merging\n\t\tif (!currentMatch || !matchOverlaps(currentMatch, match)) {\n\t\t\tcurrentMatch = match;\n\t\t\tnormalizedMatches.push(match);\n\t\t}\n\n\t\t// otherwise we merge the matches\n\t\telse {\n\t\t\tcurrentMatch.start = Math.min(currentMatch.start, match.start);\n\t\t\tcurrentMatch.end = Math.max(currentMatch.end, match.end);\n\t\t}\n\t}\n\n\treturn normalizedMatches;\n}\n\nfunction matchOverlaps(matchA: IMatch, matchB: IMatch): boolean {\n\tif (matchA.end < matchB.start) {\n\t\treturn false;\t// A ends before B starts\n\t}\n\n\tif (matchB.end < matchA.start) {\n\t\treturn false; // B ends before A starts\n\t}\n\n\treturn true;\n}\n\n//#endregion\n\n\n//#region Query Normalizer\n\nexport interface IPreparedQueryPiece {\n\n\t/**\n\t * The original query as provided as input.\n\t */\n\toriginal: string;\n\toriginalLowercase: string;\n\n\t/**\n\t * Original normalized to platform separators:\n\t * - Windows: \\\n\t * - Posix: /\n\t */\n\tpathNormalized: string;\n\n\t/**\n\t * In addition to the normalized path, will have\n\t * whitespace and wildcards removed.\n\t */\n\tnormalized: string;\n\tnormalizedLowercase: string;\n\n\t/**\n\t * The query is wrapped in quotes which means\n\t * this query must be a substring of the input.\n\t * In other words, no fuzzy matching is used.\n\t */\n\texpectContiguousMatch: boolean;\n}\n\nexport interface IPreparedQuery extends IPreparedQueryPiece {\n\n\t/**\n\t * Query split by spaces into pieces.\n\t */\n\tvalues: IPreparedQueryPiece[] | undefined;\n\n\t/**\n\t * Whether the query contains path separator(s) or not.\n\t */\n\tcontainsPathSeparator: boolean;\n}\n\n/*\n * If a query is wrapped in quotes, the user does not want to\n * use fuzzy search for this query.\n */\nfunction queryExpectsExactMatch(query: string) {\n\treturn query.startsWith('\"') && query.endsWith('\"');\n}\n\n/**\n * Helper function to prepare a search value for scoring by removing unwanted characters\n * and allowing to score on multiple pieces separated by whitespace character.\n */\nconst MULTIPLE_QUERY_VALUES_SEPARATOR = ' ';\nexport function prepareQuery(original: string): IPreparedQuery {\n\tif (typeof original !== 'string') {\n\t\toriginal = '';\n\t}\n\n\tconst originalLowercase = original.toLowerCase();\n\tconst { pathNormalized, normalized, normalizedLowercase } = normalizeQuery(original);\n\tconst containsPathSeparator = pathNormalized.indexOf(sep) >= 0;\n\tconst expectExactMatch = queryExpectsExactMatch(original);\n\n\tlet values: IPreparedQueryPiece[] | undefined = undefined;\n\n\tconst originalSplit = original.split(MULTIPLE_QUERY_VALUES_SEPARATOR);\n\tif (originalSplit.length > 1) {\n\t\tfor (const originalPiece of originalSplit) {\n\t\t\tconst expectExactMatchPiece = queryExpectsExactMatch(originalPiece);\n\t\t\tconst {\n\t\t\t\tpathNormalized: pathNormalizedPiece,\n\t\t\t\tnormalized: normalizedPiece,\n\t\t\t\tnormalizedLowercase: normalizedLowercasePiece\n\t\t\t} = normalizeQuery(originalPiece);\n\n\t\t\tif (normalizedPiece) {\n\t\t\t\tif (!values) {\n\t\t\t\t\tvalues = [];\n\t\t\t\t}\n\n\t\t\t\tvalues.push({\n\t\t\t\t\toriginal: originalPiece,\n\t\t\t\t\toriginalLowercase: originalPiece.toLowerCase(),\n\t\t\t\t\tpathNormalized: pathNormalizedPiece,\n\t\t\t\t\tnormalized: normalizedPiece,\n\t\t\t\t\tnormalizedLowercase: normalizedLowercasePiece,\n\t\t\t\t\texpectContiguousMatch: expectExactMatchPiece\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { original, originalLowercase, pathNormalized, normalized, normalizedLowercase, values, containsPathSeparator, expectContiguousMatch: expectExactMatch };\n}\n\nfunction normalizeQuery(original: string): { pathNormalized: string; normalized: string; normalizedLowercase: string } {\n\tlet pathNormalized: string;\n\tif (isWindows) {\n\t\tpathNormalized = original.replace(/\\//g, sep); // Help Windows users to search for paths when using slash\n\t} else {\n\t\tpathNormalized = original.replace(/\\\\/g, sep); // Help macOS/Linux users to search for paths when using backslash\n\t}\n\n\t// remove certain characters that help find better results:\n\t// - quotes: are used for exact match search\n\t// - wildcards: are used for fuzzy matching\n\t// - whitespace: are used to separate queries\n\t// - ellipsis: sometimes used to indicate any path segments\n\tconst normalized = pathNormalized.replace(/[\\*\\u2026\\s\"]/g, '');\n\n\treturn {\n\t\tpathNormalized,\n\t\tnormalized,\n\t\tnormalizedLowercase: normalized.toLowerCase()\n\t};\n}\n\nexport function pieceToQuery(piece: IPreparedQueryPiece): IPreparedQuery;\nexport function pieceToQuery(pieces: IPreparedQueryPiece[]): IPreparedQuery;\nexport function pieceToQuery(arg1: IPreparedQueryPiece | IPreparedQueryPiece[]): IPreparedQuery {\n\tif (Array.isArray(arg1)) {\n\t\treturn prepareQuery(arg1.map(piece => piece.original).join(MULTIPLE_QUERY_VALUES_SEPARATOR));\n\t}\n\n\treturn prepareQuery(arg1.original);\n}\n\n//#endregion\n","\nimport { createMatches as createFuzzyMatches, fuzzyScore, IMatch } from './filters.js';\nimport { sep } from './path.js';\nimport { isWindows } from './platform.js';\n\n// function printMatrix(query: string, target: string, matches: number[], scores: number[]): void {\n// \tconsole.log('\\t' + target.split('').join('\\t'));\n// \tfor (let queryIndex = 0; queryIndex < query.length; queryIndex++) {\n// \t\tlet line = query[queryIndex] + '\\t';\n// \t\tfor (let targetIndex = 0; targetIndex < target.length; targetIndex++) {\n// \t\t\tconst currentIndex = queryIndex * target.length + targetIndex;\n// \t\t\tline = line + 'M' + matches[currentIndex] + '/' + 'S' + scores[currentIndex] + '\\t';\n// \t\t}\n\n// \t\tconsole.log(line);\n// \t}\n// }\n\n//#endregion\n\n\n//#region Alternate fuzzy scorer implementation that is e.g. used for symbols\n\nexport type FuzzyScore2 = [number | undefined /* score */, IMatch[]];\n\nconst NO_SCORE2: FuzzyScore2 = [undefined, []];\n\nexport function scoreFuzzy2(target: string, query: IPreparedQuery | IPreparedQueryPiece, patternStart = 0, wordStart = 0): FuzzyScore2 {\n\n\t// Score: multiple inputs\n\tconst preparedQuery = query as IPreparedQuery;\n\tif (preparedQuery.values && preparedQuery.values.length > 1) {\n\t\treturn doScoreFuzzy2Multiple(target, preparedQuery.values, patternStart, wordStart);\n\t}\n\n\t// Score: single input\n\treturn doScoreFuzzy2Single(target, query, patternStart, wordStart);\n}\n\nfunction doScoreFuzzy2Multiple(target: string, query: IPreparedQueryPiece[], patternStart: number, wordStart: number): FuzzyScore2 {\n\tlet totalScore = 0;\n\tconst totalMatches: IMatch[] = [];\n\n\tfor (const queryPiece of query) {\n\t\tconst [score, matches] = doScoreFuzzy2Single(target, queryPiece, patternStart, wordStart);\n\t\tif (typeof score !== 'number') {\n\t\t\t// if a single query value does not match, return with\n\t\t\t// no score entirely, we require all queries to match\n\t\t\treturn NO_SCORE2;\n\t\t}\n\n\t\ttotalScore += score;\n\t\ttotalMatches.push(...matches);\n\t}\n\n\t// if we have a score, ensure that the positions are\n\t// sorted in ascending order and distinct\n\treturn [totalScore, normalizeMatches(totalMatches)];\n}\n\nfunction doScoreFuzzy2Single(target: string, query: IPreparedQueryPiece, patternStart: number, wordStart: number): FuzzyScore2 {\n\tconst score = fuzzyScore(query.original, query.originalLowercase, patternStart, target, target.toLowerCase(), wordStart, { firstMatchCanBeWeak: true, boostFullMatch: true });\n\tif (!score) {\n\t\treturn NO_SCORE2;\n\t}\n\n\treturn [score[0], createFuzzyMatches(score)];\n}\n\n//#endregion\n\n\n//#region Item (label, description, path) scorer\n\n/**\n * Scoring on structural items that have a label and optional description.\n */\nexport interface IItemScore {\n\n\t/**\n\t * Overall score.\n\t */\n\tscore: number;\n}\n\nconst NO_ITEM_SCORE = Object.freeze<IItemScore>({ score: 0 });\n\nexport interface IItemAccessor<T> {\n}\n\nfunction normalizeMatches(matches: IMatch[]): IMatch[] {\n\n\t// sort matches by start to be able to normalize\n\tconst sortedMatches = matches.sort((matchA, matchB) => {\n\t\treturn matchA.start - matchB.start;\n\t});\n\n\t// merge matches that overlap\n\tconst normalizedMatches: IMatch[] = [];\n\tlet currentMatch: IMatch | undefined = undefined;\n\tfor (const match of sortedMatches) {\n\n\t\t// if we have no current match or the matches\n\t\t// do not overlap, we take it as is and remember\n\t\t// it for future merging\n\t\tif (!currentMatch || !matchOverlaps(currentMatch, match)) {\n\t\t\tcurrentMatch = match;\n\t\t\tnormalizedMatches.push(match);\n\t\t}\n\n\t\t// otherwise we merge the matches\n\t\telse {\n\t\t\tcurrentMatch.start = Math.min(currentMatch.start, match.start);\n\t\t\tcurrentMatch.end = Math.max(currentMatch.end, match.end);\n\t\t}\n\t}\n\n\treturn normalizedMatches;\n}\n\nfunction matchOverlaps(matchA: IMatch, matchB: IMatch): boolean {\n\tif (matchA.end < matchB.start) {\n\t\treturn false;\t// A ends before B starts\n\t}\n\n\tif (matchB.end < matchA.start) {\n\t\treturn false; // B ends before A starts\n\t}\n\n\treturn true;\n}\n\n//#endregion\n\n\n//#region Query Normalizer\n\nexport interface IPreparedQueryPiece {\n\n\t/**\n\t * The original query as provided as input.\n\t */\n\toriginal: string;\n\toriginalLowercase: string;\n\n\t/**\n\t * Original normalized to platform separators:\n\t * - Windows: \\\n\t * - Posix: /\n\t */\n\tpathNormalized: string;\n\n\t/**\n\t * In addition to the normalized path, will have\n\t * whitespace and wildcards removed.\n\t */\n\tnormalized: string;\n\tnormalizedLowercase: string;\n\n\t/**\n\t * The query is wrapped in quotes which means\n\t * this query must be a substring of the input.\n\t * In other words, no fuzzy matching is used.\n\t */\n\texpectContiguousMatch: boolean;\n}\n\nexport interface IPreparedQuery extends IPreparedQueryPiece {\n\n\t/**\n\t * Query split by spaces into pieces.\n\t */\n\tvalues: IPreparedQueryPiece[] | undefined;\n\n\t/**\n\t * Whether the query contains path separator(s) or not.\n\t */\n\tcontainsPathSeparator: boolean;\n}\n\n/*\n * If a query is wrapped in quotes, the user does not want to\n * use fuzzy search for this query.\n */\nfunction queryExpectsExactMatch(query: string) {\n\treturn query.startsWith('\"') && query.endsWith('\"');\n}\n\n/**\n * Helper function to prepare a search value for scoring by removing unwanted characters\n * and allowing to score on multiple pieces separated by whitespace character.\n */\nconst MULTIPLE_QUERY_VALUES_SEPARATOR = ' ';\nexport function prepareQuery(original: string): IPreparedQuery {\n\tif (typeof original !== 'string') {\n\t\toriginal = '';\n\t}\n\n\tconst originalLowercase = original.toLowerCase();\n\tconst { pathNormalized, normalized, normalizedLowercase } = normalizeQuery(original);\n\tconst containsPathSeparator = pathNormalized.indexOf(sep) >= 0;\n\tconst expectExactMatch = queryExpectsExactMatch(original);\n\n\tlet values: IPreparedQueryPiece[] | undefined = undefined;\n\n\tconst originalSplit = original.split(MULTIPLE_QUERY_VALUES_SEPARATOR);\n\tif (originalSplit.length > 1) {\n\t\tfor (const originalPiece of originalSplit) {\n\t\t\tconst expectExactMatchPiece = queryExpectsExactMatch(originalPiece);\n\t\t\tconst {\n\t\t\t\tpathNormalized: pathNormalizedPiece,\n\t\t\t\tnormalized: normalizedPiece,\n\t\t\t\tnormalizedLowercase: normalizedLowercasePiece\n\t\t\t} = normalizeQuery(originalPiece);\n\n\t\t\tif (normalizedPiece) {\n\t\t\t\tif (!values) {\n\t\t\t\t\tvalues = [];\n\t\t\t\t}\n\n\t\t\t\tvalues.push({\n\t\t\t\t\toriginal: originalPiece,\n\t\t\t\t\toriginalLowercase: originalPiece.toLowerCase(),\n\t\t\t\t\tpathNormalized: pathNormalizedPiece,\n\t\t\t\t\tnormalized: normalizedPiece,\n\t\t\t\t\tnormalizedLowercase: normalizedLowercasePiece,\n\t\t\t\t\texpectContiguousMatch: expectExactMatchPiece\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { original, originalLowercase, pathNormalized, normalized, normalizedLowercase, values, containsPathSeparator, expectContiguousMatch: expectExactMatch };\n}\n\nfunction normalizeQuery(original: string): { pathNormalized: string; normalized: string; normalizedLowercase: string } {\n\tlet pathNormalized: string;\n\tif (isWindows) {\n\t\tpathNormalized = original.replace(/\\//g, sep); // Help Windows users to search for paths when using slash\n\t} else {\n\t\tpathNormalized = original.replace(/\\\\/g, sep); // Help macOS/Linux users to search for paths when using backslash\n\t}\n\n\t// remove certain characters that help find better results:\n\t// - quotes: are used for exact match search\n\t// - wildcards: are used for fuzzy matching\n\t// - whitespace: are used to separate queries\n\t// - ellipsis: sometimes used to indicate any path segments\n\tconst normalized = pathNormalized.replace(/[\\*\\u2026\\s\"]/g, '');\n\n\treturn {\n\t\tpathNormalized,\n\t\tnormalized,\n\t\tnormalizedLowercase: normalized.toLowerCase()\n\t};\n}\n\nexport function pieceToQuery(piece: IPreparedQueryPiece): IPreparedQuery;\nexport function pieceToQuery(pieces: IPreparedQueryPiece[]): IPreparedQuery;\nexport function pieceToQuery(arg1: IPreparedQueryPiece | IPreparedQueryPiece[]): IPreparedQuery {\n\tif (Array.isArray(arg1)) {\n\t\treturn prepareQuery(arg1.map(piece => piece.original).join(MULTIPLE_QUERY_VALUES_SEPARATOR));\n\t}\n\n\treturn prepareQuery(arg1.original);\n}\n\n//#endregion\n"]}
1
+ {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/base/common/fuzzyScorer.ts","vs/base/common/fuzzyScorer.ts"],"names":[],"mappings":"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","file":"fuzzyScorer.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["\nimport { createMatches as createFuzzyMatches, fuzzyScore, IMatch } from './filters.js';\nimport { sep } from './path.js';\nimport { isWindows } from './platform.js';\n\n// function printMatrix(query: string, target: string, matches: number[], scores: number[]): void {\n// \tconsole.log('\\t' + target.split('').join('\\t'));\n// \tfor (let queryIndex = 0; queryIndex < query.length; queryIndex++) {\n// \t\tlet line = query[queryIndex] + '\\t';\n// \t\tfor (let targetIndex = 0; targetIndex < target.length; targetIndex++) {\n// \t\t\tconst currentIndex = queryIndex * target.length + targetIndex;\n// \t\t\tline = line + 'M' + matches[currentIndex] + '/' + 'S' + scores[currentIndex] + '\\t';\n// \t\t}\n\n// \t\tconsole.log(line);\n// \t}\n// }\n\n//#endregion\n\n\n//#region Alternate fuzzy scorer implementation that is e.g. used for symbols\n\nexport type FuzzyScore2 = [number | undefined /* score */, IMatch[]];\n\nconst NO_SCORE2: FuzzyScore2 = [undefined, []];\n\nexport function scoreFuzzy2(target: string, query: IPreparedQuery | IPreparedQueryPiece, patternStart = 0, wordStart = 0): FuzzyScore2 {\n\n\t// Score: multiple inputs\n\tconst preparedQuery = query as IPreparedQuery;\n\tif (preparedQuery.values && preparedQuery.values.length > 1) {\n\t\treturn doScoreFuzzy2Multiple(target, preparedQuery.values, patternStart, wordStart);\n\t}\n\n\t// Score: single input\n\treturn doScoreFuzzy2Single(target, query, patternStart, wordStart);\n}\n\nfunction doScoreFuzzy2Multiple(target: string, query: IPreparedQueryPiece[], patternStart: number, wordStart: number): FuzzyScore2 {\n\tlet totalScore = 0;\n\tconst totalMatches: IMatch[] = [];\n\n\tfor (const queryPiece of query) {\n\t\tconst [score, matches] = doScoreFuzzy2Single(target, queryPiece, patternStart, wordStart);\n\t\tif (typeof score !== 'number') {\n\t\t\t// if a single query value does not match, return with\n\t\t\t// no score entirely, we require all queries to match\n\t\t\treturn NO_SCORE2;\n\t\t}\n\n\t\ttotalScore += score;\n\t\ttotalMatches.push(...matches);\n\t}\n\n\t// if we have a score, ensure that the positions are\n\t// sorted in ascending order and distinct\n\treturn [totalScore, normalizeMatches(totalMatches)];\n}\n\nfunction doScoreFuzzy2Single(target: string, query: IPreparedQueryPiece, patternStart: number, wordStart: number): FuzzyScore2 {\n\tconst score = fuzzyScore(query.normalized, query.normalizedLowercase, patternStart, target, target.toLowerCase(), wordStart, { firstMatchCanBeWeak: true, boostFullMatch: true });\n\tif (!score) {\n\t\treturn NO_SCORE2;\n\t}\n\n\treturn [score[0], createFuzzyMatches(score)];\n}\n\n//#endregion\n\n\n//#region Item (label, description, path) scorer\n\n/**\n * Scoring on structural items that have a label and optional description.\n */\nexport interface IItemScore {\n\n\t/**\n\t * Overall score.\n\t */\n\tscore: number;\n}\n\nconst NO_ITEM_SCORE = Object.freeze<IItemScore>({ score: 0 });\n\nexport interface IItemAccessor<T> {\n}\n\nfunction normalizeMatches(matches: IMatch[]): IMatch[] {\n\n\t// sort matches by start to be able to normalize\n\tconst sortedMatches = matches.sort((matchA, matchB) => {\n\t\treturn matchA.start - matchB.start;\n\t});\n\n\t// merge matches that overlap\n\tconst normalizedMatches: IMatch[] = [];\n\tlet currentMatch: IMatch | undefined = undefined;\n\tfor (const match of sortedMatches) {\n\n\t\t// if we have no current match or the matches\n\t\t// do not overlap, we take it as is and remember\n\t\t// it for future merging\n\t\tif (!currentMatch || !matchOverlaps(currentMatch, match)) {\n\t\t\tcurrentMatch = match;\n\t\t\tnormalizedMatches.push(match);\n\t\t}\n\n\t\t// otherwise we merge the matches\n\t\telse {\n\t\t\tcurrentMatch.start = Math.min(currentMatch.start, match.start);\n\t\t\tcurrentMatch.end = Math.max(currentMatch.end, match.end);\n\t\t}\n\t}\n\n\treturn normalizedMatches;\n}\n\nfunction matchOverlaps(matchA: IMatch, matchB: IMatch): boolean {\n\tif (matchA.end < matchB.start) {\n\t\treturn false;\t// A ends before B starts\n\t}\n\n\tif (matchB.end < matchA.start) {\n\t\treturn false; // B ends before A starts\n\t}\n\n\treturn true;\n}\n\n//#endregion\n\n\n//#region Query Normalizer\n\nexport interface IPreparedQueryPiece {\n\n\t/**\n\t * The original query as provided as input.\n\t */\n\toriginal: string;\n\toriginalLowercase: string;\n\n\t/**\n\t * Original normalized to platform separators:\n\t * - Windows: \\\n\t * - Posix: /\n\t */\n\tpathNormalized: string;\n\n\t/**\n\t * In addition to the normalized path, will have\n\t * whitespace, wildcards, quotes, ellipsis, and trailing hash characters removed.\n\t */\n\tnormalized: string;\n\tnormalizedLowercase: string;\n\n\t/**\n\t * The query is wrapped in quotes which means\n\t * this query must be a substring of the input.\n\t * In other words, no fuzzy matching is used.\n\t */\n\texpectContiguousMatch: boolean;\n}\n\nexport interface IPreparedQuery extends IPreparedQueryPiece {\n\n\t/**\n\t * Query split by spaces into pieces.\n\t */\n\tvalues: IPreparedQueryPiece[] | undefined;\n\n\t/**\n\t * Whether the query contains path separator(s) or not.\n\t */\n\tcontainsPathSeparator: boolean;\n}\n\n/*\n * If a query is wrapped in quotes, the user does not want to\n * use fuzzy search for this query.\n */\nfunction queryExpectsExactMatch(query: string) {\n\treturn query.startsWith('\"') && query.endsWith('\"');\n}\n\n/**\n * Helper function to prepare a search value for scoring by removing unwanted characters\n * and allowing to score on multiple pieces separated by whitespace character.\n */\nconst MULTIPLE_QUERY_VALUES_SEPARATOR = ' ';\nexport function prepareQuery(original: string): IPreparedQuery {\n\tif (typeof original !== 'string') {\n\t\toriginal = '';\n\t}\n\n\tconst originalLowercase = original.toLowerCase();\n\tconst { pathNormalized, normalized, normalizedLowercase } = normalizeQuery(original);\n\tconst containsPathSeparator = pathNormalized.indexOf(sep) >= 0;\n\tconst expectExactMatch = queryExpectsExactMatch(original);\n\n\tlet values: IPreparedQueryPiece[] | undefined = undefined;\n\n\tconst originalSplit = original.split(MULTIPLE_QUERY_VALUES_SEPARATOR);\n\tif (originalSplit.length > 1) {\n\t\tfor (const originalPiece of originalSplit) {\n\t\t\tconst expectExactMatchPiece = queryExpectsExactMatch(originalPiece);\n\t\t\tconst {\n\t\t\t\tpathNormalized: pathNormalizedPiece,\n\t\t\t\tnormalized: normalizedPiece,\n\t\t\t\tnormalizedLowercase: normalizedLowercasePiece\n\t\t\t} = normalizeQuery(originalPiece);\n\n\t\t\tif (normalizedPiece) {\n\t\t\t\tif (!values) {\n\t\t\t\t\tvalues = [];\n\t\t\t\t}\n\n\t\t\t\tvalues.push({\n\t\t\t\t\toriginal: originalPiece,\n\t\t\t\t\toriginalLowercase: originalPiece.toLowerCase(),\n\t\t\t\t\tpathNormalized: pathNormalizedPiece,\n\t\t\t\t\tnormalized: normalizedPiece,\n\t\t\t\t\tnormalizedLowercase: normalizedLowercasePiece,\n\t\t\t\t\texpectContiguousMatch: expectExactMatchPiece\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { original, originalLowercase, pathNormalized, normalized, normalizedLowercase, values, containsPathSeparator, expectContiguousMatch: expectExactMatch };\n}\n\nfunction normalizeQuery(original: string): { pathNormalized: string; normalized: string; normalizedLowercase: string } {\n\tlet pathNormalized: string;\n\tif (isWindows) {\n\t\tpathNormalized = original.replace(/\\//g, sep); // Help Windows users to search for paths when using slash\n\t} else {\n\t\tpathNormalized = original.replace(/\\\\/g, sep); // Help macOS/Linux users to search for paths when using backslash\n\t}\n\n\t// remove certain characters that help find better results:\n\t// - quotes: are used for exact match search\n\t// - wildcards: are used for fuzzy matching\n\t// - whitespace: are used to separate queries\n\t// - ellipsis: sometimes used to indicate any path segments\n\t// - trailing hash: used by some language servers (e.g. rust-analyzer) as query modifiers\n\tconst normalized = pathNormalized.replace(/[\\*\\u2026\\s\"]/g, '').replace(/(?<=.)#$/, '');\n\n\treturn {\n\t\tpathNormalized,\n\t\tnormalized,\n\t\tnormalizedLowercase: normalized.toLowerCase()\n\t};\n}\n\nexport function pieceToQuery(piece: IPreparedQueryPiece): IPreparedQuery;\nexport function pieceToQuery(pieces: IPreparedQueryPiece[]): IPreparedQuery;\nexport function pieceToQuery(arg1: IPreparedQueryPiece | IPreparedQueryPiece[]): IPreparedQuery {\n\tif (Array.isArray(arg1)) {\n\t\treturn prepareQuery(arg1.map(piece => piece.original).join(MULTIPLE_QUERY_VALUES_SEPARATOR));\n\t}\n\n\treturn prepareQuery(arg1.original);\n}\n\n//#endregion\n","\nimport { createMatches as createFuzzyMatches, fuzzyScore, IMatch } from './filters.js';\nimport { sep } from './path.js';\nimport { isWindows } from './platform.js';\n\n// function printMatrix(query: string, target: string, matches: number[], scores: number[]): void {\n// \tconsole.log('\\t' + target.split('').join('\\t'));\n// \tfor (let queryIndex = 0; queryIndex < query.length; queryIndex++) {\n// \t\tlet line = query[queryIndex] + '\\t';\n// \t\tfor (let targetIndex = 0; targetIndex < target.length; targetIndex++) {\n// \t\t\tconst currentIndex = queryIndex * target.length + targetIndex;\n// \t\t\tline = line + 'M' + matches[currentIndex] + '/' + 'S' + scores[currentIndex] + '\\t';\n// \t\t}\n\n// \t\tconsole.log(line);\n// \t}\n// }\n\n//#endregion\n\n\n//#region Alternate fuzzy scorer implementation that is e.g. used for symbols\n\nexport type FuzzyScore2 = [number | undefined /* score */, IMatch[]];\n\nconst NO_SCORE2: FuzzyScore2 = [undefined, []];\n\nexport function scoreFuzzy2(target: string, query: IPreparedQuery | IPreparedQueryPiece, patternStart = 0, wordStart = 0): FuzzyScore2 {\n\n\t// Score: multiple inputs\n\tconst preparedQuery = query as IPreparedQuery;\n\tif (preparedQuery.values && preparedQuery.values.length > 1) {\n\t\treturn doScoreFuzzy2Multiple(target, preparedQuery.values, patternStart, wordStart);\n\t}\n\n\t// Score: single input\n\treturn doScoreFuzzy2Single(target, query, patternStart, wordStart);\n}\n\nfunction doScoreFuzzy2Multiple(target: string, query: IPreparedQueryPiece[], patternStart: number, wordStart: number): FuzzyScore2 {\n\tlet totalScore = 0;\n\tconst totalMatches: IMatch[] = [];\n\n\tfor (const queryPiece of query) {\n\t\tconst [score, matches] = doScoreFuzzy2Single(target, queryPiece, patternStart, wordStart);\n\t\tif (typeof score !== 'number') {\n\t\t\t// if a single query value does not match, return with\n\t\t\t// no score entirely, we require all queries to match\n\t\t\treturn NO_SCORE2;\n\t\t}\n\n\t\ttotalScore += score;\n\t\ttotalMatches.push(...matches);\n\t}\n\n\t// if we have a score, ensure that the positions are\n\t// sorted in ascending order and distinct\n\treturn [totalScore, normalizeMatches(totalMatches)];\n}\n\nfunction doScoreFuzzy2Single(target: string, query: IPreparedQueryPiece, patternStart: number, wordStart: number): FuzzyScore2 {\n\tconst score = fuzzyScore(query.normalized, query.normalizedLowercase, patternStart, target, target.toLowerCase(), wordStart, { firstMatchCanBeWeak: true, boostFullMatch: true });\n\tif (!score) {\n\t\treturn NO_SCORE2;\n\t}\n\n\treturn [score[0], createFuzzyMatches(score)];\n}\n\n//#endregion\n\n\n//#region Item (label, description, path) scorer\n\n/**\n * Scoring on structural items that have a label and optional description.\n */\nexport interface IItemScore {\n\n\t/**\n\t * Overall score.\n\t */\n\tscore: number;\n}\n\nconst NO_ITEM_SCORE = Object.freeze<IItemScore>({ score: 0 });\n\nexport interface IItemAccessor<T> {\n}\n\nfunction normalizeMatches(matches: IMatch[]): IMatch[] {\n\n\t// sort matches by start to be able to normalize\n\tconst sortedMatches = matches.sort((matchA, matchB) => {\n\t\treturn matchA.start - matchB.start;\n\t});\n\n\t// merge matches that overlap\n\tconst normalizedMatches: IMatch[] = [];\n\tlet currentMatch: IMatch | undefined = undefined;\n\tfor (const match of sortedMatches) {\n\n\t\t// if we have no current match or the matches\n\t\t// do not overlap, we take it as is and remember\n\t\t// it for future merging\n\t\tif (!currentMatch || !matchOverlaps(currentMatch, match)) {\n\t\t\tcurrentMatch = match;\n\t\t\tnormalizedMatches.push(match);\n\t\t}\n\n\t\t// otherwise we merge the matches\n\t\telse {\n\t\t\tcurrentMatch.start = Math.min(currentMatch.start, match.start);\n\t\t\tcurrentMatch.end = Math.max(currentMatch.end, match.end);\n\t\t}\n\t}\n\n\treturn normalizedMatches;\n}\n\nfunction matchOverlaps(matchA: IMatch, matchB: IMatch): boolean {\n\tif (matchA.end < matchB.start) {\n\t\treturn false;\t// A ends before B starts\n\t}\n\n\tif (matchB.end < matchA.start) {\n\t\treturn false; // B ends before A starts\n\t}\n\n\treturn true;\n}\n\n//#endregion\n\n\n//#region Query Normalizer\n\nexport interface IPreparedQueryPiece {\n\n\t/**\n\t * The original query as provided as input.\n\t */\n\toriginal: string;\n\toriginalLowercase: string;\n\n\t/**\n\t * Original normalized to platform separators:\n\t * - Windows: \\\n\t * - Posix: /\n\t */\n\tpathNormalized: string;\n\n\t/**\n\t * In addition to the normalized path, will have\n\t * whitespace, wildcards, quotes, ellipsis, and trailing hash characters removed.\n\t */\n\tnormalized: string;\n\tnormalizedLowercase: string;\n\n\t/**\n\t * The query is wrapped in quotes which means\n\t * this query must be a substring of the input.\n\t * In other words, no fuzzy matching is used.\n\t */\n\texpectContiguousMatch: boolean;\n}\n\nexport interface IPreparedQuery extends IPreparedQueryPiece {\n\n\t/**\n\t * Query split by spaces into pieces.\n\t */\n\tvalues: IPreparedQueryPiece[] | undefined;\n\n\t/**\n\t * Whether the query contains path separator(s) or not.\n\t */\n\tcontainsPathSeparator: boolean;\n}\n\n/*\n * If a query is wrapped in quotes, the user does not want to\n * use fuzzy search for this query.\n */\nfunction queryExpectsExactMatch(query: string) {\n\treturn query.startsWith('\"') && query.endsWith('\"');\n}\n\n/**\n * Helper function to prepare a search value for scoring by removing unwanted characters\n * and allowing to score on multiple pieces separated by whitespace character.\n */\nconst MULTIPLE_QUERY_VALUES_SEPARATOR = ' ';\nexport function prepareQuery(original: string): IPreparedQuery {\n\tif (typeof original !== 'string') {\n\t\toriginal = '';\n\t}\n\n\tconst originalLowercase = original.toLowerCase();\n\tconst { pathNormalized, normalized, normalizedLowercase } = normalizeQuery(original);\n\tconst containsPathSeparator = pathNormalized.indexOf(sep) >= 0;\n\tconst expectExactMatch = queryExpectsExactMatch(original);\n\n\tlet values: IPreparedQueryPiece[] | undefined = undefined;\n\n\tconst originalSplit = original.split(MULTIPLE_QUERY_VALUES_SEPARATOR);\n\tif (originalSplit.length > 1) {\n\t\tfor (const originalPiece of originalSplit) {\n\t\t\tconst expectExactMatchPiece = queryExpectsExactMatch(originalPiece);\n\t\t\tconst {\n\t\t\t\tpathNormalized: pathNormalizedPiece,\n\t\t\t\tnormalized: normalizedPiece,\n\t\t\t\tnormalizedLowercase: normalizedLowercasePiece\n\t\t\t} = normalizeQuery(originalPiece);\n\n\t\t\tif (normalizedPiece) {\n\t\t\t\tif (!values) {\n\t\t\t\t\tvalues = [];\n\t\t\t\t}\n\n\t\t\t\tvalues.push({\n\t\t\t\t\toriginal: originalPiece,\n\t\t\t\t\toriginalLowercase: originalPiece.toLowerCase(),\n\t\t\t\t\tpathNormalized: pathNormalizedPiece,\n\t\t\t\t\tnormalized: normalizedPiece,\n\t\t\t\t\tnormalizedLowercase: normalizedLowercasePiece,\n\t\t\t\t\texpectContiguousMatch: expectExactMatchPiece\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { original, originalLowercase, pathNormalized, normalized, normalizedLowercase, values, containsPathSeparator, expectContiguousMatch: expectExactMatch };\n}\n\nfunction normalizeQuery(original: string): { pathNormalized: string; normalized: string; normalizedLowercase: string } {\n\tlet pathNormalized: string;\n\tif (isWindows) {\n\t\tpathNormalized = original.replace(/\\//g, sep); // Help Windows users to search for paths when using slash\n\t} else {\n\t\tpathNormalized = original.replace(/\\\\/g, sep); // Help macOS/Linux users to search for paths when using backslash\n\t}\n\n\t// remove certain characters that help find better results:\n\t// - quotes: are used for exact match search\n\t// - wildcards: are used for fuzzy matching\n\t// - whitespace: are used to separate queries\n\t// - ellipsis: sometimes used to indicate any path segments\n\t// - trailing hash: used by some language servers (e.g. rust-analyzer) as query modifiers\n\tconst normalized = pathNormalized.replace(/[\\*\\u2026\\s\"]/g, '').replace(/(?<=.)#$/, '');\n\n\treturn {\n\t\tpathNormalized,\n\t\tnormalized,\n\t\tnormalizedLowercase: normalized.toLowerCase()\n\t};\n}\n\nexport function pieceToQuery(piece: IPreparedQueryPiece): IPreparedQuery;\nexport function pieceToQuery(pieces: IPreparedQueryPiece[]): IPreparedQuery;\nexport function pieceToQuery(arg1: IPreparedQueryPiece | IPreparedQueryPiece[]): IPreparedQuery {\n\tif (Array.isArray(arg1)) {\n\t\treturn prepareQuery(arg1.map(piece => piece.original).join(MULTIPLE_QUERY_VALUES_SEPARATOR));\n\t}\n\n\treturn prepareQuery(arg1.original);\n}\n\n//#endregion\n"]}
@@ -45,40 +45,41 @@ export const editorRuler = registerColor('editorRuler.foreground', { dark: '#5A5
45
45
  export const editorCodeLensForeground = registerColor('editorCodeLens.foreground', { dark: '#999999', light: '#919191', hcDark: '#999999', hcLight: '#292929' }, nls.localize(651, 'Foreground color of editor CodeLens'));
46
46
  export const editorBracketMatchBackground = registerColor('editorBracketMatch.background', { dark: '#0064001a', light: '#0064001a', hcDark: '#0064001a', hcLight: '#0000' }, nls.localize(652, 'Background color behind matching brackets'));
47
47
  export const editorBracketMatchBorder = registerColor('editorBracketMatch.border', { dark: '#888', light: '#B9B9B9', hcDark: contrastBorder, hcLight: contrastBorder }, nls.localize(653, 'Color for matching brackets boxes'));
48
- export const editorOverviewRulerBorder = registerColor('editorOverviewRuler.border', { dark: '#7f7f7f4d', light: '#7f7f7f4d', hcDark: '#7f7f7f4d', hcLight: '#666666' }, nls.localize(654, 'Color of the overview ruler border.'));
49
- export const editorOverviewRulerBackground = registerColor('editorOverviewRuler.background', null, nls.localize(655, 'Background color of the editor overview ruler.'));
50
- export const editorGutter = registerColor('editorGutter.background', editorBackground, nls.localize(656, 'Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.'));
51
- export const editorUnnecessaryCodeBorder = registerColor('editorUnnecessaryCode.border', { dark: null, light: null, hcDark: Color.fromHex('#fff').transparent(0.8), hcLight: contrastBorder }, nls.localize(657, 'Border color of unnecessary (unused) source code in the editor.'));
52
- export const editorUnnecessaryCodeOpacity = registerColor('editorUnnecessaryCode.opacity', { dark: Color.fromHex('#000a'), light: Color.fromHex('#0007'), hcDark: null, hcLight: null }, nls.localize(658, 'Opacity of unnecessary (unused) source code in the editor. For example, "#000000c0" will render the code with 75% opacity. For high contrast themes, use the \'editorUnnecessaryCode.border\' theme color to underline unnecessary code instead of fading it out.'));
53
- export const ghostTextBorder = registerColor('editorGhostText.border', { dark: null, light: null, hcDark: Color.fromHex('#fff').transparent(0.8), hcLight: Color.fromHex('#292929').transparent(0.8) }, nls.localize(659, 'Border color of ghost text in the editor.'));
54
- export const ghostTextForeground = registerColor('editorGhostText.foreground', { dark: Color.fromHex('#ffffff56'), light: Color.fromHex('#0007'), hcDark: null, hcLight: null }, nls.localize(660, 'Foreground color of the ghost text in the editor.'));
55
- export const ghostTextBackground = registerColor('editorGhostText.background', null, nls.localize(661, 'Background color of the ghost text in the editor.'));
48
+ export const editorBracketMatchForeground = registerColor('editorBracketMatch.foreground', null, nls.localize(654, 'Foreground color for matching brackets'));
49
+ export const editorOverviewRulerBorder = registerColor('editorOverviewRuler.border', { dark: '#7f7f7f4d', light: '#7f7f7f4d', hcDark: '#7f7f7f4d', hcLight: '#666666' }, nls.localize(655, 'Color of the overview ruler border.'));
50
+ export const editorOverviewRulerBackground = registerColor('editorOverviewRuler.background', null, nls.localize(656, 'Background color of the editor overview ruler.'));
51
+ export const editorGutter = registerColor('editorGutter.background', editorBackground, nls.localize(657, 'Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.'));
52
+ export const editorUnnecessaryCodeBorder = registerColor('editorUnnecessaryCode.border', { dark: null, light: null, hcDark: Color.fromHex('#fff').transparent(0.8), hcLight: contrastBorder }, nls.localize(658, 'Border color of unnecessary (unused) source code in the editor.'));
53
+ export const editorUnnecessaryCodeOpacity = registerColor('editorUnnecessaryCode.opacity', { dark: Color.fromHex('#000a'), light: Color.fromHex('#0007'), hcDark: null, hcLight: null }, nls.localize(659, 'Opacity of unnecessary (unused) source code in the editor. For example, "#000000c0" will render the code with 75% opacity. For high contrast themes, use the \'editorUnnecessaryCode.border\' theme color to underline unnecessary code instead of fading it out.'));
54
+ export const ghostTextBorder = registerColor('editorGhostText.border', { dark: null, light: null, hcDark: Color.fromHex('#fff').transparent(0.8), hcLight: Color.fromHex('#292929').transparent(0.8) }, nls.localize(660, 'Border color of ghost text in the editor.'));
55
+ export const ghostTextForeground = registerColor('editorGhostText.foreground', { dark: Color.fromHex('#ffffff56'), light: Color.fromHex('#0007'), hcDark: null, hcLight: null }, nls.localize(661, 'Foreground color of the ghost text in the editor.'));
56
+ export const ghostTextBackground = registerColor('editorGhostText.background', null, nls.localize(662, 'Background color of the ghost text in the editor.'));
56
57
  const rulerRangeDefault = new Color(new RGBA(0, 122, 204, 0.6));
57
- export const overviewRulerRangeHighlight = registerColor('editorOverviewRuler.rangeHighlightForeground', rulerRangeDefault, nls.localize(662, 'Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations.'), true);
58
- export const overviewRulerError = registerColor('editorOverviewRuler.errorForeground', { dark: new Color(new RGBA(255, 18, 18, 0.7)), light: new Color(new RGBA(255, 18, 18, 0.7)), hcDark: new Color(new RGBA(255, 50, 50, 1)), hcLight: '#B5200D' }, nls.localize(663, 'Overview ruler marker color for errors.'));
59
- export const overviewRulerWarning = registerColor('editorOverviewRuler.warningForeground', { dark: editorWarningForeground, light: editorWarningForeground, hcDark: editorWarningBorder, hcLight: editorWarningBorder }, nls.localize(664, 'Overview ruler marker color for warnings.'));
60
- export const overviewRulerInfo = registerColor('editorOverviewRuler.infoForeground', { dark: editorInfoForeground, light: editorInfoForeground, hcDark: editorInfoBorder, hcLight: editorInfoBorder }, nls.localize(665, 'Overview ruler marker color for infos.'));
61
- export const editorBracketHighlightingForeground1 = registerColor('editorBracketHighlight.foreground1', { dark: '#FFD700', light: '#0431FAFF', hcDark: '#FFD700', hcLight: '#0431FAFF' }, nls.localize(666, 'Foreground color of brackets (1). Requires enabling bracket pair colorization.'));
62
- export const editorBracketHighlightingForeground2 = registerColor('editorBracketHighlight.foreground2', { dark: '#DA70D6', light: '#319331FF', hcDark: '#DA70D6', hcLight: '#319331FF' }, nls.localize(667, 'Foreground color of brackets (2). Requires enabling bracket pair colorization.'));
63
- export const editorBracketHighlightingForeground3 = registerColor('editorBracketHighlight.foreground3', { dark: '#179FFF', light: '#7B3814FF', hcDark: '#87CEFA', hcLight: '#7B3814FF' }, nls.localize(668, 'Foreground color of brackets (3). Requires enabling bracket pair colorization.'));
64
- export const editorBracketHighlightingForeground4 = registerColor('editorBracketHighlight.foreground4', '#00000000', nls.localize(669, 'Foreground color of brackets (4). Requires enabling bracket pair colorization.'));
65
- export const editorBracketHighlightingForeground5 = registerColor('editorBracketHighlight.foreground5', '#00000000', nls.localize(670, 'Foreground color of brackets (5). Requires enabling bracket pair colorization.'));
66
- export const editorBracketHighlightingForeground6 = registerColor('editorBracketHighlight.foreground6', '#00000000', nls.localize(671, 'Foreground color of brackets (6). Requires enabling bracket pair colorization.'));
67
- export const editorBracketHighlightingUnexpectedBracketForeground = registerColor('editorBracketHighlight.unexpectedBracket.foreground', { dark: new Color(new RGBA(255, 18, 18, 0.8)), light: new Color(new RGBA(255, 18, 18, 0.8)), hcDark: new Color(new RGBA(255, 50, 50, 1)), hcLight: '#B5200D' }, nls.localize(672, 'Foreground color of unexpected brackets.'));
68
- export const editorBracketPairGuideBackground1 = registerColor('editorBracketPairGuide.background1', '#00000000', nls.localize(673, 'Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.'));
69
- export const editorBracketPairGuideBackground2 = registerColor('editorBracketPairGuide.background2', '#00000000', nls.localize(674, 'Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.'));
70
- export const editorBracketPairGuideBackground3 = registerColor('editorBracketPairGuide.background3', '#00000000', nls.localize(675, 'Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.'));
71
- export const editorBracketPairGuideBackground4 = registerColor('editorBracketPairGuide.background4', '#00000000', nls.localize(676, 'Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.'));
72
- export const editorBracketPairGuideBackground5 = registerColor('editorBracketPairGuide.background5', '#00000000', nls.localize(677, 'Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.'));
73
- export const editorBracketPairGuideBackground6 = registerColor('editorBracketPairGuide.background6', '#00000000', nls.localize(678, 'Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.'));
74
- export const editorBracketPairGuideActiveBackground1 = registerColor('editorBracketPairGuide.activeBackground1', '#00000000', nls.localize(679, 'Background color of active bracket pair guides (1). Requires enabling bracket pair guides.'));
75
- export const editorBracketPairGuideActiveBackground2 = registerColor('editorBracketPairGuide.activeBackground2', '#00000000', nls.localize(680, 'Background color of active bracket pair guides (2). Requires enabling bracket pair guides.'));
76
- export const editorBracketPairGuideActiveBackground3 = registerColor('editorBracketPairGuide.activeBackground3', '#00000000', nls.localize(681, 'Background color of active bracket pair guides (3). Requires enabling bracket pair guides.'));
77
- export const editorBracketPairGuideActiveBackground4 = registerColor('editorBracketPairGuide.activeBackground4', '#00000000', nls.localize(682, 'Background color of active bracket pair guides (4). Requires enabling bracket pair guides.'));
78
- export const editorBracketPairGuideActiveBackground5 = registerColor('editorBracketPairGuide.activeBackground5', '#00000000', nls.localize(683, 'Background color of active bracket pair guides (5). Requires enabling bracket pair guides.'));
79
- export const editorBracketPairGuideActiveBackground6 = registerColor('editorBracketPairGuide.activeBackground6', '#00000000', nls.localize(684, 'Background color of active bracket pair guides (6). Requires enabling bracket pair guides.'));
80
- export const editorUnicodeHighlightBorder = registerColor('editorUnicodeHighlight.border', editorWarningForeground, nls.localize(685, 'Border color used to highlight unicode characters.'));
81
- export const editorUnicodeHighlightBackground = registerColor('editorUnicodeHighlight.background', editorWarningBackground, nls.localize(686, 'Background color used to highlight unicode characters.'));
58
+ export const overviewRulerRangeHighlight = registerColor('editorOverviewRuler.rangeHighlightForeground', rulerRangeDefault, nls.localize(663, 'Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations.'), true);
59
+ export const overviewRulerError = registerColor('editorOverviewRuler.errorForeground', { dark: new Color(new RGBA(255, 18, 18, 0.7)), light: new Color(new RGBA(255, 18, 18, 0.7)), hcDark: new Color(new RGBA(255, 50, 50, 1)), hcLight: '#B5200D' }, nls.localize(664, 'Overview ruler marker color for errors.'));
60
+ export const overviewRulerWarning = registerColor('editorOverviewRuler.warningForeground', { dark: editorWarningForeground, light: editorWarningForeground, hcDark: editorWarningBorder, hcLight: editorWarningBorder }, nls.localize(665, 'Overview ruler marker color for warnings.'));
61
+ export const overviewRulerInfo = registerColor('editorOverviewRuler.infoForeground', { dark: editorInfoForeground, light: editorInfoForeground, hcDark: editorInfoBorder, hcLight: editorInfoBorder }, nls.localize(666, 'Overview ruler marker color for infos.'));
62
+ export const editorBracketHighlightingForeground1 = registerColor('editorBracketHighlight.foreground1', { dark: '#FFD700', light: '#0431FAFF', hcDark: '#FFD700', hcLight: '#0431FAFF' }, nls.localize(667, 'Foreground color of brackets (1). Requires enabling bracket pair colorization.'));
63
+ export const editorBracketHighlightingForeground2 = registerColor('editorBracketHighlight.foreground2', { dark: '#DA70D6', light: '#319331FF', hcDark: '#DA70D6', hcLight: '#319331FF' }, nls.localize(668, 'Foreground color of brackets (2). Requires enabling bracket pair colorization.'));
64
+ export const editorBracketHighlightingForeground3 = registerColor('editorBracketHighlight.foreground3', { dark: '#179FFF', light: '#7B3814FF', hcDark: '#87CEFA', hcLight: '#7B3814FF' }, nls.localize(669, 'Foreground color of brackets (3). Requires enabling bracket pair colorization.'));
65
+ export const editorBracketHighlightingForeground4 = registerColor('editorBracketHighlight.foreground4', '#00000000', nls.localize(670, 'Foreground color of brackets (4). Requires enabling bracket pair colorization.'));
66
+ export const editorBracketHighlightingForeground5 = registerColor('editorBracketHighlight.foreground5', '#00000000', nls.localize(671, 'Foreground color of brackets (5). Requires enabling bracket pair colorization.'));
67
+ export const editorBracketHighlightingForeground6 = registerColor('editorBracketHighlight.foreground6', '#00000000', nls.localize(672, 'Foreground color of brackets (6). Requires enabling bracket pair colorization.'));
68
+ export const editorBracketHighlightingUnexpectedBracketForeground = registerColor('editorBracketHighlight.unexpectedBracket.foreground', { dark: new Color(new RGBA(255, 18, 18, 0.8)), light: new Color(new RGBA(255, 18, 18, 0.8)), hcDark: new Color(new RGBA(255, 50, 50, 1)), hcLight: '#B5200D' }, nls.localize(673, 'Foreground color of unexpected brackets.'));
69
+ export const editorBracketPairGuideBackground1 = registerColor('editorBracketPairGuide.background1', '#00000000', nls.localize(674, 'Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.'));
70
+ export const editorBracketPairGuideBackground2 = registerColor('editorBracketPairGuide.background2', '#00000000', nls.localize(675, 'Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.'));
71
+ export const editorBracketPairGuideBackground3 = registerColor('editorBracketPairGuide.background3', '#00000000', nls.localize(676, 'Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.'));
72
+ export const editorBracketPairGuideBackground4 = registerColor('editorBracketPairGuide.background4', '#00000000', nls.localize(677, 'Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.'));
73
+ export const editorBracketPairGuideBackground5 = registerColor('editorBracketPairGuide.background5', '#00000000', nls.localize(678, 'Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.'));
74
+ export const editorBracketPairGuideBackground6 = registerColor('editorBracketPairGuide.background6', '#00000000', nls.localize(679, 'Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.'));
75
+ export const editorBracketPairGuideActiveBackground1 = registerColor('editorBracketPairGuide.activeBackground1', '#00000000', nls.localize(680, 'Background color of active bracket pair guides (1). Requires enabling bracket pair guides.'));
76
+ export const editorBracketPairGuideActiveBackground2 = registerColor('editorBracketPairGuide.activeBackground2', '#00000000', nls.localize(681, 'Background color of active bracket pair guides (2). Requires enabling bracket pair guides.'));
77
+ export const editorBracketPairGuideActiveBackground3 = registerColor('editorBracketPairGuide.activeBackground3', '#00000000', nls.localize(682, 'Background color of active bracket pair guides (3). Requires enabling bracket pair guides.'));
78
+ export const editorBracketPairGuideActiveBackground4 = registerColor('editorBracketPairGuide.activeBackground4', '#00000000', nls.localize(683, 'Background color of active bracket pair guides (4). Requires enabling bracket pair guides.'));
79
+ export const editorBracketPairGuideActiveBackground5 = registerColor('editorBracketPairGuide.activeBackground5', '#00000000', nls.localize(684, 'Background color of active bracket pair guides (5). Requires enabling bracket pair guides.'));
80
+ export const editorBracketPairGuideActiveBackground6 = registerColor('editorBracketPairGuide.activeBackground6', '#00000000', nls.localize(685, 'Background color of active bracket pair guides (6). Requires enabling bracket pair guides.'));
81
+ export const editorUnicodeHighlightBorder = registerColor('editorUnicodeHighlight.border', editorWarningForeground, nls.localize(686, 'Border color used to highlight unicode characters.'));
82
+ export const editorUnicodeHighlightBackground = registerColor('editorUnicodeHighlight.background', editorWarningBackground, nls.localize(687, 'Background color used to highlight unicode characters.'));
82
83
  // contains all color rules that used to defined in editor/browser/widget/editor.css
83
84
  registerThemingParticipant((theme, collector) => {
84
85
  const background = theme.getColor(editorBackground);
@@ -1 +1 @@
1
- {"version":3,"sources":["vs/editor/common/core/editorColorRegistry.ts"],"names":[],"mappings":"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","file":"editorColorRegistry.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as nls from '../../../nls.js';\nimport { Color, RGBA } from '../../../base/common/color.js';\nimport { activeContrastBorder, editorBackground, registerColor, editorWarningForeground, editorInfoForeground, editorWarningBorder, editorInfoBorder, contrastBorder, editorFindMatchHighlight, editorWarningBackground } from '../../../platform/theme/common/colorRegistry.js';\nimport { registerThemingParticipant } from '../../../platform/theme/common/themeService.js';\n\n/**\n * Definition of the editor colors\n */\nexport const editorLineHighlight = registerColor('editor.lineHighlightBackground', null, nls.localize('lineHighlight', 'Background color for the highlight of line at the cursor position.'));\nexport const editorInactiveLineHighlight = registerColor('editor.inactiveLineHighlightBackground', editorLineHighlight, nls.localize('inactiveLineHighlight', 'Background color for the highlight of line at the cursor position when the editor is not focused.'));\nexport const editorLineHighlightBorder = registerColor('editor.lineHighlightBorder', { dark: '#282828', light: '#eeeeee', hcDark: '#f38518', hcLight: contrastBorder }, nls.localize('lineHighlightBorderBox', 'Background color for the border around the line at the cursor position.'));\nexport const editorRangeHighlight = registerColor('editor.rangeHighlightBackground', { dark: '#ffffff0b', light: '#fdff0033', hcDark: null, hcLight: null }, nls.localize('rangeHighlight', 'Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations.'), true);\nexport const editorRangeHighlightBorder = registerColor('editor.rangeHighlightBorder', { dark: null, light: null, hcDark: activeContrastBorder, hcLight: activeContrastBorder }, nls.localize('rangeHighlightBorder', 'Background color of the border around highlighted ranges.'));\nexport const editorSymbolHighlight = registerColor('editor.symbolHighlightBackground', { dark: editorFindMatchHighlight, light: editorFindMatchHighlight, hcDark: null, hcLight: null }, nls.localize('symbolHighlight', 'Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations.'), true);\nexport const editorSymbolHighlightBorder = registerColor('editor.symbolHighlightBorder', { dark: null, light: null, hcDark: activeContrastBorder, hcLight: activeContrastBorder }, nls.localize('symbolHighlightBorder', 'Background color of the border around highlighted symbols.'));\n\nexport const editorCursorForeground = registerColor('editorCursor.foreground', { dark: '#AEAFAD', light: Color.black, hcDark: Color.white, hcLight: '#0F4A85' }, nls.localize('caret', 'Color of the editor cursor.'));\nexport const editorCursorBackground = registerColor('editorCursor.background', null, nls.localize('editorCursorBackground', 'The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.'));\nexport const editorMultiCursorPrimaryForeground = registerColor('editorMultiCursor.primary.foreground', editorCursorForeground, nls.localize('editorMultiCursorPrimaryForeground', 'Color of the primary editor cursor when multiple cursors are present.'));\nexport const editorMultiCursorPrimaryBackground = registerColor('editorMultiCursor.primary.background', editorCursorBackground, nls.localize('editorMultiCursorPrimaryBackground', 'The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.'));\nexport const editorMultiCursorSecondaryForeground = registerColor('editorMultiCursor.secondary.foreground', editorCursorForeground, nls.localize('editorMultiCursorSecondaryForeground', 'Color of secondary editor cursors when multiple cursors are present.'));\nexport const editorMultiCursorSecondaryBackground = registerColor('editorMultiCursor.secondary.background', editorCursorBackground, nls.localize('editorMultiCursorSecondaryBackground', 'The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.'));\nexport const editorWhitespaces = registerColor('editorWhitespace.foreground', { dark: '#e3e4e229', light: '#33333333', hcDark: '#e3e4e229', hcLight: '#CCCCCC' }, nls.localize('editorWhitespaces', 'Color of whitespace characters in the editor.'));\nexport const editorLineNumbers = registerColor('editorLineNumber.foreground', { dark: '#858585', light: '#237893', hcDark: Color.white, hcLight: '#292929' }, nls.localize('editorLineNumbers', 'Color of editor line numbers.'));\n\nexport const deprecatedEditorIndentGuides = registerColor('editorIndentGuide.background', editorWhitespaces, nls.localize('editorIndentGuides', 'Color of the editor indentation guides.'), false, nls.localize('deprecatedEditorIndentGuides', '\\'editorIndentGuide.background\\' is deprecated. Use \\'editorIndentGuide.background1\\' instead.'));\nexport const deprecatedEditorActiveIndentGuides = registerColor('editorIndentGuide.activeBackground', editorWhitespaces, nls.localize('editorActiveIndentGuide', 'Color of the active editor indentation guides.'), false, nls.localize('deprecatedEditorActiveIndentGuide', '\\'editorIndentGuide.activeBackground\\' is deprecated. Use \\'editorIndentGuide.activeBackground1\\' instead.'));\n\nexport const editorIndentGuide1 = registerColor('editorIndentGuide.background1', deprecatedEditorIndentGuides, nls.localize('editorIndentGuides1', 'Color of the editor indentation guides (1).'));\nexport const editorIndentGuide2 = registerColor('editorIndentGuide.background2', '#00000000', nls.localize('editorIndentGuides2', 'Color of the editor indentation guides (2).'));\nexport const editorIndentGuide3 = registerColor('editorIndentGuide.background3', '#00000000', nls.localize('editorIndentGuides3', 'Color of the editor indentation guides (3).'));\nexport const editorIndentGuide4 = registerColor('editorIndentGuide.background4', '#00000000', nls.localize('editorIndentGuides4', 'Color of the editor indentation guides (4).'));\nexport const editorIndentGuide5 = registerColor('editorIndentGuide.background5', '#00000000', nls.localize('editorIndentGuides5', 'Color of the editor indentation guides (5).'));\nexport const editorIndentGuide6 = registerColor('editorIndentGuide.background6', '#00000000', nls.localize('editorIndentGuides6', 'Color of the editor indentation guides (6).'));\n\nexport const editorActiveIndentGuide1 = registerColor('editorIndentGuide.activeBackground1', deprecatedEditorActiveIndentGuides, nls.localize('editorActiveIndentGuide1', 'Color of the active editor indentation guides (1).'));\nexport const editorActiveIndentGuide2 = registerColor('editorIndentGuide.activeBackground2', '#00000000', nls.localize('editorActiveIndentGuide2', 'Color of the active editor indentation guides (2).'));\nexport const editorActiveIndentGuide3 = registerColor('editorIndentGuide.activeBackground3', '#00000000', nls.localize('editorActiveIndentGuide3', 'Color of the active editor indentation guides (3).'));\nexport const editorActiveIndentGuide4 = registerColor('editorIndentGuide.activeBackground4', '#00000000', nls.localize('editorActiveIndentGuide4', 'Color of the active editor indentation guides (4).'));\nexport const editorActiveIndentGuide5 = registerColor('editorIndentGuide.activeBackground5', '#00000000', nls.localize('editorActiveIndentGuide5', 'Color of the active editor indentation guides (5).'));\nexport const editorActiveIndentGuide6 = registerColor('editorIndentGuide.activeBackground6', '#00000000', nls.localize('editorActiveIndentGuide6', 'Color of the active editor indentation guides (6).'));\n\nconst deprecatedEditorActiveLineNumber = registerColor('editorActiveLineNumber.foreground', { dark: '#c6c6c6', light: '#0B216F', hcDark: activeContrastBorder, hcLight: activeContrastBorder }, nls.localize('editorActiveLineNumber', 'Color of editor active line number'), false, nls.localize('deprecatedEditorActiveLineNumber', 'Id is deprecated. Use \\'editorLineNumber.activeForeground\\' instead.'));\nexport const editorActiveLineNumber = registerColor('editorLineNumber.activeForeground', deprecatedEditorActiveLineNumber, nls.localize('editorActiveLineNumber', 'Color of editor active line number'));\nexport const editorDimmedLineNumber = registerColor('editorLineNumber.dimmedForeground', null, nls.localize('editorDimmedLineNumber', 'Color of the final editor line when editor.renderFinalNewline is set to dimmed.'));\n\nexport const editorRuler = registerColor('editorRuler.foreground', { dark: '#5A5A5A', light: Color.lightgrey, hcDark: Color.white, hcLight: '#292929' }, nls.localize('editorRuler', 'Color of the editor rulers.'));\n\nexport const editorCodeLensForeground = registerColor('editorCodeLens.foreground', { dark: '#999999', light: '#919191', hcDark: '#999999', hcLight: '#292929' }, nls.localize('editorCodeLensForeground', 'Foreground color of editor CodeLens'));\n\nexport const editorBracketMatchBackground = registerColor('editorBracketMatch.background', { dark: '#0064001a', light: '#0064001a', hcDark: '#0064001a', hcLight: '#0000' }, nls.localize('editorBracketMatchBackground', 'Background color behind matching brackets'));\nexport const editorBracketMatchBorder = registerColor('editorBracketMatch.border', { dark: '#888', light: '#B9B9B9', hcDark: contrastBorder, hcLight: contrastBorder }, nls.localize('editorBracketMatchBorder', 'Color for matching brackets boxes'));\n\nexport const editorOverviewRulerBorder = registerColor('editorOverviewRuler.border', { dark: '#7f7f7f4d', light: '#7f7f7f4d', hcDark: '#7f7f7f4d', hcLight: '#666666' }, nls.localize('editorOverviewRulerBorder', 'Color of the overview ruler border.'));\nexport const editorOverviewRulerBackground = registerColor('editorOverviewRuler.background', null, nls.localize('editorOverviewRulerBackground', 'Background color of the editor overview ruler.'));\n\nexport const editorGutter = registerColor('editorGutter.background', editorBackground, nls.localize('editorGutter', 'Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.'));\n\nexport const editorUnnecessaryCodeBorder = registerColor('editorUnnecessaryCode.border', { dark: null, light: null, hcDark: Color.fromHex('#fff').transparent(0.8), hcLight: contrastBorder }, nls.localize('unnecessaryCodeBorder', 'Border color of unnecessary (unused) source code in the editor.'));\nexport const editorUnnecessaryCodeOpacity = registerColor('editorUnnecessaryCode.opacity', { dark: Color.fromHex('#000a'), light: Color.fromHex('#0007'), hcDark: null, hcLight: null }, nls.localize('unnecessaryCodeOpacity', 'Opacity of unnecessary (unused) source code in the editor. For example, \"#000000c0\" will render the code with 75% opacity. For high contrast themes, use the \\'editorUnnecessaryCode.border\\' theme color to underline unnecessary code instead of fading it out.'));\n\nexport const ghostTextBorder = registerColor('editorGhostText.border', { dark: null, light: null, hcDark: Color.fromHex('#fff').transparent(0.8), hcLight: Color.fromHex('#292929').transparent(0.8) }, nls.localize('editorGhostTextBorder', 'Border color of ghost text in the editor.'));\nexport const ghostTextForeground = registerColor('editorGhostText.foreground', { dark: Color.fromHex('#ffffff56'), light: Color.fromHex('#0007'), hcDark: null, hcLight: null }, nls.localize('editorGhostTextForeground', 'Foreground color of the ghost text in the editor.'));\nexport const ghostTextBackground = registerColor('editorGhostText.background', null, nls.localize('editorGhostTextBackground', 'Background color of the ghost text in the editor.'));\n\nconst rulerRangeDefault = new Color(new RGBA(0, 122, 204, 0.6));\nexport const overviewRulerRangeHighlight = registerColor('editorOverviewRuler.rangeHighlightForeground', rulerRangeDefault, nls.localize('overviewRulerRangeHighlight', 'Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations.'), true);\nexport const overviewRulerError = registerColor('editorOverviewRuler.errorForeground', { dark: new Color(new RGBA(255, 18, 18, 0.7)), light: new Color(new RGBA(255, 18, 18, 0.7)), hcDark: new Color(new RGBA(255, 50, 50, 1)), hcLight: '#B5200D' }, nls.localize('overviewRuleError', 'Overview ruler marker color for errors.'));\nexport const overviewRulerWarning = registerColor('editorOverviewRuler.warningForeground', { dark: editorWarningForeground, light: editorWarningForeground, hcDark: editorWarningBorder, hcLight: editorWarningBorder }, nls.localize('overviewRuleWarning', 'Overview ruler marker color for warnings.'));\nexport const overviewRulerInfo = registerColor('editorOverviewRuler.infoForeground', { dark: editorInfoForeground, light: editorInfoForeground, hcDark: editorInfoBorder, hcLight: editorInfoBorder }, nls.localize('overviewRuleInfo', 'Overview ruler marker color for infos.'));\n\nexport const editorBracketHighlightingForeground1 = registerColor('editorBracketHighlight.foreground1', { dark: '#FFD700', light: '#0431FAFF', hcDark: '#FFD700', hcLight: '#0431FAFF' }, nls.localize('editorBracketHighlightForeground1', 'Foreground color of brackets (1). Requires enabling bracket pair colorization.'));\nexport const editorBracketHighlightingForeground2 = registerColor('editorBracketHighlight.foreground2', { dark: '#DA70D6', light: '#319331FF', hcDark: '#DA70D6', hcLight: '#319331FF' }, nls.localize('editorBracketHighlightForeground2', 'Foreground color of brackets (2). Requires enabling bracket pair colorization.'));\nexport const editorBracketHighlightingForeground3 = registerColor('editorBracketHighlight.foreground3', { dark: '#179FFF', light: '#7B3814FF', hcDark: '#87CEFA', hcLight: '#7B3814FF' }, nls.localize('editorBracketHighlightForeground3', 'Foreground color of brackets (3). Requires enabling bracket pair colorization.'));\nexport const editorBracketHighlightingForeground4 = registerColor('editorBracketHighlight.foreground4', '#00000000', nls.localize('editorBracketHighlightForeground4', 'Foreground color of brackets (4). Requires enabling bracket pair colorization.'));\nexport const editorBracketHighlightingForeground5 = registerColor('editorBracketHighlight.foreground5', '#00000000', nls.localize('editorBracketHighlightForeground5', 'Foreground color of brackets (5). Requires enabling bracket pair colorization.'));\nexport const editorBracketHighlightingForeground6 = registerColor('editorBracketHighlight.foreground6', '#00000000', nls.localize('editorBracketHighlightForeground6', 'Foreground color of brackets (6). Requires enabling bracket pair colorization.'));\n\nexport const editorBracketHighlightingUnexpectedBracketForeground = registerColor('editorBracketHighlight.unexpectedBracket.foreground', { dark: new Color(new RGBA(255, 18, 18, 0.8)), light: new Color(new RGBA(255, 18, 18, 0.8)), hcDark: new Color(new RGBA(255, 50, 50, 1)), hcLight: '#B5200D' }, nls.localize('editorBracketHighlightUnexpectedBracketForeground', 'Foreground color of unexpected brackets.'));\n\nexport const editorBracketPairGuideBackground1 = registerColor('editorBracketPairGuide.background1', '#00000000', nls.localize('editorBracketPairGuide.background1', 'Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.'));\nexport const editorBracketPairGuideBackground2 = registerColor('editorBracketPairGuide.background2', '#00000000', nls.localize('editorBracketPairGuide.background2', 'Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.'));\nexport const editorBracketPairGuideBackground3 = registerColor('editorBracketPairGuide.background3', '#00000000', nls.localize('editorBracketPairGuide.background3', 'Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.'));\nexport const editorBracketPairGuideBackground4 = registerColor('editorBracketPairGuide.background4', '#00000000', nls.localize('editorBracketPairGuide.background4', 'Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.'));\nexport const editorBracketPairGuideBackground5 = registerColor('editorBracketPairGuide.background5', '#00000000', nls.localize('editorBracketPairGuide.background5', 'Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.'));\nexport const editorBracketPairGuideBackground6 = registerColor('editorBracketPairGuide.background6', '#00000000', nls.localize('editorBracketPairGuide.background6', 'Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.'));\n\nexport const editorBracketPairGuideActiveBackground1 = registerColor('editorBracketPairGuide.activeBackground1', '#00000000', nls.localize('editorBracketPairGuide.activeBackground1', 'Background color of active bracket pair guides (1). Requires enabling bracket pair guides.'));\nexport const editorBracketPairGuideActiveBackground2 = registerColor('editorBracketPairGuide.activeBackground2', '#00000000', nls.localize('editorBracketPairGuide.activeBackground2', 'Background color of active bracket pair guides (2). Requires enabling bracket pair guides.'));\nexport const editorBracketPairGuideActiveBackground3 = registerColor('editorBracketPairGuide.activeBackground3', '#00000000', nls.localize('editorBracketPairGuide.activeBackground3', 'Background color of active bracket pair guides (3). Requires enabling bracket pair guides.'));\nexport const editorBracketPairGuideActiveBackground4 = registerColor('editorBracketPairGuide.activeBackground4', '#00000000', nls.localize('editorBracketPairGuide.activeBackground4', 'Background color of active bracket pair guides (4). Requires enabling bracket pair guides.'));\nexport const editorBracketPairGuideActiveBackground5 = registerColor('editorBracketPairGuide.activeBackground5', '#00000000', nls.localize('editorBracketPairGuide.activeBackground5', 'Background color of active bracket pair guides (5). Requires enabling bracket pair guides.'));\nexport const editorBracketPairGuideActiveBackground6 = registerColor('editorBracketPairGuide.activeBackground6', '#00000000', nls.localize('editorBracketPairGuide.activeBackground6', 'Background color of active bracket pair guides (6). Requires enabling bracket pair guides.'));\n\nexport const editorUnicodeHighlightBorder = registerColor('editorUnicodeHighlight.border', editorWarningForeground, nls.localize('editorUnicodeHighlight.border', 'Border color used to highlight unicode characters.'));\nexport const editorUnicodeHighlightBackground = registerColor('editorUnicodeHighlight.background', editorWarningBackground, nls.localize('editorUnicodeHighlight.background', 'Background color used to highlight unicode characters.'));\n\n\n// contains all color rules that used to defined in editor/browser/widget/editor.css\nregisterThemingParticipant((theme, collector) => {\n\tconst background = theme.getColor(editorBackground);\n\tconst lineHighlight = theme.getColor(editorLineHighlight);\n\tconst imeBackground = (lineHighlight && !lineHighlight.isTransparent() ? lineHighlight : background);\n\tif (imeBackground) {\n\t\tcollector.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${imeBackground}; }`);\n\t}\n});\n"]}
1
+ {"version":3,"sources":["vs/editor/common/core/editorColorRegistry.ts"],"names":[],"mappings":"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","file":"editorColorRegistry.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as nls from '../../../nls.js';\nimport { Color, RGBA } from '../../../base/common/color.js';\nimport { activeContrastBorder, editorBackground, registerColor, editorWarningForeground, editorInfoForeground, editorWarningBorder, editorInfoBorder, contrastBorder, editorFindMatchHighlight, editorWarningBackground } from '../../../platform/theme/common/colorRegistry.js';\nimport { registerThemingParticipant } from '../../../platform/theme/common/themeService.js';\n\n/**\n * Definition of the editor colors\n */\nexport const editorLineHighlight = registerColor('editor.lineHighlightBackground', null, nls.localize('lineHighlight', 'Background color for the highlight of line at the cursor position.'));\nexport const editorInactiveLineHighlight = registerColor('editor.inactiveLineHighlightBackground', editorLineHighlight, nls.localize('inactiveLineHighlight', 'Background color for the highlight of line at the cursor position when the editor is not focused.'));\nexport const editorLineHighlightBorder = registerColor('editor.lineHighlightBorder', { dark: '#282828', light: '#eeeeee', hcDark: '#f38518', hcLight: contrastBorder }, nls.localize('lineHighlightBorderBox', 'Background color for the border around the line at the cursor position.'));\nexport const editorRangeHighlight = registerColor('editor.rangeHighlightBackground', { dark: '#ffffff0b', light: '#fdff0033', hcDark: null, hcLight: null }, nls.localize('rangeHighlight', 'Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations.'), true);\nexport const editorRangeHighlightBorder = registerColor('editor.rangeHighlightBorder', { dark: null, light: null, hcDark: activeContrastBorder, hcLight: activeContrastBorder }, nls.localize('rangeHighlightBorder', 'Background color of the border around highlighted ranges.'));\nexport const editorSymbolHighlight = registerColor('editor.symbolHighlightBackground', { dark: editorFindMatchHighlight, light: editorFindMatchHighlight, hcDark: null, hcLight: null }, nls.localize('symbolHighlight', 'Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations.'), true);\nexport const editorSymbolHighlightBorder = registerColor('editor.symbolHighlightBorder', { dark: null, light: null, hcDark: activeContrastBorder, hcLight: activeContrastBorder }, nls.localize('symbolHighlightBorder', 'Background color of the border around highlighted symbols.'));\n\nexport const editorCursorForeground = registerColor('editorCursor.foreground', { dark: '#AEAFAD', light: Color.black, hcDark: Color.white, hcLight: '#0F4A85' }, nls.localize('caret', 'Color of the editor cursor.'));\nexport const editorCursorBackground = registerColor('editorCursor.background', null, nls.localize('editorCursorBackground', 'The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.'));\nexport const editorMultiCursorPrimaryForeground = registerColor('editorMultiCursor.primary.foreground', editorCursorForeground, nls.localize('editorMultiCursorPrimaryForeground', 'Color of the primary editor cursor when multiple cursors are present.'));\nexport const editorMultiCursorPrimaryBackground = registerColor('editorMultiCursor.primary.background', editorCursorBackground, nls.localize('editorMultiCursorPrimaryBackground', 'The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.'));\nexport const editorMultiCursorSecondaryForeground = registerColor('editorMultiCursor.secondary.foreground', editorCursorForeground, nls.localize('editorMultiCursorSecondaryForeground', 'Color of secondary editor cursors when multiple cursors are present.'));\nexport const editorMultiCursorSecondaryBackground = registerColor('editorMultiCursor.secondary.background', editorCursorBackground, nls.localize('editorMultiCursorSecondaryBackground', 'The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.'));\nexport const editorWhitespaces = registerColor('editorWhitespace.foreground', { dark: '#e3e4e229', light: '#33333333', hcDark: '#e3e4e229', hcLight: '#CCCCCC' }, nls.localize('editorWhitespaces', 'Color of whitespace characters in the editor.'));\nexport const editorLineNumbers = registerColor('editorLineNumber.foreground', { dark: '#858585', light: '#237893', hcDark: Color.white, hcLight: '#292929' }, nls.localize('editorLineNumbers', 'Color of editor line numbers.'));\n\nexport const deprecatedEditorIndentGuides = registerColor('editorIndentGuide.background', editorWhitespaces, nls.localize('editorIndentGuides', 'Color of the editor indentation guides.'), false, nls.localize('deprecatedEditorIndentGuides', '\\'editorIndentGuide.background\\' is deprecated. Use \\'editorIndentGuide.background1\\' instead.'));\nexport const deprecatedEditorActiveIndentGuides = registerColor('editorIndentGuide.activeBackground', editorWhitespaces, nls.localize('editorActiveIndentGuide', 'Color of the active editor indentation guides.'), false, nls.localize('deprecatedEditorActiveIndentGuide', '\\'editorIndentGuide.activeBackground\\' is deprecated. Use \\'editorIndentGuide.activeBackground1\\' instead.'));\n\nexport const editorIndentGuide1 = registerColor('editorIndentGuide.background1', deprecatedEditorIndentGuides, nls.localize('editorIndentGuides1', 'Color of the editor indentation guides (1).'));\nexport const editorIndentGuide2 = registerColor('editorIndentGuide.background2', '#00000000', nls.localize('editorIndentGuides2', 'Color of the editor indentation guides (2).'));\nexport const editorIndentGuide3 = registerColor('editorIndentGuide.background3', '#00000000', nls.localize('editorIndentGuides3', 'Color of the editor indentation guides (3).'));\nexport const editorIndentGuide4 = registerColor('editorIndentGuide.background4', '#00000000', nls.localize('editorIndentGuides4', 'Color of the editor indentation guides (4).'));\nexport const editorIndentGuide5 = registerColor('editorIndentGuide.background5', '#00000000', nls.localize('editorIndentGuides5', 'Color of the editor indentation guides (5).'));\nexport const editorIndentGuide6 = registerColor('editorIndentGuide.background6', '#00000000', nls.localize('editorIndentGuides6', 'Color of the editor indentation guides (6).'));\n\nexport const editorActiveIndentGuide1 = registerColor('editorIndentGuide.activeBackground1', deprecatedEditorActiveIndentGuides, nls.localize('editorActiveIndentGuide1', 'Color of the active editor indentation guides (1).'));\nexport const editorActiveIndentGuide2 = registerColor('editorIndentGuide.activeBackground2', '#00000000', nls.localize('editorActiveIndentGuide2', 'Color of the active editor indentation guides (2).'));\nexport const editorActiveIndentGuide3 = registerColor('editorIndentGuide.activeBackground3', '#00000000', nls.localize('editorActiveIndentGuide3', 'Color of the active editor indentation guides (3).'));\nexport const editorActiveIndentGuide4 = registerColor('editorIndentGuide.activeBackground4', '#00000000', nls.localize('editorActiveIndentGuide4', 'Color of the active editor indentation guides (4).'));\nexport const editorActiveIndentGuide5 = registerColor('editorIndentGuide.activeBackground5', '#00000000', nls.localize('editorActiveIndentGuide5', 'Color of the active editor indentation guides (5).'));\nexport const editorActiveIndentGuide6 = registerColor('editorIndentGuide.activeBackground6', '#00000000', nls.localize('editorActiveIndentGuide6', 'Color of the active editor indentation guides (6).'));\n\nconst deprecatedEditorActiveLineNumber = registerColor('editorActiveLineNumber.foreground', { dark: '#c6c6c6', light: '#0B216F', hcDark: activeContrastBorder, hcLight: activeContrastBorder }, nls.localize('editorActiveLineNumber', 'Color of editor active line number'), false, nls.localize('deprecatedEditorActiveLineNumber', 'Id is deprecated. Use \\'editorLineNumber.activeForeground\\' instead.'));\nexport const editorActiveLineNumber = registerColor('editorLineNumber.activeForeground', deprecatedEditorActiveLineNumber, nls.localize('editorActiveLineNumber', 'Color of editor active line number'));\nexport const editorDimmedLineNumber = registerColor('editorLineNumber.dimmedForeground', null, nls.localize('editorDimmedLineNumber', 'Color of the final editor line when editor.renderFinalNewline is set to dimmed.'));\n\nexport const editorRuler = registerColor('editorRuler.foreground', { dark: '#5A5A5A', light: Color.lightgrey, hcDark: Color.white, hcLight: '#292929' }, nls.localize('editorRuler', 'Color of the editor rulers.'));\n\nexport const editorCodeLensForeground = registerColor('editorCodeLens.foreground', { dark: '#999999', light: '#919191', hcDark: '#999999', hcLight: '#292929' }, nls.localize('editorCodeLensForeground', 'Foreground color of editor CodeLens'));\n\nexport const editorBracketMatchBackground = registerColor('editorBracketMatch.background', { dark: '#0064001a', light: '#0064001a', hcDark: '#0064001a', hcLight: '#0000' }, nls.localize('editorBracketMatchBackground', 'Background color behind matching brackets'));\nexport const editorBracketMatchBorder = registerColor('editorBracketMatch.border', { dark: '#888', light: '#B9B9B9', hcDark: contrastBorder, hcLight: contrastBorder }, nls.localize('editorBracketMatchBorder', 'Color for matching brackets boxes'));\nexport const editorBracketMatchForeground = registerColor('editorBracketMatch.foreground', null, nls.localize('editorBracketMatchForeground', 'Foreground color for matching brackets'));\n\nexport const editorOverviewRulerBorder = registerColor('editorOverviewRuler.border', { dark: '#7f7f7f4d', light: '#7f7f7f4d', hcDark: '#7f7f7f4d', hcLight: '#666666' }, nls.localize('editorOverviewRulerBorder', 'Color of the overview ruler border.'));\nexport const editorOverviewRulerBackground = registerColor('editorOverviewRuler.background', null, nls.localize('editorOverviewRulerBackground', 'Background color of the editor overview ruler.'));\n\nexport const editorGutter = registerColor('editorGutter.background', editorBackground, nls.localize('editorGutter', 'Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.'));\n\nexport const editorUnnecessaryCodeBorder = registerColor('editorUnnecessaryCode.border', { dark: null, light: null, hcDark: Color.fromHex('#fff').transparent(0.8), hcLight: contrastBorder }, nls.localize('unnecessaryCodeBorder', 'Border color of unnecessary (unused) source code in the editor.'));\nexport const editorUnnecessaryCodeOpacity = registerColor('editorUnnecessaryCode.opacity', { dark: Color.fromHex('#000a'), light: Color.fromHex('#0007'), hcDark: null, hcLight: null }, nls.localize('unnecessaryCodeOpacity', 'Opacity of unnecessary (unused) source code in the editor. For example, \"#000000c0\" will render the code with 75% opacity. For high contrast themes, use the \\'editorUnnecessaryCode.border\\' theme color to underline unnecessary code instead of fading it out.'));\n\nexport const ghostTextBorder = registerColor('editorGhostText.border', { dark: null, light: null, hcDark: Color.fromHex('#fff').transparent(0.8), hcLight: Color.fromHex('#292929').transparent(0.8) }, nls.localize('editorGhostTextBorder', 'Border color of ghost text in the editor.'));\nexport const ghostTextForeground = registerColor('editorGhostText.foreground', { dark: Color.fromHex('#ffffff56'), light: Color.fromHex('#0007'), hcDark: null, hcLight: null }, nls.localize('editorGhostTextForeground', 'Foreground color of the ghost text in the editor.'));\nexport const ghostTextBackground = registerColor('editorGhostText.background', null, nls.localize('editorGhostTextBackground', 'Background color of the ghost text in the editor.'));\n\nconst rulerRangeDefault = new Color(new RGBA(0, 122, 204, 0.6));\nexport const overviewRulerRangeHighlight = registerColor('editorOverviewRuler.rangeHighlightForeground', rulerRangeDefault, nls.localize('overviewRulerRangeHighlight', 'Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations.'), true);\nexport const overviewRulerError = registerColor('editorOverviewRuler.errorForeground', { dark: new Color(new RGBA(255, 18, 18, 0.7)), light: new Color(new RGBA(255, 18, 18, 0.7)), hcDark: new Color(new RGBA(255, 50, 50, 1)), hcLight: '#B5200D' }, nls.localize('overviewRuleError', 'Overview ruler marker color for errors.'));\nexport const overviewRulerWarning = registerColor('editorOverviewRuler.warningForeground', { dark: editorWarningForeground, light: editorWarningForeground, hcDark: editorWarningBorder, hcLight: editorWarningBorder }, nls.localize('overviewRuleWarning', 'Overview ruler marker color for warnings.'));\nexport const overviewRulerInfo = registerColor('editorOverviewRuler.infoForeground', { dark: editorInfoForeground, light: editorInfoForeground, hcDark: editorInfoBorder, hcLight: editorInfoBorder }, nls.localize('overviewRuleInfo', 'Overview ruler marker color for infos.'));\n\nexport const editorBracketHighlightingForeground1 = registerColor('editorBracketHighlight.foreground1', { dark: '#FFD700', light: '#0431FAFF', hcDark: '#FFD700', hcLight: '#0431FAFF' }, nls.localize('editorBracketHighlightForeground1', 'Foreground color of brackets (1). Requires enabling bracket pair colorization.'));\nexport const editorBracketHighlightingForeground2 = registerColor('editorBracketHighlight.foreground2', { dark: '#DA70D6', light: '#319331FF', hcDark: '#DA70D6', hcLight: '#319331FF' }, nls.localize('editorBracketHighlightForeground2', 'Foreground color of brackets (2). Requires enabling bracket pair colorization.'));\nexport const editorBracketHighlightingForeground3 = registerColor('editorBracketHighlight.foreground3', { dark: '#179FFF', light: '#7B3814FF', hcDark: '#87CEFA', hcLight: '#7B3814FF' }, nls.localize('editorBracketHighlightForeground3', 'Foreground color of brackets (3). Requires enabling bracket pair colorization.'));\nexport const editorBracketHighlightingForeground4 = registerColor('editorBracketHighlight.foreground4', '#00000000', nls.localize('editorBracketHighlightForeground4', 'Foreground color of brackets (4). Requires enabling bracket pair colorization.'));\nexport const editorBracketHighlightingForeground5 = registerColor('editorBracketHighlight.foreground5', '#00000000', nls.localize('editorBracketHighlightForeground5', 'Foreground color of brackets (5). Requires enabling bracket pair colorization.'));\nexport const editorBracketHighlightingForeground6 = registerColor('editorBracketHighlight.foreground6', '#00000000', nls.localize('editorBracketHighlightForeground6', 'Foreground color of brackets (6). Requires enabling bracket pair colorization.'));\n\nexport const editorBracketHighlightingUnexpectedBracketForeground = registerColor('editorBracketHighlight.unexpectedBracket.foreground', { dark: new Color(new RGBA(255, 18, 18, 0.8)), light: new Color(new RGBA(255, 18, 18, 0.8)), hcDark: new Color(new RGBA(255, 50, 50, 1)), hcLight: '#B5200D' }, nls.localize('editorBracketHighlightUnexpectedBracketForeground', 'Foreground color of unexpected brackets.'));\n\nexport const editorBracketPairGuideBackground1 = registerColor('editorBracketPairGuide.background1', '#00000000', nls.localize('editorBracketPairGuide.background1', 'Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.'));\nexport const editorBracketPairGuideBackground2 = registerColor('editorBracketPairGuide.background2', '#00000000', nls.localize('editorBracketPairGuide.background2', 'Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.'));\nexport const editorBracketPairGuideBackground3 = registerColor('editorBracketPairGuide.background3', '#00000000', nls.localize('editorBracketPairGuide.background3', 'Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.'));\nexport const editorBracketPairGuideBackground4 = registerColor('editorBracketPairGuide.background4', '#00000000', nls.localize('editorBracketPairGuide.background4', 'Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.'));\nexport const editorBracketPairGuideBackground5 = registerColor('editorBracketPairGuide.background5', '#00000000', nls.localize('editorBracketPairGuide.background5', 'Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.'));\nexport const editorBracketPairGuideBackground6 = registerColor('editorBracketPairGuide.background6', '#00000000', nls.localize('editorBracketPairGuide.background6', 'Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.'));\n\nexport const editorBracketPairGuideActiveBackground1 = registerColor('editorBracketPairGuide.activeBackground1', '#00000000', nls.localize('editorBracketPairGuide.activeBackground1', 'Background color of active bracket pair guides (1). Requires enabling bracket pair guides.'));\nexport const editorBracketPairGuideActiveBackground2 = registerColor('editorBracketPairGuide.activeBackground2', '#00000000', nls.localize('editorBracketPairGuide.activeBackground2', 'Background color of active bracket pair guides (2). Requires enabling bracket pair guides.'));\nexport const editorBracketPairGuideActiveBackground3 = registerColor('editorBracketPairGuide.activeBackground3', '#00000000', nls.localize('editorBracketPairGuide.activeBackground3', 'Background color of active bracket pair guides (3). Requires enabling bracket pair guides.'));\nexport const editorBracketPairGuideActiveBackground4 = registerColor('editorBracketPairGuide.activeBackground4', '#00000000', nls.localize('editorBracketPairGuide.activeBackground4', 'Background color of active bracket pair guides (4). Requires enabling bracket pair guides.'));\nexport const editorBracketPairGuideActiveBackground5 = registerColor('editorBracketPairGuide.activeBackground5', '#00000000', nls.localize('editorBracketPairGuide.activeBackground5', 'Background color of active bracket pair guides (5). Requires enabling bracket pair guides.'));\nexport const editorBracketPairGuideActiveBackground6 = registerColor('editorBracketPairGuide.activeBackground6', '#00000000', nls.localize('editorBracketPairGuide.activeBackground6', 'Background color of active bracket pair guides (6). Requires enabling bracket pair guides.'));\n\nexport const editorUnicodeHighlightBorder = registerColor('editorUnicodeHighlight.border', editorWarningForeground, nls.localize('editorUnicodeHighlight.border', 'Border color used to highlight unicode characters.'));\nexport const editorUnicodeHighlightBackground = registerColor('editorUnicodeHighlight.background', editorWarningBackground, nls.localize('editorUnicodeHighlight.background', 'Background color used to highlight unicode characters.'));\n\n\n// contains all color rules that used to defined in editor/browser/widget/editor.css\nregisterThemingParticipant((theme, collector) => {\n\tconst background = theme.getColor(editorBackground);\n\tconst lineHighlight = theme.getColor(editorLineHighlight);\n\tconst imeBackground = (lineHighlight && !lineHighlight.isTransparent() ? lineHighlight : background);\n\tif (imeBackground) {\n\t\tcollector.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${imeBackground}; }`);\n\t}\n});\n"]}
@@ -616,15 +616,15 @@ export class PasteOperation {
616
616
  }
617
617
  }
618
618
  static _distributePasteToCursors(config, selections, text, pasteOnNewLine, multicursorText) {
619
- if (pasteOnNewLine) {
620
- return null;
621
- }
622
619
  if (selections.length === 1) {
623
620
  return null;
624
621
  }
625
622
  if (multicursorText && multicursorText.length === selections.length) {
626
623
  return multicursorText;
627
624
  }
625
+ if (pasteOnNewLine) {
626
+ return null;
627
+ }
628
628
  if (config.multiCursorPaste === 'spread') {
629
629
  // Try to spread the pasted text in case the line count matches the cursor count
630
630
  // Remove trailing \n if present