1453 Commits

Author SHA1 Message Date
mattn bffb50ffa6 Merge pull request #854 from mattn/register-server-call
Call lsp_settings#register_server() directly in settings files
2026-06-11 05:16:22 +00:00
Yasuhiro Matsumoto 895356ca0b Unify augroup naming in settings files
Name every augroup vim_lsp_settings_<file name> so that names are
namespaced to this plugin and unique per file. This also fixes
lsp_install_yaml being shared by aws-lsp-yaml.vim and
yaml-language-server.vim, and lsp_install_json by json-languageserver.vim
and vscode-json-language-server.vim, where the second au! wiped the
first file's autocmds. The empty clearing group in rust-analyzer.vim is
renamed with a _commands suffix instead of being merged into the main
group, since clearing that would also remove its lsp_buffer_enabled
autocmd.
2026-06-11 14:14:03 +09:00
Yasuhiro Matsumoto 2b2fc48fcb Remove vestigial augroup wrappers from settings files
The augroup/au! wrapper was needed when registration was done with
':autocmd User lsp_setup', to avoid stacking duplicate autocmds on
re-source. Now that registration is a plain function call, augroup has
no effect on it. Drop the wrapper where it only enclosed the
registration, and keep augroups only around real autocmds, moving the
registration call out in front of them (the original order, call then
autocmd, is preserved).
2026-06-11 14:10:28 +09:00
Yasuhiro Matsumoto 05bd55754e Call lsp_settings#register_server() directly in settings files
The LspRegisterServer user command was introduced to hide the
version-dependent ':autocmd User lsp_setup ++once' boilerplate (#7),
but registration has been immediate since loading became lazy per
filetype. A user command's argument is evaluated in the script context
where the command was defined, so settings files could not use
script-local helpers. Calling the function directly evaluates the
argument in each settings file's own context, which allows the global
Vim_lsp_settings_* helper functions to become script-local. The
LspRegisterServer command itself is kept for backward compatibility.
2026-06-11 14:01:38 +09:00
Yasuhiro Matsumoto 0684c62e98 Generate kakehashi languages/languageServers dynamically
Build initialization_options for kakehashi from the language servers
vim-lsp-settings would launch for each filetype, instead of hardcoding
them.
2026-06-11 13:56:11 +09:00
Yasuhiro Matsumoto 8dbdc5e172 Add APIs to query servers and commands without registering
Add lsp_settings#filetype_servers(), lsp_settings#server_info() and
lsp_settings#server_command(). server_info() sources the settings file
in capture mode so that LspRegisterServer hands back the server
information instead of registering it to vim-lsp.
2026-06-11 13:56:07 +09:00
Yasuhiro Matsumoto 1558bbaba4 Address shellcheck warnings
- install-clangd.sh: quote $cmd inside which (SC2086).
- install-marksman.sh: quote $(uname -m) in test (SC2046).
2026-05-21 11:58:07 +00:00
Yasuhiro Matsumoto 38c3b8dfe2 Pin GitHub release installer versions
Replaces releases/latest/download/... with releases/download/$version/...
for 19 installers (38 files) so each script has an extractable version=
or set VERSION= line that update-installer-versions.sh can rewrite.

Drive-by fixes folded in:
- install-markdown-oxide.cmd pointed at atusy/markdown-oxide (404). Repointed
  to Feel-ix-343/markdown-oxide upstream which does publish a Windows binary.
- install-systemd-lsp.{sh,cmd} had v2025.07.10 hardcoded mid-URL; pinned to
  current latest v2026.04.21.
- install-typos-lsp.{sh,cmd} dropped the curl-redirect-to-learn-the-version
  dance in favor of a pinned tag.
- install-omnisharp-lsp.{sh,cmd}: the script's local 'version' (dotnet --version
  output) was renamed to 'dotnet_version' so the pinned release version can
  coexist without shadowing.

