Implement g:easy_align_bypass_fold switch (#14) with a small fix

This commit is contained in:
Junegunn Choi
2013-10-15 23:00:43 +09:00
parent 37fa908d04
commit 831cecdaf2
7 changed files with 154 additions and 11 deletions

View File

@@ -1,4 +1,9 @@
Execute (Clean up test environment):
Save g:easy_align_ignore_groups, g:easy_align_ignore_unmatched
Save g:easy_align_indentation, g:easy_align_delimiter_align
Save g:easy_align_interactive_modes, g:easy_align_bang_interactive_modes
Save g:easy_align_delimiters
let g:easy_align_delimiters = {}
silent! unlet g:easy_align_ignore_groups
silent! unlet g:easy_align_ignore_unmatched
@@ -155,3 +160,5 @@ Expect javascript:
"user: pass": "r00t: pa55"
};
Execute:
Restore

View File

@@ -10,3 +10,11 @@ Do (FIXME invalid judgement - block-wise visual mode):
Expect:
a | b | c
Do (TODO Workaround: reset visualmode() on error):
\<C-V>\<Esc>
:%EasyAlign|\<CR>
:%EasyAlign|\<CR>
Expect:
a | b | c

View File

@@ -1,4 +1,9 @@
Execute (Clean up test environment):
Save g:easy_align_ignore_groups, g:easy_align_ignore_unmatched
Save g:easy_align_indentation, g:easy_align_delimiter_align
Save g:easy_align_interactive_modes, g:easy_align_bang_interactive_modes
Save g:easy_align_delimiters
" TODO: revert after test
silent! unlet g:easy_align_ignore_groups
silent! unlet g:easy_align_ignore_unmatched
@@ -1283,3 +1288,5 @@ Expect:
a = b = c
aabba = bbbbb
Execute:
Restore

View File

