kok.nvim
lspkind.nvim
Our great sponsors
kok.nvim | lspkind.nvim | |
---|---|---|
60 | 14 | |
3,361 | 1,313 | |
- | - | |
9.3 | 6.1 | |
7 days ago | 4 months ago | |
Python | Lua | |
GNU General Public License v3.0 only | 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.
kok.nvim
-
How to get this overlay effect in neovim?
In the examples listed on this page https://github.com/ms-jpq/coq_nvim, there is a pattern overlay over the whole screen. Is there a neovim plugin that does this? Thanks.
-
Can anyone explain how to use treesitter with neovim in simple language?
nvim-cmp or coq_nvim is for autocompletion. Treesitter is for parsing language syntax. (I guess the most typical use case for this would be syntax highlighting.) Note that (neo)vim also has built in manual completion that you can use by setting up your omnifunc and triggering it with in insert mode .
-
What's the one plugin you'd love to see?
Aw man that's not nice to hear. I have had my own struggle with lsp not gonna lie. I used to use coc until it got too slow, after struggling for like 2 days lol lsp is working fast and neat. I'd suggest you to take a look at coq https://github.com/ms-jpq/coq_nvim which claims to be fast as fuck (literally lol) and also claims to be faster than lsp (because its written using c or something). Haven't tried it personally
-
New to Rust. How to setup Nvim as IDE?
Coq_nvim
-
Coq + LSP crashing
I'm attempting to use (coq_nvim)[https://github.com/ms-jpq/coq_nvim]. This is my config:
-
Neovim crashes when LuaSnip is used
Does your coq_nvim and nvim-lspconfig really load? Because they have opts = true
-
Is it a bad config or cmp isn't as smart as VSCode autocompletion?
I'd be happy for someone who knows more about this to correct me. But in my experience as well, nvim-cmp is not as good completion as vscode, its suggestions can be all over the place sometimes. I found that coq_nvim tends to better in this regard. I still prefer nvim-cmp for other reasons but you should definitely try coq_nvim out and see if you have a better experience.
-
nvimYAY! but: how to get coq (or any) completion to work (pyright)?
Coq_nvim isn't the same as Coc.nvim. Coq is a completion plugin with lots of caching written in Python that works alongside the builtin LSP. Coc is an LSP client (and has it's own plugin ecosystem) written in Node.
-
Why aren't there more plugins written in python?
There are some like https://github.com/SirVer/ultisnips and https://github.com/ms-jpq/coq_nvim. Speed is not really an issue, I guess people just prefer to have fewer dependencies and use lua which is already bundled in neovim.
-
nvim + lspconfig + nvim-cmp general slowness in large codebases
Maybe using coq.nvim instead of nvim-cmp could help (?) dince it caches the LSP responses. I haven't test it, though
lspkind.nvim
-
I do love neovim!
There's a cmp-icons plugin: https://github.com/onsails/lspkind.nvim and also you can see the cmp documentation inside vim running :h cmp I spend many hours reading each plugin documentation to customize all my plugins. I hope I've helped.
-
Trouble Getting Icons To Show Properly
If you are referring specifically to icons in your autocompletion suggestions menu you have to set it to use them. This can be achieved manually with the format key in the nvim-cmp setup (assuming you are using nvim-cmp) or with a plugin like lspkind.nvim
-
What are the best vim plugins for Go right now?
If you use neovim, you can refer to my init.lua; I use vim-go, lsp and other goodies like lspkind to display vscode-like pictograms.
-
Anyone have autocomplete working with rust-tools, nvm-cmp, etc.?
-- Provide some indication that rust-analyzer is busy! local lsp_status = require('lsp-status') lsp_status.register_progress() -- Basic rust/lsp/cmp settings from https://sharksforarms.dev/posts/neovim-rust/ local nvim_lsp = require('lspconfig') local opts = { tools = { -- rust-tools options autoSetHints = true, hover_with_actions = true, inlay_hints = { show_parameter_hints = false, parameter_hints_prefix = "", other_hints_prefix = "=> ", }, }, -- all the opts to send to nvim-lspconfig -- these override the defaults set by rust-tools.nvim -- see https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#rust_analyzer server = { -- on_attach is a callback called when the language server attachs to the buffer on_attach = lsp_status.on_attach, capabilities = lsp_status.capabilities, settings = { -- to enable rust-analyzer settings visit: -- https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/user/generated_config.adoc -- and more: https://github.com/simrat39/rust-tools.nvim/wiki/Server-Configuration-Schema ["rust-analyzer"] = { -- enable clippy on save checkOnSave = { command = "clippy" }, } } }, } require('rust-tools').setup(opts) -- Setup Completion -- See https://github.com/hrsh7th/nvim-cmp#basic-configuration -- Used for super-tab functionality local has_words_before = function() local line, col = unpack(vim.api.nvim_win_get_cursor(0)) return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil end local feedkey = function(key, mode) vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(key, true, true, true), mode, true) end local lspkind = require('lspkind') local cmp = require'cmp' cmp.setup({ completion = { autocomplete = true }, -- Enable LSP snippets snippet = { expand = function(args) vim.fn["vsnip#anonymous"](args.body) end, }, mapping = { [''] = cmp.mapping.select_prev_item(), [''] = cmp.mapping.select_next_item(), [''] = cmp.mapping.scroll_docs(-4), [''] = cmp.mapping.scroll_docs(4), [''] = cmp.mapping.complete(), [''] = cmp.mapping.close(), [''] = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Insert, select = true, }), -- Add tab support [""] = cmp.mapping(function(fallback) if cmp.visible() then cmp.select_next_item() elseif vim.fn["vsnip#available"](1) == 1 then feedkey("(vsnip-expand-or-jump)", "") elseif has_words_before() then cmp.complete() else fallback() -- The fallback function sends a already mapped key. In this case, it's probably ``. end end, { "i", "s" }), [""] = cmp.mapping(function() if cmp.visible() then cmp.select_prev_item() elseif vim.fn["vsnip#jumpable"](-1) == 1 then feedkey("(vsnip-jump-prev)", "") end end, { "i", "s" }), }, -- Installed sources sources = { { name = 'nvim_lsp' }, --, trigger_characters={'.', ":"} }, { name = 'vsnip' }, { name = 'path' }, { name = 'buffer' }, { name = 'nvim_lsp_signature_help' }, { name = 'nvim_lsp_document_symbol' }, }, -- Fancy symbols formatting = { format = lspkind.cmp_format({ mode = 'symbol_text', -- show both symbol & text for now maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) -- The function below will be called before any actual modifications from lspkind -- so that you can provide more controls on popup customization. (See [#30](https://github.com/onsails/lspkind-nvim/pull/30)) --before = function (entry, vim_item) --... --return vim_item --end }) }, completion = { autocomplete = true }, })
-
Neovim LSP Setup + Code Completion Engine
All the snippets, mapping, formatting and sources part in the above code snippet is expalained nicely in the plugin's documentation. For above code to work, you also have to install lspkind which provides awesome icons in the code completions.
-
Lspconfig configuration issues
To style the completion popup, you need to add formatting. Going by the cute little scissors, you probably want to install lsp-kind and add something like this to your cmp.setup
-
Totally confused about completion
https://github.com/onsails/lspkind-nvim (optionally)
-
Looks like the nvim-compe plugin is going to be deprecated, replaced by nvim-cmp (eventually)
I copy pasted the icons from https://github.com/onsails/lspkind-nvim/blob/master/lua/lspkind/init.lua and added the spaces:
- Is anyone here using neovim for f# programming and could point me to useful plugins, which work with neovim 0.5
- Java/Kotlin developers that use NeoVim as their main IDE, recommendations to someone that uses Intellij IDEA for java-dev but nvim for the rest?
What are some alternatives?
coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
cmp-nvim-lsp - nvim-cmp source for neovim builtin LSP client
coq - Coq is a formal proof management system. It provides a formal language to write mathematical definitions, executable algorithms and theorems together with an environment for semi-interactive development of machine-checked proofs.
lspsaga.nvim - improve neovim lsp experience [Moved to: https://github.com/nvimdev/lspsaga.nvim]
nvim-cmp - A completion plugin for neovim coded in Lua.
vscode-codicons - The icon font for Visual Studio Code
deoplete.nvim - :stars: Dark powered asynchronous completion framework for neovim/Vim8
lspsaga.nvim - improve neovim lsp experience
vim-repeat - repeat.vim: enable repeating supported plugin maps with "."
vim-emoji-icon-theme - Emoji/Unicode Icons Theme for Vim and Neovim with support for 40+ plugins and 380+ filetypes 🎨💙💛🤍💚
nvim-bqf - Better quickfix window in Neovim, polish old quickfix window.
friendly-snippets - Set of preconfigured snippets for different languages.