Skip to content

Commit 1046ac8

Browse files
committed
feat: implemented provideLinkedEditingRanges
1 parent f782496 commit 1046ac8

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

src/monaco/ls.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,23 @@ export async function setupLs(modelsMap: Ref<Map<string, monaco.editor.ITextMode
272272
}
273273
},
274274
}),
275+
monaco.languages.registerLinkedEditingRangeProvider(lang, {
276+
provideLinkedEditingRanges: async (model, position) => {
277+
const document = documents.get(model);
278+
if (document) {
279+
const codeResult = await ds.findLinkedEditingRanges(
280+
document,
281+
monaco2code.asPosition(position),
282+
);
283+
if (codeResult) {
284+
return {
285+
ranges: codeResult.ranges.map(code2monaco.asRange),
286+
wordPattern: codeResult.wordPattern ? new RegExp(codeResult.wordPattern) : undefined,
287+
};
288+
}
289+
}
290+
},
291+
}),
275292
monaco.languages.registerCompletionItemProvider(lang, {
276293
// https://github.com/johnsoncodehk/volar/blob/2f786182250d27e99cc3714fbfc7d209616e2289/packages/vue-language-server/src/registers/registerlanguageFeatures.ts#L57
277294
triggerCharacters: '!@#$%^&*()_+-=`~{}|[]\:";\'<>?,./ '.split(''),

0 commit comments

Comments
 (0)