2019-11-16 12:43:18 -05:00
|
|
|
|
|
|
|
let s:debug = 0
|
|
|
|
|
|
|
|
function! s:CursorHasGroup(group) abort
|
2021-06-23 05:57:12 -04:00
|
|
|
return synIDattr(synID(line('.'), col('.'), 1), 'name') =~ a:group
|
2019-11-16 12:43:18 -05:00
|
|
|
endfunction
|
|
|
|
|
|
|
|
function! TestSyntax(pattern, group) abort
|
|
|
|
let pattern = '\C' . a:pattern
|
|
|
|
call cursor(1, 1)
|
|
|
|
redraw
|
|
|
|
let start_match = search(pattern, 'c') && s:CursorHasGroup(a:group)
|
|
|
|
if s:debug
|
|
|
|
redraw | sleep 500m
|
|
|
|
endif
|
|
|
|
let end_match = search(pattern, 'e') && s:CursorHasGroup(a:group)
|
|
|
|
if s:debug
|
|
|
|
redraw | sleep 500m
|
|
|
|
endif
|
|
|
|
return start_match && end_match
|
|
|
|
endfunction
|