From 15a87535a747664afdf6f87cc1a0fbcd5529ef42 Mon Sep 17 00:00:00 2001 From: arne314 <73391160+arne314@users.noreply.github.com> Date: Sun, 24 Nov 2024 21:42:25 +0100 Subject: [PATCH] feat: toggle snippets user command --- lua/typstar/autosnippets.lua | 15 +++++++++++++-- lua/typstar/init.lua | 4 +++- 2 files changed, 16 insertions(+), 3 deletions(-) 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