From 1946d88ed98b1b22f3d70d26b5fd2038aa645a44 Mon Sep 17 00:00:00 2001 From: Ariel D'Alessandro Date: Mon, 20 Mar 2023 09:24:22 +0100 Subject: feat: improve snippets --- lua/alpha/snips/ft/php.lua | 48 +++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 24 deletions(-) (limited to 'lua') 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( [[ + */ + 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( -- cgit v1.2.3