vim-lsp-cxx-highlight
mason-lspconfig.nvim
vim-lsp-cxx-highlight | mason-lspconfig.nvim | |
---|---|---|
7 | 40 | |
335 | 2,279 | |
- | - | |
0.0 | 8.8 | |
over 1 year ago | 6 days ago | |
Vim Script | Lua | |
MIT License | Apache License 2.0 |
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/
mason-lspconfig.nvim
-
Do I need NeoVIM?
https://github.com/hrsh7th/nvim-cmp This is an autocompletion engine https://github.com/nvim-treesitter/nvim-treesitter This allows NeoVim to install parsing scripts so NeoVim can do things like code highlighting. https://github.com/williamboman/mason.nvim Not strictly necessary, but allows you to access a repo of LSP, install them, and configure them for without you actively messing about in config files. https://github.com/neovim/nvim-lspconfig Also not strictly necessary, but vastly simplifies LSP setup. https://github.com/williamboman/mason-lspconfig.nvim This lets the above two plugins talk to each other more easily.
-
How to best use nontrivial Python tool chains through neovim?
pylsp offers an option to install flake8 as an optional plugin and Mason offers a command to install pylsp plugins. I could then install flake8-pytest-style via pip. Then pylsp and flake8 would live in the same Mason environment and flake8-pytest-style would live in my project's environment. I don't know if/how they will communicate with each other.
-
Using nvim-lint as a null-ls alternative for linters
Personally, i think nvim-lint is the best alternative currently, specially so because it has no dependencies on external binaries. This guide assumes you already have your LSP set up with nvim-lspconfig (or an alternative like lsp-zero). You should also have an way to install the linters you are gonna need, i highly recommend Mason with mason-lspconfig.
-
How do I enable an LSP for json files?
Have you set up https://github.com/williamboman/mason-lspconfig.nvim as well?
-
What are the benefits of using nvim-lspconfig?
You can also use https://github.com/williamboman/mason-lspconfig.nvim with nvim-lspconfig to make language server installation closer to installing a vscode extension, in that you just install a language server through mason and it'll be automatically configured for you.
- Your favourite Neovim plugins?
-
I've been away for ~3 years and my config is vimscript-coc-plug-etc. Worth moving to the 'new thing', and good resources to get up to date?
https://github.com/williamboman/mason-lspconfig.nvim - Mason plugin to manage your LSP servers.
-
Auto-completion problems for terraform
I found this GitHub issue: https://github.com/williamboman/mason-lspconfig.nvim/issues/224 I think it could be related, but I'm not sure.
- Help wanted - lspsaga vs neovim/nvim-lspconfig vs mason-lspconfig - need help to understand difference
-
LSP light bulb moment
LSP: lspconfig & mason-lspconfig.nvim"
What are some alternatives?
ale - Check syntax in Vim/Neovim asynchronously and fix files, with Language Server Protocol (LSP) support
nvim-lsp-installer - Further development has moved to https://github.com/williamboman/mason.nvim!
ifdef-highlighting - #ifdef highlighting in c/c++/idl
lsp-zero.nvim - A starting point to setup some lsp related features in neovim.
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/
packer.nvim - A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config
neovim - Vim-fork focused on extensibility and usability
nvim-dap-python - An extension for nvim-dap, providing default configurations for python and methods to debug individual test methods or classes.
clangd_extensions.nvim - Clangd's off-spec features for neovim's LSP client. Use https://sr.ht/~p00f/clangd_extensions.nvim instead
nvim-cmp - A completion plugin for neovim coded in Lua.
kok.nvim - Fast as FUCK nvim completion. SQLite, concurrent scheduler, hundreds of hours of optimization.
nvim-lspconfig - Quickstart configs for Nvim LSP