lspkind-nvim
vscode-like pictograms for neovim lsp completion items [Moved to: https://github.com/onsails/lspkind.nvim] (by onsails)
vim-vsnip
Snippet plugin for vim/nvim that supports LSP/VSCode's snippet format. (by hrsh7th)
lspkind-nvim | vim-vsnip | |
---|---|---|
4 | 30 | |
541 | 854 | |
- | - | |
6.2 | 4.1 | |
about 2 years ago | 4 months ago | |
Lua | Vim Script | |
MIT License | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
lspkind-nvim
Posts with mentions or reviews of lspkind-nvim.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-07-16.
-
Configurando Neovim para Java
local cmp = require 'cmp'; local lspkind = require 'lspkind' cmp.setup({ snippet = { expand = function(args) require('luasnip').lsp_expand(args.body) end }, mapping = cmp.mapping.preset.insert({ ['C-Space'] = cmp.mapping.complete(), [''] = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = true }), }), sources = cmp.config.sources({ { name = 'nvim_lsp' }, { name = 'buffer' }, }), formatting = { format = lspkind.cmp_format({ mode = 'symbol', -- show only symbol annotations maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) ellipsis_char = '...', -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead (must define maxwidth first) -- 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 }) } }) require('jdtls').start_or_attach(config)
-
Neovim - Workflow para Java, C# e JS/TypeScript (Atualização com Neovim 0.8 e LSP)
lspkind-nvim: plugin para adicionar ícones nas entidades de LSP (classe, método, snippet, etc) igual ao VS Code.
-
My Neovim setup for React, TypeScript, Tailwind CSS, etc
onsails/lspkind-nvim - VSCode-like pictograms
-
CMP acting up
local cmp_status_ok, cmp = pcall(require, "cmp") if not cmp_status_ok then return end local lspkind_status_ok, lspkind = pcall(require, "lspkind") if not lspkind_status_ok then return end local check_backspace = function() local col = vim.fn.col(".") - 1 return col == 0 or vim.fn.getline("."):sub(col, col):match("%s") end local source_mapping = { nvim_lsp = "[LSP]", cmp_tabnine = "[TN]", buffer = "[Buffer]", path = "[Path]", } cmp.setup({ mapping = { [""] = cmp.mapping.select_prev_item(), [""] = cmp.mapping.select_next_item(), [""] = cmp.mapping(cmp.mapping.scroll_docs(-1), { "i", "c" }), [""] = cmp.mapping(cmp.mapping.scroll_docs(1), { "i", "c" }), [""] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }), [""] = cmp.config.disable, -- Specify `cmp.config.disable` if you want to remove the default `` mapping. [""] = cmp.mapping({ i = cmp.mapping.abort(), c = cmp.mapping.close(), }), -- Accept currently selected item. If none selected, `select` first item. -- Set `select` to `false` to only confirm explicitly selected items. [""] = cmp.mapping.confirm({ select = true }), [""] = cmp.mapping(function(fallback) if cmp.visible() then cmp.select_next_item() else fallback() end end, { "i", "s" }), [""] = cmp.mapping(function(fallback) if cmp.visible() then cmp.select_prev_item() else fallback() end end, { "i", "s" }), }, formatting = { fields = { "kind", "abbr", "menu" }, format = lspkind.cmp_format({ mode = "symbol_text", -- options: 'text', 'text_symbol', 'symbol_text', 'symbol' maxwidth = 40, -- 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) vim_item.kind = lspkind.presets.default[vim_item.kind] local menu = source_mapping[entry.source.name] if entry.source.name == "cmp_tabnine" then if entry.completion_item.data ~= nil and entry.completion_item.data.detail ~= nil then menu = entry.completion_item.data.detail .. " " .. menu end vim_item.kind = "" end vim_item.menu = menu return vim_item end, }), }, sources = { { name = "nvim_lsp" }, { name = "cmp_tabnine" }, { name = "buffer" }, { name = "path" }, }, confirm_opts = { behavior = cmp.ConfirmBehavior.Replace, select = false, }, experimental = { ghost_text = false, }, }) local tabnine = require("cmp_tabnine.config") tabnine:setup({ max_lines = 1000, max_num_results = 20, sort = true, run_on_every_keystroke = true, snippet_placeholder = "..", ignored_file_types = { -- default is not to ignore -- uncomment to ignore in lua: -- lua = true }, show_prediction_strength = true, })
vim-vsnip
Posts with mentions or reviews of vim-vsnip.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-01-26.
- Setting Up Razor Support in Neovim for Enhanced C# Development
-
UltiSnips – Snippet Solution for Vim
My go to these days has been https://github.com/hrsh7th/vim-vsnip. It is compatible with LSP and VSCode snippet format. Since it is in pure VimScript you don’t need to battle configuring python just to get the plug-in to work.
-
UltiSnips to LuaSnip converter
I first started by reading some tutorials but most of those used parser combinators. For me, parser combinators always caused some issues sooner or later (at least in Lua when trying to parse recursive / nested nodes). An example project that uses this technique is vim-vsnip: https://github.com/hrsh7th/vim-vsnip/blob/master/autoload/vsnip/snippet/parser.vim. Later, I found out that Luacheck uses a different approach which I liked better: https://github.com/lunarmodules/luacheck/blob/master/src/luacheck/parser.lua. That's the project that helped me the most while writing my own parsers for different snippet engines.
-
Template in C++
This plugin could use it? hrsh7th/vim-vsnip
-
Neovim, LSP and AWS Cloudformation Autocomplete
I am not a snippets expert, I don't even currently use snippets. However, I know that both LuaSnip and vim-vsnip can load these vscode style snippets. So my recommendation would be to get the snippets and use one of those two snippet plugins.
- Help with autocompletion of html tags in React.
-
Neovim for screenplay writing
For autocompletion I use the nvim-cmp plugin. If you're not coding, it might be overkill. But during writing it helps me a lot, because it autosuggests words that I used in the current buffer, too. The most popular autocomplete plugins should be compatible with the most popular snippets engines like vim-vsnip.
-
The Must-Have Neovim Plugins for Julia
Have you ever wondered how to have a snippet completion in VSCode so you can write Julia code fast but in Neovim? Fear not! vim-vsnip is the plugin you need. This plugin supports LSP/VSCode's snippet format. But first, you need to install cmp-vsnip for this plugin to be sourced to nvim-cmp. Oh btw, these three plugins: nvim-cmp, vim-vsnip, and cmp-vsnip → are made by the same person which is actually cool! If you want to support them, become a sponsor! (I am poor so I cannot sponsor yet 😔)
-
TSServer Snippets
I believe you want the second variant. Then you should install some snippet plugin like vsnip or luasnip and config it with your completion engine.
-
Anyone using Neovim for Drupal development?
https://github.com/hrsh7th/vim-vsnip says it supports vscode style snippets, so apparently you could use https://marketplace.visualstudio.com/items?itemName=kaffeine.advanced-drupal-8-snippets with that plugin.
What are some alternatives?
When comparing lspkind-nvim and vim-vsnip you can also consider the following projects:
cmp-nvim-lsp - nvim-cmp source for neovim builtin LSP client
LuaSnip - Snippet Engine for Neovim written in Lua.
lspsaga.nvim - improve neovim lsp experience [Moved to: https://github.com/nvimdev/lspsaga.nvim]
ultisnips - UltiSnips - The ultimate snippet solution for Vim. Send pull requests to SirVer/ultisnips!
vscode-codicons - The icon font for Visual Studio Code
friendly-snippets - Set of preconfigured snippets for different languages.
nvim-lspconfig - Quickstart configs for Nvim LSP
nvim-compe - Auto completion Lua plugin for nvim
nlsp-settings.nvim - A plugin for setting Neovim LSP with JSON or YAML files
coc.nvim - Nodejs extension host for vim & neovim, load extensions like VSCode and host language servers.
lspkind-nvim vs cmp-nvim-lsp
vim-vsnip vs LuaSnip
lspkind-nvim vs lspsaga.nvim
vim-vsnip vs ultisnips
lspkind-nvim vs vscode-codicons
vim-vsnip vs friendly-snippets
lspkind-nvim vs nvim-lspconfig
vim-vsnip vs nvim-compe
lspkind-nvim vs nvim-compe
vim-vsnip vs nvim-lspconfig
lspkind-nvim vs nlsp-settings.nvim
vim-vsnip vs coc.nvim