[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-70603":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":16,"starSnapshotCount":16,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},70603,"nvim-cmp","hrsh7th\u002Fnvim-cmp","hrsh7th","A completion plugin for neovim coded in Lua.","",null,"Lua",9448,438,40,273,0,7,12,30,21,38.93,"MIT License",false,"main",true,[5],"2026-06-12 02:02:35","# nvim-cmp\n\nA completion engine plugin for neovim written in Lua.\nCompletion sources are installed from external repositories and \"sourced\".\n\nhttps:\u002F\u002Fgithub.com\u002Fhrsh7th\u002Fnvim-cmp\u002Fassets\u002F22756295\u002Fafa70011-9121-4e42-aedd-0153b630eeab\n\nReadme!\n====================\n\n1. There is a GitHub issue that documents [breaking changes](https:\u002F\u002Fgithub.com\u002Fhrsh7th\u002Fnvim-cmp\u002Fissues\u002F231) for nvim-cmp. Subscribe to the issue to be notified of upcoming breaking changes.\n2. This is my hobby project. You can support me via GitHub sponsors.\n3. Bug reports are welcome, but don't expect a fix unless you provide minimal configuration and steps to reproduce your issue.\n4. The `cmp.mapping.preset.*` is pre-defined configuration that aims to mimic neovim's native like behavior. It can be changed without announcement. Please manage key-mapping by yourself.\n\nConcept\n====================\n\n- Full support for LSP completion related capabilities\n- Powerful customizability via Lua functions\n- Smart handling of key mappings\n- No flicker\n\n\nSetup\n====================\n\n### Recommended Configuration\n\nThis example configuration uses `vim-plug` as the plugin manager and `vim-vsnip` as a snippet plugin.\n\n```vim\ncall plug#begin(s:plug_dir)\nPlug 'neovim\u002Fnvim-lspconfig'\nPlug 'hrsh7th\u002Fcmp-nvim-lsp'\nPlug 'hrsh7th\u002Fcmp-buffer'\nPlug 'hrsh7th\u002Fcmp-path'\nPlug 'hrsh7th\u002Fcmp-cmdline'\nPlug 'hrsh7th\u002Fnvim-cmp'\n\n\" For vsnip users.\nPlug 'hrsh7th\u002Fcmp-vsnip'\nPlug 'hrsh7th\u002Fvim-vsnip'\n\n\" For luasnip users.\n\" Plug 'L3MON4D3\u002FLuaSnip'\n\" Plug 'saadparwaiz1\u002Fcmp_luasnip'\n\n\" For mini.snippets users.\n\" Plug 'echasnovski\u002Fmini.snippets'\n\" Plug 'abeldekat\u002Fcmp-mini-snippets'\n\n\" For ultisnips users.\n\" Plug 'SirVer\u002Fultisnips'\n\" Plug 'quangnguyen30192\u002Fcmp-nvim-ultisnips'\n\n\" For snippy users.\n\" Plug 'dcampos\u002Fnvim-snippy'\n\" Plug 'dcampos\u002Fcmp-snippy'\n\ncall plug#end()\n\nlua \u003C\u003CEOF\n  -- Set up nvim-cmp.\n  local cmp = require'cmp'\n\n  cmp.setup({\n    snippet = {\n      -- REQUIRED - you must specify a snippet engine\n      expand = function(args)\n        vim.fn[\"vsnip#anonymous\"](args.body) -- For `vsnip` users.\n        -- require('luasnip').lsp_expand(args.body) -- For `luasnip` users.\n        -- require('snippy').expand_snippet(args.body) -- For `snippy` users.\n        -- vim.fn[\"UltiSnips#Anon\"](args.body) -- For `ultisnips` users.\n        -- vim.snippet.expand(args.body) -- For native neovim snippets (Neovim v0.10+)\n\n        -- For `mini.snippets` users:\n        -- local insert = MiniSnippets.config.expand.insert or MiniSnippets.default_insert\n        -- insert({ body = args.body }) -- Insert at cursor\n        -- cmp.resubscribe({ \"TextChangedI\", \"TextChangedP\" })\n        -- require(\"cmp.config\").set_onetime({ sources = {} })\n      end,\n    },\n    window = {\n      -- completion = cmp.config.window.bordered(),\n      -- documentation = cmp.config.window.bordered(),\n    },\n    mapping = cmp.mapping.preset.insert({\n      ['\u003CC-b>'] = cmp.mapping.scroll_docs(-4),\n      ['\u003CC-f>'] = cmp.mapping.scroll_docs(4),\n      ['\u003CC-Space>'] = cmp.mapping.complete(),\n      ['\u003CC-e>'] = cmp.mapping.abort(),\n      ['\u003CCR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.\n    }),\n    sources = cmp.config.sources({\n      { name = 'nvim_lsp' },\n      { name = 'vsnip' }, -- For vsnip users.\n      -- { name = 'luasnip' }, -- For luasnip users.\n      -- { name = 'ultisnips' }, -- For ultisnips users.\n      -- { name = 'snippy' }, -- For snippy users.\n    }, {\n      { name = 'buffer' },\n    })\n  })\n\n  -- To use git you need to install the plugin petertriho\u002Fcmp-git and uncomment lines below\n  -- Set configuration for specific filetype.\n  --[[ cmp.setup.filetype('gitcommit', {\n    sources = cmp.config.sources({\n      { name = 'git' },\n    }, {\n      { name = 'buffer' },\n    })\n })\n require(\"cmp_git\").setup() ]]--\n\n  -- Use buffer source for `\u002F` and `?` (if you enabled `native_menu`, this won't work anymore).\n  cmp.setup.cmdline({ '\u002F', '?' }, {\n    mapping = cmp.mapping.preset.cmdline(),\n    sources = {\n      { name = 'buffer' }\n    }\n  })\n\n  -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).\n  cmp.setup.cmdline(':', {\n    mapping = cmp.mapping.preset.cmdline(),\n    sources = cmp.config.sources({\n      { name = 'path' }\n    }, {\n      { name = 'cmdline' }\n    }),\n    matching = { disallow_symbol_nonprefix_matching = false }\n  })\n\n  -- Set up lspconfig.\n  local capabilities = require('cmp_nvim_lsp').default_capabilities()\n  -- Replace \u003CYOUR_LSP_SERVER> with each lsp server you've enabled.\n  vim.lsp.config('\u003CYOUR_LSP_SERVER>', {\n    capabilities = capabilities\n  })\n  vim.lsp.enable('\u003CYOUR_LSP_SERVER>')\nEOF\n```\n\n\n### Where can I find more completion sources?\n\nHave a look at the [Wiki](https:\u002F\u002Fgithub.com\u002Fhrsh7th\u002Fnvim-cmp\u002Fwiki\u002FList-of-sources) and the `nvim-cmp` [GitHub topic](https:\u002F\u002Fgithub.com\u002Ftopics\u002Fnvim-cmp).\n\n\n### Where can I find advanced configuration examples?\n\nSee the [Wiki](https:\u002F\u002Fgithub.com\u002Fhrsh7th\u002Fnvim-cmp\u002Fwiki).\n","nvim-cmp 是一个为 Neovim 编写的 Lua 语言自动补全插件。它支持 LSP 完成相关的所有功能，提供强大的自定义能力，用户可以通过 Lua 函数灵活配置，并且智能处理按键映射，避免了编辑时的闪烁问题。该项目特别适合需要高效编码、追求高度可定制化开发环境的 Neovim 用户使用。无论是日常编程还是进行复杂项目开发，nvim-cmp 都能显著提升代码编写效率与体验。",2,"2026-06-11 03:32:57","high_star"]