style: format lua using stylua

This commit is contained in:
arne314
2025-01-09 01:48:18 +01:00
parent 434dc5c6c4
commit e9824803b5
10 changed files with 114 additions and 143 deletions

View File

@@ -1,16 +1,14 @@
local M = {}
local cfg = require('typstar.config').config.snippets
local utils = require('typstar.utils')
local luasnip = require('luasnip')
local utils = require('typstar.utils')
local fmta = require('luasnip.extras.fmt').fmta
local lsengines = require('luasnip.nodes.util.trig_engines')
local ts = vim.treesitter
local last_keystroke_time = nil
vim.api.nvim_create_autocmd('TextChangedI', {
callback = function()
last_keystroke_time = vim.loop.now()
end,
callback = function() last_keystroke_time = vim.loop.now() end,
})
local lexical_result_cache = {}
local ts_markup_query = ts.query.parse('typst', '(text) @markup')
@@ -33,16 +31,13 @@ end
function M.visual(idx, default)
default = default or ''
return luasnip.dynamic_node(
idx,
function(args, parent)
if (#parent.snippet.env.LS_SELECT_RAW > 0) then
return luasnip.snippet_node(nil, luasnip.text_node(parent.snippet.env.LS_SELECT_RAW))
else -- If LS_SELECT_RAW is empty, return an insert node
return luasnip.snippet_node(nil, luasnip.insert_node(1, default))
end
return luasnip.dynamic_node(idx, function(args, parent)
if #parent.snippet.env.LS_SELECT_RAW > 0 then
return luasnip.snippet_node(nil, luasnip.text_node(parent.snippet.env.LS_SELECT_RAW))
else -- If LS_SELECT_RAW is empty, return an insert node
return luasnip.snippet_node(nil, luasnip.insert_node(1, default))
end
)
end)
end
function M.ri(insert_node_id)
@@ -58,11 +53,11 @@ function M.snip(trigger, expand, insert, condition, priority, wordTrig)
trigEngineOpts = { condition = condition },
wordTrig = wordTrig,
priority = priority,
snippetType = 'autosnippet'
snippetType = 'autosnippet',
},
fmta(expand, { unpack(insert) }),
{
condition = function() return M.snippets_toggle end
condition = function() return M.snippets_toggle end,
}
)
end
@@ -75,17 +70,13 @@ function M.engine(trigger, opts)
local base_engine = lsengines.ecma(trigger, opts)
local condition = function()
local cached = lexical_result_cache[opts.condition]
if cached ~= nil and cached[1] == last_keystroke_time then
return cached[2]
end
if cached ~= nil and cached[1] == last_keystroke_time then return cached[2] end
local result = opts.condition()
lexical_result_cache[opts.condition] = { last_keystroke_time, result }
return result
end
return function(line, trig)
if not M.snippets_toggle or not condition() then
return nil
end
if not M.snippets_toggle or not condition() then return nil end
return base_engine(line, trig)
end
end
@@ -99,15 +90,12 @@ function M.setup()
if cfg.enable then
local autosnippets = {}
for _, file in ipairs(cfg.modules) do
vim.list_extend(
autosnippets,
require(('typstar.snippets.%s'):format(file))
)
vim.list_extend(autosnippets, require(('typstar.snippets.%s'):format(file)))
end
luasnip.add_snippets('typst', autosnippets)
local jsregexp_ok, _ = pcall(require, "luasnip-jsregexp")
local jsregexp_ok, _ = pcall(require, 'luasnip-jsregexp')
if not jsregexp_ok then
jsregexp_ok, _ = pcall(require, "jsregexp")
jsregexp_ok, _ = pcall(require, 'jsregexp')
end
if not jsregexp_ok then
vim.notify("WARNING: Most snippets won't work as jsregexp is not installed", vim.log.levels.WARN)