lspkind-nvim
LuaSnip
lspkind-nvim | LuaSnip | |
---|---|---|
4 | 77 | |
541 | 2,991 | |
- | - | |
6.2 | 9.2 | |
about 2 years ago | 8 days ago | |
Lua | 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.
lspkind-nvim
-
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, })
LuaSnip
-
UltiSnips – Snippet Solution for Vim
If you're using Neovim, check out LuaSnip: https://github.com/L3MON4D3/LuaSnip
-
What is your preferred snippet plug-in?
I’ve been using LuaSnip and never put much thought into it. And this was mainly because of because it seemed like the default and had good LSP integration. The one downside is that creating custom snippets is not that ergonomic, but I don’t mind it if it’s the price to pay for speed.
-
HTML and Css snippets
You can use LuaSnip and load snippets from VSCode. The documentation is pretty complete, but here is my config in case you want another reference.
-
Enabling python's snippets.
I am trying to add snippets for python, i have LuaSnip and friendly-snippets installed, but for some reason it does not load the snippets. This is how i load the plugins:
-
[Help] Paste triggers in Select mode
There was a similar issue in LuaSnip repo. The culprit was a keymap in the config. Do you happen to have a similar keymap somewhere in your config?
-
My Haskell snippet collection for Neovim - with tree-sitter and LSP
I have decided to extract my Haskell snippets for LuaSnip into a plugin: haskell-snippets.nvim.
-
How do I use template files via Lua?
Not exactly what you're talking about but you could look into LuaSnip?
-
How to setup 'nvim-cmp' properly?
There are a few more resources for new users as well on the official repo, and you can find the implementation in Examples/snippets.lua
-
Does anyone know how to quickly create class, interface, record, ...etc in java with nvim
You mean snippets? If yes, you can try Luasnip and friendly-snippets with nvim-cmp and here's the setup guide. Hope it helps
-
Why does tab sometimes send me to a random position in my buffer?
I had the same issue recently. It was the case when I inserted a snippet but didn't fill out all the placeholders right away. This helped me. This is an autocommand that unlinks the unfinished snippet when you change the mode.
What are some alternatives?
cmp-nvim-lsp - nvim-cmp source for neovim builtin LSP client
vim-vsnip - Snippet plugin for vim/nvim that supports LSP/VSCode's snippet format.
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-snippy - Snippet plugin for Neovim written in Lua
nvim-compe - Auto completion Lua plugin for nvim
snippets.nvim
nlsp-settings.nvim - A plugin for setting Neovim LSP with JSON or YAML files
nvim-cmp - A completion plugin for neovim coded in Lua.