diff options
Diffstat (limited to '.config/nvim/lsp/svelte.lua')
-rw-r--r-- | .config/nvim/lsp/svelte.lua | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/.config/nvim/lsp/svelte.lua b/.config/nvim/lsp/svelte.lua deleted file mode 100644 index 53f3e73..0000000 --- a/.config/nvim/lsp/svelte.lua +++ /dev/null @@ -1,47 +0,0 @@ ----@brief ---- ---- https://github.com/sveltejs/language-tools/tree/master/packages/language-server ---- ---- Note: assuming that [ts_ls](#ts_ls) is setup, full JavaScript/TypeScript support (find references, rename, etc of symbols in Svelte files when working in JS/TS files) requires per-project installation and configuration of [typescript-svelte-plugin](https://github.com/sveltejs/language-tools/tree/master/packages/typescript-plugin#usage). ---- ---- `svelte-language-server` can be installed via `npm`: ---- ```sh ---- npm install -g svelte-language-server ---- ``` - ----@type vim.lsp.Config -return { - cmd = { 'svelteserver', '--stdio' }, - filetypes = { 'svelte' }, - root_dir = function(bufnr, on_dir) - local fname = vim.api.nvim_buf_get_name(bufnr) - -- Svelte LSP only supports file:// schema. https://github.com/sveltejs/language-tools/issues/2777 - if vim.uv.fs_stat(fname) ~= nil then - local root_markers = { 'package-lock.json', 'yarn.lock', 'pnpm-lock.yaml', 'bun.lockb', 'bun.lock', 'deno.lock' } - root_markers = vim.fn.has('nvim-0.11.3') == 1 and { root_markers, { '.git' } } - or vim.list_extend(root_markers, { '.git' }) - -- We fallback to the current working directory if no project root is found - local project_root = vim.fs.root(bufnr, root_markers) or vim.fn.getcwd() - on_dir(project_root) - end - end, - on_attach = function(client, bufnr) - -- Workaround to trigger reloading JS/TS files - -- See https://github.com/sveltejs/language-tools/issues/2008 - vim.api.nvim_create_autocmd('BufWritePost', { - pattern = { '*.js', '*.ts' }, - group = vim.api.nvim_create_augroup('lspconfig.svelte', {}), - callback = function(ctx) - -- internal API to sync changes that have not yet been saved to the file system - client:notify('$/onDidChangeTsOrJsFile', { uri = ctx.match }) - end, - }) - vim.api.nvim_buf_create_user_command(bufnr, 'LspMigrateToSvelte5', function() - client:exec_cmd({ - title = 'Migrate Component to Svelte 5 Syntax', - command = 'migrate_to_svelte_5', - arguments = { vim.uri_from_bufnr(bufnr) }, - }) - end, { desc = 'Migrate Component to Svelte 5 Syntax' }) - end, -} |