Skip to content

Commit 49d8d7e

Browse files
committed
feat: implemented provideImplementation
1 parent 1046ac8 commit 49d8d7e

File tree

1 file changed

+23
-12
lines changed

1 file changed

+23
-12
lines changed

src/monaco/ls.ts

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,29 @@ export async function setupLs(modelsMap: Ref<Map<string, monaco.editor.ITextMode
289289
}
290290
},
291291
}),
292+
monaco.languages.registerDefinitionProvider(lang, {
293+
provideDefinition: async (model, position) => {
294+
const codeResult = await ls.findDefinition(
295+
model.uri.toString(),
296+
monaco2code.asPosition(position),
297+
);
298+
// TODO: can't show if only one result from libs
299+
if (codeResult) {
300+
return codeResult.map(code2monaco.asLocation);
301+
}
302+
},
303+
}),
304+
monaco.languages.registerImplementationProvider(lang, {
305+
provideImplementation: async (model, position) => {
306+
const codeResult = await ls.findImplementations(
307+
model.uri.toString(),
308+
monaco2code.asPosition(position),
309+
);
310+
if (codeResult) {
311+
return codeResult.map(code2monaco.asLocation);
312+
}
313+
},
314+
}),
292315
monaco.languages.registerCompletionItemProvider(lang, {
293316
// https://github.com/johnsoncodehk/volar/blob/2f786182250d27e99cc3714fbfc7d209616e2289/packages/vue-language-server/src/registers/registerlanguageFeatures.ts#L57
294317
triggerCharacters: '!@#$%^&*()_+-=`~{}|[]\:";\'<>?,./ '.split(''),
@@ -316,18 +339,6 @@ export async function setupLs(modelsMap: Ref<Map<string, monaco.editor.ITextMode
316339
return monacoItem;
317340
},
318341
}),
319-
monaco.languages.registerDefinitionProvider(lang, {
320-
provideDefinition: async (model, position) => {
321-
const codeResult = await ls.findDefinition(
322-
model.uri.toString(),
323-
monaco2code.asPosition(position),
324-
);
325-
// TODO: can't show if only one result from libs
326-
if (codeResult) {
327-
return codeResult.map(code2monaco.asLocation);
328-
}
329-
},
330-
}),
331342
);
332343

333344
return ls;

0 commit comments

Comments
 (0)