From 0db4ea6132110631ec678a99a82aa49a0686ae65 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Thu, 1 Oct 2015 19:32:36 +0900 Subject: [PATCH] Use virtcol in blockwise visual mode --- autoload/easy_align.vim | 7 +++++-- test/interactive.vader | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/autoload/easy_align.vim b/autoload/easy_align.vim index 67b79ef..14459c5 100644 --- a/autoload/easy_align.vim +++ b/autoload/easy_align.vim @@ -1050,12 +1050,15 @@ function! s:process(range, mode, n, ch, opts, regexp, rules, bvis) \ get(dict, 'align', recur == 2 ? s:alternating_modes(a:mode) : a:mode), \ recur) + let ve = &virtualedit + set ve=all let args = [ \ {}, split(mode_sequence, '\zs'), \ {}, {}, a:range[0], a:range[1], - \ a:bvis ? min([col("'<"), col("'>")]) : 1, - \ (!recur && a:bvis) ? max([col("'<"), col("'>")]) : 0, + \ a:bvis ? min([virtcol("'<"), virtcol("'>")]) : 1, + \ (!recur && a:bvis) ? max([virtcol("'<"), virtcol("'>")]) : 0, \ nth, recur, dict ] + let &ve = ve while len(args) > 1 let args = call('s:do_align', args) endwhile diff --git a/test/interactive.vader b/test/interactive.vader index 273c779..cd04917 100644 --- a/test/interactive.vader +++ b/test/interactive.vader @@ -1557,6 +1557,41 @@ Expect clojure: 10 20)] (prn [a bbb ccccc])) +Given clojure: + {:user {:plugins [[cider/cider-nrepl "0.9.1"] + [lein-kibit "0.0.8"] + [lein-licenses "0.1.1"] + [lein-marginalia "0.8.0"] ; lein marg + [codox "0.8.13"] ; lein doc + [com.jakemccrary/lein-test-refresh "0.10.0"] ; lein test-refresh + [lein-pprint "1.1.2"] + [lein-exec "0.3.5"] + [jonase/eastwood "0.2.1"]] + :dependencies [[slamhound "1.5.5"]] + :aliases {"slamhound" ["run" "-m" "slam.hound"]} + :signing {:gpg-key "FEF9C627"}}} + +Do (Virtual column should be used in blockwise-visual mode): + f[ + vi[ + \ + $20l + \\ + +Expect clojure: + {:user {:plugins [[cider/cider-nrepl "0.9.1"] + [lein-kibit "0.0.8"] + [lein-licenses "0.1.1"] + [lein-marginalia "0.8.0"] ; lein marg + [codox "0.8.13"] ; lein doc + [com.jakemccrary/lein-test-refresh "0.10.0"] ; lein test-refresh + [lein-pprint "1.1.2"] + [lein-exec "0.3.5"] + [jonase/eastwood "0.2.1"]] + :dependencies [[slamhound "1.5.5"]] + :aliases {"slamhound" ["run" "-m" "slam.hound"]} + :signing {:gpg-key "FEF9C627"}}} + ########################################################### Given (hard-tab indentation (#19)):