@@ -201,6 +201,42 @@ return {
201201
202202 local vue_language_server_path = vim .fn .expand ' $MASON/packages' .. ' /vue-language-server' .. ' /node_modules/@vue/language-server'
203203
204+ local vue_plugin = {
205+ name = ' @vue/typescript-plugin' ,
206+ location = vue_language_server_path ,
207+ languages = { ' vue' },
208+ configNamespace = ' typescript' ,
209+ }
210+
211+ local vtsls_config = {
212+ settings = {
213+ typescript = {
214+ tsserver = {
215+ maxTsServerMemory = 8192 ,
216+ },
217+ },
218+ vtsls = {
219+ tsserver = {
220+ globalPlugins = {
221+ vue_plugin ,
222+ },
223+ },
224+ },
225+ },
226+ filetypes = { ' typescript' , ' javascript' , ' javascriptreact' , ' typescriptreact' , ' vue' },
227+ }
228+
229+ local vue_ls_config = {
230+ init_options = {
231+ vue = {
232+ suggest = {
233+ componentNameCasing = ' autoPascal' ,
234+ propNameCasing = ' autoCamel' ,
235+ },
236+ },
237+ },
238+ }
239+
204240 -- Enable the following language servers
205241 -- Feel free to add/remove any LSPs that you want here. They will automatically be installed.
206242 --
@@ -224,54 +260,32 @@ return {
224260 -- ts_ls = {},
225261 --
226262
227- -- ts_ls = {
228- -- init_options = {
229- -- plugins = {
230- -- {
231- -- name = '@vue/typescript-plugin',
232- -- location = vue_language_server_path,
233- -- languages = { 'vue' },
234- -- },
235- -- },
236- -- },
237- -- filetypes = { 'typescript', 'javascript', 'javascriptreact', 'typescriptreact', 'vue' },
238- -- },
239- vtsls = {
240- filetypes = { ' typescript' , ' javascript' , ' javascriptreact' , ' typescriptreact' , ' vue' },
241- settings = {
242- vtsls = {
243- tsserver = {
244- globalPlugins = {
245- {
246- name = ' @vue/typescript-plugin' ,
247- location = vue_language_server_path ,
248- languages = { ' vue' },
249- configNamespace = ' typescript' ,
250- enableForWorkspaceTypeScriptVersions = true ,
251- },
252- },
253- },
254- },
255- },
256- },
257- vue_ls = {
258- init_options = {
259- vue = {
260- complete = {
261- casing = {
262- tags = ' autoPascal' ,
263- props = ' autoCamel' ,
264- },
265- },
266- },
263+ vtsls = vtsls_config ,
264+ vue_ls = vue_ls_config ,
265+ oxlint = {
266+ filetypes = {
267+ ' javascript' ,
268+ ' javascriptreact' ,
269+ ' javascript.jsx' ,
270+ ' typescript' ,
271+ ' typescriptreact' ,
272+ ' typescript.tsx' ,
273+ ' vue' ,
267274 },
268275 },
276+ prettierd = {},
277+ eslint_d = {},
278+ stylelint = {},
269279 tailwindcss = {},
280+ jsonlint = {},
281+ marksman = {},
282+ markdownlint = {},
270283 rust_analyzer = {
271284 checkOnSave = {
272285 command = ' clippy' ,
273286 },
274287 },
288+ stylua = {},
275289 lua_ls = {
276290 -- cmd = { ... },
277291 -- filetypes = { ... },
@@ -302,15 +316,6 @@ return {
302316 -- You can add other tools here that you want Mason to install
303317 -- for you, so that they are available from within Neovim.
304318 local ensure_installed = vim .tbl_keys (servers or {})
305- vim .list_extend (ensure_installed , {
306- ' stylua' , -- Used to format Lua code,
307- ' prettierd' ,
308- ' stylelint' ,
309- ' eslint_d' ,
310- ' oxlint' ,
311- ' jsonls' ,
312- ' marksman' ,
313- })
314319
315320 for serverKey in pairs (servers or {}) do
316321 local server = servers [serverKey ]
0 commit comments