@@ -4,6 +4,7 @@ export * from '@volar/language-service';
4
4
// for @vue /language-server usage
5
5
export * from '@volar/language-service/lib/utils/featureWorkers' ;
6
6
7
+ import type { Requests } from '@vue/typescript-plugin/lib/requests' ;
7
8
import { create as createEmmetPlugin } from 'volar-service-emmet' ;
8
9
import { create as createJsonPlugin } from 'volar-service-json' ;
9
10
import { create as createPugFormatPlugin } from 'volar-service-pug-beautify' ;
@@ -29,16 +30,16 @@ import { create as createVueTemplatePlugin } from './lib/plugins/vue-template';
29
30
import { create as createVueTemplateRefLinksPlugin } from './lib/plugins/vue-template-ref-links' ;
30
31
import { create as createVueTwoslashQueriesPlugin } from './lib/plugins/vue-twoslash-queries' ;
31
32
33
+ const noop = ( ) => { } ;
34
+
32
35
export function createVueLanguageServicePlugins (
33
36
ts : typeof import ( 'typescript' ) ,
34
- tsPluginClient ?: import ( '@vue/typescript-plugin/lib/requests' ) . Requests ,
35
- ) {
36
- tsPluginClient ??= new Proxy ( { } , {
37
+ client = new Proxy ( { } as Requests , {
37
38
get ( ) {
38
- return ( ) => undefined ;
39
+ return noop ;
39
40
} ,
40
- } ) as NonNullable < typeof tsPluginClient > ;
41
-
41
+ } ) ,
42
+ ) {
42
43
return [
43
44
createCssPlugin ( ) ,
44
45
createJsonPlugin ( ) ,
@@ -64,15 +65,15 @@ export function createVueLanguageServicePlugins(
64
65
createVueInlayHintsPlugin ( ts ) ,
65
66
66
67
// type aware plugins
67
- createTypescriptSemanticTokensPlugin ( tsPluginClient ) ,
68
- createVueAutoDotValuePlugin ( ts , tsPluginClient ) ,
69
- createVueComponentSemanticTokensPlugin ( tsPluginClient ) ,
70
- createVueDocumentDropPlugin ( ts , tsPluginClient ) ,
71
- createVueDocumentHighlightsPlugin ( tsPluginClient ) ,
72
- createVueExtractFilePlugin ( ts , tsPluginClient ) ,
73
- createVueMissingPropsHintsPlugin ( tsPluginClient ) ,
74
- createVueTemplatePlugin ( 'html' , tsPluginClient ) ,
75
- createVueTemplatePlugin ( 'jade' , tsPluginClient ) ,
76
- createVueTwoslashQueriesPlugin ( tsPluginClient ) ,
68
+ createTypescriptSemanticTokensPlugin ( client ) ,
69
+ createVueAutoDotValuePlugin ( ts , client ) ,
70
+ createVueComponentSemanticTokensPlugin ( client ) ,
71
+ createVueDocumentDropPlugin ( ts , client ) ,
72
+ createVueDocumentHighlightsPlugin ( client ) ,
73
+ createVueExtractFilePlugin ( ts , client ) ,
74
+ createVueMissingPropsHintsPlugin ( client ) ,
75
+ createVueTemplatePlugin ( 'html' , client ) ,
76
+ createVueTemplatePlugin ( 'jade' , client ) ,
77
+ createVueTwoslashQueriesPlugin ( client ) ,
77
78
] ;
78
79
}
0 commit comments