Detect snippet math contexts

master
Hektor Misplon 2023-05-15 13:41:06 +02:00
parent 04ac5a609d
commit e1e520d365
2 changed files with 27 additions and 0 deletions

View File

@ -1,2 +1,18 @@
set cc=81 set cc=81
set cocu="" set cocu=""
func! GetContext()
" https://stackoverflow.com/questions/9464844/how-to-get-group-name-of-highlighting-under-cursor-in-vim
if !exists("*synstack")
return
endif
let matches = map(synstack(line('.'), col('.')), 'synIDattr(v:val, "name")')
if index(matches, 'pandocLaTeXInlineMath') >= 0
echo 'math_inline'
elseif index(matches, 'pandocLaTeXMathBlock') >= 0
echo 'math_block'
else
echo ''
endif
endfunc
com! -nargs=0 GetContext :call GetContext()

View File

@ -24,6 +24,17 @@
# #
# Online reference: https://github.com/SirVer/ultisnips/blob/master/doc/UltiSnips.txt # Online reference: https://github.com/SirVer/ultisnips/blob/master/doc/UltiSnips.txt
global !p
def math():
return vim.command_output('GetContext') == 'math_inline' or vim.command_output('GetContext') == 'math_block'
def math_inline():
return vim.command_output('GetContext') == 'math_inline'
def math_block():
return vim.command_output('GetContext') == 'math_block'
endglobal
extends html extends html
# Zettelkasten templating # Zettelkasten templating