1
1
function ! s: get_current_ts_path () abort
2
- let ts_path = ' /node_modules/typescript/lib/tsserverlibrary.js '
2
+ let ts_path = ' /node_modules/typescript/lib'
3
3
4
4
let project_dir = lsp#utils#find_nearest_parent_file_directory (lsp#utils#get_buffer_path (), ' package.json' )
5
5
let tsserverlibrary_path = project_dir . ts_path
@@ -9,8 +9,7 @@ function! s:get_current_ts_path() abort
9
9
10
10
let path = filereadable (tsserverlibrary_path) ? tsserverlibrary_path : fallback_path
11
11
return {
12
- \ ' serverPath' : path ,
13
- \ ' localizedPath' : v: null ,
12
+ \ ' tsdk' : path ,
14
13
\ }
15
14
endfunction
16
15
@@ -20,145 +19,23 @@ function! Vim_lsp_settings_volar_setup_ts_path(options) abort
20
19
return initialization_options
21
20
endfunction
22
21
23
- " cf. https://github.com/johnsoncodehk/volar/blob/master/packages/shared /src/types.ts
22
+ " cf. https://github.com/johnsoncodehk/volar/blob/master/packages/language-server /src/types.ts#L102
24
23
let g: vim_lsp_settings_volar_options = {
25
24
\ ' textDocumentSync' : 2 ,
26
25
\ ' typescript' : {
27
- \ ' serverPath' : ' ' ,
28
- \ ' localizedPath' : v: null ,
26
+ \ ' tsdk' : ' ' ,
29
27
\ },
30
- \ ' languageFeatures' : {
31
- \ ' references' : v: true ,
32
- \ ' implementation' : v: true ,
33
- \ ' definition' : v: true ,
34
- \ ' typeDefinition' : v: true ,
35
- \ ' callHierarchy' : v: true ,
36
- \ ' hover' : v: true ,
37
- \ ' rename' : v: true ,
38
- \ ' renameFileRefactoring' : v: true ,
39
- \ ' signatureHelp' : v: true ,
40
- \ ' completion' : {
41
- \ ' getDocumentSelectionRequest' : v: true ,
42
- \ },
43
- \ ' documentHighlight' : v: true ,
44
- \ ' documentLink' : v: true ,
45
- \ ' workspaceSymbol' : v: true ,
46
- \ ' codeLens' : { ' showReferencesNotification' : v: true },
47
- \ ' semanticTokens' : v: true ,
48
- \ ' codeAction' : v: true ,
49
- \ ' inlayHints' : v: true ,
50
- \ ' diagnostics' : v: true ,
51
- \ ' schemaRequestService' : { ' getDocumentContentRequest' : v: true },
52
- \ },
53
- \ ' documentFeatures' : {
54
- \ ' selectionRange' : v: true ,
55
- \ ' foldingRange' : v: true ,
56
- \ ' linkedEditingRange' : v: true ,
57
- \ ' documentSymbol' : v: true ,
58
- \ ' documentColor' : v: true ,
59
- \ ' documentFormatting' : v: true ,
60
- \ }
61
- \ }
62
-
63
- let g: vim_lsp_settings_volar_main_options = {
64
- \ ' textDocumentSync' : 2 ,
65
- \ ' typescript' : {
66
- \ ' serverPath' : ' ' ,
67
- \ ' localizedPath' : v: null ,
68
- \ },
69
- \ ' languageFeatures' : {
70
- \ ' references' : v: true ,
71
- \ ' implementation' : v: true ,
72
- \ ' definition' : v: true ,
73
- \ ' typeDefinition' : v: true ,
74
- \ ' callHierarchy' : v: true ,
75
- \ ' hover' : v: true ,
76
- \ ' rename' : v: true ,
77
- \ ' renameFileRefactoring' : v: true ,
78
- \ ' signatureHelp' : v: true ,
79
- \ ' codeAction' : v: true ,
80
- \ ' workspaceSymbol' : v: true ,
81
- \ ' completion' : {
82
- \ ' getDocumentSelectionRequest' : v: true ,
83
- \ },
84
- \ ' schemaRequestService' : { ' getDocumentContentRequest' : v: true },
85
- \ }
86
- \}
87
-
88
- let g: vim_lsp_settings_volar_second_options = {
89
- \ ' textDocumentSync' : 2 ,
90
- \ ' typescript' : {
91
- \ ' serverPath' : ' ' ,
92
- \ ' localizedPath' : v: null ,
93
- \ },
94
- \ ' languageFeatures' : {
95
- \ ' documentHighlight' : v: true ,
96
- \ ' documentLink' : v: true ,
97
- \ ' codeLens' : { ' showReferencesNotification' : v: true },
98
- \ ' semanticTokens' : v: true ,
99
- \ ' inlayHints' : v: true ,
100
- \ ' diagnostics' : v: true ,
101
- \ ' schemaRequestService' : { ' getDocumentContentRequest' : v: true },
102
- \ }
103
- \}
104
-
105
- let g: vim_lsp_settings_volar_document_options = {
106
- \ ' textDocumentSync' : 2 ,
107
- \ ' typescript' : {
108
- \ ' serverPath' : ' ' ,
109
- \ ' localizedPath' : v: null ,
110
- \ },
111
- \ ' documentFeatures' : {
112
- \ ' selectionRange' : v: true ,
113
- \ ' foldingRange' : v: true ,
114
- \ ' linkedEditingRange' : v: true ,
115
- \ ' documentSymbol' : v: true ,
116
- \ ' documentColor' : v: true ,
117
- \ ' documentFormatting' : v: true
118
- \ }
119
28
\ }
120
29
121
30
augroup vim_lsp_settings_volar_server
122
31
au !
123
- if get (g: , ' vim_lsp_settings_volar_experimental_multiple_servers' )
124
- LspRegisterServer {
125
- \ ' name' : ' volar-server-main' ,
126
- \ ' cmd' : {server_info- >lsp_settings#get (' volar-server' , ' cmd' , [lsp_settings#exec_path (' volar-server' )]+ lsp_settings#get (' volar-server' , ' args' , [' --stdio' ]))},
127
- \ ' root_uri' :{server_info- >lsp_settings#get (' volar-server' , ' root_uri' , lsp_settings#root_uri (' volar-server' ))},
128
- \ ' initialization_options' : lsp_settings#get (' volar-server' , ' initialization_options' , Vim_lsp_settings_volar_setup_ts_path (g: vim_lsp_settings_volar_main_options )),
129
- \ ' allowlist' : lsp_settings#get (' volar-server' , ' allowlist' , [' vue' ]),
130
- \ ' blocklist' : lsp_settings#get (' volar-server' , ' blocklist' , []),
131
- \ ' config' : lsp_settings#get (' volar-server' , ' config' , lsp_settings#server_config (' volar-server' )),
132
- \ }
133
-
134
- LspRegisterServer {
135
- \ ' name' : ' volar-server-second' ,
136
- \ ' cmd' : {server_info- >lsp_settings#get (' volar-server' , ' cmd' , [lsp_settings#exec_path (' volar-server' )]+ lsp_settings#get (' volar-server' , ' args' , [' --stdio' ]))},
137
- \ ' root_uri' :{server_info- >lsp_settings#get (' volar-server' , ' root_uri' , lsp_settings#root_uri (' volar-server' ))},
138
- \ ' initialization_options' : lsp_settings#get (' volar-server' , ' initialization_options' , Vim_lsp_settings_volar_setup_ts_path (g: vim_lsp_settings_volar_second_options )),
139
- \ ' allowlist' : lsp_settings#get (' volar-server' , ' allowlist' , [' vue' ]),
140
- \ ' blocklist' : lsp_settings#get (' volar-server' , ' blocklist' , []),
141
- \ ' config' : lsp_settings#get (' volar-server' , ' config' , lsp_settings#server_config (' volar-server' )),
142
- \ }
143
-
144
- LspRegisterServer {
145
- \ ' name' : ' volar-server-document' ,
146
- \ ' cmd' : {server_info- >lsp_settings#get (' volar-server' , ' cmd' , [lsp_settings#exec_path (' volar-server' )]+ lsp_settings#get (' volar-server' , ' args' , [' --stdio' ]))},
147
- \ ' root_uri' :{server_info- >lsp_settings#get (' volar-server' , ' root_uri' , lsp_settings#root_uri (' volar-server' ))},
148
- \ ' initialization_options' : lsp_settings#get (' volar-server' , ' initialization_options' , Vim_lsp_settings_volar_setup_ts_path (g: vim_lsp_settings_volar_document_options )),
149
- \ ' allowlist' : lsp_settings#get (' volar-server' , ' allowlist' , [' vue' ]),
150
- \ ' blocklist' : lsp_settings#get (' volar-server' , ' blocklist' , []),
151
- \ ' config' : lsp_settings#get (' volar-server' , ' config' , lsp_settings#server_config (' volar-server' )),
152
- \ }
153
- else
154
- LspRegisterServer {
155
- \ ' name' : ' volar-server' ,
156
- \ ' cmd' : {server_info- >lsp_settings#get (' volar-server' , ' cmd' , [lsp_settings#exec_path (' volar-server' )]+ lsp_settings#get (' volar-server' , ' args' , [' --stdio' ]))},
157
- \ ' root_uri' :{server_info- >lsp_settings#get (' volar-server' , ' root_uri' , lsp_settings#root_uri (' volar-server' ))},
158
- \ ' initialization_options' : lsp_settings#get (' volar-server' , ' initialization_options' , Vim_lsp_settings_volar_setup_ts_path (g: vim_lsp_settings_volar_options )),
159
- \ ' allowlist' : lsp_settings#get (' volar-server' , ' allowlist' , [' vue' ]),
160
- \ ' blocklist' : lsp_settings#get (' volar-server' , ' blocklist' , []),
161
- \ ' config' : lsp_settings#get (' volar-server' , ' config' , lsp_settings#server_config (' volar-server' )),
162
- \ }
163
- endif
32
+ LspRegisterServer {
33
+ \ ' name' : ' volar-server' ,
34
+ \ ' cmd' : {server_info- >lsp_settings#get (' volar-server' , ' cmd' , [lsp_settings#exec_path (' volar-server' )]+ lsp_settings#get (' volar-server' , ' args' , [' --stdio' ]))},
35
+ \ ' root_uri' :{server_info- >lsp_settings#get (' volar-server' , ' root_uri' , lsp_settings#root_uri (' volar-server' ))},
36
+ \ ' initialization_options' : lsp_settings#get (' volar-server' , ' initialization_options' , Vim_lsp_settings_volar_setup_ts_path (g: vim_lsp_settings_volar_options )),
37
+ \ ' allowlist' : lsp_settings#get (' volar-server' , ' allowlist' , [' vue' ]),
38
+ \ ' blocklist' : lsp_settings#get (' volar-server' , ' blocklist' , []),
39
+ \ ' config' : lsp_settings#get (' volar-server' , ' config' , lsp_settings#server_config (' volar-server' )),
40
+ \ }
164
41
augroup END
0 commit comments