litee-calltree.nvim
vim-ccls
Our great sponsors
litee-calltree.nvim | vim-ccls | |
---|---|---|
3 | 6 | |
119 | 92 | |
- | - | |
3.3 | 0.0 | |
26 days ago | over 1 year ago | |
Lua | Vim Script | |
- | MIT License |
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.
litee-calltree.nvim
-
coc or nvim.lsp?
maybe litee-calltree?
-
State of the call hierarchy functionality
There is Litee's Calltree but I couldn't make it work. For C/C++, there is the Vim-Ccls plugin that adds those functionalities (although I don't like the UI). But in order to use it I had to switch from Clangd to Ccls and it broke the symbol tree of 2 plugins I had : Sidebar.nvim (which I actively used) and symbols-outline.nvim (an old plugin I tried to use again, but is broken by the change as well).
- litee.nvim is now a library
vim-ccls
- Vim-ccls: Vim plugin for the ccls language server
-
Getting neovim setup for C++ dev - CCLS
I've tried ccls.nvim and vim-ccls - any other recommendations?
-
State of the call hierarchy functionality
There is Litee's Calltree but I couldn't make it work. For C/C++, there is the Vim-Ccls plugin that adds those functionalities (although I don't like the UI). But in order to use it I had to switch from Clangd to Ccls and it broke the symbol tree of 2 plugins I had : Sidebar.nvim (which I actively used) and symbols-outline.nvim (an old plugin I tried to use again, but is broken by the change as well).
-
Extension like rust-tools.nvim, but for clangd (C & C++)
First I strip down ccls like this lua local cinit = function(client) require("mappings").nvim_lsp() local rc = client.resolved_capabilities rc.document_formatting = false rc.document_range_formatting = false rc.document_highlight = false rc.document_symbol = false rc.workspace_symbol = false rc.rename = false rc.hover = false rc.completion = false rc.code_action = false end require('lspconfig').ccls.setup{ on_init = cinit, handlers = { ["textDocument/publishDiagnostics"] = function(...) return nil end, ["textDocument/signatureHelp"] = function(...) return nil end, }, single_file_support = true, root_dir = Lsp.util.root_pattern("compile_commands.json", "compile_flags.txt", ".git"), } and then use vim-ccls for the AST extensions, config it with mappings.
-
GitHub - ldelossa/calltree.nvim: Neovim's missing call-hierarchy UI. (Help Test!!)
I use https://github.com/m-pilia/vim-ccls, and was hoping to find something more general. Thank you for making this.
-
Switching to nvim-lsp
you could go the route of writing your on handlers. I was incredibly lazy. there exists Martin Pilla' amazing plugin that does just that. All the hierarchy based jumps provided by ccls are inside that plugin.
What are some alternatives?
sidebar.nvim - A generic and modular lua sidebar for Neovim
ale - Check syntax in Vim/Neovim asynchronously and fix files, with Language Server Protocol (LSP) support
diffview.nvim - Single tabpage interface for easily cycling through diffs for all modified files for any git rev.
litee.nvim - A framework for building Neovim plugins
vimdark - A dark theme for vim based on vim-monotonic and chrome's dark reader
symbols-outline.nvim - A tree like view for symbols in Neovim using the Language Server Protocol. Supports all your favourite languages.
litee-symboltree.nvim - A document outline tool implemented with the litee.nvim library
vim-yggdrasil - Vim library to generate tree-like views
litee-filetree.nvim - A file explorer implemented with the litee.nvim library.
dotfiles
vim-lsp - async language server protocol plugin for vim and neovim