From a6eb3f300d3237fa111e30fa21b5084ed7636327 Mon Sep 17 00:00:00 2001 From: Ariel D'Alessandro Date: Thu, 11 Aug 2022 08:39:41 +0200 Subject: updates on libraries --- lua/alpha/snips/ft/lua.lua | 65 ++++++++++++++++++++++++++++------------------ 1 file changed, 40 insertions(+), 25 deletions(-) (limited to 'lua/alpha/snips/ft/lua.lua') diff --git a/lua/alpha/snips/ft/lua.lua b/lua/alpha/snips/ft/lua.lua index 3a4fe52..5ea789e 100644 --- a/lua/alpha/snips/ft/lua.lua +++ b/lua/alpha/snips/ft/lua.lua @@ -1,45 +1,60 @@ -local ls = require "luasnip" +local ls = require("luasnip") -- local snippet = ls.s local snippet_from_nodes = ls.sn local c = ls.choice_node local d = ls.dynamic_node local i = ls.insert_node +local f = ls.function_node local t = ls.text_node local fmt = require("luasnip.extras.fmt").fmt local require_var = function(args, _) - local text = args[1][1] or "" - local split = vim.split(text, ".", { plain = true }) + local text = args[1][1] or "" + local split = vim.split(text, ".", { plain = true }) - local options = {} - for len = 0, #split - 1 do - table.insert(options, t(table.concat(vim.list_slice(split, #split - len, #split), "_"))) - end + local options = {} + for len = 0, #split - 1 do + table.insert(options, t(table.concat(vim.list_slice(split, #split - len, #split), "_"))) + end - return snippet_from_nodes(nil, { - c(1, options), - }) + return snippet_from_nodes(nil, { + c(1, options), + }) end local newline = function(text) - return t { "", text } + return t({ "", text }) end return { - req = fmt([[local {} = require("{}")]], { - d(2, require_var, { 1 }), - i(1), - }), - lf = { - desc = "table function", - "local ", - i(1), - " = function(", - i(2), ")", - newline " ", - i(0), - newline "end", - }, + req = fmt([[local {} = require("{}")]], { + d(2, require_var, { 1 }), + i(1), + }), + lf = { + desc = "table function", + "local ", + i(1), + " = function(", + i(2), + ")", + newline(" "), + i(0), + newline("end"), + }, + + preq = fmt( + [[local ok, {} = pcall(require, "{}") +if not ok then + return +end]], + { + f(function(args) + return args[1][1] + end, { 1 }), + i(1) + } + ), } -- cgit v1.2.3