diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2025-05-02 21:38:18 +0200 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2025-05-02 21:38:18 +0200 |
commit | 7a4bbd1d8a26d51818da410c7fad1efd50690876 (patch) | |
tree | 109aba12d09faca6ca6ff3936dc949b416fd4b4c /modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/all.lua | |
parent | modules/nvim/plgs/luasnip/lua/snippets/html: Remove (diff) | |
download | nixos-config-7a4bbd1d8a26d51818da410c7fad1efd50690876.zip |
modules/nvim/plgs/luasnip/lua/snippets: Use better code style
This includes using the actual names of luasnip functions instead of these single char globals. This also includes basic formatting and occasional linebreaks.
Diffstat (limited to 'modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/all.lua')
-rw-r--r-- | modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/all.lua | 77 |
1 files changed, 48 insertions, 29 deletions
diff --git a/modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/all.lua b/modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/all.lua index 1abb70cb..7909014e 100644 --- a/modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/all.lua +++ b/modules/by-name/nv/nvim/plgs/luasnip/lua/snippets/all.lua @@ -10,13 +10,14 @@ local ls = require("luasnip") -- auto_pairs {{{ -local get_visual = function(args, parent) +local get_visual = function(_, parent) if #parent.snippet.env.SELECT_RAW > 0 then - return sn(nil, i(1, parent.snippet.env.SELECT_RAW)) + return ls.snippet_node(nil, ls.insert_node(1, parent.snippet.env.SELECT_RAW)) else - return sn(nil, i(1, "")) + return ls.snippet_node(nil, ls.insert_node(1, "")) end end + local function char_count_same(c1, c2) local line = vim.api.nvim_get_current_line() -- '%'-escape chars to force explicit match (gsub accepts patterns). @@ -38,30 +39,42 @@ local function pair(pair_begin, pair_end, file_types, condition_function) -- It would be nice, if it would support both an empty array (`{}`) and nil <2023-08-27> -- file_types = file_types or {}; - return s( - { trig = pair_begin, wordTrig = false, snippetType = "autosnippet" }, - { t({ pair_begin }), d(1, get_visual), t({ pair_end }) }, + return ls.snippet( + { + trig = pair_begin; + wordTrig = false; + snippetType = "autosnippet"; + }, + { + ls.text_node({ pair_begin; }); + ls.dynamic_node(1, get_visual); + ls.text_node({ pair_end; }); + }, { condition = function() local filetype_check = true - if file_types ~= nil then filetype_check = file_types[vim.bo.filetype] or false end + + if file_types ~= nil then + filetype_check = file_types[vim.bo.filetype] or false + end + return (not condition_function(pair_begin, pair_end)) and filetype_check - end, + end; } ) end local auto_pairs = { - pair("(", ")", nil, char_count_same), - pair("{", "}", nil, char_count_same), - pair("[", "]", nil, char_count_same), - pair("<", ">", { ["rust"] = true, ["tex"] = true }, char_count_same), - pair("'", "'", nil, even_count), - pair("\"", "\"", nil, even_count), - pair("`", "`", nil, even_count), + pair("(", ")", nil, char_count_same); + pair("{", "}", nil, char_count_same); + pair("[", "]", nil, char_count_same); + pair("<", ">", { ["rust"] = true; ["tex"] = true; }, char_count_same); + pair("'", "'", nil, even_count); + pair("\"", "\"", nil, even_count); + pair("`", "`", nil, even_count); } -ls.add_snippets("all", auto_pairs, { type = "snippets", key = "auto_pairs" }) +ls.add_snippets("all", auto_pairs, { type = "snippets"; key = "auto_pairs"; }) -- }}} -- todo_comments {{{ @@ -70,10 +83,15 @@ local utils = require("Comment.utils") local read_git_config = function(config_value) local command = string.format("git config \"%s\"", config_value) + local handle = io.popen(command) - if handle == nil then return error(string.format("Failed to call `%s`.", command)) end + if handle == nil then + return error(string.format("Failed to call `%s`.", command)) + end + local result = handle:read("*a") handle:close() + -- stripped = string.gsub(str, '%s+', '') return string.gsub(result, "\n", "") end @@ -188,24 +206,25 @@ local process_marks = function(context, aliases, opts, marks) output[#output + 1] = todo_snippet(context, aliases, opts, mark_function) context.trig = contex_trig_local end + return output end local todo_snippet_specs = { - { { trig = "todo" }, { "TODO" }, { ctype = 1 } }, - { { trig = "fix" }, { "FIXME", "ISSUE" }, { ctype = 1 } }, - { { trig = "hack" }, { "HACK" }, { ctype = 1 } }, - { { trig = "warn" }, { "WARNING" }, { ctype = 1 } }, - { { trig = "perf" }, { "PERFORMANCE", "OPTIMIZE" }, { ctype = 1 } }, - { { trig = "note" }, { "NOTE", "INFO" }, { ctype = 1 } }, + { { trig = "todo"; }; { "TODO"; }; { ctype = 1; }; }; + { { trig = "fix"; }; { "FIXME"; "ISSUE"; }; { ctype = 1; }; }; + { { trig = "hack"; }; { "HACK"; }; { ctype = 1; }; }; + { { trig = "warn"; }; { "WARNING"; }; { ctype = 1; }; }; + { { trig = "perf"; }; { "PERFORMANCE"; "OPTIMIZE"; }; { ctype = 1; }; }; + { { trig = "note"; }; { "NOTE"; "INFO"; }; { ctype = 1; }; }; -- NOTE: Block commented todo-comments - { { trig = "todob" }, { "TODO" }, { ctype = 2 } }, - { { trig = "fixb" }, { "FIXME", "ISSUE" }, { ctype = 2 } }, - { { trig = "hackb" }, { "HACK" }, { ctype = 2 } }, - { { trig = "warnb" }, { "WARNING" }, { ctype = 2 } }, - { { trig = "perfb" }, { "PERF", "PERFORMANCE", "OPTIM", "OPTIMIZE" }, { ctype = 2 } }, - { { trig = "noteb" }, { "NOTE", "INFO" }, { ctype = 2 } }, + { { trig = "todob"; }; { "TODO"; }; { ctype = 2; }; }; + { { trig = "fixb"; }; { "FIXME"; "ISSUE"; }; { ctype = 2; }; }; + { { trig = "hackb"; }; { "HACK"; }; { ctype = 2; }; }; + { { trig = "warnb"; }; { "WARNING"; }; { ctype = 2; }; }; + { { trig = "perfb"; }; { "PERF"; "PERFORMANCE"; "OPTIM"; "OPTIMIZE"; }; { ctype = 2; }; }; + { { trig = "noteb"; }; { "NOTE"; "INFO"; }; { ctype = 2; }; }; } local todo_comment_snippets = {} |