Use the newly introduced config and enable APIs.
https://github.com/neovim/neovim/pull/31031
We drop the settings for deno and typescript here. We added
javascript and typescript support as it was required for our
last client a while back. Drop them for now, we will add it
back if we need to. ts_ls is absolute garbage and hopefully
we won't have to work with the fuck all nonsense that is the
javascript ecosystem in the foreseeable future.
- Drop bash language server. We do not want to run JS/TS
based garbage. Now that we do not need to do any official
work on JS/TS, we can get rid of all npm/yarn/pnpm shit.
- Remove settings for inlay hints for TS server as lot of
idiots writing TS do not provide type annotations all the
time. ts_ls is also not useful at providing type hints, so
inlay hints have never been useful.
- Prevent clangd from running on single files.
Improve git blame by
- w: Ignoring white space
- C: Detect lines moved or copied in the same commit
- C: The commit that created the file
- C: Any commit at all
We might use Git show to view git revision of the file
on another branch and we do not want to attach LSP to
this file. This file will be opened as a temporary with
path /tmp/nvim/<something>.
On similar lines to commit 1eec783a20.
With get_line_diagnostics being deprecated we switched to
vim.diagnostic.get but vim diagnostics are different from
LSP diagnostics and need to be converted.
We copy the code from get_line_diagnostics here as that
will be dropped in 0.12. Strangely the issue only kept
coming up with ruff/Python and HLS/Haskell.
This fixes commit ef0daa5d4 which broke code action
light bulb functionality.
When setting grepprg to ripgrep, neovim passes -uuu which disables
ripgrep's default filtering which also ends up searching in binary
files which is not what we want. It also ignores our ripgreprc and
.ignore we have setup. neovim tries to match behaviour of standard
grep which we do not care about.
The default behaviour becomes a lot confusing when we start getting
results from clangd cache or search index.