diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-11-09 12:35:44 +0100 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-11-09 12:54:51 +0100 |
commit | 2122a01f99c6da466b8f0f55c965c11a9043d117 (patch) | |
tree | 6c1697afc30a5bb72635bda7db9b5610386a5b71 /modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/html | |
parent | fix(pkgs/stamp): Fallback to `dot-license` (diff) | |
download | nixos-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.lua | 102 |
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), + } + ) + ), +} |