Fixed #446: Optimized tikz indentation
This commit is contained in:
parent
7bf1731cde
commit
b514c42cee
@ -131,29 +131,8 @@ endfunction
|
|||||||
" }}}1
|
" }}}1
|
||||||
|
|
||||||
function! vimtex#env#is_inside(env) " {{{1
|
function! vimtex#env#is_inside(env) " {{{1
|
||||||
let l:pos = getpos('.')
|
return searchpairpos('\\begin\s*{' . a:env . '\*\?}', '',
|
||||||
let l:pos_val = 10000*l:pos[1] + l:pos[2]
|
\ '\\end\s*{' . a:env . '\*\?}', 'bnWm')
|
||||||
let l:tries = 10
|
|
||||||
|
|
||||||
while l:tries > 0
|
|
||||||
let l:tries -= 1
|
|
||||||
let [l:open, l:close] = vimtex#delim#get_surrounding('env')
|
|
||||||
if empty(l:open) | break | endif
|
|
||||||
|
|
||||||
if !empty(l:close) && (l:pos_val >= 10000*l:close.lnum + l:close.cnum)
|
|
||||||
continue
|
|
||||||
endif
|
|
||||||
|
|
||||||
if l:open.name ==# a:env
|
|
||||||
call setpos('.', l:pos)
|
|
||||||
return 1
|
|
||||||
endif
|
|
||||||
|
|
||||||
call setpos('.', s:pos_prev(l:open))
|
|
||||||
endwhile
|
|
||||||
|
|
||||||
call setpos('.', l:pos)
|
|
||||||
return 0
|
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" }}}1
|
" }}}1
|
||||||
|
@ -113,11 +113,7 @@ endfunction
|
|||||||
|
|
||||||
" }}}1
|
" }}}1
|
||||||
function! s:indent_tikz(lnum, prev) " {{{1
|
function! s:indent_tikz(lnum, prev) " {{{1
|
||||||
let l:winview = winsaveview()
|
if vimtex#env#is_inside('tikzpicture')
|
||||||
let l:inside_tikzpicture = vimtex#env#is_inside('tikzpicture')
|
|
||||||
call winrestview(l:winview)
|
|
||||||
|
|
||||||
if l:inside_tikzpicture
|
|
||||||
let l:prev_starts = a:prev =~# s:tikz_commands
|
let l:prev_starts = a:prev =~# s:tikz_commands
|
||||||
let l:prev_stops = a:prev =~# ';\s*$'
|
let l:prev_stops = a:prev =~# ';\s*$'
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user