vim-lsp-cxx-highlight
hlargs.nvim
vim-lsp-cxx-highlight | hlargs.nvim | |
---|---|---|
7 | 12 | |
335 | 429 | |
- | - | |
0.0 | 6.4 | |
over 1 year ago | 2 months ago | |
Vim Script | Lua | |
MIT License | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
vim-lsp-cxx-highlight
-
Need help with C/C++ setup for proper highlighting and LSP features
This vim plugin has worked for me for semantic highlighting: https://github.com/jackguo380/vim-lsp-cxx-highlight
-
Colored statusline doesn't load at start; I need to manually source $MYVIMRC
" This file contains common and basic plugins too essential not to include " See https://github.com/junegunn/vim-plug/wiki/tutorial " Auto install vim-plug (if not already installed) if empty(glob('~/.config/nvim/autoload/plug.vim')) silent !curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim autocmd VimEnter * PlugInstall endif " Run PlugInstall if there are missing plugins autocmd VimEnter * if len(filter(values(g:plugs), '!isdirectory(v:val.dir)')) \| PlugInstall --sync | source $MYVIMRC \| endif " enable Vim-Plug: call plug#begin('~/.config/nvim/plugged') " Install/update plugins Plug 'https://github.com/tpope/vim-commentary.git' Plug 'https://github.com/morhetz/gruvbox' " Better C/C++ syntax highlighting; Plug 'https://github.com/jackguo380/vim-lsp-cxx-highlight' call plug#end() "---------- Basic configs ---------------------------------------------------- autocmd vimenter * ++nested colorscheme gruvbox " Enable transparent background let g:gruvbox_transparent_bg = 1
-
How to make it so my variable names are highlighted?
By looking around the Web, I think you can maybe do what you want in Vim with this plugin, which requires you to setup an LSP server for C (note: I haven't tried it). Otherwise, the way Vim makes its syntax highlighting (natively) simply cannot compete with tree-sitter or LSP-based highlighting which construct the entire AST of your code, because C's syntax is too complex. There is a proposal to include an alternative syntax highlighting system, but work on it hasn't even started as far as I know, so vim-lsp-cxx-highlight and tree-sitter are really the only way to highlight identifiers in C/C++.
-
How do I use ifdef-highlighting
I use coc.nvim with e.g. coc-clangd extension (with https://github.com/jackguo380/vim-lsp-cxx-highlight for extra highlighting, but that might not be necessary anymore with some recent update I think I read somewhere) which has a similar feature, but uses the compiler settings from a compile_commands.json or some configuration file to know which defines are which value, to do this kind of ifdef block highlighting.
-
Seeking for advice on a particular LSP setup
I was abled to build ccls on a RHEL 6 machine which also supports semantic highlighting with the help of this plugin. Would suggest to try that out.
- Is it possible to get LSP-aware highlighting for C++ with neovim LSP client using ccls or clangd?
- https://np.reddit.com/r/neovim/comments/jwhf60/error_using_ccls_with_nvim/gv25dc6/
hlargs.nvim
-
This is why your higlights look different in 9.0
Am I correct to assume that hlargs.nvim is basically obsolete with semantic highlights?
-
Support for semantic token modifiers merged!
Does this effectively remove the need for something like hlargs?
-
Need help with C/C++ setup for proper highlighting and LSP features
Do I need 'hlargs.nvim' plugin?
-
Detailed syntax highlighting
There is also the hlargs plugin, which achieves the exact same highlighting as the screenshot you posted using treesitter instead of the lsp. However, it appears csharp support has only recently been requested. You can follow it here. https://github.com/m-demare/hlargs.nvim/issues/56
-
Is there plugin like hlargs.nvim desirable tree-sitter based but for methods arguments which called? Python for example.
I added the option, it requires some configuration you can find in :h hlargs-extras
-
How do I get good/ complete syntax highlighting in nvim? The tree-sitter one seems suboptimal compared to the VScode's complete and fleshed highlighting. Let me know of any plugins or extensions which can improve the situation for me.
hlargs does this. https://github.com/m-demare/hlargs.nvim
-
I must be missing something
m-demare/hlargs.nvim: Highlight arguments of function/method, because some language servers don't support semantic tokens.
-
hlargs.nvim update
If you haven't seen the previous post, hlargs.nvim allows you to highlight functions' arguments (definitions and usages)
-
hlargs.nvim: Highlight function arguments
Something like these, with lambda functions, nested functions, etc
-
Need help diagnosing slowness in Treesitter related plugin
Here's the WIP, to try it out you just install it and run require('hlargs').setup() Thanks!
What are some alternatives?
ale - Check syntax in Vim/Neovim asynchronously and fix files, with Language Server Protocol (LSP) support
markid - A Neovim extension to highlight same-name identifiers with the same color.
ifdef-highlighting - #ifdef highlighting in c/c++/idl
emmylua-nvim - Neovim emmylua library
clangd-nvim - Neovim plugin for semantic highlighting in C++ based on Neovim's build-in LSP support. Mirror of https://gitlab.com/robert-oleynik/clangd-nvim/
nvim
neovim - Vim-fork focused on extensibility and usability
gitsigns.nvim - Git integration for buffers
clangd_extensions.nvim - Clangd's off-spec features for neovim's LSP client. Use https://sr.ht/~p00f/clangd_extensions.nvim instead
nvim-config
kok.nvim - Fast as FUCK nvim completion. SQLite, concurrent scheduler, hundreds of hours of optimization.
awesome-neovim - Collections of awesome neovim plugins.