Skip to content

Commit 25b69bd

Browse files
committed
add word expand
1 parent 4f7c871 commit 25b69bd

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

lua/luasnip-snippets/nodes.lua

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,29 @@ local function construct_snippet(opts)
9898
return ls.s(trig_arg, nodes, opts.opts)
9999
end
100100

101+
---Construct a snippet for simple expansion. (word) -> (expand)
102+
---@param word string
103+
---@param expand string
104+
---@param mode? string
105+
local function word_expand(word, expand, mode)
106+
local ls = require("luasnip")
107+
108+
mode = mode or "w"
109+
if mode:match("w") == nil then
110+
mode = mode .. "w"
111+
end
112+
return construct_snippet {
113+
word,
114+
name = ("(%s) %s"):format(word, expand),
115+
dscr = ("Quickly expands %s to %s"):format(word, expand),
116+
mode = mode,
117+
nodes = ls.text_node(expand),
118+
}
119+
end
120+
101121
return {
102122
insert_node = insert_node,
103123
choice_node = choice_node,
104124
construct_snippet = construct_snippet,
125+
word_expand = word_expand,
105126
}

lua/luasnip-snippets/snippets/cpp/default.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ local ls = require("luasnip")
22
local snippet = require("luasnip-snippets.nodes").construct_snippet
33
local i = require("luasnip-snippets.nodes").insert_node
44
local c = require("luasnip-snippets.nodes").choice_node
5+
local word_snippet = require("luasnip-snippets.nodes").word_expand
56
local fmta = require("luasnip.extras.fmt").fmta
67
local f = ls.function_node
78
local t = ls.text_node

0 commit comments

Comments
 (0)