Don't format lines inside math envs (#436)
This commit is contained in:
parent
0db96d9d97
commit
e66c07ff8f
@ -14,7 +14,9 @@ function! vimtex#format#init_script() " {{{1
|
||||
\ '\\item',
|
||||
\ '\\begin',
|
||||
\ '\\end',
|
||||
\ '%(\\\[|\$\$)\s*$',
|
||||
\], '|') . ')'
|
||||
|
||||
let s:border_end = '\v[^\\]\%'
|
||||
\ . '|\\%(' . join([
|
||||
\ '\\\*?',
|
||||
@ -24,6 +26,7 @@ function! vimtex#format#init_script() " {{{1
|
||||
\ 'pagebreak',
|
||||
\ '%(begin|end)\{[^}]*\}',
|
||||
\ ], '|') . ')\s*$'
|
||||
\ . '|^\s*%(\\\]|\$\$)\s*$'
|
||||
endfunction
|
||||
|
||||
" }}}1
|
||||
@ -52,6 +55,12 @@ function! vimtex#format#formatexpr() " {{{1
|
||||
for l:current in range(l:bottom, l:top, -1)
|
||||
let l:line = getline(l:current)
|
||||
|
||||
if vimtex#util#in_mathzone(l:current, 1)
|
||||
\ && vimtex#util#in_mathzone(l:current, col([l:current, '$']))
|
||||
let l:mark = l:current - 1
|
||||
continue
|
||||
endif
|
||||
|
||||
if l:line =~# s:border_end
|
||||
if l:current < l:mark
|
||||
execute 'normal!' (l:current+1) . 'Ggw' . l:mark . 'G'
|
||||
|
@ -96,3 +96,39 @@ Expect tex (Verify):
|
||||
vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd
|
||||
gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
|
||||
|
||||
Given tex (Format: With math):
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed
|
||||
diam nonumy eirmod tempor invidunt asd asdj klkut \( g(x)
|
||||
= 4\) labore et dolore magna aliquyam erat, sed diam volu.
|
||||
$f(x) = 3$ vero eos et accusam et justo duo dolores et ea
|
||||
\begin{align}
|
||||
f(x) &= 1 \\
|
||||
g(x) &= 2
|
||||
\end{align}
|
||||
rebum. Stet clita kasd gubergren, no sea takimata sanctus
|
||||
est Lorem ipsum dolor sit amet.
|
||||
\[
|
||||
e^{2\pi i} = 1
|
||||
\]
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed
|
||||
diam nonumy eirmod tempor invidunt asd asdj klkut labore et
|
||||
|
||||
Do (Format text):
|
||||
gqG
|
||||
|
||||
Expect tex (Verify):
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
|
||||
tempor invidunt asd asdj klkut \( g(x) = 4\) labore et dolore magna aliquyam
|
||||
erat, sed diam volu. $f(x) = 3$ vero eos et accusam et justo duo dolores et ea
|
||||
\begin{align}
|
||||
f(x) &= 1 \\
|
||||
g(x) &= 2
|
||||
\end{align}
|
||||
rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor
|
||||
sit amet.
|
||||
\[
|
||||
e^{2\pi i} = 1
|
||||
\]
|
||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
|
||||
tempor invidunt asd asdj klkut labore et
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user