diff options
Diffstat (limited to '.config/nvim/lua')
| -rw-r--r-- | .config/nvim/lua/plugins/completions.lua | 53 | ||||
| -rw-r--r-- | .config/nvim/lua/plugins/lsp.lua | 48 | ||||
| -rw-r--r-- | .config/nvim/lua/plugins/none-ls.lua | 2 | ||||
| -rw-r--r-- | .config/nvim/lua/plugins/nvim-dap.lua | 2 | ||||
| -rw-r--r-- | .config/nvim/lua/plugins/theme.lua | 14 | ||||
| -rw-r--r-- | .config/nvim/lua/plugins/treesitter.lua | 1 |
6 files changed, 87 insertions, 33 deletions
diff --git a/.config/nvim/lua/plugins/completions.lua b/.config/nvim/lua/plugins/completions.lua new file mode 100644 index 0000000..483fac7 --- /dev/null +++ b/.config/nvim/lua/plugins/completions.lua @@ -0,0 +1,53 @@ +-- Autocompletions +-- https://github.com/hrsh7th/nvim-cmp +-- https://github.com/L3MON4D3/LuaSnip +-- https://github.com/saadparwaiz1/cmp_luasnip +-- https://github.com/rafamadriz/friendly-snippets +-- https://github.com/hrsh7th/cmp-nvim-lsp + +return { + { + "hrsh7th/cmp-nvim-lsp", + }, + { + 'L3MON4D3/LuaSnip', + dependencies = { + 'saadparwaiz1/cmp_luasnip', + 'rafamadriz/friendly-snippets', + } + }, + { + "hrsh7th/nvim-cmp", + config = function() + local cmp = require'cmp' + require("luasnip.loaders.from_vscode").lazy_load() + + cmp.setup({ + snippet = { + expand = function(args) + require('luasnip').lsp_expand(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 }), + ['<C-j>'] = cmp.mapping.select_next_item(), + ['<C-k>'] = cmp.mapping.select_prev_item(), + }), + sources = cmp.config.sources({ + { name = 'nvim_lsp' }, + { name = 'luasnip' }, + }, { + { name = 'buffer' }, + }) + }) + end, + } +} diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/plugins/lsp.lua index ad6f420..0ddbbe9 100644 --- a/.config/nvim/lua/plugins/lsp.lua +++ b/.config/nvim/lua/plugins/lsp.lua @@ -1,3 +1,8 @@ +-- Language server for specified languages +-- Hover with 'K' +-- Goto definition with :Goto +-- Open code action with :Codeact + return { { "williamboman/mason.nvim", @@ -8,31 +13,36 @@ return { { "williamboman/mason-lspconfig.nvim", - config = function() - require("mason-lspconfig").setup({ - -- Add languages - ensure_installed = { - "bashls", - "clangd", - "lua_ls", - "marksman", - "pyright", - "rust_analyzer", - } - }) - end + lazy = false, + opts = { + auto_install = true, + }, }, { "neovim/nvim-lspconfig", config = function() + -- Advertise autocompletion to lsp + local capabilities = require('cmp_nvim_lsp').default_capabilities() local lspconfig = require("lspconfig") - lspconfig.bashls.setup({}) - lspconfig.lua_ls.setup({}) - lspconfig.clangd.setup({}) - lspconfig.marksman.setup({}) - lspconfig.pyright.setup({}) - lspconfig.rust_analyzer.setup({}) + lspconfig.bashls.setup({ + capabilities = capabilities + }) + lspconfig.lua_ls.setup({ + capabilities = capabilities + }) + lspconfig.clangd.setup({ + capabilities = capabilities + }) + lspconfig.marksman.setup({ + capabilities = capabilities + }) + lspconfig.pyright.setup({ + capabilities = capabilities + }) + lspconfig.rust_analyzer.setup({ + capabilities = capabilities + }) -- Key mapping -- Hover for definition diff --git a/.config/nvim/lua/plugins/none-ls.lua b/.config/nvim/lua/plugins/none-ls.lua index 3a912ae..79098a9 100644 --- a/.config/nvim/lua/plugins/none-ls.lua +++ b/.config/nvim/lua/plugins/none-ls.lua @@ -1,4 +1,6 @@ +-- Formatter -- https://github.com/nvimtools/none-ls.nvim +-- Press '=' to format highlighted code return { "nvimtools/none-ls.nvim", config = function() diff --git a/.config/nvim/lua/plugins/nvim-dap.lua b/.config/nvim/lua/plugins/nvim-dap.lua index 7720526..5a6d1ae 100644 --- a/.config/nvim/lua/plugins/nvim-dap.lua +++ b/.config/nvim/lua/plugins/nvim-dap.lua @@ -1,3 +1,5 @@ +-- Debugger +-- https://github.com/mfussenegger/nvim-dap return { "mfussenegger/nvim-dap", event = "BufRead", diff --git a/.config/nvim/lua/plugins/theme.lua b/.config/nvim/lua/plugins/theme.lua deleted file mode 100644 index 985e70b..0000000 --- a/.config/nvim/lua/plugins/theme.lua +++ /dev/null @@ -1,14 +0,0 @@ -return { - { - -- Bottom bar theme - -- https://github.com/nvim-lualine/lualine.nvim - "nvim-lualine/lualine.nvim", - config = function() - require('lualine').setup({ - options = { - theme = 'jellybeans' - } - }) - end - } -} diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua index 778f5a0..f04198f 100644 --- a/.config/nvim/lua/plugins/treesitter.lua +++ b/.config/nvim/lua/plugins/treesitter.lua @@ -1,3 +1,4 @@ +-- Syntax highlighting -- https://github.com/nvim-treesitter/nvim-treesitter return { "nvim-treesitter/nvim-treesitter", |
