| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
| |
Problem:
Docs are manually maintained everywhere for no good reason.
Solution:
- revert commit 9dc02492c4a457479f8a0ec7a65aac1852ff59c0
- provide a "gF" friendly link to the source
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
The configuration for the Ada Language Server was first added in #171 and
removed in #3310. The removal happened due to misunderstandings, it was thought
at the time that the default language server configuration could not work on its
own (#1683), it turns out that this was actually caused by a bug in the ALS that
was fixed a long time ago. This means the default ALS configuration can be
re-introduced.
However, in the meantime, a new neovim plugin for Ada was created and the name
"als" was borrowed, thus we have to use a new name, ada_ls, in order to avoid
breaking this plugin.
This reverts commit 7b8b0b3ddd0ed6eddc93982753acaddc578defac.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
- try the next command if:
- version pattern is not matched
- exitcode is nonzero or timeout.
- truncate long output
|
| | |
|
| |
|
|
|
|
|
| |
- 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.
|
| |
|
|
|
|
|
| |
Problem:
version is only printed for make_config_info.
Solution:
Add it to make_client_info.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
Follow suit of other descriptions that are just strings
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
The configuration key 'texlab.auxDirextory' has been deprecated, in
favor of 'texlab.build.auxDir', mirroring the latexmkrc's auxDir
variable.
https://github.com/latex-lsp/texlab/wiki/Configuration#deprecated-texlabauxdirectory
texlab.build.auxDir has a default value of `.` in texlab if not explicitly set, or if the user has no `latexmkrc` file.
https://github.com/latex-lsp/texlab/wiki/Configuration#texlabbuildauxdirectory
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
Basics language server provides completion for buffer words, paths, and snippets. The goal is to allow current neovim users to test the built-in lsp completion without 3rd party plugins until neovim gains support for adding custom completion sources.
|
| |
|
|
|
| |
A minimal language server for HTTP syntax.
See: https://github.com/mistweaverco/kulala-ls
|
| | |
|
| |
|
|
|
| |
root (#3325)
Co-authored-by: Emma <emma@guugle.com>
|
| | |
|
| | |
|
| |
|
|
|
| |
#2712" (#3347)
This reverts commit fb453a1a443b6ea6b54a1e4c101b1160c9d37950.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
## Problem
Currently, `nvim-lspconfig` tries to attach servers automatically via two autocommands:
1. Created if `config.autostart == true` and triggered by `FileType`, if `config.filetypes` is set, else `BufReadPost`. Calls `try_add()`.
2. Created for each workspace root, triggered by `BufReadPost` matching paths starting with the root. Calls `try_add_wrapper()`.
`BufReadPost` does not fire when creating a buffer for a file that doesn't exist. This means that if `config.autostart == true` and `config.filetypes` is set and includes the detected filetype for the buffer, the server is attached automatically regardless of whether the file exists, but in all other cases the server is only attached for existing files.
## Solution
1. Where these autocommands trigger on `BufReadPost`, also trigger on `BufNewFile`.
2. Wrap the autocommand callbacks in `vim.schedule()` to ensure `filetype` is set first, as the `BufReadPost`/`BufNewFile` autocommands will trigger before `FileType` if `nvim-lspconfig` is set up early enough during Nvim init (see https://github.com/neovim/neovim/issues/7367 and https://github.com/neovim/nvim-lspconfig/pull/2712#discussion_r1261063555).
I did consider including a test with this PR, but there doesn't seem to be any existing test infrastructure for tests involving actually running a language server (or a mock of one).
Fixes #2711
|
| |
|
| |
ref: https://github.com/unocss/unocss/blob/35297359bf61917bda499db86e3728a7ebd05d6c/packages/vscode/src/autocomplete.ts#L12
|
| |
|
|
|
|
|
|
|
|
| |
Problem:
Root directory is always reported as "Running in single file mode".
Solution:
Don't prettify the filepath until "presenting" it.
fix #3346
|
| | |
|
| | |
|
| |
|
|
| |
fix #3342
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Language server config is read from `zls.json`. By default common global
and user config directories are searched. However, this omits
per-project configuration, which can be available in the workspace dir.
We already look for `zls.json` to determine root dir, but we don't use
it when starting the language server.
This change appends `cmd` with `--config-path "zls.json"`, which uses
the file when it's available and fall-backs to default logic when file
is not available.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
Users/plugins may want to use the config definition without actually
activating the config via setup().
Solution:
- Expose `config_def` field and document it.
- Also undeprecate some stuff that doesn't yet have a documented
alternative.
TODO: configs.lua sets `M.filetypes = config.filetypes` and other fields
in ad-hoc fashion "for :LspInfo" but it's not clear when those fields
are actually populated, and they don't source from `config_def`...
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
Looking at the code for root dir detection for `lua_ls`:
https://github.com/neovim/nvim-lspconfig/blob/9bda20fb967075355f253911bc066a8b5a03c77e/lua/lspconfig/server_configurations/lua_ls.lua#L17-L27
I was surprised that finding the git ancestor has lower priority than
the `lua/` subdirectories (which, btw, is not mentioned in docs).
Consider the following directory structure:
HOME/
├─ workspaces/
│ ├─ lua/
│ ├─ python/
│ ├─ work/
│ │ ├─ SomeProjectWithLuaFiles/
│ │ │ ├─ .git/
The `lua/` and `python/` directories contain some miscellaneous
language-specific projects I sometimes work on. The project directory
under work/ also contains some lua files. I expected the `.git` directory
in the project to ensure that the project root dir is correctly detected
to be `…/SomeProjectWithLuaFiles`. But since the [search for the `lua/`
subdirectory](https://github.com/neovim/nvim-lspconfig/blob/9bda20fb967075355f253911bc066a8b5a03c77e/lua/lspconfig/server_configurations/lua_ls.lua#L22)
is done first, my LSP detects `HOME/workspaces/` as the root directory.
Solution:
Search for the git ancestor before looking for the `lua/` subdirectory.
Return the longer root path if both a `.git/` and a `lua/` ancestor are found.
Fixes #3165
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
The name `server_configurations` is extremely verbose and irritatingly
formal and dogmatic. This overlong name is a constant nuisance when
reading, writing, and coding.
It's also not even correct: these configurations are just as much
"client" configurations as they are "server" configurations.
Solution:
- Rename to a shorter name.
- Leave placeholder files for any old URLs that link to the old
location.
|
| | |
|
| |
|
|
|
|
| |
filetypes (#3324)
stylelint_lsp does not work with these and only gives syntax errors or
wrong results on diagnostics.
|
| | |
|
| |
|
|
|
| |
* fix(cairo_ls): update bin_name value for cairo language server
* fix: pass cmd command directly to return cmd field
|
| | |
|
| |
|
|
|
|
| |
root_dir in `vim.lsp.ClientConfig` can be a string type and
in our annoation also mentioned `string|function` type. but
actually root_dir does not support string type. add a type
check of root_dir and then we can use `vim.fs.root` directly.
|