aboutsummaryrefslogtreecommitdiffstats
path: root/modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/html
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-11-09 12:35:44 +0100
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-11-09 12:54:51 +0100
commit2122a01f99c6da466b8f0f55c965c11a9043d117 (patch)
tree6c1697afc30a5bb72635bda7db9b5610386a5b71 /modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/html
parentfix(pkgs/stamp): Fallback to `dot-license` (diff)
downloadnixos-config-2122a01f99c6da466b8f0f55c965c11a9043d117.zip
refactor(modules/legacy/conf/nvim): Move to `by-name`
Diffstat (limited to 'modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/html')
-rw-r--r--modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/html/html.lua102
1 files changed, 102 insertions, 0 deletions
diff --git a/modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/html/html.lua b/modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/html/html.lua
new file mode 100644
index 00000000..568c97ec
--- /dev/null
+++ b/modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/html/html.lua
@@ -0,0 +1,102 @@
+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),
+ }
+ )
+ ),
+}