biome and oxlint are left unchanged: biome's tag (@biomejs/biome@X.Y.Z) needs
URL encoding, and oxc-project/oxc publishes parallel apps_v*/crates_v* streams
where releases/latest is ambiguous. Both would need ad-hoc handling.
2026-05-21 11:58:07 +00:00
Yasuhiro Matsumoto e6f474f502 Fix install-clangd.sh for current LLVM release format
The old script looped through LLVM 9-15 trying clang+llvm-X-pc-linux-gnu.tar.xz
asset names that no longer exist. Replaced with a pinned version variable
($version=22.1.6) and the modern LLVM-{version}-Linux-{ARCH}.tar.xz /
LLVM-{version}-macOS-ARM64.tar.xz asset names. Now also recognized by
update-installer-versions.sh.
2026-05-21 11:58:07 +00:00
Yasuhiro Matsumoto 229485dd73 Bump up versions 2026-05-20 02:06:14 +09:00
declval bc3db55269 Update kotlin-lsp to the latest version 2026-05-20 02:04:01 +09:00
Shinya Ohyanagi 70aece93f9 Fix install oxfmt from npm registry 2026-05-20 02:03:34 +09:00
22or d98a4cbdf7 README: Fix unclosed bracket for rust-analyzer example 2026-05-20 02:02:39 +09:00
ichizok 056c84317c Fix install-typeprof.sh
"lsp-test" branch is already gone
2026-05-20 02:02:08 +09:00
ichizok 2c2cd023cd CI: Bump actions/checkout from v4 to v6 2026-05-20 02:01:35 +09:00
Yasuhiro Matsumoto d01a465c76 Fix Windows path mismatch in first_one test
first_one applies normalize_path which converts / to \ on Windows,
but the test compared against raw fnamemodify output.
2026-05-20 01:33:48 +09:00
Shinya Ohyanagi a64c02c81d Bump kakehashi version 2026-05-20 01:28:03 +09:00
Yasuhiro Matsumoto a0ec2ee4e7 Fix requires warning shown even when server is not installed
The requires warning (e.g. "cl-lsp requires ros") was shown when
opening a file even if the server was not explicitly requested.
Now the warning is only shown when a server name is explicitly
specified (e.g. :LspInstallServer cl-lsp).
2026-04-05 00:41:53 +09:00
Shinya Ohyanagi 1da485c2d7 Fix oxc installer asset names for latest release downloads 2026-03-27 23:44:34 +09:00
Shinya Ohyanagi 7990f91b55 Add herb 2026-03-26 13:58:28 +09:00
Shinya Ohyanagi 1035cd9138 Add markdown-oxide 2026-03-25 21:24:13 +09:00
Yasuhiro Matsumoto 14f38588d8 Fix shellcheck warnings
- Remove unused url variable in install-qmlls.sh
- Add double quotes around variables in install-verible-verilog-ls.sh
2026-03-21 03:41:17 +09:00
Yasuhiro Matsumoto 66109d7503 Update installer versions
- clangd: 15.0.0 → 22.1.1
- clj-kondo-lsp: 2020.05.09 → 2026.01.19
- cobol-language-support: 0.9.1/2.1.1 → 2.4.3
- elixir-ls: v0.29.2 → v0.30.0
- emmylua-ls: 0.3.6 → 0.5.16
- fsautocomplete: 6.0.4 → 0.83.0
- powershell-languageserver: 3.14.0 → 4.4.0
- qmlls: 0.2 → 0.6
- reason-language-server: 1.7.5 → 1.7.13
- serve-d: 0.6.0 → 0.7.6
- sumneko-lua-language-server: 3.0.0 → 3.17.1
- svls: v0.2.11 → v0.2.14
- tailwindcss-intellisense: 0.10.0 → 0.14.29
- verible-verilog-ls: updated
2026-03-21 03:41:17 +09:00
Yasuhiro Matsumoto d5675d34d0 Restore normalize_path in servers_dir() and global_settings_dir()
These functions should return backslash paths on Win32 as the tests
and callers expect.
2026-03-20 19:31:00 +09:00
Yasuhiro Matsumoto 229dcf990a Extract lsp_settings#utils#normalize_path() for Win32 path normalization
Replace inline has('win32') + substitute(path, '/', '\', 'g') pattern
with a single helper function. Keep paths as '/' internally in
servers_dir() and global_settings_dir() to avoid mixed separators
when concatenating, and normalize only at external boundaries.
2026-03-20 19:24:49 +09:00
Yasuhiro Matsumoto f9bf378598 Extract common server filtering logic into helper functions
- s:is_server_disabled() for disabled check
- s:is_server_filtered_by_default() for default filetype check
- s:has_missing_requires() for requirements check
- s:installer_path() for installer script path construction

Reduces duplication across s:vim_lsp_installer(),
s:vim_lsp_load_or_suggest(), and lsp_settings#complete_install().
2026-03-20 19:21:26 +09:00
Yasuhiro Matsumoto af727e10fb Fix missing augroup END and remove unused variables
- Add missing augroup END in s:vim_lsp_settings_suggest()
- Remove unused l:cmd variable in s:open() (ui.vim)
- Remove unused l:keys variable in lsp_settings#utils#dotmerge()
2026-03-20 19:18:17 +09:00
Shinya Ohyanagi 3b6fb9e061 Add oxfmt 2026-03-18 10:03:23 +09:00
Shinya Ohyanagi 9ccb85437c Add oxlint 2026-03-18 10:03:23 +09:00
Jelmer Vernooij df82e54d35 Add configuration for debian-lsp 2026-03-18 10:02:55 +09:00
Shinya Ohyanagi 69f1d690ef Add pyrefly 2026-03-16 10:01:38 +09:00
KFL a2613c7b99 Add rust-project.json as root URI pattern 2026-03-16 10:01:10 +09:00
Yasuhiro Matsumoto cb1391b485 Fix _ servers 2026-03-05 12:53:29 +09:00
Yasuhiro Matsumoto e8926187fc Revert 78790821ad 2026-02-18 14:03:41 +09:00
declval 6b7b49d577 Fix kotlin-lsp not running on linux and update to the latest version 2026-02-08 21:21:18 +09:00
hatajoe 58748d1dc6 fix: add executable permission to install-kakehashi.sh 2026-01-20 10:20:40 +09:00
Yasuhiro Matsumoto 8c0597d3b5 update README.md 2026-01-17 21:44:00 +09:00
Yasuhiro Matsumoto a38b906009 add kakehashi 2026-01-17 21:44:00 +09:00
Yasuhiro Matsumoto 3894b738f5 fix test 2026-01-09 17:32:24 +09:00
Yasuhiro Matsumoto eca2fcfc46 revenge: lazy load 2026-01-09 15:54:25 +09:00
Yasuhiro Matsumoto 3b95615e4c add crystalline 2025-12-12 11:16:52 +09:00
Yasuhiro Matsumoto 0378316218 delete needless property 2025-12-12 11:15:06 +09:00
Yasuhiro Matsumoto e11436f3af add mozuku-lsp 2025-12-10 23:06:41 +09:00
Yasuhiro Matsumoto 1d4c282229 avoid more messages 2025-12-10 23:04:44 +09:00
Yasuhiro Matsumoto 9e7d620284 avoid more messages 2025-12-10 23:04:33 +09:00
Yasuhiro Matsumoto 9a2596e5c4 avoid more messages 2025-12-10 23:00:41 +09:00
Yasuhiro Matsumoto 78790821ad fix check default 2025-12-10 17:04:52 +09:00
Yasuhiro Matsumoto 1b01a8290b suggest should be delayed 2025-12-05 08:23:15 +09:00
Yasuhiro Matsumoto 928fe58f1d revert lazy load 2025-11-28 21:56:56 +09:00
Taylor Buchanan 3321ad0351 Enable ESLint flat config 2025-11-17 23:52:18 +09:00