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.
neovim 0.10 introduces experimental support for hyperlinks using
OSC 8 sequence. By default, this is used in Markdown for links of
the form [example](https://example.com). If terminal supports the
OSC 8 escape sequence, then the text example in the neovim buffer
will contain a hyperlink that can be clicked and it will open in
web browser.
This means markdown files with conceallevel=2 look much closer to
the rendered output.
We want file path being shown in winbar to be relative to the current
directory or in our case frequently the git root. For whatever reason,
only the first opened leftmost split would show the file path relative
to current git root while any files opened later would show the full
path starting from `HOME`/~ directory. So something around how '%f%m%r'
actually works or how it is being used to set winbar has been a problem.
checkProject if set to true, type checks the entire project on initial
load. If activated by default which it is, can lead to bad performance
in large projects.
Though Ruff is not an LSP in the LSP sense but using it this way
gives us formatting and linting via code actions. All other Python
LSP servers are garbage anyway.
All Python LSP servers are garbage. Jedi was being horribly slow.
We only care about Python for GStreamer/GObject work where Python
GObject's missing type annotations prevent us from using something
like Pyright or similar. Just drop all this crap. Fuck Python!.