From cd9b598100be14b090bf38593d21df162472b183 Mon Sep 17 00:00:00 2001 From: Daniil Tsivinsky Date: Thu, 5 May 2022 23:42:55 +0300 Subject: [PATCH] update snippets --- neovim/.config/nvim/lua/user/comp.lua | 17 ++++++++++++++- neovim/.config/nvim/lua/user/snippets.lua | 26 +++++++---------------- 2 files changed, 24 insertions(+), 19 deletions(-) diff --git a/neovim/.config/nvim/lua/user/comp.lua b/neovim/.config/nvim/lua/user/comp.lua index 5b71328..9876266 100644 --- a/neovim/.config/nvim/lua/user/comp.lua +++ b/neovim/.config/nvim/lua/user/comp.lua @@ -1,4 +1,5 @@ local cmp = require("cmp") +local ls = require("luasnip") local kind_icons = { Text = "", @@ -36,7 +37,7 @@ end cmp.setup({ snippet = { expand = function(args) - require("luasnip").lsp_expand(args.body) + ls.lsp_expand(args.body) end, }, mapping = { @@ -55,6 +56,20 @@ cmp.setup({ }), [""] = cmp.mapping.scroll_docs(4), [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping(function(fallback) + if ls.expand_or_jumpable() then + ls.expand_or_jump() + else + fallback() + end + end), + [""] = cmp.mapping(function(fallback) + if ls.jumpable(-1) then + ls.jump(-1) + else + fallback() + end + end), }, sources = cmp.config.sources({ { name = "nvim_lsp" }, diff --git a/neovim/.config/nvim/lua/user/snippets.lua b/neovim/.config/nvim/lua/user/snippets.lua index 5b87f7d..f499c0f 100644 --- a/neovim/.config/nvim/lua/user/snippets.lua +++ b/neovim/.config/nvim/lua/user/snippets.lua @@ -2,29 +2,19 @@ local ls = require("luasnip") local s, i = ls.s, ls.insert_node local fmt = require("luasnip.extras.fmt").fmt -local clg_snippet = s( +-- NOTE: this is not working right now, i need to RTFM +ls.filetype_extend("javascript", { "javascriptreact", "javascript.jsx" }) +ls.filetype_extend("typescript", { "typescriptreact", "typescript.jsx" }) + +local clg = s( "clg", fmt([[console.log({});]], { i(0), }) ) -ls.snippets = { - javascript = { - clg_snippet, - }, - typescript = { - clg_snippet, - }, - javascriptreact = { - clg_snippet, - }, - typescriptreact = { - clg_snippet, - }, - svelte = { - clg_snippet, - }, -} +ls.add_snippets("javascript", { clg }) +ls.add_snippets("typescript", { clg }) +ls.add_snippets("svelte", { clg }) require("luasnip.loaders.from_vscode").load()