diff options
Diffstat (limited to '')
-rw-r--r-- | lua/snippets/c.lua | 14 | ||||
-rw-r--r-- | lua/snippets/tex.lua | 70 |
2 files changed, 84 insertions, 0 deletions
diff --git a/lua/snippets/c.lua b/lua/snippets/c.lua index 65463dc..be0a683 100644 --- a/lua/snippets/c.lua +++ b/lua/snippets/c.lua @@ -9,8 +9,21 @@ local function c_func(func) local q = vim.treesitter.query.parse("c", "(function_definition) @f") local matches = q:iter_matches(tree, 0) + vim.treesitter.query.parse("c", "(identifier) @i") + local m = q:iter_matches(matches, 0) + print(vim.treesitter.get_node_text(m:child(), 0)) + + if true then + return + end + for _, match in matches do for _, node in pairs(match) do + if not node or not node:child(1) or not node:child(1):child() then + -- print(vim.treesitter.get_node_text(node:child(1):child(), 0)) + goto continue + end + if vim.treesitter.get_node_text(node:child(1):child(), 0) == func then local def = "" for i = 0, node:child_count() - 2 do @@ -22,6 +35,7 @@ local function c_func(func) -- Print the function name using node text return def:gsub("\n", "") end + ::continue:: end end diff --git a/lua/snippets/tex.lua b/lua/snippets/tex.lua new file mode 100644 index 0000000..0e87437 --- /dev/null +++ b/lua/snippets/tex.lua @@ -0,0 +1,70 @@ +require('core.snippets.shorthands') +require('core.snippets.functions') + +return { + -- document snippet + s("doc", + fmta( + [[ + \documentclass{article} + \title{<>} + \author{<>} + \begin{document} + \maketitle + <> + \end{document} + ]], + { + c(1, { + sn(nil, { f(file_name, {}), i(1) }), + i(1, "my title") + }), + i(2, "my name"), + i(0) + } + ) + ), + + s({ trig = ";begin", snippetType = "autosnippet" }, + fmta( + [[ + \begin{<>} + <> + \end{<>} + ]], + { + i(1), + i(0), + rep(1) + } + ) + ), + + s({ trig = ";href", snippetType = "autosnippet" }, + fmta( + [[\href{<>}{<>}]], + { + i(1, "url"), + i(2, "display name"), + } + ) + ), + + postfix(".b", { + f(function(_, parent) + return [[\textbf{]]..parent.snippet.env.POSTFIX_MATCH.."}" + end) + }), + + postfix(".i", { + f(function(_, parent) + return [[\textit{]]..parent.snippet.env.POSTFIX_MATCH.."}" + end) + }), + + postfix(".ul", { + f(function(_, parent) + return [[\underline{]]..parent.snippet.env.POSTFIX_MATCH.."}" + end) + }) +} |