* Fix highlight errors when lsp crash or stop
It adds a check wether the client is still available before
highlighting.
If the client is not there anymore it returns `true` to unregister the
autocommand
This fix the
`method textDocument/documentHighlight is not supported by any of the servers registered for the current buffer`
errors when doing a LspRestart or the server crashes
* Delete the highlight autocommands in the LspDetatch event
* Only delete autocmds for the current buffer with the group name
* Simplify clearing the autocommands
---------
Co-authored-by: Francis Belanger <francis.belanger@ubisoft.com>
Provide a method to disable autoformat on save lsp fallback for
specified filetypes. By default disable for C/C++ as an example,
because it does not have a well standardized coding style.
Based on conform recipe:
https://github.com/stevearc/conform.nvim/blob/master/doc/recipes.md
Tree-sitter indenting for ruby is pretty terrible.
But the fix requires a few steps, so showed those
and documented how you could do that for other languages
as well (with the tricky part being the
additional_vim_regex_highlighting trick)
Fixesnvim-lua/kickstart.nvim#692
`neodev` configures Lua LSP for your Neovim config, runtime and plugins
used for completion, annotations and signatures of Neovim apis
With neodev, there's no more need to manually set lua_ls workspace
settings which don't seem to work properly anyway as currently nvim
api completion does not work.
We've removed over 1/3 of the code that was in kickstart previously,
and more than doubled the amount of comments explaining every line
of code (to the best of my ability).
kickstart now properly uses many of the lazy.nvim config and loading
idioms, which should be really helpful for people moving both to
modular configs, as well as extending the kickstart config in one file.
Additional features:
- Beautiful ascii art
- Added some documentation that explains what is an LSP, what is telescope, etc
- There is now a `:checkhealth` for kickstart, which checks some basic information
and adds useful information for maintainers (for people cloning the repo).
- Improved LSP configuration and tool installation, for easier first time startup
- Changed init.lua ordering, so that it moves from simple options to complicated config
```
-------------------------------------------------------------------------------
Language files blank comment code
-------------------------------------------------------------------------------
Lua 1 108 404 298
-------------------------------------------------------------------------------
```
This commit introduces three additional fields - `sync_install`, `ignore_install`, and `modules` - to the Treesitter configuration. This update is aimed at resolving warnings that were previously displayed, potentially causing confusion or frustration for new users of Neovim. By explicitly defining these fields, the configuration aligns better with the latest `nvim-treesitter` requirements.
This parser is actually needed for some *JSX* parsing, and since
typescript and tsx are already getting installed, it makes sense to
also install the javascript parser.
Originally, the keymaps for jumping to next and previous git hunks were
]c and [c. This was changed in #323 (83b65a1) because they overwrote the
built-in vimdiff keymaps.
However, the more traditional solution is to have ]c and [c *extend* the
built-in keymap. This is what fugitive and gitgutter have been doing for
years.
Gitsigns doesn't do this by itself, but it has a recommended keymap
configuration on which the present patch is based:
https://github.com/lewis6991/gitsigns.nvim#keymaps
The only thing I've added is to have the keymaps work in visual mode as
well, which is the same behavior as the built in vimdiff keymaps.