mirror of
https://github.com/Ascyii/typstar.git
synced 2026-01-01 13:34:24 -05:00
style: format lua using stylua
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user