1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2024-11-24 22:42:53 +01:00
Commit Graph

938 Commits

Author SHA1 Message Date
Andrey Vlasovskikh
8312f5cffd VIM-511 Added a test for repeating a change that includes auto-inserted parens and quotes 2014-10-21 19:41:11 +04:00
Andrey Vlasovskikh
e3fce51ea1 VIM-511 Fixed editing offset after <BS> for '.' command 2014-10-21 16:56:54 +04:00
Andrey Vlasovskikh
13b4e93bf4 Run the test only if the system clipboard is available 2014-10-20 16:53:25 +04:00
Andrey Vlasovskikh
cc2ed452f0 Merge branch 'clipboard-unnamed'
Conflicts:
	src/com/maddyhome/idea/vim/option/Options.java
	test/org/jetbrains/plugins/ideavim/action/CopyActionTest.java
2014-10-20 15:59:15 +04:00
Andrey Vlasovskikh
d4d3843725 VIM-476 Added default register reset on 'clipboard' change
Added a test for :set clipboard=unnamed.
2014-10-20 15:53:33 +04:00
Andrey Vlasovskikh
c873524cb1 VIM-784 Fixed visual line selection where start > end of the selection range
It was a regression introduced by the fix of VIM-632.
2014-10-15 15:10:22 +04:00
Andrey Vlasovskikh
d3afd83e8e Merge branch 'VIM-407' 2014-10-14 15:25:43 +04:00
Andrey Vlasovskikh
3e0e08c5e1 VIM-632 Restored visual block mode that was broken due to multiple carets support
Vim actions with multiple carets in modes other than visual block are
not supported yet. It will be a separate feature. The idea behind this
commit is to fix the regression in visual block mode.

Bounds of visual selection are no longer reversed if they are
overlapped, this fixes expanding the block selection in all directions.

IdeaVim no longer uses SelectionModel.hasBlockSelection() since it
always returns 'true' now.

There are a couple of places where we remove secondary carets when
moving the primary caret or re-setting visual mode. It may be
incompatible with the forthcoming support for multi-caret Vim actions.
2014-10-09 18:01:47 +04:00
Andrey Vlasovskikh
a717e4785d VIM-569 Fixed <C-W> when the caret is at the end of a line 2014-09-09 00:36:39 +04:00
Dathan Bennett
16ce16c632 Add test for VIM-569 fix 2014-09-06 02:59:49 -07:00
Andrew Brookins
19365effa9 VIM-407 Add tests. Only skip the ending line if it is empty.
Conflicts:
	src/com/maddyhome/idea/vim/group/ChangeGroup.java
	test/org/jetbrains/plugins/ideavim/action/ShiftRightLinesActionTest.java
2014-05-22 22:04:14 -07:00
Andrey Vlasovskikh
e564eb5878 VIM-213 Use '< and '> marks for saving and restoring last visual selection 2014-05-15 02:49:50 +04:00
Andrey Vlasovskikh
9cd620af58 VIM-646 Don't update visual selection if command moves caret and exits visual mode 2014-05-12 21:50:50 +04:00
Andrey Vlasovskikh
0887c72486 Updated index docs for all the visual mode commands 2014-05-12 20:00:17 +04:00
Andrey Vlasovskikh
a516fd880e Made visual-only mode actions VimCommandActions 2014-05-12 19:28:24 +04:00
Andrey Vlasovskikh
2d1b40f00c Added tests for 'gv' and 'o' in visual mode 2014-05-08 16:59:11 +04:00
Andrey Vlasovskikh
b200c842b4 VIM-679 Allow \u000D\u000C as <CR> in mappings 2014-05-05 21:26:35 +04:00
Andrey Vlasovskikh
c8df52a86c VIM-679 Allow \u0016 as an escape character for '|' in mappings 2014-05-05 20:51:39 +04:00
Andrey Vlasovskikh
b17a592c95 VIM-679 Parse characters less than \u0020 as <C-$CHAR> 2014-05-05 20:40:14 +04:00
Andrey Vlasovskikh
f71d6c7fab VIM-679 Don't trim whitespace-like characters from command arguments
Characters like '\u0018' may appear in mapping commands.
2014-04-30 21:08:16 +04:00
Andrey Vlasovskikh
b593d90dff VIM-676 Handle control characters in .vimrc as pressed, not typed keystrokes 2014-04-30 18:46:45 +04:00
Andrey Vlasovskikh
6ee0b821cc VIM-672 Ignore mappings that contain <Plug> and <SID>
These mappings don't make sense to Vim emulation in IdeaVim.
2014-04-29 19:39:58 +04:00
Andrey Vlasovskikh
72dc121fcd VIM-670 First character of a recursive mapping shouldn't be mapped again
The mapping's "from" keys should be a prefix of "to" keys.
2014-04-29 17:22:25 +04:00
Andrey Vlasovskikh
786c4dc817 VIM-666 Support <Bar> in Vim key notation 2014-04-29 16:47:47 +04:00
Andrey Vlasovskikh
4351d5c366 VIM-666 Ignore characters after '|' in :map commands
Perhaps it should become a part of command parsing, since it is
possible to put several command on one line.
2014-04-29 16:40:28 +04:00
Andrey Vlasovskikh
e9e5c77cd3 VIM-661 Apply Operator pending and Visual mode mappings only at command start 2014-04-28 17:23:45 +04:00
Andrey Vlasovskikh
1f842b6d31 New IdeaVim API compatibility 2014-04-24 17:38:37 +04:00
Andrey Vlasovskikh
954d7bd14c Merge remote-tracking branch 'selesse/vim-439'
Conflicts:
	src/com/maddyhome/idea/vim/ex/CommandParser.java
