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/lazy-lock.json | 9 ++++++-- nvim/lua/plugins/catppuccin.lua | 6 +++--- nvim/lua/plugins/completions.lua | 45 ++++++++++++++++++++++++++++++++++++++++ nvim/lua/plugins/lsp-configs.lua | 29 +++++++++++++++++++------- 4 files changed, 77 insertions(+), 12 deletions(-) create mode 100644 nvim/lua/plugins/completions.lua (limited to 'nvim') diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json index b4cd71654..4354490c4 100644 --- a/nvim/lazy-lock.json +++ b/nvim/lazy-lock.json @@ -1,11 +1,16 @@ { + "LuaSnip": { "branch": "master", "commit": "ce0a05ab4e2839e1c48d072c5236cce846a387bc" }, "catppuccin": { "branch": "main", "commit": "31fcfb02c47952d5c75aec893b93b2878abe5fbb" }, - "lazy.nvim": { "branch": "main", "commit": "407e65c7924989c1efed6bbc89e6287e2d140f02" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, + "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, + "friendly-snippets": { "branch": "main", "commit": "682157939e57bd6a2c86277dfd4d6fbfce63dbac" }, + "lazy.nvim": { "branch": "main", "commit": "6ca23c15f64e88e3ba26be9795343c4c7f2ee851" }, "lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "37a336b653f8594df75c827ed589f1c91d91ff6c" }, "mason.nvim": { "branch": "main", "commit": "0950b15060067f752fde13a779a994f59516ce3d" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" }, + "neo-tree.nvim": { "branch": "v1.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" }, "nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" }, + "nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" }, "nvim-lspconfig": { "branch": "master", "commit": "cf97d2485fc3f6d4df1b79a3ea183e24c272215e" }, "nvim-treesitter": { "branch": "master", "commit": "f2f828c5e995af156106a4aa5647463e49fff66a" }, "nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" }, 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