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
Using abbreviations for shell commands does not seem clean. They also
seem out of place along with other cabal abbreviations.
While at it, we also add a helper to nuke all Haskell build artefacts.
This is convenient instead of running cabal clean in every project or
relying on Kondo.
For deleting directories, we replace -delete with -exec rm -rv {} + or
-exec rm -rv {} \ which should delete directories recursively without
error. + at the end will result in rm -rv file1 file2 ... while using
\ will result in rm -rv file1; rm -rv file2; ...
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.
May be this was the reason foot & tmux did not play well
together last time on multiple monitors. This is disabled
by default, so keep it disabled. We will revisit this if
it is actually required.