monaco-editor11 1.0.7 → 1.0.9
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.
- package/dist/assets/css.worker-C7FogG4G.js +93 -0
- package/dist/assets/editor.worker-iXcRX1Tq.js +26 -0
- package/dist/assets/html.worker-C8VxctEJ.js +470 -0
- package/dist/assets/json.worker-CMC9kgPL.js +58 -0
- package/dist/assets/ts.worker-CtTJ3hNN.js +67731 -0
- package/dist/index.d.ts +0 -6
- package/dist/monaco-editor11.es.js +49 -78
- package/dist/monaco-editor11.umd.js +1 -50
- package/dist/monaco.d.ts +8 -0
- package/dist/workers/common/initialize.js +16 -0
- package/dist/workers/common/workers.js +141 -0
- package/dist/workers/editor/common/abstractSyntaxTokenBackend.js +128 -0
- package/dist/workers/editor/common/abstractText.js +89 -0
- package/dist/workers/editor/common/ast.js +485 -0
- package/dist/workers/editor/common/autoIndent.js +390 -0
- package/dist/workers/editor/common/beforeEditPositionMapper.js +110 -0
- package/dist/workers/editor/common/bracketPairsImpl.js +717 -0
- package/dist/workers/editor/common/bracketPairsTree.js +343 -0
- package/dist/workers/editor/common/brackets.js +108 -0
- package/dist/workers/editor/common/characterClassifier.js +59 -0
- package/dist/workers/editor/common/characterPair.js +40 -0
- package/dist/workers/editor/common/colorizedBracketPairsDecorationProvider.js +97 -0
- package/dist/workers/editor/common/columnRange.js +35 -0
- package/dist/workers/editor/common/combineTextEditInfos.js +124 -0
- package/dist/workers/editor/common/common.js +20 -0
- package/dist/workers/editor/common/computeMovedLines.js +249 -0
- package/dist/workers/editor/common/concat23Trees.js +192 -0
- package/dist/workers/editor/common/contiguousMultilineTokens.js +32 -0
- package/dist/workers/editor/common/contiguousMultilineTokensBuilder.js +23 -0
- package/dist/workers/editor/common/contiguousTokensEditing.js +128 -0
- package/dist/workers/editor/common/contiguousTokensStore.js +207 -0
- package/dist/workers/editor/common/coordinatesConverter.js +51 -0
- package/dist/workers/editor/common/cursor.js +899 -0
- package/dist/workers/editor/common/cursorAtomicMoveOperations.js +145 -0
- package/dist/workers/editor/common/cursorCollection.js +194 -0
- package/dist/workers/editor/common/cursorColumnSelection.js +93 -0
- package/dist/workers/editor/common/cursorColumns.js +112 -0
- package/dist/workers/editor/common/cursorCommon.js +250 -0
- package/dist/workers/editor/common/cursorContext.js +15 -0
- package/dist/workers/editor/common/cursorDeleteOperations.js +231 -0
- package/dist/workers/editor/common/cursorMoveCommands.js +676 -0
- package/dist/workers/editor/common/cursorMoveOperations.js +290 -0
- package/dist/workers/editor/common/cursorTypeEditOperations.js +968 -0
- package/dist/workers/editor/common/cursorTypeOperations.js +173 -0
- package/dist/workers/editor/common/cursorUtils.js +75 -0
- package/dist/workers/editor/common/cursorWordOperations.js +720 -0
- package/dist/workers/editor/common/defaultDocumentColorsComputer.js +138 -0
- package/dist/workers/editor/common/defaultLinesDiffComputer.js +188 -0
- package/dist/workers/editor/common/diffAlgorithm.js +139 -0
- package/dist/workers/editor/common/diffEditor.js +38 -0
- package/dist/workers/editor/common/dynamicProgrammingDiffing.js +101 -0
- package/dist/workers/editor/common/edit.js +183 -0
- package/dist/workers/editor/common/editOperation.js +36 -0
- package/dist/workers/editor/common/editStack.js +363 -0
- package/dist/workers/editor/common/editorAction.js +26 -0
- package/dist/workers/editor/common/editorBaseApi.js +43 -0
- package/dist/workers/editor/common/editorColorRegistry.js +102 -0
- package/dist/workers/editor/common/editorCommon.js +13 -0
- package/dist/workers/editor/common/editorConfigurationSchema.js +338 -0
- package/dist/workers/editor/common/editorContextKeys.js +84 -0
- package/dist/workers/editor/common/editorFeatures.js +17 -0
- package/dist/workers/editor/common/editorOptions.js +3440 -0
- package/dist/workers/editor/common/editorTheme.js +23 -0
- package/dist/workers/editor/common/editorWebWorker.js +299 -0
- package/dist/workers/editor/common/editorWorker.js +9 -0
- package/dist/workers/editor/common/editorWorkerHost.js +15 -0
- package/dist/workers/editor/common/editorZoom.js +26 -0
- package/dist/workers/editor/common/electricCharacter.js +55 -0
- package/dist/workers/editor/common/encodedTokenAttributes.js +79 -0
- package/dist/workers/editor/common/enterAction.js +53 -0
- package/dist/workers/editor/common/eolCounter.js +44 -0
- package/dist/workers/editor/common/findSectionHeaders.js +128 -0
- package/dist/workers/editor/common/fixBrackets.js +67 -0
- package/dist/workers/editor/common/fixedArray.js +70 -0
- package/dist/workers/editor/common/fontInfo.js +172 -0
- package/dist/workers/editor/common/fontInfoFromSettings.js +29 -0
- package/dist/workers/editor/common/getIconClasses.js +106 -0
- package/dist/workers/editor/common/getPositionOffsetTransformerFromTextModel.js +24 -0
- package/dist/workers/editor/common/glyphLanesModel.js +61 -0
- package/dist/workers/editor/common/guidesTextModelPart.js +405 -0
- package/dist/workers/editor/common/heuristicSequenceOptimizations.js +374 -0
- package/dist/workers/editor/common/indentRules.js +63 -0
- package/dist/workers/editor/common/indentation.js +39 -0
- package/dist/workers/editor/common/indentationGuesser.js +178 -0
- package/dist/workers/editor/common/indentationLineProcessor.js +193 -0
- package/dist/workers/editor/common/inlineDecorations.js +26 -0
- package/dist/workers/editor/common/inplaceReplaceSupport.js +87 -0
- package/dist/workers/editor/common/inputMode.js +22 -0
- package/dist/workers/editor/common/intervalTree.js +1002 -0
- package/dist/workers/editor/common/language.js +9 -0
- package/dist/workers/editor/common/languageBracketsConfiguration.js +133 -0
- package/dist/workers/editor/common/languageConfiguration.js +138 -0
- package/dist/workers/editor/common/languageConfigurationRegistry.js +361 -0
- package/dist/workers/editor/common/languageFeatureDebounce.js +137 -0
- package/dist/workers/editor/common/languageFeatureRegistry.js +180 -0
- package/dist/workers/editor/common/languageFeatures.js +9 -0
- package/dist/workers/editor/common/languageFeaturesService.js +47 -0
- package/dist/workers/editor/common/languageSelector.js +112 -0
- package/dist/workers/editor/common/languageService.js +92 -0
- package/dist/workers/editor/common/languages.js +522 -0
- package/dist/workers/editor/common/languagesAssociations.js +193 -0
- package/dist/workers/editor/common/languagesRegistry.js +237 -0
- package/dist/workers/editor/common/legacyLinesDiffComputer.js +468 -0
- package/dist/workers/editor/common/length.js +129 -0
- package/dist/workers/editor/common/lineDecorations.js +208 -0
- package/dist/workers/editor/common/lineEdit.js +75 -0
- package/dist/workers/editor/common/lineHeights.js +370 -0
- package/dist/workers/editor/common/linePart.js +25 -0
- package/dist/workers/editor/common/lineRange.js +312 -0
- package/dist/workers/editor/common/lineSequence.js +36 -0
- package/dist/workers/editor/common/lineTokens.js +405 -0
- package/dist/workers/editor/common/linesDiffComputer.js +29 -0
- package/dist/workers/editor/common/linesDiffComputers.js +13 -0
- package/dist/workers/editor/common/linesLayout.js +765 -0
- package/dist/workers/editor/common/linesSliceCharSequence.js +205 -0
- package/dist/workers/editor/common/linkComputer.js +269 -0
- package/dist/workers/editor/common/markerDecorations.js +9 -0
- package/dist/workers/editor/common/markerDecorationsService.js +248 -0
- package/dist/workers/editor/common/minimapTokensColorTracker.js +58 -0
- package/dist/workers/editor/common/mirrorTextModel.js +117 -0
- package/dist/workers/editor/common/model.js +9 -0
- package/dist/workers/editor/common/modelLineProjection.js +350 -0
- package/dist/workers/editor/common/modelLineProjectionData.js +297 -0
- package/dist/workers/editor/common/modelService.js +413 -0
- package/dist/workers/editor/common/modesRegistry.js +75 -0
- package/dist/workers/editor/common/monospaceLineBreaksComputer.js +473 -0
- package/dist/workers/editor/common/myersDiffAlgorithm.js +159 -0
- package/dist/workers/editor/common/nodeReader.js +127 -0
- package/dist/workers/editor/common/nullTokenize.js +29 -0
- package/dist/workers/editor/common/offsetRange.js +225 -0
- package/dist/workers/editor/common/onEnter.js +109 -0
- package/dist/workers/editor/common/oneCursor.js +117 -0
- package/dist/workers/editor/common/overviewZoneManager.js +176 -0
- package/dist/workers/editor/common/parser.js +121 -0
- package/dist/workers/editor/common/pieceTreeBase.js +1473 -0
- package/dist/workers/editor/common/pieceTreeTextBuffer.js +461 -0
- package/dist/workers/editor/common/pieceTreeTextBufferBuilder.js +140 -0
- package/dist/workers/editor/common/point.js +50 -0
- package/dist/workers/editor/common/position.js +142 -0
- package/dist/workers/editor/common/positionToOffset.js +17 -0
- package/dist/workers/editor/common/positionToOffsetImpl.js +98 -0
- package/dist/workers/editor/common/prefixSumComputer.js +226 -0
- package/dist/workers/editor/common/range.js +421 -0
- package/dist/workers/editor/common/rangeMapping.js +229 -0
- package/dist/workers/editor/common/rangeSingleLine.js +17 -0
- package/dist/workers/editor/common/rbTreeBase.js +362 -0
- package/dist/workers/editor/common/rect.js +163 -0
- package/dist/workers/editor/common/replaceCommand.js +158 -0
- package/dist/workers/editor/common/resolverService.js +5 -0
- package/dist/workers/editor/common/rgba.js +35 -0
- package/dist/workers/editor/common/richEditBrackets.js +356 -0
- package/dist/workers/editor/common/selection.js +145 -0
- package/dist/workers/editor/common/semanticTokensDto.js +82 -0
- package/dist/workers/editor/common/semanticTokensProviderStyling.js +263 -0
- package/dist/workers/editor/common/semanticTokensStyling.js +9 -0
- package/dist/workers/editor/common/semanticTokensStylingService.js +47 -0
- package/dist/workers/editor/common/shiftCommand.js +241 -0
- package/dist/workers/editor/common/smallImmutableSet.js +108 -0
- package/dist/workers/editor/common/sparseMultilineTokens.js +548 -0
- package/dist/workers/editor/common/sparseTokensStore.js +210 -0
- package/dist/workers/editor/common/standaloneEnums.js +1017 -0
- package/dist/workers/editor/common/standaloneStrings.js +42 -0
- package/dist/workers/editor/common/stringBuilder.js +122 -0
- package/dist/workers/editor/common/stringEdit.js +165 -0
- package/dist/workers/editor/common/supports.js +58 -0
- package/dist/workers/editor/common/surroundSelectionCommand.js +44 -0
- package/dist/workers/editor/common/textChange.js +248 -0
- package/dist/workers/editor/common/textEdit.js +269 -0
- package/dist/workers/editor/common/textLength.js +87 -0
- package/dist/workers/editor/common/textModel.js +2031 -0
- package/dist/workers/editor/common/textModelBracketPairs.js +45 -0
- package/dist/workers/editor/common/textModelDefaults.js +18 -0
- package/dist/workers/editor/common/textModelEditSource.js +166 -0
- package/dist/workers/editor/common/textModelEvents.js +216 -0
- package/dist/workers/editor/common/textModelGuides.js +40 -0
- package/dist/workers/editor/common/textModelPart.js +23 -0
- package/dist/workers/editor/common/textModelSearch.js +455 -0
- package/dist/workers/editor/common/textModelStringEdit.js +11 -0
- package/dist/workers/editor/common/textModelSync.impl.js +307 -0
- package/dist/workers/editor/common/textModelText.js +26 -0
- package/dist/workers/editor/common/textModelTokens.js +436 -0
- package/dist/workers/editor/common/textResourceConfiguration.js +6 -0
- package/dist/workers/editor/common/textToHtmlTokenizer.js +139 -0
- package/dist/workers/editor/common/tokenStore.js +407 -0
- package/dist/workers/editor/common/tokenWithTextArray.js +73 -0
- package/dist/workers/editor/common/tokenization.js +287 -0
- package/dist/workers/editor/common/tokenizationRegistry.js +123 -0
- package/dist/workers/editor/common/tokenizationTextModelPart.js +275 -0
- package/dist/workers/editor/common/tokenizer.js +301 -0
- package/dist/workers/editor/common/tokenizerSyntaxTokenBackend.js +261 -0
- package/dist/workers/editor/common/treeSitterLibraryService.js +9 -0
- package/dist/workers/editor/common/treeSitterSyntaxTokenBackend.js +167 -0
- package/dist/workers/editor/common/treeSitterThemeService.js +9 -0
- package/dist/workers/editor/common/treeSitterTokenizationImpl.js +713 -0
- package/dist/workers/editor/common/treeSitterTree.js +395 -0
- package/dist/workers/editor/common/treeViewsDnd.js +24 -0
- package/dist/workers/editor/common/treeViewsDndService.js +12 -0
- package/dist/workers/editor/common/trimTrailingWhitespaceCommand.js +98 -0
- package/dist/workers/editor/common/unicodeTextModelHighlighter.js +188 -0
- package/dist/workers/editor/common/utils.js +62 -0
- package/dist/workers/editor/common/viewContext.js +22 -0
- package/dist/workers/editor/common/viewEventHandler.js +186 -0
- package/dist/workers/editor/common/viewEvents.js +180 -0
- package/dist/workers/editor/common/viewLayout.js +368 -0
- package/dist/workers/editor/common/viewLineRenderer.js +948 -0
- package/dist/workers/editor/common/viewLinesViewportData.js +30 -0
- package/dist/workers/editor/common/viewModel.js +98 -0
- package/dist/workers/editor/common/viewModelDecoration.js +55 -0
- package/dist/workers/editor/common/viewModelDecorations.js +132 -0
- package/dist/workers/editor/common/viewModelEventDispatcher.js +398 -0
- package/dist/workers/editor/common/viewModelImpl.js +1163 -0
- package/dist/workers/editor/common/viewModelLines.js +938 -0
- package/dist/workers/editor/common/wordCharacterClassifier.js +87 -0
- package/dist/workers/editor/common/wordHelper.js +127 -0
- package/dist/workers/editor/editor.worker.js +11 -0
- package/dist/workers/language/css.worker.js +8 -0
- package/dist/workers/language/cssMode.js +198 -0
- package/dist/workers/language/cssWorker.js +183 -0
- package/dist/workers/language/html.worker.js +8 -0
- package/dist/workers/language/htmlMode.js +213 -0
- package/dist/workers/language/htmlWorker.js +126 -0
- package/dist/workers/language/json.worker.js +8 -0
- package/dist/workers/language/jsonMode.js +224 -0
- package/dist/workers/language/jsonWorker.js +187 -0
- package/dist/workers/language/languageFeatures.js +1009 -0
- package/dist/workers/language/lib.index.js +103 -0
- package/dist/workers/language/lib.js +1107 -0
- package/dist/workers/language/lspLanguageFeatures.js +716 -0
- package/dist/workers/language/monaco.contribution.js +144 -0
- package/dist/workers/language/tokenization.js +189 -0
- package/dist/workers/language/ts.worker.js +14 -0
- package/dist/workers/language/tsMode.js +212 -0
- package/dist/workers/language/tsWorker.js +352 -0
- package/dist/workers/language/typescriptServices.js +210154 -0
- package/dist/workers/language/typescriptServicesMetadata.js +3 -0
- package/dist/workers/language/workerManager.js +65 -0
- package/package.json +3 -2
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
class BracketInfo {
|
|
6
|
+
constructor(range,
|
|
7
|
+
/** 0-based level */
|
|
8
|
+
nestingLevel, nestingLevelOfEqualBracketType, isInvalid) {
|
|
9
|
+
this.range = range;
|
|
10
|
+
this.nestingLevel = nestingLevel;
|
|
11
|
+
this.nestingLevelOfEqualBracketType = nestingLevelOfEqualBracketType;
|
|
12
|
+
this.isInvalid = isInvalid;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
class BracketPairInfo {
|
|
16
|
+
constructor(range, openingBracketRange, closingBracketRange,
|
|
17
|
+
/** 0-based */
|
|
18
|
+
nestingLevel, nestingLevelOfEqualBracketType, bracketPairNode) {
|
|
19
|
+
this.range = range;
|
|
20
|
+
this.openingBracketRange = openingBracketRange;
|
|
21
|
+
this.closingBracketRange = closingBracketRange;
|
|
22
|
+
this.nestingLevel = nestingLevel;
|
|
23
|
+
this.nestingLevelOfEqualBracketType = nestingLevelOfEqualBracketType;
|
|
24
|
+
this.bracketPairNode = bracketPairNode;
|
|
25
|
+
}
|
|
26
|
+
get openingBracketInfo() {
|
|
27
|
+
return this.bracketPairNode.openingBracket.bracketInfo;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
class BracketPairWithMinIndentationInfo extends BracketPairInfo {
|
|
31
|
+
constructor(range, openingBracketRange, closingBracketRange,
|
|
32
|
+
/**
|
|
33
|
+
* 0-based
|
|
34
|
+
*/
|
|
35
|
+
nestingLevel, nestingLevelOfEqualBracketType, bracketPairNode,
|
|
36
|
+
/**
|
|
37
|
+
* -1 if not requested, otherwise the size of the minimum indentation in the bracket pair in terms of visible columns.
|
|
38
|
+
*/
|
|
39
|
+
minVisibleColumnIndentation) {
|
|
40
|
+
super(range, openingBracketRange, closingBracketRange, nestingLevel, nestingLevelOfEqualBracketType, bracketPairNode);
|
|
41
|
+
this.minVisibleColumnIndentation = minVisibleColumnIndentation;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export { BracketInfo, BracketPairInfo, BracketPairWithMinIndentationInfo };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
const EDITOR_MODEL_DEFAULTS = {
|
|
6
|
+
tabSize: 4,
|
|
7
|
+
indentSize: 4,
|
|
8
|
+
insertSpaces: true,
|
|
9
|
+
detectIndentation: true,
|
|
10
|
+
trimAutoWhitespace: true,
|
|
11
|
+
largeFileOptimizations: true,
|
|
12
|
+
bracketPairColorizationOptions: {
|
|
13
|
+
enabled: true,
|
|
14
|
+
independentColorPoolPerBracketType: false,
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export { EDITOR_MODEL_DEFAULTS };
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { prefixedUuid } from '../../base/common/uuid.js';
|
|
2
|
+
import { TextLength } from './core/text/textLength.js';
|
|
3
|
+
|
|
4
|
+
const privateSymbol = Symbol('TextModelEditSource');
|
|
5
|
+
class TextModelEditSource {
|
|
6
|
+
constructor(metadata, _privateCtorGuard) {
|
|
7
|
+
this.metadata = metadata;
|
|
8
|
+
}
|
|
9
|
+
toString() {
|
|
10
|
+
return `${this.metadata.source}`;
|
|
11
|
+
}
|
|
12
|
+
getType() {
|
|
13
|
+
const metadata = this.metadata;
|
|
14
|
+
switch (metadata.source) {
|
|
15
|
+
case 'cursor':
|
|
16
|
+
return metadata.kind;
|
|
17
|
+
case 'inlineCompletionAccept':
|
|
18
|
+
return metadata.source + (metadata.$nes ? ':nes' : '');
|
|
19
|
+
case 'unknown':
|
|
20
|
+
return metadata.name || 'unknown';
|
|
21
|
+
default:
|
|
22
|
+
return metadata.source;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Converts the metadata to a key string.
|
|
27
|
+
* Only includes properties/values that have `level` many `$` prefixes or less.
|
|
28
|
+
*/
|
|
29
|
+
toKey(level, filter = {}) {
|
|
30
|
+
const metadata = this.metadata;
|
|
31
|
+
const keys = Object.entries(metadata).filter(([key, value]) => {
|
|
32
|
+
const filterVal = filter[key];
|
|
33
|
+
if (filterVal !== undefined) {
|
|
34
|
+
return filterVal;
|
|
35
|
+
}
|
|
36
|
+
const prefixCount = (key.match(/\$/g) || []).length;
|
|
37
|
+
return prefixCount <= level && value !== undefined && value !== null && value !== '';
|
|
38
|
+
}).map(([key, value]) => `${key}:${value}`);
|
|
39
|
+
return keys.join('-');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
43
|
+
function createEditSource(metadata) {
|
|
44
|
+
// eslint-disable-next-line local/code-no-any-casts, @typescript-eslint/no-explicit-any
|
|
45
|
+
return new TextModelEditSource(metadata, privateSymbol);
|
|
46
|
+
}
|
|
47
|
+
const EditSources = {
|
|
48
|
+
unknown(data) {
|
|
49
|
+
return createEditSource({
|
|
50
|
+
source: 'unknown',
|
|
51
|
+
name: data.name,
|
|
52
|
+
});
|
|
53
|
+
},
|
|
54
|
+
rename: () => createEditSource({ source: 'rename' }),
|
|
55
|
+
chatApplyEdits(data) {
|
|
56
|
+
return createEditSource({
|
|
57
|
+
source: 'Chat.applyEdits',
|
|
58
|
+
$modelId: avoidPathRedaction(data.modelId),
|
|
59
|
+
$extensionId: data.extensionId?.extensionId,
|
|
60
|
+
$extensionVersion: data.extensionId?.version,
|
|
61
|
+
$$languageId: data.languageId,
|
|
62
|
+
$$sessionId: data.sessionId,
|
|
63
|
+
$$requestId: data.requestId,
|
|
64
|
+
$$mode: data.mode,
|
|
65
|
+
$$codeBlockSuggestionId: data.codeBlockSuggestionId,
|
|
66
|
+
});
|
|
67
|
+
},
|
|
68
|
+
chatUndoEdits: () => createEditSource({ source: 'Chat.undoEdits' }),
|
|
69
|
+
chatReset: () => createEditSource({ source: 'Chat.reset' }),
|
|
70
|
+
inlineCompletionAccept(data) {
|
|
71
|
+
return createEditSource({
|
|
72
|
+
source: 'inlineCompletionAccept',
|
|
73
|
+
$nes: data.nes,
|
|
74
|
+
...toProperties(data.providerId),
|
|
75
|
+
$$requestUuid: data.requestUuid,
|
|
76
|
+
$$languageId: data.languageId,
|
|
77
|
+
});
|
|
78
|
+
},
|
|
79
|
+
inlineCompletionPartialAccept(data) {
|
|
80
|
+
return createEditSource({
|
|
81
|
+
source: 'inlineCompletionPartialAccept',
|
|
82
|
+
type: data.type,
|
|
83
|
+
$nes: data.nes,
|
|
84
|
+
...toProperties(data.providerId),
|
|
85
|
+
$$requestUuid: data.requestUuid,
|
|
86
|
+
$$languageId: data.languageId,
|
|
87
|
+
});
|
|
88
|
+
},
|
|
89
|
+
inlineChatApplyEdit(data) {
|
|
90
|
+
return createEditSource({
|
|
91
|
+
source: 'inlineChat.applyEdits',
|
|
92
|
+
$modelId: avoidPathRedaction(data.modelId),
|
|
93
|
+
$extensionId: data.extensionId?.extensionId,
|
|
94
|
+
$extensionVersion: data.extensionId?.version,
|
|
95
|
+
$$sessionId: data.sessionId,
|
|
96
|
+
$$requestId: data.requestId,
|
|
97
|
+
$$languageId: data.languageId,
|
|
98
|
+
});
|
|
99
|
+
},
|
|
100
|
+
reloadFromDisk: () => createEditSource({ source: 'reloadFromDisk' }),
|
|
101
|
+
cursor(data) {
|
|
102
|
+
return createEditSource({
|
|
103
|
+
source: 'cursor',
|
|
104
|
+
kind: data.kind,
|
|
105
|
+
detailedSource: data.detailedSource,
|
|
106
|
+
});
|
|
107
|
+
},
|
|
108
|
+
setValue: () => createEditSource({ source: 'setValue' }),
|
|
109
|
+
eolChange: () => createEditSource({ source: 'eolChange' }),
|
|
110
|
+
applyEdits: () => createEditSource({ source: 'applyEdits' }),
|
|
111
|
+
snippet: () => createEditSource({ source: 'snippet' }),
|
|
112
|
+
suggest: (data) => createEditSource({ source: 'suggest', ...toProperties(data.providerId) }),
|
|
113
|
+
codeAction: (data) => createEditSource({ source: 'codeAction', $kind: data.kind, ...toProperties(data.providerId) })
|
|
114
|
+
};
|
|
115
|
+
function toProperties(version) {
|
|
116
|
+
if (!version) {
|
|
117
|
+
return {};
|
|
118
|
+
}
|
|
119
|
+
return {
|
|
120
|
+
$extensionId: version.extensionId,
|
|
121
|
+
$extensionVersion: version.extensionVersion,
|
|
122
|
+
$providerId: version.providerId,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
function avoidPathRedaction(str) {
|
|
126
|
+
if (str === undefined) {
|
|
127
|
+
return undefined;
|
|
128
|
+
}
|
|
129
|
+
// To avoid false-positive file path redaction.
|
|
130
|
+
return str.replaceAll('/', '|');
|
|
131
|
+
}
|
|
132
|
+
class EditDeltaInfo {
|
|
133
|
+
static fromText(text) {
|
|
134
|
+
const linesAdded = TextLength.ofText(text).lineCount;
|
|
135
|
+
const charsAdded = text.length;
|
|
136
|
+
return new EditDeltaInfo(linesAdded, 0, charsAdded, 0);
|
|
137
|
+
}
|
|
138
|
+
static tryCreate(linesAdded, linesRemoved, charsAdded, charsRemoved) {
|
|
139
|
+
if (linesAdded === undefined || linesRemoved === undefined || charsAdded === undefined || charsRemoved === undefined) {
|
|
140
|
+
return undefined;
|
|
141
|
+
}
|
|
142
|
+
return new EditDeltaInfo(linesAdded, linesRemoved, charsAdded, charsRemoved);
|
|
143
|
+
}
|
|
144
|
+
constructor(linesAdded, linesRemoved, charsAdded, charsRemoved) {
|
|
145
|
+
this.linesAdded = linesAdded;
|
|
146
|
+
this.linesRemoved = linesRemoved;
|
|
147
|
+
this.charsAdded = charsAdded;
|
|
148
|
+
this.charsRemoved = charsRemoved;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
var EditSuggestionId;
|
|
152
|
+
(function (EditSuggestionId) {
|
|
153
|
+
/**
|
|
154
|
+
* Use AiEditTelemetryServiceImpl to create a new id!
|
|
155
|
+
*/
|
|
156
|
+
function newId(genPrefixedUuid) {
|
|
157
|
+
const id = genPrefixedUuid ? genPrefixedUuid('sgt') : prefixedUuid('sgt');
|
|
158
|
+
return toEditIdentity(id);
|
|
159
|
+
}
|
|
160
|
+
EditSuggestionId.newId = newId;
|
|
161
|
+
})(EditSuggestionId || (EditSuggestionId = {}));
|
|
162
|
+
function toEditIdentity(id) {
|
|
163
|
+
return id;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
export { EditDeltaInfo, EditSources, EditSuggestionId, TextModelEditSource };
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An event describing that a model has been reset to a new value.
|
|
3
|
+
* @internal
|
|
4
|
+
*/
|
|
5
|
+
class ModelRawFlush {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.changeType = 1 /* RawContentChangedType.Flush */;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Represents text injected on a line
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
class LineInjectedText {
|
|
15
|
+
static applyInjectedText(lineText, injectedTexts) {
|
|
16
|
+
if (!injectedTexts || injectedTexts.length === 0) {
|
|
17
|
+
return lineText;
|
|
18
|
+
}
|
|
19
|
+
let result = '';
|
|
20
|
+
let lastOriginalOffset = 0;
|
|
21
|
+
for (const injectedText of injectedTexts) {
|
|
22
|
+
result += lineText.substring(lastOriginalOffset, injectedText.column - 1);
|
|
23
|
+
lastOriginalOffset = injectedText.column - 1;
|
|
24
|
+
result += injectedText.options.content;
|
|
25
|
+
}
|
|
26
|
+
result += lineText.substring(lastOriginalOffset);
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
static fromDecorations(decorations) {
|
|
30
|
+
const result = [];
|
|
31
|
+
for (const decoration of decorations) {
|
|
32
|
+
if (decoration.options.before && decoration.options.before.content.length > 0) {
|
|
33
|
+
result.push(new LineInjectedText(decoration.ownerId, decoration.range.startLineNumber, decoration.range.startColumn, decoration.options.before, 0));
|
|
34
|
+
}
|
|
35
|
+
if (decoration.options.after && decoration.options.after.content.length > 0) {
|
|
36
|
+
result.push(new LineInjectedText(decoration.ownerId, decoration.range.endLineNumber, decoration.range.endColumn, decoration.options.after, 1));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
result.sort((a, b) => {
|
|
40
|
+
if (a.lineNumber === b.lineNumber) {
|
|
41
|
+
if (a.column === b.column) {
|
|
42
|
+
return a.order - b.order;
|
|
43
|
+
}
|
|
44
|
+
return a.column - b.column;
|
|
45
|
+
}
|
|
46
|
+
return a.lineNumber - b.lineNumber;
|
|
47
|
+
});
|
|
48
|
+
return result;
|
|
49
|
+
}
|
|
50
|
+
constructor(ownerId, lineNumber, column, options, order) {
|
|
51
|
+
this.ownerId = ownerId;
|
|
52
|
+
this.lineNumber = lineNumber;
|
|
53
|
+
this.column = column;
|
|
54
|
+
this.options = options;
|
|
55
|
+
this.order = order;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* An event describing that a line has changed in a model.
|
|
60
|
+
* @internal
|
|
61
|
+
*/
|
|
62
|
+
class ModelRawLineChanged {
|
|
63
|
+
constructor(lineNumber, detail, injectedText) {
|
|
64
|
+
this.changeType = 2 /* RawContentChangedType.LineChanged */;
|
|
65
|
+
this.lineNumber = lineNumber;
|
|
66
|
+
this.detail = detail;
|
|
67
|
+
this.injectedText = injectedText;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* An event describing that a line height has changed in the model.
|
|
72
|
+
* @internal
|
|
73
|
+
*/
|
|
74
|
+
class ModelLineHeightChanged {
|
|
75
|
+
constructor(ownerId, decorationId, lineNumber, lineHeight) {
|
|
76
|
+
this.ownerId = ownerId;
|
|
77
|
+
this.decorationId = decorationId;
|
|
78
|
+
this.lineNumber = lineNumber;
|
|
79
|
+
this.lineHeight = lineHeight;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* An event describing that a line height has changed in the model.
|
|
84
|
+
* @internal
|
|
85
|
+
*/
|
|
86
|
+
class ModelFontChanged {
|
|
87
|
+
constructor(ownerId, lineNumber) {
|
|
88
|
+
this.ownerId = ownerId;
|
|
89
|
+
this.lineNumber = lineNumber;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* An event describing that line(s) have been deleted in a model.
|
|
94
|
+
* @internal
|
|
95
|
+
*/
|
|
96
|
+
class ModelRawLinesDeleted {
|
|
97
|
+
constructor(fromLineNumber, toLineNumber) {
|
|
98
|
+
this.changeType = 3 /* RawContentChangedType.LinesDeleted */;
|
|
99
|
+
this.fromLineNumber = fromLineNumber;
|
|
100
|
+
this.toLineNumber = toLineNumber;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* An event describing that line(s) have been inserted in a model.
|
|
105
|
+
* @internal
|
|
106
|
+
*/
|
|
107
|
+
class ModelRawLinesInserted {
|
|
108
|
+
constructor(fromLineNumber, toLineNumber, detail, injectedTexts) {
|
|
109
|
+
this.changeType = 4 /* RawContentChangedType.LinesInserted */;
|
|
110
|
+
this.injectedTexts = injectedTexts;
|
|
111
|
+
this.fromLineNumber = fromLineNumber;
|
|
112
|
+
this.toLineNumber = toLineNumber;
|
|
113
|
+
this.detail = detail;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* An event describing that a model has had its EOL changed.
|
|
118
|
+
* @internal
|
|
119
|
+
*/
|
|
120
|
+
class ModelRawEOLChanged {
|
|
121
|
+
constructor() {
|
|
122
|
+
this.changeType = 5 /* RawContentChangedType.EOLChanged */;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* An event describing a change in the text of a model.
|
|
127
|
+
* @internal
|
|
128
|
+
*/
|
|
129
|
+
class ModelRawContentChangedEvent {
|
|
130
|
+
constructor(changes, versionId, isUndoing, isRedoing) {
|
|
131
|
+
this.changes = changes;
|
|
132
|
+
this.versionId = versionId;
|
|
133
|
+
this.isUndoing = isUndoing;
|
|
134
|
+
this.isRedoing = isRedoing;
|
|
135
|
+
this.resultingSelection = null;
|
|
136
|
+
}
|
|
137
|
+
containsEvent(type) {
|
|
138
|
+
for (let i = 0, len = this.changes.length; i < len; i++) {
|
|
139
|
+
const change = this.changes[i];
|
|
140
|
+
if (change.changeType === type) {
|
|
141
|
+
return true;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
static merge(a, b) {
|
|
147
|
+
const changes = [].concat(a.changes).concat(b.changes);
|
|
148
|
+
const versionId = b.versionId;
|
|
149
|
+
const isUndoing = (a.isUndoing || b.isUndoing);
|
|
150
|
+
const isRedoing = (a.isRedoing || b.isRedoing);
|
|
151
|
+
return new ModelRawContentChangedEvent(changes, versionId, isUndoing, isRedoing);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* An event describing a change in injected text.
|
|
156
|
+
* @internal
|
|
157
|
+
*/
|
|
158
|
+
class ModelInjectedTextChangedEvent {
|
|
159
|
+
constructor(changes) {
|
|
160
|
+
this.changes = changes;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* An event describing a change of a line height.
|
|
165
|
+
* @internal
|
|
166
|
+
*/
|
|
167
|
+
class ModelLineHeightChangedEvent {
|
|
168
|
+
constructor(changes) {
|
|
169
|
+
this.changes = changes;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* An event describing a change in fonts.
|
|
174
|
+
* @internal
|
|
175
|
+
*/
|
|
176
|
+
class ModelFontChangedEvent {
|
|
177
|
+
constructor(changes) {
|
|
178
|
+
this.changes = changes;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* @internal
|
|
183
|
+
*/
|
|
184
|
+
class InternalModelContentChangeEvent {
|
|
185
|
+
constructor(rawContentChangedEvent, contentChangedEvent) {
|
|
186
|
+
this.rawContentChangedEvent = rawContentChangedEvent;
|
|
187
|
+
this.contentChangedEvent = contentChangedEvent;
|
|
188
|
+
}
|
|
189
|
+
merge(other) {
|
|
190
|
+
const rawContentChangedEvent = ModelRawContentChangedEvent.merge(this.rawContentChangedEvent, other.rawContentChangedEvent);
|
|
191
|
+
const contentChangedEvent = InternalModelContentChangeEvent._mergeChangeEvents(this.contentChangedEvent, other.contentChangedEvent);
|
|
192
|
+
return new InternalModelContentChangeEvent(rawContentChangedEvent, contentChangedEvent);
|
|
193
|
+
}
|
|
194
|
+
static _mergeChangeEvents(a, b) {
|
|
195
|
+
const changes = [].concat(a.changes).concat(b.changes);
|
|
196
|
+
const eol = b.eol;
|
|
197
|
+
const versionId = b.versionId;
|
|
198
|
+
const isUndoing = (a.isUndoing || b.isUndoing);
|
|
199
|
+
const isRedoing = (a.isRedoing || b.isRedoing);
|
|
200
|
+
const isFlush = (a.isFlush || b.isFlush);
|
|
201
|
+
const isEolChange = a.isEolChange && b.isEolChange; // both must be true to not confuse listeners who skip such edits
|
|
202
|
+
return {
|
|
203
|
+
changes: changes,
|
|
204
|
+
eol: eol,
|
|
205
|
+
isEolChange: isEolChange,
|
|
206
|
+
versionId: versionId,
|
|
207
|
+
isUndoing: isUndoing,
|
|
208
|
+
isRedoing: isRedoing,
|
|
209
|
+
isFlush: isFlush,
|
|
210
|
+
detailedReasons: a.detailedReasons.concat(b.detailedReasons),
|
|
211
|
+
detailedReasonsChangeLengths: a.detailedReasonsChangeLengths.concat(b.detailedReasonsChangeLengths),
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
export { InternalModelContentChangeEvent, LineInjectedText, ModelFontChanged, ModelFontChangedEvent, ModelInjectedTextChangedEvent, ModelLineHeightChanged, ModelLineHeightChangedEvent, ModelRawContentChangedEvent, ModelRawEOLChanged, ModelRawFlush, ModelRawLineChanged, ModelRawLinesDeleted, ModelRawLinesInserted };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
var HorizontalGuidesState;
|
|
6
|
+
(function (HorizontalGuidesState) {
|
|
7
|
+
HorizontalGuidesState[HorizontalGuidesState["Disabled"] = 0] = "Disabled";
|
|
8
|
+
HorizontalGuidesState[HorizontalGuidesState["EnabledForActive"] = 1] = "EnabledForActive";
|
|
9
|
+
HorizontalGuidesState[HorizontalGuidesState["Enabled"] = 2] = "Enabled";
|
|
10
|
+
})(HorizontalGuidesState || (HorizontalGuidesState = {}));
|
|
11
|
+
class IndentGuide {
|
|
12
|
+
constructor(visibleColumn, column, className,
|
|
13
|
+
/**
|
|
14
|
+
* If set, this indent guide is a horizontal guide (no vertical part).
|
|
15
|
+
* It starts at visibleColumn and continues until endColumn.
|
|
16
|
+
*/
|
|
17
|
+
horizontalLine,
|
|
18
|
+
/**
|
|
19
|
+
* If set (!= -1), only show this guide for wrapped lines that don't contain this model column, but are after it.
|
|
20
|
+
*/
|
|
21
|
+
forWrappedLinesAfterColumn, forWrappedLinesBeforeOrAtColumn) {
|
|
22
|
+
this.visibleColumn = visibleColumn;
|
|
23
|
+
this.column = column;
|
|
24
|
+
this.className = className;
|
|
25
|
+
this.horizontalLine = horizontalLine;
|
|
26
|
+
this.forWrappedLinesAfterColumn = forWrappedLinesAfterColumn;
|
|
27
|
+
this.forWrappedLinesBeforeOrAtColumn = forWrappedLinesBeforeOrAtColumn;
|
|
28
|
+
if ((visibleColumn !== -1) === (column !== -1)) {
|
|
29
|
+
throw new Error();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
class IndentGuideHorizontalLine {
|
|
34
|
+
constructor(top, endColumn) {
|
|
35
|
+
this.top = top;
|
|
36
|
+
this.endColumn = endColumn;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export { HorizontalGuidesState, IndentGuide, IndentGuideHorizontalLine };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Disposable } from '../../../base/common/lifecycle.js';
|
|
2
|
+
|
|
3
|
+
/*---------------------------------------------------------------------------------------------
|
|
4
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
5
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
6
|
+
*--------------------------------------------------------------------------------------------*/
|
|
7
|
+
class TextModelPart extends Disposable {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
this._isDisposed = false;
|
|
11
|
+
}
|
|
12
|
+
dispose() {
|
|
13
|
+
super.dispose();
|
|
14
|
+
this._isDisposed = true;
|
|
15
|
+
}
|
|
16
|
+
assertNotDisposed() {
|
|
17
|
+
if (this._isDisposed) {
|
|
18
|
+
throw new Error('TextModelPart is disposed!');
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { TextModelPart };
|