Commit Graph

66 Commits

Author SHA1 Message Date
Junegunn Choi
aa1ba68ea0 Retain cursor position after <Plug>(EasyAlign) in visual mode 2014-11-30 02:01:52 +09:00
Junegunn Choi
f6586bad39 <CTRL-P> to switch to live interactive mode (#44) 2014-11-30 01:45:27 +09:00
Junegunn Choi
6bc221c285 Fix #40: Spurious undo in live interactive mode
Problem identified and patch provided by @wilywampa
2014-10-03 11:25:51 +09:00
Junegunn Choi
21697776b4 Allow recursive alignment (*, **) in blockwise-visual mode
Recursive alignment in blockwise-visual mode will align around all the
delimiters found after the start of the block. This behavior is
inconsistent with non-recursive alignment where the delimiters after the
end of the block are ignored. Making it respect the end of the block is
non-trivial and may not be intuitive as each alignment will change the
position of the delimiters inside the block and some of them will end up
beyond the scope of the block.
2014-09-13 19:54:49 +09:00
Junegunn Choi
eee4735770 Update shorthand notation for stick_to_left: > to unset
- `<` == `stl1`
- `>` == `stl0`
2014-08-14 12:38:44 +09:00
Junegunn Choi
2fa6a040f6 Change option name and shorthand notations
- `mode_sequence` (`ms`) -> `align` (`a`)
- `stick_to_left` (`<` / `s01`)

This commit does not break backward compatibility.
`mode_sequence` is still allowed.
2014-07-23 22:15:01 +09:00
Junegunn Choi
f9a49e441d Preserve last selection when using <Plug>(EasyAlign) 2014-06-27 23:31:22 +09:00
Junegunn Choi
a98c1ccc99 Add '#'-rule (#30)
For Ruby/Python comments. This new '#' rule will only match
'#' characters that are highlighted as comments.
2014-06-20 10:36:37 +09:00
Junegunn Choi
a9f593fdf8 Update test runner 2014-05-09 00:55:28 +09:00
Junegunn Choi
ba54df53ca Better handling of tab characters using strdisplaywidth 2014-04-11 10:39:39 +09:00
Junegunn Choi
12792cd60f Simplify tests using Include: directive 2014-01-19 11:32:52 +09:00
Junegunn Choi
6d85e93476 Make repeatable in visual mode 2013-12-06 02:11:57 +09:00
Junegunn Choi
9271fc3f8f Make visual-operator repeatable (#24) 2013-12-05 23:16:33 +09:00
Junegunn Choi
62387b78e0 Fix normal-mode repeat affected by visual-mode operator 2013-12-05 13:36:01 +09:00
Junegunn Choi
da284f908e <Plug>(EasyAlign) / <Plug>(LiveEasyAlign) for vim-repeat integration 2013-12-01 22:58:13 +09:00
Junegunn Choi
165bda1d95 Add <Plug>(EasyAlignOperator) 2013-11-30 13:04:32 +09:00
Junegunn Choi
3921d0bab3 Fix #20 - Alignment with tabs inserting spaces 2013-11-20 07:27:39 +09:00
Junegunn Choi
2daae46a43 Fix indentation option to work with hard tabs (#19) 2013-10-31 12:32:07 +09:00
Junegunn Choi
2b119f9bb6 Fix issue #19 (hard tab indentation) 2013-10-31 11:08:02 +09:00
Junegunn Choi
2832a76cea Implement filter option (#16, #17)
This commit implements filter option which can be used to filter lines within
the range based on the given pattern. The value of filter option should be
either `g/pattern/` or `v/pattern/`. The former aligns lines that match the
pattern, the latter aligns lines that do not match the pattern.
2013-10-27 03:10:04 +09:00
Junegunn Choi
1a232ac19b Revert "Make user confirm regular expression on live interactive mode"
This reverts commit a76cfdb8ae.
2013-10-25 02:17:52 +09:00
Junegunn Choi
a76cfdb8ae Make user confirm regular expression on live interactive mode 2013-10-25 02:11:43 +09:00
Junegunn Choi
c3a7842b0d Remove a redundant Expect block 2013-10-22 11:24:46 +09:00
Junegunn Choi
3cc564bd68 Do not attach margin_left string before phantom token 2013-10-19 19:49:11 +09:00
Junegunn Choi
6e2264672a Implement live interactive mode (#15)
This commit adds LiveEasyAlign command. (The name was chosen not to introduce
ambiguity when typing in only the prefix of the command: e.g. `:EasyA*|`)
In live interactive mode, the selected text is aligned on-the-fly as the user
type in. In order to finalize the alignment, the user has to type in the
same delimiter key again. (Or CTRL-X on regular expressions)
2013-10-19 19:21:23 +09:00
Junegunn Choi
bec3e94383 Log g:easy_align_last_command 2013-10-18 18:05:52 +09:00
Junegunn Choi
831cecdaf2 Implement g:easy_align_bypass_fold switch (#14) with a small fix 2013-10-15 23:00:43 +09:00
Junegunn Choi
256e5b83ab Remove recursion not to fail in case of many delimiters (> maxfuncdepth) 2013-10-13 03:31:05 +09:00
Junegunn Choi
7b82a1e496 Fix: right margin sometimes not attached in partial alignment 2013-10-13 02:09:06 +09:00
Junegunn Choi
ad2df21039 Add alignment rule for LaTeX tables (#13) 2013-10-10 22:15:23 +09:00
Junegunn Choi
124654ec46 Update test doc 2013-10-10 12:58:27 +09:00
Junegunn Choi
e24f8479a5 Fix invalid test case 2013-10-10 00:19:54 +09:00
Junegunn Choi
9d626dd765 Add test cases for ignore_unmatched behavior 2013-10-10 00:18:52 +09:00
Junegunn Choi
aa42666f10 Remove recording-based test for interactive mode 2013-10-10 00:03:21 +09:00
Junegunn Choi
9951cad2d0 Rename README 2013-10-09 22:18:38 +09:00
Junegunn Choi
7019edb08c More test cases on Vader 2013-10-09 22:11:03 +09:00
Junegunn Choi
247f69bf3f Migrate more test cases to Vader 2013-10-09 20:39:17 +09:00
Junegunn Choi
133588b181 Testing with Vader.vim 2013-10-09 20:16:58 +09:00
Junegunn Choi
2bf1b2164d Allow shorthand option notation when using delimiter key
e.g. :EasyAlign=l2r2dlmlr**
2013-10-07 21:09:37 +09:00
Junegunn Choi
fa26fd7b42 Remove option value after every cycle 2013-10-05 15:27:50 +09:00
Junegunn Choi
a4a1e27395 Apply ignore_unmatched option on R/C mode if explicitly set
By default, unmatched trailing token from each line is also aligned in
right and center alignment modes unlike in left alignment mode. If
ignore_unmatched option is explicitly set to 1 by user, they will be ignored
even in right/center modes.
2013-10-05 12:23:44 +09:00
Junegunn Choi
4c6a8c174d Implement shortcut expression for options 2013-10-03 21:59:51 +09:00
Junegunn Choi
8a783c2125 Fix a failure in test due to change in interactive mode 2013-09-22 22:21:23 +09:00
Junegunn Choi
afc95b5ed7 Forgiving interactive mode: Do not terminate on invalid input 2013-09-22 21:17:02 +09:00
Junegunn Choi
56e498a57d Implement mode_sequence expansion (#7) 2013-09-14 00:05:08 +09:00
Junegunn Choi
25fec2e955 Implement stick_to_left in center-alignment mode 2013-08-23 17:47:03 +09:00
Junegunn Choi
01337b9c4e Include .= operator in = rule 2013-08-23 17:40:13 +09:00
Junegunn Choi
4c5d6d9e82 Improve center-alignment: ignore leading whitespaces 2013-08-22 23:41:21 +09:00
Junegunn Choi
12c319a8ac Implement special keys to switch option values in interactive mode
With this commit, we can now change option values in interactive mode with the
folowing special keys

- CTRL-L  left_margin
- CTRL-R  right_margin
- CTRL-D  delimiter_align
- CTRL-I  indentation
- CTRL-U  ignore_unmatched
- CTRL-G  ignore_groups

('ignores' option has been renamed to 'ignore_groups', but backward-compatible)
2013-08-20 01:38:20 +09:00
Junegunn Choi
6fb4f57b5a Add test cases for center-alignment 2013-08-19 04:14:56 +09:00