Fixing nvim-cmp, adding Racket support, etc.
This commit is contained in:
parent
35dd6c19c9
commit
089e3ec0eb
3 changed files with 34 additions and 3 deletions
|
@ -12,6 +12,7 @@ end
|
||||||
|
|
||||||
-- Change leader to a comma
|
-- Change leader to a comma
|
||||||
vim.g.mapleader = ','
|
vim.g.mapleader = ','
|
||||||
|
vim.g.maplocalleader = ' '
|
||||||
|
|
||||||
-----------------------------------------------------------
|
-----------------------------------------------------------
|
||||||
-- General
|
-- General
|
||||||
|
@ -130,6 +131,5 @@ map('n', '<leader>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>')
|
||||||
map('n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>')
|
map('n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>')
|
||||||
map('n', '<leader>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>')
|
map('n', '<leader>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>')
|
||||||
map('n', '<leader>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>')
|
map('n', '<leader>q', '<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>')
|
||||||
map('n', '<leader>e', '<cmd>lua vim.lsp.diagnostic.open_float()<CR>')
|
|
||||||
map('n', '[c', '<cmd>lua vim.diagnostic.goto_prev { wrap = false }<CR>')
|
map('n', '[c', '<cmd>lua vim.diagnostic.goto_prev { wrap = false }<CR>')
|
||||||
map('n', ']c', '<cmd>lua vim.diagnostic.goto_next { wrap = false }<CR>')
|
map('n', ']c', '<cmd>lua vim.diagnostic.goto_next { wrap = false }<CR>')
|
||||||
|
|
|
@ -67,13 +67,18 @@ return require('packer').startup(function(use)
|
||||||
-- Neovim-native LSP Implementation
|
-- Neovim-native LSP Implementation
|
||||||
use 'neovim/nvim-lspconfig'
|
use 'neovim/nvim-lspconfig'
|
||||||
|
|
||||||
|
-- Snippet engine is REQUIRED for nvim-cmp.
|
||||||
|
use 'L3MON4D3/LuaSnip'
|
||||||
|
|
||||||
-- nvim-cmp - completion plugin, used for LSP and Metals
|
-- nvim-cmp - completion plugin, used for LSP and Metals
|
||||||
use {
|
use {
|
||||||
'hrsh7th/nvim-cmp',
|
'hrsh7th/nvim-cmp',
|
||||||
requires = {
|
requires = {
|
||||||
'hrsh7th/cmp-nvim-lsp',
|
'hrsh7th/cmp-nvim-lsp',
|
||||||
'hrsh7th/cmp-path',
|
'hrsh7th/cmp-path',
|
||||||
'hrsh7th/cmp-buffer'
|
'hrsh7th/cmp-buffer',
|
||||||
|
'saadparwaiz1/cmp_luasnip'
|
||||||
|
--'PaterJason/cmp-conjure'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -139,4 +144,13 @@ return require('packer').startup(function(use)
|
||||||
end
|
end
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-- Racket support
|
||||||
|
use 'benknoble/vim-racket'
|
||||||
|
|
||||||
|
-- Conjure: Supports all Lisps that I work with.
|
||||||
|
use {
|
||||||
|
'Olical/conjure',
|
||||||
|
ft = { 'rkt', 'racket' }
|
||||||
|
}
|
||||||
|
|
||||||
end)
|
end)
|
||||||
|
|
|
@ -1,13 +1,21 @@
|
||||||
local cmp = require('cmp')
|
local cmp = require('cmp')
|
||||||
|
|
||||||
cmp.setup{
|
cmp.setup{
|
||||||
|
snippet = {
|
||||||
|
-- REQUIRED - you must specify a snippet engine
|
||||||
|
expand = function(args)
|
||||||
|
require('luasnip').lsp_expand(args.body)
|
||||||
|
end,
|
||||||
|
},
|
||||||
sources = {
|
sources = {
|
||||||
{ name = 'nvim_lsp' },
|
{ name = 'nvim_lsp' },
|
||||||
|
{ name = 'luasnip' },
|
||||||
{ name = 'path' },
|
{ name = 'path' },
|
||||||
{ name = 'buffer', option = { keyword_length = 4 }, },
|
{ name = 'buffer', option = { keyword_length = 4 }, },
|
||||||
},
|
},
|
||||||
mapping = {
|
mapping = {
|
||||||
['<CR>'] = cmp.mapping.confirm({}),
|
['<CR>'] = cmp.mapping.confirm({ select = true }),
|
||||||
|
['<C-Space>'] = cmp.mapping.complete(),
|
||||||
['<Tab>'] = function(fallback)
|
['<Tab>'] = function(fallback)
|
||||||
if cmp.visible() then
|
if cmp.visible() then
|
||||||
cmp.select_next_item()
|
cmp.select_next_item()
|
||||||
|
@ -24,3 +32,12 @@ cmp.setup{
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
-- Setup conjure, only for supported files
|
||||||
|
cmp.setup.filetype('racket', {
|
||||||
|
sources = {
|
||||||
|
{ name = 'conjure' },
|
||||||
|
{ name = 'luasnip' },
|
||||||
|
{ name = 'path' },
|
||||||
|
{ name = 'buffer', option = { keyword_length = 4 }, },
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
Loading…
Add table
Reference in a new issue