Set up completion/LSP properly
This commit is contained in:
parent
68c2e73575
commit
4c9b323ba5
|
@ -74,22 +74,27 @@
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = with pkgs.vimPlugins; [
|
plugins = with pkgs.vimPlugins; [
|
||||||
telescope-nvim
|
|
||||||
gruvbox-nvim
|
|
||||||
nvim-treesitter.withAllGrammars
|
|
||||||
nvim-web-devicons
|
|
||||||
nvim-tree-lua
|
|
||||||
vim-fugitive
|
|
||||||
git-messenger-vim
|
|
||||||
nvim-lspconfig
|
|
||||||
nvim-cmp
|
|
||||||
cmp-treesitter
|
|
||||||
cmp-path
|
|
||||||
cmp-nvim-lsp
|
cmp-nvim-lsp
|
||||||
cmp-buffer
|
cmp-path
|
||||||
hologram-nvim
|
cmp-treesitter
|
||||||
|
cmp-vsnip
|
||||||
|
friendly-snippets # Collection of predefined snippets
|
||||||
|
fugitive-gitlab-vim
|
||||||
|
git-messenger-vim
|
||||||
|
gruvbox-nvim
|
||||||
|
hologram-nvim # For images inside kitty
|
||||||
|
nvim-cmp
|
||||||
nvim-dap
|
nvim-dap
|
||||||
nvim-dap-ui
|
nvim-dap-ui
|
||||||
|
nvim-lspconfig
|
||||||
|
nvim-treesitter.withAllGrammars
|
||||||
|
nvim-tree-lua
|
||||||
|
nvim-web-devicons
|
||||||
|
telescope-nvim
|
||||||
|
vim-fugitive
|
||||||
|
vim-rhubarb # GitHub support for fugitive
|
||||||
|
vim-vsnip
|
||||||
|
vim-vsnip-integ
|
||||||
vimwiki
|
vimwiki
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
@ -17,6 +17,9 @@ require("gruvbox").setup({
|
||||||
})
|
})
|
||||||
vim.cmd([[colorscheme gruvbox]])
|
vim.cmd([[colorscheme gruvbox]])
|
||||||
|
|
||||||
|
-- Git
|
||||||
|
vim.g.fugitive_gitlab_domains = {'https://git.foxsoft.co.uk'}
|
||||||
|
|
||||||
-- Strip trailing spaces
|
-- Strip trailing spaces
|
||||||
vim.api.nvim_create_autocmd({"BufWritePre"}, {
|
vim.api.nvim_create_autocmd({"BufWritePre"}, {
|
||||||
pattern = { "*" },
|
pattern = { "*" },
|
||||||
|
@ -42,11 +45,32 @@ require'nvim-treesitter.configs'.setup {
|
||||||
}
|
}
|
||||||
|
|
||||||
-- Completion and LSP
|
-- Completion and LSP
|
||||||
require'cmp'.setup {
|
local cmp = require'cmp'
|
||||||
sources = {
|
cmp.setup {
|
||||||
{ name = 'nvim_lsp' }
|
snippet = {
|
||||||
}
|
expand = function(args)
|
||||||
|
vim.fn["vsnip#anonymous"](args.body)
|
||||||
|
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(),
|
||||||
|
['<CR>'] = cmp.mapping.confirm({ select = true }),
|
||||||
|
}),
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = 'nvim_lsp' },
|
||||||
|
{ name = 'vsnip' },
|
||||||
|
{ name = 'path' },
|
||||||
|
{ name = 'treesitter' },
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||||
require'lspconfig'.solargraph.setup {}
|
require'lspconfig'.solargraph.setup {}
|
||||||
|
|
||||||
-- Vimwiki
|
-- Vimwiki
|
||||||
|
|
Loading…
Reference in New Issue