diff options
| author | srdusr <trevorgray@srdusr.com> | 2022-10-20 23:58:14 +0200 |
|---|---|---|
| committer | srdusr <trevorgray@srdusr.com> | 2022-10-20 23:58:14 +0200 |
| commit | 6cdd3b4b282d79130dc6f2b346cb509ddbb6fa48 (patch) | |
| tree | 1c08d622e135b669381a0889c54012f70929514d /lua/user/luasnip.lua | |
| parent | 97be95d96b96c42dab64dff7018a89baa22384ee (diff) | |
| download | dotfiles-6cdd3b4b282d79130dc6f2b346cb509ddbb6fa48.tar.gz dotfiles-6cdd3b4b282d79130dc6f2b346cb509ddbb6fa48.zip | |
luasnip integration
Diffstat (limited to 'lua/user/luasnip.lua')
| -rw-r--r-- | lua/user/luasnip.lua | 127 |
1 files changed, 98 insertions, 29 deletions
diff --git a/lua/user/luasnip.lua b/lua/user/luasnip.lua index 12352e8..7a6066e 100644 --- a/lua/user/luasnip.lua +++ b/lua/user/luasnip.lua @@ -4,7 +4,8 @@ end --local luasnip = require("luasnip") local ls = require "luasnip" -- local types = require "luasnip.util.types" -- -local options = { +--local options = { +ls.config.set_config { history = true, updateevents = "TextChanged,TextChangedI", -- Autosnippets: @@ -17,45 +18,113 @@ local options = { }, -- }, -- } --- <c-k> is my expansion key --- this will expand the current item or jump to the next item within the snippet. -vim.keymap.set({ "i", "s" }, "<c-.>", function() - if ls.expand_or_jumpable() then - ls.expand_or_jump() - end -end, { silent = true }) +-- ls.expand_or_jump() +-- end +--nd, { silent = true }) -- <c-j> is my jump backwards key. -- this always moves to the previous item within the snippet -vim.keymap.set({ "i", "s" }, "<c-,>", function() - if ls.jumpable(-1) then - ls.jump(-1) - end -end, { silent = true }) +--im.keymap.set({ "i", "s" }, "<C-j>", function() +-- if ls.jumpable(-1) then +-- ls.jump(-1) +-- end +--nd, { silent = true }) -- <c-l> is selecting within a list of options. -- This is useful for choice nodes (introduced in the forthcoming episode 2) -vim.keymap.set("i", "<c-l>", function() - if ls.choice_active() then - ls.change_choice(1) - end -end) +--vim.keymap.set("i", "<c-l>", function() +-- if ls.choice_active() then +-- ls.change_choice(1) +-- end +--end) -vim.keymap.set("i", "<c-c>", require "luasnip.extras.select_choice") +--vim.keymap.set("i", "<c-z>", require "luasnip.extras.select_choice") -- shorcut to source my luasnips file again, which will reload my snippets -vim.keymap.set("n", "<leader><leader>s", "<cmd>source ~/.config/nvim/lua/plugins/luasnip.lua<CR>") +--vim.keymap.set("n", "<leader><leader>s", "<cmd>source ~/.config/nvim/lua/user/plugins/luasnip.lua<CR>") -- ls.parser.parse_snippet(<text>, <VS**** style snippet>) -ls.snippets = { - all = { - -- Available in any filetype - ls.parser.parse_snippet("expand", "-- this is what was expanded!"), - }, - lua = { - -- Lua specific snippets go here. - }, -} +--ls.snippets = { +-- all = { +-- -- Available in any filetype +-- ls.parser.parse_snippet("expand", "-- this is what was expanded!"), +--s.snippets = { +-- all = { +-- -- Available in any filetype +-- ls.parser.parse_snippet("expand", "-- this is what was expanded!"), +-- }, +-- lua = { +-- -- Lua specific snippets go here. +-- ls.parser.parse_snippet("lf", "local $1 = function($2)\n $0\nend") +-- }, +-- +--}) +local snip = ls.snippet +local node = ls.snippet_node +local text = ls.text_node +local insert = ls.insert_node +local func = ls.function_node +local choice = ls.choice_node +local dynamicn = ls.dynamic_node + +local date = function() return {os.date('%Y-%m-%d')} end + +ls.add_snippets(nil, { + all = { + --snip({ + -- trig = "date", + -- namr = "Date", + -- dscr = "Date in the form of YYYY-MM-DD", + --}, { + -- func(date, {}), + --}), + snip({ + trig = "meta", + namr = "Metadata", + dscr = "Yaml metadata format for markdown" +}, +{ + }), + }, +}) +--local opts = { noremap = true, silent = true } +--keymap("i", "<C-j>", "<cmd>lua require'luasnip'.jump(1)<CR>", opts) +--keymap("s", "<C-j>", "<cmd>lua require'luasnip'.jump(1)<CR>", opts) +--keymap("i", "<C-k>", "<cmd>lua require'luasnip'.jump(-1)<CR>", opts) +--local keymap = vim.api.nvim_set_keymap +local keymap = vim.keymap +local term_opts = { noremap = true, silent = false } + local map = function(mode, l, r, opts) + opts = opts or {} + opts.silent = true + opts.noremap = true + keymap.set(mode, l, r, opts) + end + +map("i", "<C-j>", "<Plug>luasnip-expand-or-jump<CR>") +map("i", "<C-k>", "<Plug>luasnip-jump-prev * <Cmd>lua require'luasnip'.jump(-1)<CR>") +map("s", "<C-j>", "<Plug>luasnip-expand-or-jump<CR>") +map("s", "<C-k>", "<Plug>luasnip-jump-prev * <Cmd>lua require'luasnip'.jump(-1)<CR>") +--keymap("s", "<C-k>", "<cmd>lua require'luasnip'.jump(-1)<CR>", opts) +--map("i", "<C-j>", "<Plug>luasnip-expand-or-jump<CR>") + +--! <Plug>luasnip-expand-repeat * <Cmd>lua require'luasnip'.expand_repeat()<CR> +--! <Plug>luasnip-delete-check * <Cmd>lua require'luasnip'.unlink_current_if_deleted()<CR> +--i <Plug>luasnip-jump-prev * <Cmd>lua require'luasnip'.jump(-1)<CR> +--i <Plug>luasnip-jump-next * <Cmd>lua require'luasnip'.jump(1)<CR> +--i <Plug>luasnip-prev-choice * <Cmd>lua require'luasnip'.change_choice(-1)<CR> +--i <Plug>luasnip-next-choice * <Cmd>lua require'luasnip'.change_choice(1)<CR> +--i <Plug>luasnip-expand-snippet * <Cmd>lua require'luasnip'.expand()<CR> +--i <Plug>luasnip-expand-or-jump * <Cmd>lua require'luasnip'.expand_or_jump()<CR> + + + + + + + + + |
