aboutsummaryrefslogtreecommitdiffstats
path: root/modules/home/conf/nvim/plgs/luasnip/lua/snippets/html
diff options
context:
space:
mode:
Diffstat (limited to 'modules/home/conf/nvim/plgs/luasnip/lua/snippets/html')
-rw-r--r--modules/home/conf/nvim/plgs/luasnip/lua/snippets/html/html.lua108
1 files changed, 108 insertions, 0 deletions
diff --git a/modules/home/conf/nvim/plgs/luasnip/lua/snippets/html/html.lua b/modules/home/conf/nvim/plgs/luasnip/lua/snippets/html/html.lua
new file mode 100644
index 00000000..17e1e7fb
--- /dev/null
+++ b/modules/home/conf/nvim/plgs/luasnip/lua/snippets/html/html.lua
@@ -0,0 +1,108 @@
+local get_visual = function(args, parent)
+ if #parent.snippet.env.SELECT_RAW > 0 then
+ return sn(nil, i(1, parent.snippet.env.SELECT_RAW))
+ else
+ return sn(nil, i(1))
+ end
+end
+
+local line_begin = require("luasnip.extras.expand_conditions").line_begin
+
+return {
+ -- HEADER
+ s(
+ {
+ trig = "h([123456])",
+ regTrig = true,
+ wordTrig = false,
+ snippetType = "autosnippet",
+ },
+ fmt(
+ [[
+ <h{}>{}</h{}>
+ ]],
+ {
+ f(function(_, snip)
+ return snip.captures[1]
+ end),
+ d(1, get_visual),
+ f(function(_, snip)
+ return snip.captures[1]
+ end),
+ }
+ ),
+ { condition = line_begin }
+ ), -- PARAGRAPH
+ s(
+ { trig = "pp", snippetType = "autosnippet" },
+ fmt(
+ [[
+ <p>{}</p>
+ ]],
+ { d(1, get_visual) }
+ ),
+ { condition = line_begin }
+ ), -- UNORDERED LIST
+ s(
+ { trig = "itt", snippetType = "autosnippet" },
+ fmt(
+ [[
+ <ul>
+ <li>{}</li>{}
+ </ul>
+ ]],
+ { i(1), i(0) }
+ ),
+ { condition = line_begin }
+ ), -- LIST ITEM
+ s(
+ { trig = "ii", snippetType = "autosnippet" },
+ fmt(
+ [[
+ <li>{}</li>
+ ]],
+ { d(1, get_visual) }
+ ),
+ { condition = line_begin }
+ ),
+ -- DOCUMENT TEMPLATE
+ s(
+ { trig = "base" },
+ fmt(
+ [[
+ <!doctype HTML>
+ <html lang="en">
+ <head>
+ <meta charset="UTF-8">
+ <title>{}</title>
+ </head>
+ <body>
+ {}
+ </body>
+ </html>
+ ]],
+ { i(1, "FooBar"), i(0) }
+ ),
+ { condition = line_begin }
+ ), -- ANCHOR TAG
+ s(
+ {
+ trig = "([^%l])aa",
+ regTrig = true,
+ wordTrig = false,
+ snippetType = "autosnippet",
+ },
+ fmt(
+ [[
+ {}<a href="{}">{}</a>
+ ]],
+ {
+ f(function(_, snip)
+ return snip.captures[1]
+ end),
+ i(1),
+ d(2, get_visual),
+ }
+ )
+ ),
+}