--[ -- LuaSnip Conditions --] local M = {} -- math / not math zones function M.in_math() return vim.api.nvim_eval 'vimtex#syntax#in_mathzone()' == 1 end -- comment detection function M.in_comment() return vim.fn['vimtex#syntax#in_comment']() == 1 end -- document class function M.in_beamer() return vim.b.vimtex['documentclass'] == 'beamer' end -- general env function local function env(name) local is_inside = vim.fn['vimtex#env#is_inside'](name) return (is_inside[1] > 0 and is_inside[2] > 0) end function M.in_preamble() return not env 'document' end function M.in_text() return env 'document' and not M.in_math() end function M.in_tikz() return env 'tikzpicture' end function M.in_bullets() return env 'itemize' or env 'enumerate' end function M.in_align() return env 'align' or env 'align*' or env 'aligned' end return M