Add nvim-cmp

This commit is contained in:
flyingscorpio@clevo 2022-08-08 01:25:36 +02:00
parent fdad10eaf8
commit 1855b99eb8
12 changed files with 57 additions and 11 deletions

View file

@ -1,6 +1,9 @@
-- LSP Server for Bash
local capabilities = require('cmp_nvim_lsp').update_capabilities(vim.lsp.protocol.make_client_capabilities())
require'lspconfig'.bashls.setup {
capabilities = capabilities,
on_attach = function()
vim.keymap.set('n', 'K', vim.lsp.buf.hover, { buffer = 0, remap = false })
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, { buffer = 0, remap = false })

View file

@ -1,6 +1,9 @@
-- LSP Server for LaTeX
local capabilities = require('cmp_nvim_lsp').update_capabilities(vim.lsp.protocol.make_client_capabilities())
require'lspconfig'.texlab.setup {
capabilities = capabilities,
on_attach = function()
vim.keymap.set('n', 'K', vim.lsp.buf.hover, { buffer = 0, remap = false })
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, { buffer = 0, remap = false })

View file

@ -1,6 +1,9 @@
-- LSP Server for Lua
local capabilities = require('cmp_nvim_lsp').update_capabilities(vim.lsp.protocol.make_client_capabilities())
require'lspconfig'.sumneko_lua.setup {
capabilities = capabilities,
on_attach = function()
vim.keymap.set('n', 'K', vim.lsp.buf.hover, { buffer = 0, remap = false })
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, { buffer = 0, remap = false })

View file

@ -0,0 +1,31 @@
-- Completion
vim.opt.completeopt = { 'menu', 'menuone', 'noselect' }
local cmp = require'cmp'
cmp.setup({
snippet = {
expand = function(args)
require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
end,
},
window = {
-- completion = cmp.config.window.bordered(),
-- documentation = cmp.config.window.bordered(),
},
mapping = cmp.mapping.preset.insert({
['<C-b>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.abort(),
['<Tab>'] = cmp.mapping.select_next_item(),
['<S-Tab>'] = cmp.mapping.select_prev_item(),
['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
}),
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
{ name = 'luasnip' }, -- For luasnip users.
}, {
{ name = 'buffer' },
})
})

View file

@ -1,6 +1,5 @@
-- PLUGINS - OPTIONS
-- indentLine
-- vim.g.indentLine_char = '▏'
vim.g.indentLine_fileType = { 'html', 'htmldjango', 'tex' }
vim.g.indentLine_setConceal = 0

View file

@ -2,6 +2,7 @@
require('plugins.options.lsp')
require('plugins.options.treesitter')
require('plugins.options.completion')
require('plugins.options.telescope')
require('plugins.options.nerdtree')
require('plugins.options.vimtex')

View file

@ -1,6 +1,5 @@
-- LSP - OPTIONS
-- LSP Servers
require('lsp.bash')
require('lsp.latex')
require('lsp.lua')

View file

@ -1,5 +1,4 @@
-- PLUGINS - OPTIONS
-- NERDTree
vim.g.NERDTreeIgnore = { '^__pycache__$', '\\.pyc', '\\~$' }
vim.keymap.set('n', '<leader>ne', '<cmd>NERDTree<CR>', { remap = true })

View file

@ -1,4 +1,4 @@
-- TELESCOPE
-- Telescope
require('telescope').setup {
extensions = {

View file

@ -1,6 +1,5 @@
-- PLUGINS - OPTIONS
-- Treesitter
require'nvim-treesitter.configs'.setup {
-- A list of parser names, or "all"
ensure_installed = { "latex", "lua" },

View file

@ -1,6 +1,5 @@
-- PLUGINS - OPTIONS
-- VimTex
vim.g.tex_flavor = 'latex'
vim.g.vimtex_view_method = 'zathura'
vim.g.vimtex_quickfix_autoclose_after_keystrokes = 2

View file

@ -20,6 +20,16 @@ return require('packer').startup(function(use)
run = function() require('nvim-treesitter.install').update({ with_sync = true }) end,
}
-- Completion
use 'hrsh7th/nvim-cmp'
use 'hrsh7th/cmp-nvim-lsp'
use 'hrsh7th/cmp-buffer'
use 'hrsh7th/cmp-path'
-- LuaSnip
use 'L3MON4D3/LuaSnip'
use 'saadparwaiz1/cmp_luasnip'
-- Telescope
use {
'nvim-telescope/telescope.nvim', branch = '0.1.x',