From 1f65e589bf2437b73a515235fc5f0122536aa3fd Mon Sep 17 00:00:00 2001 From: rice-cracker-dev Date: Thu, 21 Aug 2025 18:47:09 +0700 Subject: [PATCH] languages/svelte: fix svelte-language-server not reloading .js/.ts files on change --- docs/release-notes/rl-0.8.md | 2 +- modules/plugins/languages/svelte.nix | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index e5d409c5..6b1b6369 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -319,6 +319,7 @@ - Add global function `nvf_lint` under `vim.diagnostics.nvim-lint.lint_function`. - Deprecate `vim.scrollOffset` in favor of `vim.options.scrolloff`. +- Fix `svelte-language-server` not reloading .js/.ts files on change. [Sc3l3t0n](https://github.com/Sc3l3t0n): @@ -480,7 +481,6 @@ [soliprem](https://github.com/soliprem): - - fix broken `neorg` grammars - remove obsolete warning in the `otter` module diff --git a/modules/plugins/languages/svelte.nix b/modules/plugins/languages/svelte.nix index 42e6d320..301a51d7 100644 --- a/modules/plugins/languages/svelte.nix +++ b/modules/plugins/languages/svelte.nix @@ -33,6 +33,15 @@ ''; on_attach = mkLuaInline '' function(client, bufnr) + vim.api.nvim_create_autocmd('BufWritePost', { + pattern = { '*.js', '*.ts' }, + group = vim.api.nvim_create_augroup('svelte_js_ts_file_watch', {}), + 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({ command = 'migrate_to_svelte_5',