From 6567b163a7334543d6a0cfe695da68fe417fc27e Mon Sep 17 00:00:00 2001 From: Felipe Contreras Salinas Date: Fri, 14 Apr 2023 19:03:31 -0400 Subject: [PATCH] LuaSnip: add date snippet and some md and tf snippets --- init.lua | 3 ++ luasnippets/all.lua | 24 ++++++++++++++++ luasnippets/markdown.lua | 54 ++++++++++++++++++++++++++++++++++++ luasnippets/terraform.lua | 32 +++++++++++++++++++++ mysnippets/markdown.snippets | 22 --------------- 5 files changed, 113 insertions(+), 22 deletions(-) create mode 100644 luasnippets/all.lua create mode 100644 luasnippets/markdown.lua create mode 100644 luasnippets/terraform.lua delete mode 100644 mysnippets/markdown.snippets diff --git a/init.lua b/init.lua index ea686d0..a106024 100644 --- a/init.lua +++ b/init.lua @@ -243,6 +243,9 @@ end ---- LuaSnip require('luasnip.loaders.from_lua').lazy_load() local luasnip = require 'luasnip' +luasnip.config.set_config({ + store_selection_keys = '', +}) vim.keymap.set({"i", "s"}, "", function() if luasnip.expand_or_jumpable() then luasnip.expand_or_jump() diff --git a/luasnippets/all.lua b/luasnippets/all.lua new file mode 100644 index 0000000..012a151 --- /dev/null +++ b/luasnippets/all.lua @@ -0,0 +1,24 @@ +local ls = require("luasnip") +-- some shorthands... +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, {}), + }), + }, +}) + diff --git a/luasnippets/markdown.lua b/luasnippets/markdown.lua new file mode 100644 index 0000000..d6ce40f --- /dev/null +++ b/luasnippets/markdown.lua @@ -0,0 +1,54 @@ +local ls = require("luasnip") +-- some shorthands... +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 fmt = luasnip.extras.fmt.fmt +local choice = ls.choice_node +local dynamicn = ls.dynamic_node + +ls.add_snippets(nil, { + markdown = { + snip( + { + trig = "link", + namr = "markdown_link", + dscr = "Create markdown link [txt](url)" + }, + fmt( + "[{txt}]({url})", + { + txt = insert(1), + url = func(function(_, snip) + return snip.env.TM_SELECTED_TEXT[1] or {} + end, {}), + } + ) + ), + }, +}) + +-- snippet fig "Hugo Figure" +-- {{< figure link="img/$1.jpg" thumb="_small" +-- caption="$2" +-- caption-position="bottom">}} +-- $0 +-- endsnippet +-- +-- snippet gal "Hugo Gallery" +-- {{< gallery hover-effect="none" caption-effect="none" >}} +-- +-- {{< figure link="img/$1.jpg" thumb="_small" +-- caption="$2" +-- caption-position="bottom">}} +-- +-- $3 +-- {{< /gallery >}} +-- $0 +-- endsnippet +-- +-- snippet kbd "Keyboard" +-- {{}>}}$0 +-- endsnippet diff --git a/luasnippets/terraform.lua b/luasnippets/terraform.lua new file mode 100644 index 0000000..1a01311 --- /dev/null +++ b/luasnippets/terraform.lua @@ -0,0 +1,32 @@ +local ls = require("luasnip") +-- some shorthands... +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, { + terraform = { + snip({ + trig = "prov", + namr = "AWS provider", + dscr = "AWS provider to be included in the `terraform` section", + }, + { + text({ + "required_providers {", + " aws = {", + " source = \"hashicorp/aws\"", + " version = \"~> 4.0\"", + " }", + "}", + }), + }) + }, +}) + diff --git a/mysnippets/markdown.snippets b/mysnippets/markdown.snippets deleted file mode 100644 index 6eb371c..0000000 --- a/mysnippets/markdown.snippets +++ /dev/null @@ -1,22 +0,0 @@ -snippet fig "Hugo Figure" -{{< figure link="img/$1.jpg" thumb="_small" -caption="$2" -caption-position="bottom">}} -$0 -endsnippet - -snippet gal "Hugo Gallery" -{{< gallery hover-effect="none" caption-effect="none" >}} - -{{< figure link="img/$1.jpg" thumb="_small" -caption="$2" -caption-position="bottom">}} - -$3 -{{< /gallery >}} -$0 -endsnippet - -snippet kbd "Keyboard" -{{}>}}$0 -endsnippet