@@ -1,6 +1,8 @@
# http://en.wikibooks.org/wiki/LaTeX/Tables
Execute:
Save g:easy_align_delimiters, g:easy_align_bypass_fold
let g:easy_align_delimiters = {}
silent! unlet g:easy_align_bypass_fold
Given tex (table with escaped &):
\begin{tabular}{ l c r }
@@ -9,8 +11,9 @@ Given tex (table with escaped &):
777&8\&8&999\\
\end{tabular}
# FIXME vip doesn't work if folded
Do (Align around all &s and \\s):
vip\<Enter>*&
VG\<Enter>*&
Expect tex:
\begin{tabular}{ l c r }
@@ -20,7 +23,7 @@ Expect tex:
\end{tabular}
Do (right-align with explicit ignore_unmatched):
vip\<Enter>\<Enter>\<C-U>\<C-U>*&
VG\<Enter>\<Enter>\<C-U>\<C-U>*&
Expect tex:
\begin{tabular}{ l c r }
@@ -30,7 +33,7 @@ Expect tex:
\end{tabular}
Do (center-align with explicit ignore_unmatched):
vip\<Enter>\<Enter>\<Enter>\<C-U>\<C-U>*&
VG\<Enter>\<Enter>\<Enter>\<C-U>\<C-U>*&
Expect tex:
\begin{tabular}{ l c r }
@@ -47,7 +50,7 @@ Given tex (simple table with \hline):
\end{tabular}
Do:
vip\<Enter>*&
VG\<Enter>*&
Expect tex:
\begin{tabular}{ l c r }
@@ -68,7 +71,7 @@ Given tex (table with lines w/o &s):
\end{tabular}
Do (left-align*):
vip\<Enter>*&
VG\<Enter>*&
Expect tex:
\begin{tabular}{|r|l|}
@@ -82,7 +85,7 @@ Expect tex:
\end{tabular}
Do(left-align* and right-align around 2nd):
vip\<Enter>*&
VG\<Enter>*&
gv\<Enter>\<Enter>2&
Expect tex:
@@ -96,3 +99,63 @@ Expect tex:
\hline
\end{tabular}
Given tex:
\begin{tabular}{}
32&1.14\e1&&5.65\e2&&&&1.16\e1&&1.28\e1&\\
64&1.03\e1&0.1&4.98\e2&0.2&&&9.21\e2&0.3&1.02\e1&0.3\\
128&9.86\e2&0.1&4.69\e2&0.1&&&8.46\e2&0.1&9.45\e2&0.1\\
256&9.65\e2&0.0&4.59\e2&0.0&&&8.15\e2&0.1&9.11\e2&0.1\\
% 512&9.55\e2&0.0&4.56\e2&0.0&&&8.01\e2&0.0&8.96\e2&0.0\\
1024&9.49\e2&0.0&4.53\e2&0.0&&&7.94\e2&0.0&8.89\e2&0.0\\
2048&9.47\e2&0.0&4.52\e2&0.0&&&7.91\e2&0.0&8.85\e2&0.0\\
4096&9.46\e2&0.0&4.51\e2&0.0%&&&7.90\e2&0.0&8.83\e2&0.0\\
8192&9.45\e2&0.0&4.51\e2&0.0&&&&&&\\
\end{tabular}
Execute (Alignment around &s, foldmethod should not change):
setlocal foldmethod=syntax
%EasyAlign*&
AssertEqual 'syntax', &l:foldmethod
setlocal foldmethod=manual
%EasyAlign*&
AssertEqual 'manual', &l:foldmethod
Expect tex:
\begin{tabular}{}
32 & 1.14\e1 & & 5.65\e2 & & & & 1.16\e1 & & 1.28\e1 & \\
64 & 1.03\e1 & 0.1 & 4.98\e2 & 0.2 & & & 9.21\e2 & 0.3 & 1.02\e1 & 0.3 \\
128 & 9.86\e2 & 0.1 & 4.69\e2 & 0.1 & & & 8.46\e2 & 0.1 & 9.45\e2 & 0.1 \\
256 & 9.65\e2 & 0.0 & 4.59\e2 & 0.0 & & & 8.15\e2 & 0.1 & 9.11\e2 & 0.1 \\
% 512&9.55\e2&0.0&4.56\e2&0.0&&&8.01\e2&0.0&8.96\e2&0.0\\
1024 & 9.49\e2 & 0.0 & 4.53\e2 & 0.0 & & & 7.94\e2 & 0.0 & 8.89\e2 & 0.0 \\
2048 & 9.47\e2 & 0.0 & 4.52\e2 & 0.0 & & & 7.91\e2 & 0.0 & 8.85\e2 & 0.0 \\
4096 & 9.46\e2 & 0.0 & 4.51\e2 & 0.0%&&&7.90\e2&0.0&8.83\e2&0.0\\
8192 & 9.45\e2 & 0.0 & 4.51\e2 & 0.0 & & & & & & \\
\end{tabular}
Execute (g:easy_align_bypass_fold set, foldmethod should not change):
let g:easy_align_bypass_fold = 1
setlocal foldmethod=syntax
%EasyAlign*&
AssertEqual 'syntax', &l:foldmethod
setlocal foldmethod=manual
%EasyAlign*&
AssertEqual 'manual', &l:foldmethod
Expect tex:
\begin{tabular}{}
32 & 1.14\e1 & & 5.65\e2 & & & & 1.16\e1 & & 1.28\e1 & \\
64 & 1.03\e1 & 0.1 & 4.98\e2 & 0.2 & & & 9.21\e2 & 0.3 & 1.02\e1 & 0.3 \\
128 & 9.86\e2 & 0.1 & 4.69\e2 & 0.1 & & & 8.46\e2 & 0.1 & 9.45\e2 & 0.1 \\
256 & 9.65\e2 & 0.0 & 4.59\e2 & 0.0 & & & 8.15\e2 & 0.1 & 9.11\e2 & 0.1 \\
% 512&9.55\e2&0.0&4.56\e2&0.0&&&8.01\e2&0.0&8.96\e2&0.0\\
1024 & 9.49\e2 & 0.0 & 4.53\e2 & 0.0 & & & 7.94\e2 & 0.0 & 8.89\e2 & 0.0 \\
2048 & 9.47\e2 & 0.0 & 4.52\e2 & 0.0 & & & 7.91\e2 & 0.0 & 8.85\e2 & 0.0 \\
4096 & 9.46\e2 & 0.0 & 4.51\e2 & 0.0%&&&7.90\e2&0.0&8.83\e2&0.0\\
8192 & 9.45\e2 & 0.0 & 4.51\e2 & 0.0 & & & & & & \\
\end{tabular}
Execute:
Restore