From 7abd5281ae4d68b484c917e79c88b1159eda3b6a Mon Sep 17 00:00:00 2001 From: Indrajith K L Date: Sun, 7 Jul 2024 03:48:05 +0530 Subject: Dots Changes * Nvim Code completions and snippets --- nvim/lua/plugins/catppuccin.lua | 6 +++--- nvim/lua/plugins/completions.lua | 45 ++++++++++++++++++++++++++++++++++++++++ nvim/lua/plugins/lsp-configs.lua | 29 +++++++++++++++++++------- 3 files changed, 70 insertions(+), 10 deletions(-) create mode 100644 nvim/lua/plugins/completions.lua (limited to 'nvim/lua/plugins') diff --git a/nvim/lua/plugins/catppuccin.lua b/nvim/lua/plugins/catppuccin.lua index df15194b2..2d31ae4c7 100644 --- a/nvim/lua/plugins/catppuccin.lua +++ b/nvim/lua/plugins/catppuccin.lua @@ -1,10 +1,10 @@ return { { - "catpnuccin/nvim", + "catppuccin/nvim", name = "catppuccin", - priority = 997, + priority = 1000, config = function() vim.cmd.colorscheme "catppuccin" end } -} +} \ No newline at end of file diff --git a/nvim/lua/plugins/completions.lua b/nvim/lua/plugins/completions.lua new file mode 100644 index 000000000..f4c58254c --- /dev/null +++ b/nvim/lua/plugins/completions.lua @@ -0,0 +1,45 @@ +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 = { + -- REQUIRED - you must specify a snippet engine + 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({ + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + [''] = cmp.mapping.complete(), + [''] = cmp.mapping.abort(), + [''] = cmp.mapping.confirm({ select = true }), + }), + sources = cmp.config.sources({ + -- { name = 'nvim_lsp' }, + { name = 'luasnip' } + }, { + { name = 'buffer' }, + }) + }) + end + } +} diff --git a/nvim/lua/plugins/lsp-configs.lua b/nvim/lua/plugins/lsp-configs.lua index bdfde46bf..f9ec8f087 100644 --- a/nvim/lua/plugins/lsp-configs.lua +++ b/nvim/lua/plugins/lsp-configs.lua @@ -17,13 +17,28 @@ return { "neovim/nvim-lspconfig", config = function() local lspconfig = require("lspconfig") - lspconfig.lua_ls.setup({}) - lspconfig.clangd.setup({}) - lspconfig.crystalline.setup({}) - lspconfig.html.setup({}) - lspconfig.htmx.setup({}) - lspconfig.jsonls.setup({}) - lspconfig.ols.setup({}) + local capabilities = require('cmp_nvim_lsp').default_capabilities() + lspconfig.lua_ls.setup({ + capabilities = capabilities + }) + lspconfig.clangd.setup({ + capabilities = capabilities + }) + lspconfig.crystalline.setup({ + capabilities = capabilities + }) + lspconfig.html.setup({ + capabilities = capabilities + }) + lspconfig.htmx.setup({ + capabilities = capabilities + }) + lspconfig.jsonls.setup({ + capabilities = capabilities + }) + lspconfig.ols.setup({ + capabilities = capabilities + }) vim.keymap.set('n','gd', vim.lsp.buf.definition, {}) vim.keymap.set('n','K', vim.lsp.buf.hover, {}) vim.keymap.set({'n'},'ca', vim.lsp.buf.code_action, {}) -- cgit v1.2.3