diff --git a/README.md b/README.md index c8b79c8..085ab9b 100644 --- a/README.md +++ b/README.md @@ -284,7 +284,7 @@ The following table summarizes the shorthand notation. | `filter` | `[gv]/.*/` | | `left_margin` | `l[0-9]+` | | `right_margin` | `r[0-9]+` | -| `stick_to_left` | `<` or `s[01]` | +| `stick_to_left` | `<` or `>` | | `ignore_unmatched` | `iu[01]` | | `ignore_groups` | `ig\[.*\]` | | `align` | `a[lrc*]*` | diff --git a/autoload/easy_align.vim b/autoload/easy_align.vim index f0ae541..846dc71 100644 --- a/autoload/easy_align.vim +++ b/autoload/easy_align.vim @@ -814,7 +814,7 @@ endfunction let s:shorthand_regex = \ '\s*\%(' - \ .'\(lm\?[0-9]\+\)\|\(rm\?[0-9]\+\)\|\(iu[01]\)\|\(\%(s\%(tl\)\?[01]\)\|<\)\|' + \ .'\(lm\?[0-9]\+\)\|\(rm\?[0-9]\+\)\|\(iu[01]\)\|\(\%(s\%(tl\)\?[01]\)\|[<>]\)\|' \ .'\(da\?[clr]\)\|\(\%(ms\?\|a\)[lrc*]\+\)\|\(i\%(dt\)\?[kdsn]\)\|\([gv]/.*/\)\|\(ig\[.*\]\)' \ .'\)\+\s*$' @@ -831,7 +831,7 @@ function! s:parse_shorthand_opts(expr) let match = matchlist(expr, regex) if empty(match) | break | endif for m in filter(match[ 1 : -1 ], '!empty(v:val)') - for key in ['lm', 'rm', 'l', 'r', 'stl', 's', '<', 'iu', 'da', 'd', 'ms', 'm', 'ig', 'i', 'g', 'v', 'a'] + for key in ['lm', 'rm', 'l', 'r', 'stl', 's', '<', '>', 'iu', 'da', 'd', 'ms', 'm', 'ig', 'i', 'g', 'v', 'a'] if stridx(tolower(m), key) == 0 let rest = strpart(m, len(key)) if key == 'i' | let key = 'idt' | endif @@ -853,8 +853,8 @@ function! s:parse_shorthand_opts(expr) catch call s:exit("Invalid ignore_groups: ". a:expr) endtry - elseif key == '<' - let opts['stl'] = 1 + elseif key =~ '[<>]' + let opts['stl'] = key == '<' else let opts[key] = str2nr(rest) endif diff --git a/doc/easy_align.txt b/doc/easy_align.txt index fd2bea5..f11aa89 100644 --- a/doc/easy_align.txt +++ b/doc/easy_align.txt @@ -385,7 +385,7 @@ The following table summarizes the shorthand notation. `filter` | `[gv]/.*/` `left_margin` | `l[0-9]+` `right_margin` | `r[0-9]+` - `stick_to_left` | `<` or `s[01]` + `stick_to_left` | `<` or `>` `ignore_unmatched` | `iu[01]` `ignore_groups` | `ig\[.*\]` `align` | `a[lrc*]*` diff --git a/test/commandline.vader b/test/commandline.vader index c23740d..36e49b0 100644 --- a/test/commandline.vader +++ b/test/commandline.vader @@ -84,6 +84,13 @@ Expect: apple;:;; banana:: cake data;; exchange:;:: format +Execute (>): + %EasyAlign*/[:;]\+/l0dl<>rm3 + +Expect: + apple;:;; banana :: cake + data ;; exchange:;:: format + Execute (different regular expression): %EasyAlign*/../{'lm':'<','rm':'>'}