aboutsummaryrefslogtreecommitdiffstats
path: root/lua/lspconfig/health.lua
Commit message (Collapse)AuthorAgeFilesLines
* refactor(lsp): vim.lsp.get_log_path() -> vim.lsp.log.get_filename() #3997Sebastian Lyng Johansen2025-08-141-1/+1
|
* refactor: replace vim.loop with vim.uv #3703v2.0.0Chris Bandy2025-04-101-2/+2
| | | | | | The former is deprecated in neovim 0.10. Remove the check added in 9b89ba5f158f73779cd58d0bb2783dfb40b28b0e. See: https://github.com/neovim/neovim/blob/v0.10.0/runtime/doc/deprecated.txt#L55
* refactor: deprecate util.get_lsp_clients #3694Justin M. Keyes2025-04-051-2/+2
|
* fix: ":checkhealth lspconfig" fails on Nvim 0.11 #3668Justin M. Keyes2025-03-271-2/+10
| | | | | | | | | | | | | | | | | | | | | Problem: `:checkhealth lspconfig` fails: E5009: Invalid $VIMRUNTIME: .../share/nvim/runtime Error executing lua: Vim:E21: Cannot make changes, 'modifiable' is off stack traceback: [C]: in function 'append' .../share/nvim/runtime/lua/vim/health.lua:443: in function '_check' `:checkhealth` cannot call itself recursively. And even if it did work, it would show a duplicate report since `:checkhealth vim.lsp` will also be part of the report. Solution: On Nvim 0.11, - show a deprecation message if invoked directly. - show a softer message if invoked as part of the "full report". fix #3664
* feat: alias :LspInfo to `:checkhealth vim.lsp` #3663Justin M. Keyes2025-03-261-0/+6
| | | | | | | | | Problem: `:checkhealth lspconfig` has no benefits vs `:checkhealth vim.lsp`. Solution: - on Nvim 0.11+, `:LspInfo` is an alias to `:checkhealth vim.lsp` instead of `:checkhealth lspconfig`. - `lua/lspconfig/health.lua` will be removed in a few months.
* fix(health.lua): increased version check cmd timeout (#3601)snowdroppe2025-02-041-1/+1
| | | | | | | | | | | Problem: LspInfo returns '?' for version string when using the codeqlls language server. This is because codeql is slow to return its version number due to the underlying JVM. Solution: Increase the timeout from 300ms to 500ms. 1000 iterations of `codeql version` resulted in (349 +- 13) ms which informed the choice of 500ms.
* revert: "refactor!: make available_servers function private" #3589dundargoc2025-01-271-1/+1
| | | | | | | | This reverts commit e118ce58dab72c17216292eef7df4cee3cf60885. It turns out `util.available_servers` is used more than anticipated, so we revert the privatization for the time being. Closes https://github.com/neovim/nvim-lspconfig/issues/3588
* refactor!: make available_servers function privatedundargoc2025-01-211-1/+1
| | | | Work on https://github.com/neovim/nvim-lspconfig/issues/2079.
* refactor: remove outdated codedundargoc2024-12-081-1/+1
| | | | | Lspconfig requires neovim version 0.9 at the time of writing this, so discard any version checks and code for older versions.
* refactor: replace all instances of vim.uv with vim.loopdundargoc2024-12-021-3/+2
| | | | | We still support neovim 0.9 currently, so we can't use vim.uv. Also add a check so we don't accidentally reintroduce it.
* fix(health): improve format of root dir and doc in checkhealth (#3416)glepnir2024-11-031-8/+7
|
* fix(health): "root directory" not reported #3402Justin M. Keyes2024-10-251-9/+10
| | | | | | | Problem: "root directory" not reported. Solution: report root_dir. regression from b55b9659de9ac17e05df4787bb023e4c7ef45329
* fix(health): version fails for jdtls #3399Justin M. Keyes2024-10-241-1/+1
| | | | | | | | | | Problem: version fails for jdtls Solution: Try `-version` (one hyphen). Drop `-v`, it's probably not useful. Also drop `-h` because it is unlikely to work if `--help` didn't work. TODO: make a smarter guess about the actual "argv0" of `cmd`.
* fix(health): "attempt to index cmd (function)" #3390Justin M. Keyes2024-10-201-1/+2
| | | | | | | | | | Problem: `cmd` may be a random function instead of an executable command. ERROR Failed to run healthcheck for "lspconfig" plugin. Exception: .../lua/lspconfig/health.lua:127: attempt to index field 'cmd' (a function value) Solution: Skip attempt to invoke `<cmd> --version` if `cmd` is a function.
* fix(health): improve version reporting #3388Justin M. Keyes2024-10-191-18/+15
| | | | | | - try the next command if: - version pattern is not matched - exitcode is nonzero or timeout. - truncate long output
* fix(health): support gopls version command (#3386)Scott Penrose2024-10-191-1/+1
|
* fix(lspinfo): improve version check, deduplicate #3383Justin M. Keyes2024-10-181-67/+89
| | | | | | | - improve version handling: try --version, -v, etc. - avoid hanging commands (timeout after 1s). - also collect stderr. - show "Tried: ..." on failure. - omit "custom handlers" if none found.
* feat(lspinfo): also show version in make_client_info #3382Justin M. Keyes2024-10-181-5/+8
| | | | | | | Problem: version is only printed for make_config_info. Solution: Add it to make_client_info.
* feat(lspinfo): print `<cmd> --version` resultJustin M. Keyes2024-10-181-0/+18
|
* fix(lspinfo)!: remove config.lspinfoJustin M. Keyes2024-10-181-5/+0
| | | | | | | | | | | | | | | Problem: `config.lspinfo` is an undocumented feature that allows extending the info shown in `:LspInfo` (`:checkhealth lspconfig`). This feature is unwanted because: - it's undocumented - it adds a maintenance burden - it provides info that should be derived from the LSP protocol itself. Solution: Remove support for `config.lspinfo`. Instead, `:LspInfo` (`:checkhealth lspconfig`) should be enhanced to automatically gather this kind of extra info from the server response.
* fix(health): skip format root when in single file mode (#3348)glepnir2024-10-041-0/+3
|
* fix(health): root directory always "single file mode"Justin M. Keyes2024-10-031-10/+17
| | | | | | | | | | Problem: Root directory is always reported as "Running in single file mode". Solution: Don't prettify the filepath until "presenting" it. fix #3346
* fix(health): support Nvim 0.9Justin M. Keyes2024-10-021-3/+3
| | | | fix #3342
* feat(lspinfo): replace :LspInfo with :checkhealth #3339Justin M. Keyes2024-10-021-0/+290
| | | | | | | | | | | | Problem: :LspInfo has its own "inner platlform" of highlights, mappings etc. And it doesn't integrate with :checkhealth. Solution: - Move the lspinfo code to a healthcheck. - LspInfo features such as highlights, "floating window" presentation, etc., should be added to :checkhealth in Nvim core, if they are really needed. - Define a "q" mapping until Nvim stable has that in :checkhealth.
* chore: remove healthcheck (#1636)Michael Lingelbach2022-01-051-28/+0
| | | | | | | | | | | | | | Previously, lspconfig had a recommended healthcheck. This was mostly noise as its predominant use was to check if a server was installed. This check was not accurate as vim.fn.executable is extremely primitive and does not consider cmd_env (forwarded to uv_spawn) or language servers that are run via an interpreter. Furthermore, checking if a language server is executable will no longer be a useful signal once TCP support (which allows for connecting to already running or remote servers). Remove for now.
* chore: clean up importsMichael Lingelbach2021-11-251-1/+1
|
* fix(health): fix problem of always showing warning (#1466)erw72021-11-211-1/+1
|
* fix(health): fix problem that could return empty results (#1461)Michael Lingelbach2021-11-201-0/+3
| | | Co-authored-by: erw7 <erw7.github@gmail.com>
* fix(checkhealth): rename check_health to check (#1296)Matthieu Coudron2021-10-051-1/+1
| | | as mandated by https://github.com/neovim/neovim/pull/15259#issuecomment-934241413
* chore: change stylua to single quotes (#1068)Michael Lingelbach2021-07-131-5/+5
|
* ci: lint and format with styluaMichael Lingelbach2021-07-031-5/+5
|
* Remove all installers and install logicMichael Lingelbach2021-01-031-2/+1
|
* Rename nvim_lsp to lspconfigHirokazu Hata2020-09-061-0/+26