vis
a vi-like editor based on Plan 9's structural regular expressions
git clone https://9o.is/git/vis.git
commit fb2674577d4f3a2471fa951b4732f040a6d01865 parent ad1b57c88969d8047301a254edf5fcb513b82bce Author: Marc André Tanner <mat@brain-dump.org> Date: Fri, 17 Feb 2017 13:36:54 +0100 test/vis: add some more tests Diffstat:
| A | vis/insert-mode/autoindent.in | | | 4 | ++++ |
| A | vis/insert-mode/autoindent.keys | | | 17 | +++++++++++++++++ |
| A | vis/insert-mode/autoindent.ref | | | 21 | +++++++++++++++++++++ |
| M | vis/insert-mode/verbatim.in | | | 4 | ++++ |
| M | vis/insert-mode/verbatim.keys | | | 9 | +++++++++ |
| M | vis/insert-mode/verbatim.ref | | | 5 | +++++ |
| A | vis/motions/percent.in | | | 5 | +++++ |
| A | vis/motions/percent.keys | | | 3 | +++ |
| A | vis/motions/percent.ref | | | 7 | +++++++ |
| A | vis/visual-mode/orientation.in | | | 1 | + |
| A | vis/visual-mode/orientation.keys | | | 8 | ++++++++ |
| A | vis/visual-mode/orientation.ref | | | 1 | + |
12 files changed, 85 insertions(+), 0 deletions(-)
diff --git a/vis/insert-mode/autoindent.in b/vis/insert-mode/autoindent.in @@ -0,0 +1,4 @@ +int foo(int a) { + for (;;) { + } +} diff --git a/vis/insert-mode/autoindent.keys b/vis/insert-mode/autoindent.keys @@ -0,0 +1,17 @@ +:set ai<Enter> +/for<Enter> +o<Enter> +<C-t> +if (a > 0) {<Enter> +<C-t>// positive<Enter><Enter> +return --a;<Enter> +<C-d>} else if (a < 0) {<Enter> +<C-t>// negative<Enter><Enter> +return ++a;<Enter> +<C-d>} else {<Enter> +<C-t>// equal<Enter><Enter> +return a;<Enter> +<C-d>}<Enter> +<Escape> +n +O<Enter>// optimized loop diff --git a/vis/insert-mode/autoindent.ref b/vis/insert-mode/autoindent.ref @@ -0,0 +1,21 @@ +int foo(int a) { + + // optimized loop + for (;;) { + + if (a > 0) { + // positive + + return --a; + } else if (a < 0) { + // negative + + return ++a; + } else { + // equal + + return a; + } + + } +} diff --git a/vis/insert-mode/verbatim.in b/vis/insert-mode/verbatim.in @@ -18,3 +18,7 @@ U+FFFD = U+FFFF = /* not really correct */ U+10FFFF = U+11000 = /* invalid */ +<Escape> = +<Tab> = +<Space> = +<Enter> = diff --git a/vis/insert-mode/verbatim.keys b/vis/insert-mode/verbatim.keys @@ -30,3 +30,12 @@ n a<Space><C-v>U0010FFFF<Escape> n a<Space><C-v>U00110000<Escape> +n +a<Space><C-v><Escape><Escape> +n +:set et<Enter> +a<Space><C-v><Tab><Escape> +n +a<Space><C-v><Space><Escape> +n +a<Space><C-v><Enter><Escape> diff --git a/vis/insert-mode/verbatim.ref b/vis/insert-mode/verbatim.ref @@ -18,3 +18,8 @@ U+FFFD = � U+FFFF = /* not really correct */ U+10FFFF = U+11000 = /* invalid */ +<Escape> = +<Tab> = +<Space> = +<Enter> = + diff --git a/vis/motions/percent.in b/vis/motions/percent.in @@ -0,0 +1,5 @@ +1 +2 +3 +4 +5 diff --git a/vis/motions/percent.keys b/vis/motions/percent.keys @@ -0,0 +1,3 @@ +50%i=<Escape> +1%i|<Escape> +100%. diff --git a/vis/motions/percent.ref b/vis/motions/percent.ref @@ -0,0 +1,6 @@ +|1 +2 +3= +4 +5 +| +\ No newline at end of file diff --git a/vis/visual-mode/orientation.in b/vis/visual-mode/orientation.in @@ -0,0 +1 @@ + { { = } } diff --git a/vis/visual-mode/orientation.keys b/vis/visual-mode/orientation.keys @@ -0,0 +1,8 @@ +f= +v2i{ +<Escape> +i<<Escape> +gv +o +<Escape> +a><Escape> diff --git a/vis/visual-mode/orientation.ref b/vis/visual-mode/orientation.ref @@ -0,0 +1 @@ + { > { = } < }