From 0166077e16dd640d4f54dfea50fde83728db84d4 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Tue, 13 Aug 2013 00:19:56 +0900 Subject: [PATCH] Case-insensitive match of `delimiter_align` --- autoload/easy_align.vim | 7 ++++--- test/basic.script | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/autoload/easy_align.vim b/autoload/easy_align.vim index 2b77fc8..e1d7f52 100644 --- a/autoload/easy_align.vim +++ b/autoload/easy_align.vim @@ -289,12 +289,12 @@ function! s:do_align(just, all_tokens, all_delims, fl, ll, fc, lc, pattern, nth, " Pad the delimiter let dpadl = max_delim_len - s:strwidth(delim) - if a:da == 'l' + if a:da ==? 'l' let [dl, dr] = ['', repeat(' ', dpadl)] - elseif a:da == 'c' + elseif a:da ==? 'c' let dl = repeat(' ', dpadl / 2) let dr = repeat(' ', dpadl - dpadl / 2) - elseif a:da == 'r' + elseif a:da ==? 'r' let [dl, dr] = [repeat(' ', dpadl), ''] else call s:exit('Invalid delimiter_align: ' . a:da) @@ -395,6 +395,7 @@ function! s:parse_args(args) let cand = strpart(args, midx) try let [l, r, c] = ['l', 'r', 'c'] + let [L, R, C] = ['l', 'r', 'c'] let o = eval(cand) if type(o) == 4 let option = o diff --git a/test/basic.script b/test/basic.script index fbb3425..251130d 100644 --- a/test/basic.script +++ b/test/basic.script @@ -1 +1 @@ -4Gvipjyvip Pvip 2 Pvip * Pvip Pvip 2 Pvip * Pvip ** Pvip - Pvip -2 Pvip -1 Pvip ** 60zzvipjyvip *|Pvip *|Pvip **|80zzvip **|gv 3|vip *|90zzvip *,100zzvipjyvip =Pvip *=Pvip **=Pvip =vip 2=198Gvipjyvip =Pvip -=Pf:jj3E =209Gvip - 214zzvipjyvip #P:let g:easy_align_delimiters = { '#': {'pattern': '#\+', 'ignores': ['String'] } } vip #227zzvip :239zzvip *=vipjyP:let g:easy_align_ignores = [] vip *=:unlet g:easy_align_delimiters :unlet g:easy_align_ignores 4Gvipy4GP7Gojkkvip:EasyAlign /1/{'ml':'{{', 'mr-r':'}}'} vipjyPvip:EasyAlign */../ 263zzvipjygv .Pvip *.Pvip * .Pvip .vip 2.Pvip **.Pvip **.Pvip -.G303zzvip .310zzvipjygv *|Pvip *|Pvip |gv -|gv **|gv *|gv **|jji jjjhi vip ** |339Gpvip:EasyAlign*|{'ml': 5, 'mrr': 0 } 349Gpvip:EasyAlign*/|/{'ml':'<', 'mrr': 4} 362G:let g:easy_align_delimiters = { 'd': { 'pattern': '\s\+\(\S\+\s*[;=]\)\@=', 'left_margin': 0, 'right_margin': 0 } } vip dgv =236GvipjyPvip :377Gvip gv 2 382Gvipjyvip:EasyAlign/-\+/ Pvip:EasyAlign2/-\+/ Pvip:EasyAlign*/-\+/ Pvip:EasyAlign*/-\+/{'da': l} Pvip:EasyAlign/-\+/{'da': c} Pvip:EasyAlign*/-\+/{'delimiter_align':'c'} Pvip:EasyAlign*/-\+/{'da': 'x'} 381Gpvip:EasyAlign/-\+/{'da':r} :let g:easy_align_delimiter_align = 'l' Pvip:EasyAlign/-\+/ Pvip:EasyAlign*/-\+/ :unlet g:easy_align_delimiter_align :let g:easy_align_delimiters['_'] = { 'pattern': '-\+', 'delimiter_align': 'c' } Pvip _Pvip *-vip *_Pvip:EasyAlign*_{'da':l} Pvip:EasyAlign*_ Pvip:EasyAlign*_{'da': 'r'} +4Gvipjyvip Pvip 2 Pvip * Pvip Pvip 2 Pvip * Pvip ** Pvip - Pvip -2 Pvip -1 Pvip ** 60zzvipjyvip *|Pvip *|Pvip **|80zzvip **|gv 3|vip *|90zzvip *,100zzvipjyvip =Pvip *=Pvip **=Pvip =vip 2=198Gvipjyvip =Pvip -=Pf:jj3E =209Gvip - 214zzvipjyvip #P:let g:easy_align_delimiters = { '#': {'pattern': '#\+', 'ignores': ['String'] } } vip #227zzvip :239zzvip *=vipjyP:let g:easy_align_ignores = [] vip *=:unlet g:easy_align_delimiters :unlet g:easy_align_ignores 4Gvipy4GP7Gojkkvip:EasyAlign /1/{'ml':'{{', 'mr-r':'}}'} vipjyPvip:EasyAlign */../ 263zzvipjygv .Pvip *.Pvip * .Pvip .vip 2.Pvip **.Pvip **.Pvip -.G303zzvip .310zzvipjygv *|Pvip *|Pvip |gv -|gv **|gv *|gv **|jji jjjhi vip ** |339Gpvip:EasyAlign*|{'ml': 5, 'mrr': 0 } 349Gpvip:EasyAlign*/|/{'ml':'<', 'mrr': 4} 362G:let g:easy_align_delimiters = { 'd': { 'pattern': '\s\+\(\S\+\s*[;=]\)\@=', 'left_margin': 0, 'right_margin': 0 } } vip dgv =236GvipjyPvip :377Gvip gv 2 382Gvipjyvip:EasyAlign/-\+/ Pvip:EasyAlign2/-\+/ Pvip:EasyAlign*/-\+/ Pvip:EasyAlign*/-\+/{'da': L} Pvip:EasyAlign/-\+/{'da': c} Pvip:EasyAlign*/-\+/{'delimiter_align':'C'} Pvip:EasyAlign*/-\+/{'da': 'x'} 381Gpvip:EasyAlign/-\+/{'da':r} :let g:easy_align_delimiter_align = 'l' Pvip:EasyAlign/-\+/ Pvip:EasyAlign*/-\+/ :unlet g:easy_align_delimiter_align :let g:easy_align_delimiters['_'] = { 'pattern': '-\+', 'delimiter_align': 'c' } Pvip _Pvip *-vip *_Pvip:EasyAlign*_{'da':l} Pvip:EasyAlign*_ Pvip:EasyAlign*_{'da': 'R'}