vim-matchup
lspkind-nvim
Our great sponsors
vim-matchup | lspkind-nvim | |
---|---|---|
37 | 4 | |
1,601 | 541 | |
- | - | |
6.7 | 6.2 | |
4 days ago | about 2 years ago | |
Vim Script | Lua | |
MIT License | 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.
vim-matchup
-
Existing non-lua plugins examples
Then you have all the vimscript plugins, most of which work in neovim too--my favorite of these is vim-matchup
-
Should vim-matchup go into neovim core?
It seems like https://github.com/andymass/vim-matchup is a superior version of both of them, at least that's how it's advertized.
-
Help Mapping Keys
Have you tried vim-matchup?
-
Set it and forget it plugins?
andymass/vim-matchup - nicer %
-
What's your solution to move between " "?
Thank you for you answer! This is the best option I've found by far. But some aditional steps need to be done to enable this behavior. It is documented here vim-matchup
-
Looking for some kinda specific plugins for visibility
vim-matchup does both of this things
-
Matching of Bracket Under Cursor Not Working
If you don't wanna deal with matchparen, you could also consider using vim-matchup, which has better performance than matchparen and can match way more tokens and keywords.
-
Do you use the "%" motion? Do you feel it has "quirks"?
vim-matchup improves these motions.and has a lot of nice features.
-
Which vim plugins do not have a lua equivalent yet?
vim-matchup is written in lua, isn't it? https://github.com/andymass/vim-matchup/tree/master/lua
-
TS-Node-Action: Inline Text Folding
https://github.com/andymass/vim-matchup Plus come custom highlight groups
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, })
What are some alternatives?
todo-comments.nvim - ✅ Highlight, list and search todo comments in your projects
cmp-nvim-lsp - nvim-cmp source for neovim builtin LSP client
vim-sandwich - Set of operators and textobjects to search/select/edit sandwiched texts.
lspsaga.nvim - improve neovim lsp experience [Moved to: https://github.com/nvimdev/lspsaga.nvim]
lspkind.nvim - vscode-like pictograms for neovim lsp completion items
vscode-codicons - The icon font for Visual Studio Code
FastFold - Speed up Vim by updating folds only when called-for.
nvim-lspconfig - Quickstart configs for Nvim LSP
nvim-treesitter-pairs
nvim-compe - Auto completion Lua plugin for nvim
neovim - Vim-fork focused on extensibility and usability
nlsp-settings.nvim - A plugin for setting Neovim LSP with JSON or YAML files