init
This commit is contained in:
commit
1e2ca5a6fc
71 changed files with 3330 additions and 0 deletions
68
config/plugins/luasnip/helpers/luasnip-helper-funcs.lua
Normal file
68
config/plugins/luasnip/helpers/luasnip-helper-funcs.lua
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
local M = {}
|
||||
|
||||
-- stop lsp error messages
|
||||
-- https://github.com/L3MON4D3/LuaSnip/blob/master/DOC.md#loaders
|
||||
local ls = require("luasnip")
|
||||
local s = ls.snippet
|
||||
local sn = ls.snippet_node
|
||||
local isn = ls.indent_snippet_node
|
||||
local t = ls.text_node
|
||||
local i = ls.insert_node
|
||||
local f = ls.function_node
|
||||
local c = ls.choice_node
|
||||
local d = ls.dynamic_node
|
||||
local r = ls.restore_node
|
||||
local events = require("luasnip.util.events")
|
||||
local ai = require("luasnip.nodes.absolute_indexer")
|
||||
local extras = require("luasnip.extras")
|
||||
local l = extras.lambda
|
||||
local rep = extras.rep
|
||||
local p = extras.partial
|
||||
local m = extras.match
|
||||
local n = extras.nonempty
|
||||
local dl = extras.dynamic_lambda
|
||||
local fmt = require("luasnip.extras.fmt").fmt
|
||||
local fmta = require("luasnip.extras.fmt").fmta
|
||||
local conds = require("luasnip.extras.expand_conditions")
|
||||
local postfix = require("luasnip.extras.postfix").postfix
|
||||
local types = require("luasnip.util.types")
|
||||
local parse = require("luasnip.util.parser").parse_snippet
|
||||
local ms = ls.multi_snippet
|
||||
local k = require("luasnip.nodes.key_indexer").new_key
|
||||
-- Example: expanding a snippet on a new line only.
|
||||
-- In a snippet file, first require the line_begin condition...
|
||||
local line_begin = conds.line_begin
|
||||
|
||||
-- This is the `get_visual` function I've been talking about.
|
||||
-- ----------------------------------------------------------------------------
|
||||
-- Summary: When `LS_SELECT_RAW` is populated with a visual selection, the function
|
||||
-- returns an insert node whose initial text is set to the visual selection.
|
||||
-- When `LS_SELECT_RAW` is empty, the function simply returns an empty insert node.
|
||||
M.get_visual = function(_, parent, _, user_args)
|
||||
if #parent.snippet.env.LS_SELECT_RAW > 0 then
|
||||
return sn(nil, i(1, parent.snippet.env.LS_SELECT_RAW))
|
||||
else -- If LS_SELECT_RAW is empty, return a blank insert node
|
||||
return sn(nil, i(1, user_args))
|
||||
end
|
||||
end
|
||||
|
||||
-- https://github.com/L3MON4D3/LuaSnip/discussions/1195
|
||||
M.make_single_curly_bracket_snippets = function(type, trig, command, user_args)
|
||||
-- return s({trig=keyword,desc=desc}, {t"local function " .. keyword .. "(", i(1), t")"})
|
||||
return s({
|
||||
trig = trig,
|
||||
desc = "Expand " .. trig .. " into \\" .. command .. "{}",
|
||||
snippetType = type,
|
||||
}, fmt("\\" .. command .. "{<>}", { d(1, M.get_visual, { user_args = { user_args } }) }, { delimiters = "<>" }))
|
||||
end
|
||||
|
||||
M.make_scope_snippets = function(type, trig, command, user_args)
|
||||
-- return s({trig=keyword,desc=desc}, {t"local function " .. keyword .. "(", i(1), t")"})
|
||||
return s({
|
||||
trig = trig,
|
||||
desc = "Expand " .. trig .. " into {\\" .. command .. " ... }",
|
||||
snippetType = type,
|
||||
}, fmt("{\\" .. command .. " <>}", { d(1, M.get_visual, { user_args = { user_args } }) }, { delimiters = "<>" }))
|
||||
end
|
||||
|
||||
return M
|
||||
Loading…
Add table
Add a link
Reference in a new issue