This is an additional source for nvim-cmp, it allows you to
autocomplete npm packages and its versions.
The source is only active if you're in a package.json
file.
It needs the Neovim plugin nvim-cmp and the npm command line tool.
For vim-plug:
Plug 'nvim-lua/plenary.nvim'
Plug 'David-Kunz/cmp-npm'
For packer:
use {
'David-Kunz/cmp-npm',
requires = {
'nvim-lua/plenary.nvim'
}
}
For lazy.nvim:
{
"David-Kunz/cmp-npm",
dependencies = { 'nvim-lua/plenary.nvim' },
ft = "json",
config = function()
require('cmp-npm').setup({})
end
}
Run the setup
function and add the source
require('cmp-npm').setup({})
cmp.setup({
...,
sources = {
{ name = 'npm', keyword_length = 4 },
...
}
})
(in Vimscript, make sure to add lua << EOF
before and EOF
after the lua code)
The setup
function accepts an options table which defaults to:
{
ignore = {},
only_semantic_versions = false,
only_latest_version = false
}
ignore
(table): Allows you to filter out all versions which match one of its entries, e.g.ignore = { 'beta', 'rc' }
.only_semantic_versions
(Boolean): Iftrue
, will filter out all versions which don't follow themajor.minor.patch
schema.only_latest_version
(Boolean): Iftrue
, will only show latest release version.
The versions are not correctly sorted (depends on nvim-cmp
's sorting algorithm).