feat: replace coq.nvim with nvim-cmp and luasnip
This commit is contained in:
parent
299c65cd0a
commit
6f1535f83f
3 changed files with 88 additions and 27 deletions
|
@ -44,10 +44,7 @@ return require('packer').startup(function(use)
|
|||
config = function()
|
||||
require'tabline'.setup {
|
||||
enable = true,
|
||||
options = {
|
||||
show_bufnr = true,
|
||||
show_filename_only = true,
|
||||
}
|
||||
options = {show_bufnr = true, show_filename_only = true}
|
||||
}
|
||||
end,
|
||||
requires = {
|
||||
|
@ -87,9 +84,78 @@ return require('packer').startup(function(use)
|
|||
|
||||
-- autocompletion
|
||||
use({
|
||||
"ms-jpq/coq_nvim",
|
||||
branch = "coq",
|
||||
requires = {{'ms-jpq/coq.artifacts', branch = 'artifacts'}}
|
||||
"L3MON4D3/LuaSnip",
|
||||
requires = {"rafamadriz/friendly-snippets"},
|
||||
config = function()
|
||||
require("luasnip.loaders.from_vscode").lazy_load()
|
||||
end
|
||||
})
|
||||
use({
|
||||
"hrsh7th/nvim-cmp",
|
||||
requires = {
|
||||
"hrsh7th/cmp-nvim-lsp", "hrsh7th/cmp-buffer", "hrsh7th/cmp-path",
|
||||
"hrsh7th/cmp-cmdline", "hrsh7th/cmp-git", "hrsh7th/cmp-nvim-lua",
|
||||
"saadparwaiz1/cmp_luasnip"
|
||||
},
|
||||
config = function()
|
||||
local has_words_before = function()
|
||||
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
|
||||
return col ~= 0 and
|
||||
vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(
|
||||
col, col):match("%s") == nil
|
||||
end
|
||||
|
||||
local cmp = require('cmp')
|
||||
local luasnip = require("luasnip")
|
||||
|
||||
cmp.setup({
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
require("luasnip").lsp_expand(args.body)
|
||||
end
|
||||
},
|
||||
sources = require("cmp").config.sources({
|
||||
{name = "nvim_lsp"}, {name = "luasnip"}, {name = "path"},
|
||||
{name = "buffer"}, {name = "git"}
|
||||
}),
|
||||
mapping = {
|
||||
['<C-Space>'] = cmp.mapping(cmp.mapping.complete(),
|
||||
{'i', 'c'}),
|
||||
['<CR>'] = cmp.mapping.confirm({select = true}),
|
||||
["<Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif luasnip.expand_or_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
elseif has_words_before() then
|
||||
cmp.complete()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, {"i", "s"}),
|
||||
|
||||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif luasnip.jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, {"i", "s"})
|
||||
}
|
||||
})
|
||||
|
||||
-- `/` cmdline setup.
|
||||
cmp.setup.cmdline('/', {sources = {{name = 'buffer'}}})
|
||||
|
||||
-- `:` cmdline setup.
|
||||
cmp.setup.cmdline(':', {
|
||||
sources = cmp.config
|
||||
.sources({{name = 'path'}}, {{name = 'cmdline'}})
|
||||
})
|
||||
|
||||
end
|
||||
})
|
||||
|
||||
-- highlight current symbol
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue