lspkind-nvim VS packer.nvim

Compare lspkind-nvim vs packer.nvim and see what are their differences.

lspkind-nvim

vscode-like pictograms for neovim lsp completion items [Moved to: https://github.com/onsails/lspkind.nvim] (by onsails)

packer.nvim

A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config (by wbthomason)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
lspkind-nvim packer.nvim
4 180
541 7,603
- -
6.2 3.4
about 2 years ago 2 months ago
Lua Lua
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.

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
    2 projects | dev.to | 16 Jul 2023
    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)
    28 projects | dev.to | 1 Jan 2023
    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
    34 projects | dev.to | 9 Aug 2022
    onsails/lspkind-nvim - VSCode-like pictograms
  • CMP acting up
    1 project | /r/neovim | 16 Jun 2022
    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, })

packer.nvim

Posts with mentions or reviews of packer.nvim. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-21.
  • thethethe.nvim - neovim friendly autocorrect plugin
    4 projects | /r/neovim | 21 Oct 2023
    packer
  • Help Enablin Powerline Font for Lightline in Kitty NeoVim
    1 project | /r/neovim | 24 Sep 2023
    -- Check if Packer.nvim is already installed if fn.empty(fn.glob(install_path)) > 0 then -- If not installed, clone it from GitHub fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path}) -- Load Packer.nvim vim.cmd [[packadd packer.nvim]] return true end return false end
  • Installing neovim on windows 10 does not work (no really, it doesn't)
    1 project | /r/neovim | 19 Aug 2023
    local ensure_packer = function() local fn = vim.fn local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim' if fn.empty(fn.glob(install_path)) > 0 then fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path}) vim.cmd [[packadd packer.nvim]] return true end return false end
  • Issue with treesitter highlights, disappears after 5 seconds each time
    1 project | /r/neovim | 31 Jul 2023
    local fn = vim.fn -- Automatically install packer local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim" if fn.empty(fn.glob(install_path)) > 0 then PACKER_BOOTSTRAP = fn.system({ "git", "clone", "--depth", "1", "https://github.com/wbthomason/packer.nvim", install_path, }) print("Installing packer close and reopen Neovim...") vim.cmd([[packadd packer.nvim]]) end -- Autocommand that reloads neovim whenever you save the plugins.lua file vim.cmd([[ augroup packer_user_config autocmd! autocmd BufWritePost plugins.lua source | PackerSync augroup end ]]) -- Use a protected call so we don't error out on first use local status_ok, packer = pcall(require, "packer") if not status_ok then return end -- Have packer use a popup window packer.init({ display = { open_fn = function() return require("packer.util").float({ border = "rounded" }) end, }, }) -- Install your plugins here return packer.startup(function(use) -- My plugins here use({ "wbthomason/packer.nvim" }) -- Have packer manage itself use({ "nvim-lua/plenary.nvim" }) -- Useful lua functions used by lots of plugins use({ "windwp/nvim-autopairs" }) -- Autopairs, integrates with both cmp and treesitter use({ "numToStr/Comment.nvim" }) use({ "JoosepAlviste/nvim-ts-context-commentstring" }) use({ "kyazdani42/nvim-web-devicons" }) use({ "akinsho/bufferline.nvim" }) use({ "moll/vim-bbye" }) use({ "nvim-lualine/lualine.nvim" }) use({ "akinsho/toggleterm.nvim" }) use({ "ahmedkhalf/project.nvim" }) use({ "lewis6991/impatient.nvim" }) use({ "lukas-reineke/indent-blankline.nvim" }) use({ "goolord/alpha-nvim" }) use("folke/which-key.nvim") -- Colorschemes use({ "folke/tokyonight.nvim" }) use("lunarvim/darkplus.nvim") use("bluz71/vim-moonfly-colors") use("fcpg/vim-fahrenheit") use("rainglow/vim") use("wojciechkepka/vim-github-dark") use("gavinok/spaceway.vim") use({"mcchrish/zenbones.nvim", requires = "rktjmp/lush.nvim"}) use({ "ellisonleao/gruvbox.nvim" }) -- Gruvbox theme -- LSP use({ "neovim/nvim-lspconfig" }) -- enable LSP use({ "williamboman/nvim-lsp-installer" }) -- simple to use language server installer use({ "jose-elias-alvarez/null-ls.nvim" }) -- for formatters and linters -- Telescope use({ "nvim-telescope/telescope.nvim" }) -- Treesitter use("nvim-treesitter/nvim-treesitter", {run = ':TSUpdate'}) use("nvim-treesitter/nvim-treesitter-context") use("nvim-treesitter/playground") -- Editor plugins use({ "karb94/neoscroll.nvim" }) -- Git use({ "lewis6991/gitsigns.nvim" }) -- LSP Zero use { 'VonHeikemen/lsp-zero.nvim', requires = { -- LSP Support {'neovim/nvim-lspconfig'}, -- Required {'williamboman/mason.nvim'}, -- Optional {'williamboman/mason-lspconfig.nvim'}, -- Optional -- Autocompletion {'hrsh7th/nvim-cmp'}, -- Required {'hrsh7th/cmp-buffer'}, {'hrsh7th/cmp-path'}, {'hrsh7th/cmp-nvim-lua'}, {'hrsh7th/cmp-nvim-lsp'}, -- Required {'L3MON4D3/LuaSnip'}, -- Required {'rafamadriz/friendly-snippets'}, } } -- Automatically set up your configuration after cloning packer.nvim -- Put this at the end after all plugins if PACKER_BOOTSTRAP then require("packer").sync() end end)
  • Editing init.lua with lua_ls on gives "Undefined global : vim" ?
    3 projects | /r/neovim | 27 Jun 2023
    require('packer').startup(function(use) use 'https://github.com/wbthomason/packer.nvim' use 'https://github.com/neovim/nvim-lspconfig' end)
  • error message whenever I write a file
    2 projects | /r/neovim | 20 Jun 2023
  • [Help] Packer.nvim
    3 projects | /r/neovim | 3 Jun 2023
    git clone --depth 1 https://github.com/wbthomason/packer.nvim\ ~/.local/share/nvim/site/pack/packer/start/packer.nvim
  • Pyright Won't Let me Quit Python Files
    3 projects | /r/neovim | 17 May 2023
    ``` vim.g.maplocalleader = " " vim.g.mapleader = " " local ensure_packer = function() local fn = vim.fn local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim" if fn.empty(fn.glob(install_path)) > 0 then fn.system({ "git", "clone", "--depth", "1", "https://github.com/wbthomason/packer.nvim", install_path }) vim.cmd([[packadd packer.nvim]]) return true end return false end
  • [Neovim] Gestionnaire de packages basé à Lua
    2 projects | /r/enfrancais | 4 May 2023
    2 projects | /r/enfrancais | 4 May 2023

What are some alternatives?

When comparing lspkind-nvim and packer.nvim you can also consider the following projects:

cmp-nvim-lsp - nvim-cmp source for neovim builtin LSP client

vim-plug - :hibiscus: Minimalist Vim Plugin Manager

lspsaga.nvim - improve neovim lsp experience [Moved to: https://github.com/nvimdev/lspsaga.nvim]

lazy.nvim - 💤 A modern plugin manager for Neovim

vscode-codicons - The icon font for Visual Studio Code

nvim-treesitter - Nvim Treesitter configurations and abstraction layer

nvim-lspconfig - Quickstart configs for Nvim LSP

nvim-compe - Auto completion Lua plugin for nvim

paq-nvim - 🌚 Neovim package manager

nlsp-settings.nvim - A plugin for setting Neovim LSP with JSON or YAML files

gruvbox.nvim - Lua port of the most famous vim colorscheme