| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
stylelint now has an official LS:
[@stylelint/language-server](https://github.com/stylelint/vscode-stylelint/tree/main/packages/language-server)
|
| |
|
|
|
|
|
| |
Problem: no LSP config exists for vimdoc (vim help) files.
Solution: add config for `vimdoc-language-server`, a language server
providing formatting, diagnostics, document symbols, and go-to-definition
for vimdoc files.
|
| |
|
|
|
|
|
|
| |
The current biome project root logic uses JS package manager
lockfiles to get the project root in mono repos.
If one is not using any JS (wasm) and raw CSS, that doesn't work out.
In those cases, only a biome.json exists as a marker on where the
frontend's project root inside the mono repo may be located.
|
| |
|
|
|
|
|
|
|
| |
Setting `offset_encoding` to `utf-8` is causing problem. See discussion at https://github.com/neovim/neovim/discussions/38375.
According to LSP specification 3.17, when `positionEncoding` is not specified in server capability, it's value should be assumed to be `utf-16`, see https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#serverCapabilities.
roslyn_ls does not response `positionEncoding` in initialize result (version `5.4.0-2.26162.5+e11fbc2bc8292680a92d731e5d9a6c7ee229262d`). One can verify this by setting LSP log level to debug, and read LSP log.
So, setting `offset_encoding` in default config is a mistake.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
Roslyn code actions can return nested actions using the
`roslyn.client.nestedCodeAction` command. Neovim currently
shows a warning when using call to action with nested actions,
because no handler exists for this command:
```
Language server roslyn_ls does not support command roslyn.client.nestedCodeAction
This command may require a client extension.
```
Solution:
Implement a command handler that:
- resolves code actions using `codeAction/resolve`
- supports Roslyn's `NestedCodeActions` property
- recursively handles nested actions
- presents multiple nested actions via `vim.ui.select`
- applies the final workspace edit or command
|
| | |
|
| | |
|
| | |
|
| | |
|
| |\ |
|
| | | |
|
| |/ |
|
| |
|
|
|
|
|
| |
The argument to `activate_env` is a table, one entry of which is
the name of the environment to activate if it is provided, or an
empty string if it is not provided.
closes #4335
|
| |
|
|
|
|
|
|
|
| |
Problem:
System installed sources of Rust standard library are not detected as
library sources.
Solution:
Add sources location to paths used for library check. See also:
https://rust-analyzer.github.io/book/configuration.html#cargo.sysrootSrc
|
| |
|
|
|
|
|
| |
Problem:
Currently the only root marker for slangd is .git
Solution:
As mentioned [here](https://github.com/shader-slang/slang-vs-extension?tab=readme-ov-file#configurations), slangdconfig.json and .clangformat could be used as root markers
|
| |
|
|
|
|
|
|
|
| |
Problem:
As mentioned here (https://github.com/mason-org/mason-registry/pull/6330#issuecomment-3971724747),
there is a change (https://github.com/dotnet/roslyn/pull/82201/changes) that the official language server can be
easily installed via `dotnet` cli.
Solution:
Use the official binary name as a fallback.
|
| |
|
|
|
|
|
| |
When rust-analyzer wants to invoke cargo (eg, when the user uses code lenses),
it sends a Command to nvim. This Command contains environment info that we're
currently ignoring (ie, a value of RUSTC_TOOLCHAIN). With this change, we
forward the environment variables that rust-analyzer wants to set to the
spawned process.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: `experimental.useFlatConfig` forcefully turns on the logic to
use a separate programmatic interface for flat config usage in ESLint.
That interface was removed in ESLint v10 where flat config format is the
only supported config format. But when the setting is turned on the
language server still looks for that interface and fails when it can't
find it. The end result is that language server turns off it's
validation/diagnostics when used with ESLint v10.
Solution: do not turn on `experimental.useFlatConfig` setting based on
the presence of flat config files. Instead use the default behavior of
the language server which matches the ESLint's default behavior and let
the user explicitly override it via config when necessary.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
Problem:
`checkhealth vim.lsp` reports the following warnings:
- ⚠️ WARNING Unknown filetype 'javascript.jsx'.
- ⚠️ WARNING Unknown filetype 'typescript.tsx'.
Solution:
Remove them.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
checkhealth shows warnings:
- ⚠️ WARNING Unknown filetype 'javascript.jsx' (Hint: filename extension != filetype).
- ⚠️ WARNING Unknown filetype 'typescript.tsx' (Hint: filename extension != filetype).
- ⚠️ WARNING Unknown filetype 'handlebars' (Hint: filename extension != filetype).
- ⚠️ WARNING Unknown filetype 'hbs' (Hint: filename extension != filetype).
- ⚠️ WARNING Unknown filetype 'mdx' (Hint: filename extension != filetype).
Solution:
Remove unknown filetypes.
But keep "handlebars" because it depends on a plugin.
|
| | |
|
| |
|
|
|
| |
Tree-sitter-based language server that bridges languages, editors,
and tooling — providing semantic tokens, selection ranges, and LSP
bridging for embedded languages (e.g., code blocks in Markdown).
|
| |
|
|
|
|
|
|
|
|
|
| |
Problem:
clangd currently receives incorrect languageId
values for objc, objcpp and cuda.
Solution:
Update the filetype to languageId mapping to send
the values expected by the language server.
ref https://code.visualstudio.com/docs/languages/identifiers
|
| | |
|
| | |
|
| |\ |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Update the logic to infer the type properly when a Deno file is part of
a non-Deno monorepo project, enabling using the denols and ts_ls (or
tsgo) LSPs side by side in the same monorepo without conflict.
Fix: #4300
|
| |\ \ |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem:
The filetypes javascript.tsx and typescript.tsx are not valid and have
been removed from other LSP configs recently.
Solution:
Remove them from the oxlint config.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem:
The Oxlint LSP configuration checks `package.json` for an "oxlint"
section in its `root_dir` function. However, Oxlint has never supported
configuration via `package.json`.
Solution:
Specify ".oxlintrc.json" in a `root_markers` table instead.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem:
Type-aware linting is not enabled by default, and it isn't obvious at
all how to do so in neovim based on the Oxlint documentation.
Solution:
Automatically enable type-aware linting if the necessary dependencies
are installed and the Oxlint config file references TypeScript.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem:
This commit originally implemented the `:LxpOxlintFixAll` command and
added help text for it. On rebase, it conflicted with another commit
which added the same command but did not add help text.
Solution:
Add help text for the `:LspOxlintFixAll` command.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | |/
|/| |
|
| | | |
|
| | | |
|