diff options
| author | Ariel D'Alessandro <dalessandro.ariel@gmail.com> | 2023-03-20 09:24:22 +0100 |
|---|---|---|
| committer | Ariel D'Alessandro <dalessandro.ariel@gmail.com> | 2023-03-22 12:27:42 +0100 |
| commit | 1946d88ed98b1b22f3d70d26b5fd2038aa645a44 (patch) | |
| tree | 11f592350df6d31b16820c0cb64d5625b05dcf42 /lua | |
| parent | b7b36d27e901f99426239f5b30382de31c6c4930 (diff) | |
| download | nvim-conf-1946d88ed98b1b22f3d70d26b5fd2038aa645a44.tar.gz nvim-conf-1946d88ed98b1b22f3d70d26b5fd2038aa645a44.zip | |
feat: improve snippets
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/alpha/snips/ft/php.lua | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/lua/alpha/snips/ft/php.lua b/lua/alpha/snips/ft/php.lua index f977bfd..b930cb6 100644 --- a/lua/alpha/snips/ft/php.lua +++ b/lua/alpha/snips/ft/php.lua @@ -9,10 +9,6 @@ local f = ls.function_node local i = ls.insert_node local fmt = require("luasnip.extras.fmt").fmt -function string.starts(String, Start) - return string.sub(String, 1, string.len(Start)) == Start -end - local visibility = function(position, default) local possibles = { "private", "protected", "public" } local options = {} @@ -28,6 +24,12 @@ local visibility = function(position, default) return c(position, options) end +local var_name = function(args) + return snippet_from_nodes(nil, { + i(1, args[1][1]:gsub("^%u", string.lower):gsub("Interface", "") or ""), + }) +end + local class_name = function() return vim.fn.expand "%:t:r" end @@ -39,14 +41,16 @@ M.v = fmt( /** * @var {} */ -{} ${}; +{} {} ${}; ]], { i(1, "type"), visibility(2, "private"), - i(3, "var"), + i(3, "Type"), + i(4, "var"), } ) + M.class = fmt( [[ <?php @@ -74,29 +78,25 @@ M.pro = fmt([[{} {}{} ${},]], { t "", }), i(3, "Type"), - d(4, function(args) - return snippet_from_nodes(nil, { - i(1, args[1][1]:gsub("^%u", string.lower) or ""), - }) - end, { 3 }), + d(4, var_name, { 3 }), }) -M.op = fmt("private {}|ObjectProphecy ${};", { - i(1, "Type"), - d(2, function(args) - return snippet_from_nodes(nil, { - i(1, args[1][1]:gsub("^%u", string.lower) or ""), - }) - end, { 1 }), -}) +M.op = fmt( + [[ + /** + * @var ObjectProphecy<{}> + */ + private ObjectProphecy ${}; +]], + { + i(1, "Type"), + d(2, var_name, { 1 }), + } +) M.arg = fmt([[{} ${}]], { i(1, "Type"), - d(2, function(args) - return snippet_from_nodes(nil, { - i(1, args[1][1]:gsub("^%u", string.lower) or ""), - }) - end, { 1 }), + d(2, var_name, { 1 }), }) M._c = fmt( |