From a2b76f8aef0ef389b99d7b8a3a67229b4340e6ee Mon Sep 17 00:00:00 2001 From: Nigel Barink Date: Sat, 30 Mar 2024 16:47:37 +0100 Subject: [PATCH] FEAT: Adding trouble and started luasnippets TODO: Fix compe to show snippets available in insert mode --- lazy-lock.json | 3 ++- lua/barink/plugins/lsp.lua | 26 ++++++++++++++++++++++++-- lua/barink/plugins/trouble.lua | 5 +++++ lua/snippets/all.lua | 15 +++++++++++++++ lua/snippets/lua.lua | 11 +++++++++++ 5 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 lua/barink/plugins/trouble.lua create mode 100644 lua/snippets/all.lua create mode 100644 lua/snippets/lua.lua diff --git a/lazy-lock.json b/lazy-lock.json index 9000217..701947c 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -1,5 +1,5 @@ { - "LuaSnip": { "branch": "master", "commit": "a7a4b4682c4b3e2ba82b82a4e6e5f5a0e79dec32" }, + "LuaSnip": { "branch": "master", "commit": "8ae1dedd988eb56441b7858bd1e8554dfadaa46d" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, @@ -22,6 +22,7 @@ "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, "telescope.nvim": { "branch": "master", "commit": "b22e6f6896cd64b109bd0807a24098d225d5fb49" }, "tokyonight.nvim": { "branch": "main", "commit": "71597b108aea89362fc99d7a5e78bba2f9870bf6" }, + "trouble.nvim": { "branch": "main", "commit": "b9cf677f20bb2faa2dacfa870b084e568dca9572" }, "undotree": { "branch": "master", "commit": "aa93a7e5890dbbebbc064cd22260721a6db1a196" }, "vim-fugitive": { "branch": "master", "commit": "2377e16e6641418565b934990cf49068855987c6" } } \ No newline at end of file diff --git a/lua/barink/plugins/lsp.lua b/lua/barink/plugins/lsp.lua index 97b72dc..8aa7aca 100644 --- a/lua/barink/plugins/lsp.lua +++ b/lua/barink/plugins/lsp.lua @@ -9,7 +9,11 @@ return "hrsh7th/cmp-path", "hrsh7th/cmp-cmdline", "hrsh7th/nvim-cmp", - 'L3MON4D3/LuaSnip', + { + 'L3MON4D3/LuaSnip', + dependencies = 'hrsh7th/nvim-cmp', + version = "v2.*", + }, {'mfussenegger/nvim-jdtls', dependencies = {'nvim-dap'}}, }, config = function() @@ -34,7 +38,7 @@ return sources = cmp.config.sources({ { name = 'path' }, { name = 'nvim_lsp', keyword_length = 1 }, - { name = 'luasnip', keyword_length = 3}, + { name = 'luasnip', option = { show_autosnippets = true}}, }, { { name = 'buffer', keyword_length = 2 }, }), @@ -83,6 +87,23 @@ return } } }) + local ls = require("luasnip") + ls.config.set_config({ + history = true, + updateevents = "TextChanged, TextChangedI", + enable_autosnippets = true, + }) + + vim.keymap.set({"i", "s"}, "", function() ls.expand() end, {silent = true}) + vim.keymap.set({"i", "s"}, "", function() ls.jump(1) end, {silent = true }) + vim.keymap.set({"i", "s"}, "", function() ls.jump(-1) end, {silent = true}) + vim.keymap.set({"i", "s"}, "", function() + if ls.choice_active() then + ls.change_choice(1) + end + end, {silent = true}) + + require("luasnip.loaders.from_lua").load({paths= "C:\\Users\\nigel\\AppData\\Local\\nvim\\lua\\snippets"}) -- Set up lspconfig. local capabilities = require('cmp_nvim_lsp').default_capabilities() @@ -109,3 +130,4 @@ return end } + diff --git a/lua/barink/plugins/trouble.lua b/lua/barink/plugins/trouble.lua new file mode 100644 index 0000000..1c37082 --- /dev/null +++ b/lua/barink/plugins/trouble.lua @@ -0,0 +1,5 @@ +return { + "folke/trouble.nvim", + config = function () + end +} diff --git a/lua/snippets/all.lua b/lua/snippets/all.lua new file mode 100644 index 0000000..476850d --- /dev/null +++ b/lua/snippets/all.lua @@ -0,0 +1,15 @@ +local ls = require("luasnip") + +local s = ls.snippet +local t = ls.text_node + +-- https://github.com/L3MON4D3/LuaSnip/blob/master/DOC.md +return { + s("novel", { + t("It was a dark and stormy night on") + }), + + s("no", { + t("hello world!") + }), +} diff --git a/lua/snippets/lua.lua b/lua/snippets/lua.lua new file mode 100644 index 0000000..f8de24e --- /dev/null +++ b/lua/snippets/lua.lua @@ -0,0 +1,11 @@ + +local ls = require("luasnip") + +local s = ls.snippet +local i = ls.insert_node +local fmt = require("luasnip.extras.fmt").fmt + +-- https://github.com/L3MON4D3/LuaSnip/blob/master/DOC.md +return { + s("req", fmt("local {} = require('{}')", { i(1, "default"), require("luasnip.extras").rep(1)})) +}