diff --git a/lua/typstar/autosnippets.lua b/lua/typstar/autosnippets.lua index d5d4942..8bf494e 100644 --- a/lua/typstar/autosnippets.lua +++ b/lua/typstar/autosnippets.lua @@ -11,7 +11,7 @@ M.not_in_math = function() return not M.in_math() end M.not_in_markup = function() return not M.in_markup() end M.not_in_code = function() return not M.in_code() end M.not_in_comment = function() return not M.in_comment() end - +M.snippets_toggle = true function M.cap(i) return luasnip.function_node(function(_, snip) return snip.captures[i] end) @@ -34,7 +34,14 @@ function M.snip(trigger, expand, insert, condition, priority) return luasnip.snippet( { trig = trigger, regTrig = true, wordtrig = false, priority = priority, snippetType = 'autosnippet' }, fmta(expand, { unpack(insert) }), - { condition = condition } + { + condition = function() + if not M.snippets_toggle then + return false + end + return condition() + end + } ) end @@ -42,6 +49,10 @@ function M.start_snip(trigger, expand, insert, condition, priority) return M.snip('^%s*' .. trigger, expand, insert, condition, priority) end +function M.toggle_autosnippets() + M.snippets_toggle = not M.snippets_toggle +end + function M.setup() if cfg.enable then local autosnippets = {} diff --git a/lua/typstar/init.lua b/lua/typstar/init.lua index 40908d8..2b38178 100644 --- a/lua/typstar/init.lua +++ b/lua/typstar/init.lua @@ -5,9 +5,11 @@ local config = require('typstar.config') M.setup = function(args) config.merge_config(args) local excalidraw = require('typstar.excalidraw') + local autosnippets = require('typstar.autosnippets') vim.api.nvim_create_user_command('TypstarInsertExcalidraw', excalidraw.insert_drawing, {}) vim.api.nvim_create_user_command('TypstarOpenExcalidraw', excalidraw.open_drawing, {}) - require('typstar.autosnippets').setup() + vim.api.nvim_create_user_command('TypstarToggleSnippets', autosnippets.toggle_autosnippets, {}) + autosnippets.setup() end return M