2014-04-24 17:35:10 +04:00
Andrey Vlasovskikh
3cb40cb09d VIM-661 Apply Normal mode mappings only at command start 2014-04-23 20:44:06 +04:00
Andrey Vlasovskikh
1d0b1791c4 VIM-651 Parse <BS> as backspace 2014-04-22 17:59:49 +04:00
Andrey Vlasovskikh
684531aaae VIM-665 Handle Shift-char as typed uppercase keystroke, not as pressed one 2014-04-22 17:16:09 +04:00
Andrey Vlasovskikh
4a1504f9e0 VIM-660 Handle <C-Space> as pressed keystroke, not typed one 2014-04-22 16:50:46 +04:00
Andrey Vlasovskikh
52c86d8c27 VIM-645 Handle '<Space>' in key mappings as a typed key, not as a pressed shortcut 2014-04-08 00:25:14 +04:00
Andrey Vlasovskikh
2a0833e3b5 Don't try to interpret '<script>' and '<expr>' key mappings 2014-04-06 03:52:39 +04:00
Andrey Vlasovskikh
6acc89331d Ignore special arguments of 'map' 2014-04-06 03:45:36 +04:00
Andrey Vlasovskikh
c16d83ceab Handle '<nop>' in mappings 2014-04-05 00:25:54 +04:00
Andrey Vlasovskikh
a7820f4fd0 More special keys of Vim '<>' notation 2014-04-05 00:15:11 +04:00
Andrey Vlasovskikh
12dd338914 Fixed parsing lowercase characters in keystrokes with modifiers 2014-04-04 23:51:58 +04:00
Andrey Vlasovskikh
5f1a1d0aa0 Show non-recursive mapping status in the output of 'map' 2014-04-04 16:46:40 +04:00
Andrey Vlasovskikh
779909bdeb Added support for 'noremap' commands 2014-04-04 16:35:11 +04:00
Andrey Vlasovskikh
db6399f1c5 Added test for recursive key mapping 2014-04-04 15:39:20 +04:00
Andrey Vlasovskikh
32ee6be7f9 Fixed displaying 'map' NVO mapping code 2014-04-04 00:29:52 +04:00
Andrey Vlasovskikh
0c59182eb8 Show modes code for mappings 2014-04-04 00:15:57 +04:00
Andrey Vlasovskikh
391e14a05b Output sorted map results 2014-04-04 00:09:52 +04:00
Andrey Vlasovskikh
9340208c2c Handle unknown special keys as simple key sequences 2014-04-02 02:12:08 +04:00
Andrey Vlasovskikh
a658b8d8bd Handle unfinished special keys as simple key sequences 2014-04-02 02:05:57 +04:00
Andrey Vlasovskikh
0b9946eaf9 Handle '\' at the end of the mapping as regular '\' 2014-04-02 01:55:35 +04:00
Andrey Vlasovskikh
6ea255f125 Reset key mappings for each test 2014-04-02 01:54:26 +04:00
Andrey Vlasovskikh
0225975e20 Backslash is an escape character only for '\' and '<' 2014-04-02 01:43:20 +04:00
Andrey Vlasovskikh
19f0399f28 Added 'imap' to mapping commands table
It's now possible to try ':imap jj <Esc>' at runtime. Reading mappings
from .vimrc is not supported yet.
2014-04-01 00:42:43 +04:00
Andrey Vlasovskikh
05436427ee Very initial key mapping support 2014-04-01 00:20:13 +04:00
Andrey Vlasovskikh
3b3fa3a455 Split configureByText() and typeText() 2014-03-28 16:38:41 +04:00
Andrey Vlasovskikh
13d3d4e990 Unified running Ex commands in tests with the usual key handling 2014-03-28 16:30:06 +04:00
Andrey Vlasovskikh
ea454d3c07 Use parseKeys() instead of stringToKeys() in tests 2014-03-26 18:44:57 +04:00
Andrey Vlasovskikh
d44412c712 Don't require a custom "Vim" keymap any longer
Keyboard shortcut conflicts aren't handled yet.
2014-03-20 18:18:43 +04:00
Andrey Vlasovskikh
95a395ed70 Moved Vim operation groups accessors to VimPlugin
VimPlugin now acts as a facade to Vim operations.
2014-03-19 18:29:42 +04:00
Alex Selesse
6a7135d2bc VIM-439: Implement :sort command.
- Supports "n", "i" and "!" arguments.
2014-02-06 08:43:55 -05:00
ik
b05892e97d VIM-528
Change annotations to reflect that pp (CharPointer) is Nullable
Create check that if pp (CharPointer) is Nullable, code that could result in an NPE (NullPointerException) is not executed
Update the added tests' comments to reflect that they are for VIM-528
2013-12-02 10:42:27 -05:00
ik
f71e24d17e VIM-528 and VIM-459
These 2 cases (duplicates) are fixed with this commit
Additionally, there are a couple of new test cases for search groups and substitutions.
2013-11-18 14:33:06 -05:00
Andrey Vlasovskikh
f3d66b3356 VIM-551 Argument of ':put' is optional 2013-08-12 19:39:59 +04:00
Andrey Vlasovskikh
f21190cb24 VIM-550 ':put' creates a new line 2013-08-12 19:38:33 +04:00
Andrey Vlasovskikh
9554eb0990 Extracted VimTestCase.typeText() 2013-08-12 18:40:51 +04:00
Andrey Vlasovskikh
9c04525df8 Extracted VimTestCase.runExCommand() 2013-08-12 18:26:52 +04:00
Andrey Vlasovskikh
38b859e555 VIM-472 Fixed right selection in visual character mode to be one char past line 2013-03-26 16:36:15 +04:00
Andrey Vlasovskikh
ca8026f612 VIM-404 Fixed 'O' at the first line 2013-03-26 15:51:15 +04:00
Andrey Vlasovskikh
505fcf5b31 VIM-421 Fixed 'cw' at the last word in line 2013-03-13 13:48:11 -07:00
Andrey Vlasovskikh
decb17e665 VIM-92 Alternative shortcuts for actions with shortcuts bound to IdeaVim
Alternative action shortcuts are obtained from standard shortcuts by
adding Alt+, Ctrl+, Shift+, Meta+, Alt+Ctrl+, etc. to them.
2013-03-12 16:48:17 +04:00
Alexander Zolotov
79df0b0594 VIM-92: Fix Vim keymap to work better in Mac OS
- ability to define extra shortcuts
2013-01-11 00:42:31 +04:00
Alexander Zolotov
dfbddb4050 VIM-92: Fix Vim keymap to work better in Mac OS
- tests for keymap generation
2013-01-10 23:47:20 +04:00
Andrey Vlasovskikh
ed5358a6d6 VIM-262 Support for paste from register in command mode 2012-12-25 22:30:52 +04:00
Andrey Vlasovskikh
c4927372ec Test for handling digraphs in command mode 2012-12-25 21:04:07 +04:00
Andrey Vlasovskikh
a71c75b53e Fixed Ex command panel to run unit tests of Ex commands 2012-12-25 17:58:17 +04:00
Andrey Vlasovskikh
d95f67748c VIM-262 Test for <C-R> in insert mode 2012-12-25 15:37:03 +04:00
Andrey Vlasovskikh
d52679eae8 VIM-43 Added support for the last change position mark 2012-12-24 17:39:40 +04:00
Andrey Vlasovskikh
f89d824367 VIM-400 Fixed saving special characters in settings 2012-12-16 23:32:27 +04:00
Andrey Vlasovskikh
25e631aa73 VIM-393 Fixed restoring editor state after invalid arguments with pending operators 2012-12-03 22:00:06 +04:00
Andrey Vlasovskikh
6c2dc0a048 VIM-244 Fixed 'dl' for the last character in line 2012-12-03 20:50:26 +04:00
Andrey Vlasovskikh
fde7764759 VIM-394 Fixed 'daw' for first and last words with no space at the right/left in current line 2012-12-03 20:36:57 +04:00
Andrey Vlasovskikh
fa96e5d530 Fixed 'ci"' for empty strings 2012-12-03 20:07:42 +04:00
Andrey Vlasovskikh
591317ebbe VIM-296 Fixed 'cc' at the last line 2012-12-03 17:55:50 +04:00
Andrey Vlasovskikh
b042328b3b VIM-392 Fixed change action at the last char in word for non-word motions 2012-12-03 16:03:11 +04:00
Andrey Vlasovskikh
9089517868 More tests for VIM-314 and VIM-326 2012-11-30 19:32:25 +04:00
Andrey Vlasovskikh
ef7a1eb323 VIM-390 Fixed paste a single line at the last line 2012-11-30 19:09:54 +04:00
Andrey Vlasovskikh
1324c232d7 Fixed compilation of tests for IntelliJ 11 2012-11-29 20:56:36 +04:00
Alexander Zolotov
f3d1ddabb1 Fix tests initialization for community plugin sdk 2012-11-29 19:48:56 +04:00
Andrey Vlasovskikh
14733a1d6a Fixed regression in moving down to the last empty line that ends with '\n' 2012-11-28 20:39:52 +04:00
Andrey Vlasovskikh
669b16fe68 VIM-105 Fixed 'w' motion for the last word in line
Handling of a special case in the Vim documentation for 'w'.
2012-11-28 20:18:09 +04:00
Andrey Vlasovskikh
399c42d5e4 Fixed regression in moving right to the last symbol in file in insert mode 2012-11-28 19:41:20 +04:00
Andrey Vlasovskikh
59c5afa9ee Tests cleanup 2012-11-28 16:19:03 +04:00
Andrey Vlasovskikh
18e2af740f Added single and back quoted string selection 2012-11-27 20:43:10 +04:00
Andrey Vlasovskikh
51837c9e9e Fixed right selection range of 'vi"' motion 2012-11-27 20:09:23 +04:00
Andrey Vlasovskikh
1195b3e507 Extracted assertSelection() method 2012-11-27 19:58:59 +04:00
Andrey Vlasovskikh
b608e05fe5 Tests for double quoted string selection 2012-11-27 19:43:38 +04:00
Andrey Vlasovskikh
39aade79a0 Tests for supported text object motions 2012-11-27 16:41:01 +04:00
Andrey Vlasovskikh
c7855a98c4 VIM-331 Fixed word bounds in 'w' motion for extended latin letters 2012-11-26 16:53:32 +04:00
Andrey Vlasovskikh
de318dc975 Tests for Japanese word bounds 2012-11-26 15:22:25 +04:00
Andrey Vlasovskikh
dd2837ebc6 VIM-312 Fixed range and caret position after 'dw' on the last single-word line 2012-11-23 16:13:11 +04:00
Andrey Vlasovskikh
7360f964b1 Fixed 'w' motion at the last word 2012-11-22 21:22:58 +04:00
Andrey Vlasovskikh
c51b09acb1 Refactored assertions in motion tests 2012-11-22 20:18:31 +04:00
Andrey Vlasovskikh
a3f330f9d9 VIM-312 Fixed 'w' command argument for the last word in file 2012-11-22 20:02:07 +04:00
Andrey Vlasovskikh
8f463c7a11 Tests for current 'w' motion/command argument bugs 2012-11-22 19:04:24 +04:00
Andrey Vlasovskikh
054a4f9935 VIM-85 Updated bugfix to fix compilation issues and added test 2012-11-20 20:10:40 +04:00
Andrey Vlasovskikh
e89e428217 Always move cursor at the beginning of the deleted range 2012-11-20 19:09:05 +04:00
Andrey Vlasovskikh
a8fbafc4ab VIM-275 Fixed edge cases for 'i{' motion 2012-11-20 19:05:41 +04:00
Andrey Vlasovskikh
4ded6b0a79 Added test for VIM-261 2012-11-20 16:10:13 +04:00
Andrey Vlasovskikh
44cb5c7d5c VIM-314 Made 'i{' motion characterwise, not linewise/characterwise in visual mode 2012-11-20 16:03:12 +04:00
Andrey Vlasovskikh
266f0202cd Tests for matched and unmatched brackets 2012-11-19 18:47:37 +04:00
Andrey Vlasovskikh
e14e4de469 VIM-326 Fixed IOOBE in delete inner block motion inside string literals 2012-11-19 18:25:15 +04:00
Andrey Vlasovskikh
de1705b85a Refactored motion tests 2012-11-19 18:02:04 +04:00
Andrey Vlasovskikh
f27081cfe4 Moved insert tests to change tests 2012-11-14 20:08:35 +04:00
Andrey Vlasovskikh
05043571dc VIM-157 Fixed regression in moving the cursor after '~' 2012-11-14 19:52:29 +04:00
Andrey Vlasovskikh
e074105bde VIM-112 Delete a single previous word with <C-W> in insert mode, not all inserted words 2012-11-14 17:08:32 +04:00
Andrey Vlasovskikh
7a8bdfc4fc VIM-321 Updated test number and help index for 'd' and 'count' 2012-11-14 16:05:04 +04:00
Andrey Vlasovskikh
d765eb74ef VIM-312 Fixed IOOBE in delete empty range 2012-11-13 22:44:54 +04:00
Andrey Vlasovskikh
6eb15ecb96 Fixed command handling when motion expected, but another type of argument found 2012-11-10 03:55:10 +04:00
Andrey Vlasovskikh
b6e7533262 Index of supported commands covered with tests 2012-11-09 23:17:50 +04:00
Andrey Vlasovskikh
bb0fb6e787 Extracted editor sub-mode and selection mode as enums 2012-11-09 20:30:23 +04:00
Andrey Vlasovskikh
0e91f52cbc Reset key handler before each test 2012-11-09 20:23:35 +04:00
Andrey Vlasovskikh
ef67ecc898 VIM-311 Test for single command sub-mode of insert mode 2012-11-08 19:17:20 +04:00
Andrey Vlasovskikh
c81b668f82 Extracted editor mode as enum 2012-11-07 16:48:05 +04:00
Andrey Vlasovskikh
2ddaa26b8f EA-33193 Fixed access to context data from different Swing events
In order to set marks and jump locations we don't require a data context. We always can find the marked file via the current editor.
2012-11-02 20:01:33 +04:00
Andrey Vlasovskikh
19ec6f3a10 No Unicode chars in tests for build server environment 2012-10-31 20:49:23 +04:00
Andrey Vlasovskikh
f4f04d5a08 Removed test that depends on search history 2012-10-31 19:05:19 +04:00
Andrey Vlasovskikh
9daf10cf22 Fixed compilation of tests for IntelliJ 11.x 2012-10-31 18:51:32 +04:00
Andrey Vlasovskikh
0d14a46d08 VIM-289 Fixed regexp substitute when the substitution contained newlines 2012-10-29 19:41:54 +04:00
Andrey Vlasovskikh
0a079be25c Vim compatible regexp substitutions for '\n' and '\r' 2012-10-29 18:42:29 +04:00
Andrey Vlasovskikh
6e8d3abb17 Macro recording test 2012-10-23 20:16:06 +04:00
Andrey Vlasovskikh
c502c4a083 Pull typeTextInFile() up to VimTestCase 2012-10-17 16:54:57 +04:00
Andrey Vlasovskikh
87026bda3c Reuse StringHelper.stringToKeys() 2012-10-17 16:49:21 +04:00
Andrey Vlasovskikh
0872a0c3b5 More motion tests 2012-10-15 20:21:46 +04:00
Andrey Vlasovskikh
b26d68984f VIM-226 Added tests for the bug fixed together with VIM-146 2012-10-12 19:37:02 +04:00
Andrey Vlasovskikh
a58203f0b2 VIM-146 Fixed handling of '$' in search and substitute commands
'$' matches an empty range at the end of a line, so in multiple matches mode the search continued forever.
2012-10-12 19:03:55 +04:00
Andrey Vlasovskikh
694bb9eefa Register action for 'iW' selection 2012-10-10 17:14:16 +04:00
Andrey Vlasovskikh
d4b202a7f4 VIM-198 Fixed indexing bug in offset normalization
Normalization was fixed for files that contain a newline at the end and when the normalized offset is allowed to be at the end of a line.
2012-10-10 16:53:00 +04:00
Andrey Vlasovskikh
3a5b8dbf0f Moved toKeyStrokes() to VimTestCase 2012-10-10 16:46:09 +04:00
Andrey Vlasovskikh
3d18c08fd4 VIM-276 T and F motions are exclusive, not inclusive 2012-10-09 21:22:00 +04:00
Andrey Vlasovskikh
df4ac6d642 Base class for action tests 2012-10-09 21:15:51 +04:00
Andrey Vlasovskikh
e3abbf68dc Moved SearchHelperTest into a separate test directory 2012-10-09 21:13:48 +04:00