Andrey Vlasovskikh
c33d4d989e
Clearer offsets comparison + multi-line deletion test
2016-02-09 00:20:58 +03:00
dhleong
3cd1134973
Fix calculation of how to paste surrounded value
...
Fixes VIM-1085; includes test
2016-02-06 10:23:05 -05:00
dhleong
1c7e6af1fc
Fix <esc> not sent after VSurround; support change with tags
2016-02-02 20:57:54 -05:00
dhleong
84f7e25c5e
Cleanup overly verbose code; remove unused import
2016-02-02 20:32:09 -05:00
dhleong
458fe97b75
Add visual surround (S
) command
2016-01-30 09:31:25 -05:00
dhleong
31364607f5
Add ds
command; jump to start when executed to match vim-surround
2016-01-30 09:14:34 -05:00
dhleong
56ec2c7ebc
Add cs
action
...
Note that, unfortunately, we can't do `cst`, as IdeaVim doesn't
support the tag textobject. Once that's supported, however, we
just need to disable the safety check to enable that.
2016-01-30 09:02:06 -05:00
Andrey Vlasovskikh
91546700d4
Added simple ys{motion}t tag surround and input()
function
2016-01-26 22:25:36 +03:00
Andrey Vlasovskikh
6328575639
'ys{motion}<' requires further user input to wrap text into HTML tags
2016-01-26 21:15:29 +03:00
Andrey Vlasovskikh
af534c9209
Repeat is not supported for 'ys' yet
2016-01-26 21:14:43 +03:00
Andrey Vlasovskikh
d46d292865
Added surround tests for 'ys' by dhleong
2016-01-26 18:15:00 +03:00
Andrey Vlasovskikh
1a96533a3c
Added unit test-friendly version of VimExtensionFacade.getKeyStroke()
2016-01-26 18:14:14 +03:00
Andrey Vlasovskikh
480b32b5af
Fixed AIOOBE in tag selection for files starting with '/' and containing '>'
2016-01-21 18:28:14 +03:00
lubba
a22afdd0f6
VIM-364 Added support for tag block selection
2015-12-03 15:19:54 +03:00
Andrey Vlasovskikh
e805852721
Platform prefix initialization is no longer needed
2015-10-30 15:20:36 +03:00
ayzen
5fc66b5896
={motion} implementation, == with count and fix for VIM-259
2015-07-11 21:44:36 +03:00
ayzen
80dec29832
Fix for VIM-965 with a test
2015-07-01 23:31:25 +03:00
ayzen
30a16e9496
Corrected typo that prevented correct calculation for marks vertical shifting; added a test
2015-06-14 10:54:15 +03:00
ayzen
0d6526ea31
Mark should not be deleted due to change commands that start from the beginning of the mark line
2015-06-14 10:41:52 +03:00
ayzen
4428340fd9
Fix for VIM-964 (marks get removed if one-char line is replaced by r) with a test
2015-06-14 10:38:36 +03:00
ayzen
900ce21445
Fix for VIM-564 (g_ didn't work correctly) with tests
2015-06-12 22:43:19 +03:00
ayzen
afb411dd35
Added tests for special registers
2015-06-05 21:09:16 +03:00
Andrey Vlasovskikh
85231b314f
More readable test data
2015-04-24 16:29:56 +03:00
Andrey Vlasovskikh
ae5b1385ea
Merge branch 'matching-comments'
2015-04-24 16:08:54 +03:00
Andrey Vlasovskikh
011ce28251
More readable tests for '%'
2015-04-24 16:08:32 +03:00
Andrey Vlasovskikh
7d033787eb
Better place for cleaning global variables
2015-04-24 14:31:06 +03:00
Andrey Vlasovskikh
3a47583cf9
Clean global variables
2015-04-24 14:27:38 +03:00
Andrey Vlasovskikh
b886073c11
VIM-650 Added support for 'mapleader'
2015-04-24 13:32:04 +03:00
Andrey Vlasovskikh
3ff9bfcc13
Initial support for 'let' and 'echo' commands
...
These commands evaluate Vim script expressions. Right now they are
limited to a highly limited subset of Vim script expressions that is
however enough for settings the 'mapleader' variable for VIM-650.
2015-04-05 22:54:40 +03:00
Andrey Vlasovskikh
373e1527c1
Extracted Vim script parts into 'vimscript' package
2015-03-28 14:16:38 +03:00
Andrey Vlasovskikh
74bf5ff044
Formatting and typos
2015-03-27 21:43:36 +03:00
Andrey Vlasovskikh
0f7e9d11b6
Added test for VIM-845
2015-03-27 21:43:19 +03:00
Andrey Vlasovskikh
5fadc2fb9f
Removed unused imports
2015-03-27 21:30:05 +03:00
Andrey Vlasovskikh
3fee4a803b
Merge remote-tracking branch 'dezgeg/fixes/visual-block-mode-overhaul'
2015-03-27 20:56:58 +03:00
Tuomas Tynkkynen
0c9bdf5168
Visual block mode overhaul
...
The current visual block mode implementation has several bugs:
- The GUI never displays the rightmost characters as selected (blue)
- Due to some off-by-one, commands can't act on each line's last character
- It's possible for newlines to get deleted/changed into something else
- If the '$' mode is entered, the GUI doesn't always indicate this
- It's impossible to move to an empty line (VIM-781)
This commit fixes all of those problems. The only remaining problem are
the visible secondary carets, which makes seeing the real cursor a bit
difficult. This could be fixed later if support for per-caret visibility
would be added to IntelliJ core.
2015-02-21 17:17:36 +02:00
Tuomas Tynkkynen
82a9587b4f
Support comments in brace matching
...
In Vim, '%' can be used to jump between the '/*' and '*/' of block
comments. Support this functionality in a language-independent manner.
2015-02-21 15:14:38 +02:00
Tuomas Tynkkynen
8d1dcc4568
VIM-700 Remapping '0' should still allow zero to be entered in count
...
Previously, remapping '0' in command mode would prevent a number zero
from being entered in a command count.
2015-02-21 15:09:13 +02:00
Tuomas Tynkkynen
5090c81632
VIM-856 Fix regex lookbehind bugs
...
The regex code has the following bugs, mostly related to lookbehind:
- Comparison of CharPointers with == is wrong, .equals should be
used instead.
- In the original C code, the behind_pos variable is declared as
'static regsave_T behind_pos;', i.e. not a pointer, and the same
for other variables of type regsave_T. So assignments to these
types of variables need to make deep copies.
2015-01-20 17:52:08 +02:00
Andrey Vlasovskikh
72537c6ffb
Merge remote-tracking branch 'jdpopkin/relative_range'
...
Conflicts:
test/org/jetbrains/plugins/ideavim/ex/SubstituteCommandTest.java
2015-01-20 17:17:27 +03:00
Andrey Vlasovskikh
30f9888f51
Merge remote-tracking branch 'selesse/sort-fix'
2015-01-20 16:06:36 +03:00
Andrey Vlasovskikh
fd3eee6870
Merge remote-tracking branch 'dezgeg/fixes/vim-864-visual-substitute-incorrect-visual-marks'
2015-01-20 15:50:17 +03:00
Andrey Vlasovskikh
499c590f5a
Merge remote-tracking branch 'dezgeg/unit-tests'
2015-01-20 15:36:18 +03:00
Andrey Vlasovskikh
e0a1291de0
Merge remote-tracking branch 'dezgeg/fixes/vim-210-ex-focus'
2015-01-20 15:27:55 +03:00
Tuomas Tynkkynen
4802b6f460
VIM-864 Fix visual marks getting changed during visual substitute
...
Previously, running a substitute command in visual mode would
incorrectly set the visual mode end mark (>) to the location of the last
search match.
2014-12-24 18:19:53 +02:00
Jackson Popkin
8c0e116a1c
Fix incorrect behavior in substitution with offset ranges
...
Substitution commands with offset ranges like .,+2s/a/b/g previously
did not work the way they do in Vim (replace a with b on the current
line and the next two lines). This change fixes that bug.
2014-12-23 21:14:42 -05:00
Alex Selesse
8862878011
Fix broken sorting when sorting with leading whitespace
2014-12-14 12:17:51 -05:00
Tuomas Tynkkynen
6b5216077b
Add few simple mark tests.
2014-12-12 23:05:28 +02:00
Tuomas Tynkkynen
7e119f7963
Add tests for change number operations (<C-A>, <C-X>)
2014-12-12 23:05:28 +02:00
Tuomas Tynkkynen
933cbc7e51
Add unit tests for some replace commands
...
Adds tests for: |r|, |s|, |R|, and <Ins> in insert mode.
2014-12-12 23:05:28 +02:00
Tuomas Tynkkynen
65f30d4480
Add testcase for '>' in visual block mode
2014-12-12 23:05:28 +02:00
Tuomas Tynkkynen
1f8d3f119e
Add unit tests for Ex ranges
...
Adds tests for ranges in Ex commands. Almost every kind of range has
basic tests, except the following are still totally untested:
- \/, \?, \&
- register ranges
- syntax errors in ranges
2014-12-12 23:05:28 +02:00
Tuomas Tynkkynen
45fe858503
Add tests for case changing operations
...
Add tests for the following commands:
- gu, gU, g~ in normal mode
- u, U, ~ in visual mode
2014-12-12 23:05:28 +02:00
Tuomas Tynkkynen
0cc06ad186
Move ChangeActionTest.doTest() to VimTestCase.
...
This method is convenient in other tests as well.
2014-12-12 23:05:28 +02:00
Tuomas Tynkkynen
18cd7547ad
VIM-210 Fix focus issues with the Ex panel
...
Previously, if the editor window had been splitted, under certain
conditions some actions related to the Ex panel would cause the editor
focus to change to a different split.
The required conditions for this bug to occur:
- no docked windows (like the Project sidebar) are open
- 'View -> Navigation bar' is disabled
At least these actions triggered the bug:
- search with /
- successfully executing an Ex command
- dismissing the Ex window with Esc
- Ex commands that opened the output panel (e.g. :!)
All the deleted lines of the form
FileEditorManager.getInstance(project).openFile(vf, true);
seem to be very old, non-functional workarounds for the focus issue.
2014-12-09 13:36:03 +02:00
Tuomas Tynkkynen
7746a26062
VIM-855 Fix regexp character class bugs
...
Previously strchr and istrchr didn't consider NUL chars as end-of-string
terminators. This caused problems in regexps using character classes:
a regexp like "[^a]bc" would be effectively treated as "[^abc]bc" - i.e.
some literal characters from the rest of the pattern would accidentally be
included in the character class.
2014-12-09 01:01:53 +02:00
Andrey Vlasovskikh
27bd7ec836
Merge remote-tracking branch 'dezgeg/fixes/misc-issues'
2014-12-07 16:28:15 +03:00
Tuomas Tynkkynen
47edfcac5e
VIM-702 Fix infinite loop on s/$/\r/g
...
If the replacement contains newlines, the line number of the current
search position needs to be adjusted. Without this, e.g. s/$/\r/g would
get into an infinite loop.
2014-12-03 14:00:31 +02:00
Andrey Vlasovskikh
26a247c0bf
Revert "Unified tests initialization for IntelliJ 13+ Community and Ultimate"
...
This reverts commit 296ef1bdf9
.
2014-11-28 22:29:15 +03:00
Andrey Vlasovskikh
296ef1bdf9
Unified tests initialization for IntelliJ 13+ Community and Ultimate
2014-11-28 20:22:43 +03:00
Andrey Vlasovskikh
f0e8d065b7
Merge remote-tracking branch 'dezgeg/fixes/vim-723-paste-wrong-line'
2014-11-26 18:18:54 +03:00
Andrey Vlasovskikh
520d852c04
Merge remote-tracking branch 'dezgeg/fixes/vim-771-repeated-semicolon'
2014-11-26 18:12:14 +03:00
Tuomas Tynkkynen
3bdfaa02e1
'J' shouldn't add whitespace if there is trailing whitespace
2014-11-22 13:15:11 +02:00
Tuomas Tynkkynen
e8de9f915c
Make '>' not add trailing whitespace to empty lines.
2014-11-22 13:14:23 +02:00
Tuomas Tynkkynen
31f598d1e1
VIM-723 Fix pasting to an empty line
...
When pasting on an empty line, the pasted text would go to the start of
next line instead.
2014-11-17 03:47:50 +02:00
Tuomas Tynkkynen
46e6fd0847
VIM-771 Fix semicolon repeat for 'till char' motion
...
Based on empirical testing with Vim, ';' should work like this:
assuming "<caret>1:a 2:b 3:c" with ':' as the last f/t character:
- "t:" does nothing
- ";" cursor goes to '2'
- "2;" cursor goes to '2', same as the previous
- "3;" cursor goes to '3'
2014-11-16 18:58:56 +02:00
Tuomas Tynkkynen
1441a60f4b
Fix AIOOBE when '(' motion goes past start of file
...
If first character of the file is a newline, then findSentenceEnd()
could return -2 when the 'previous sentence' motion is performed,
leading to an eventual crash. Found by fuzzing.
2014-11-16 17:08:47 +02:00
Tuomas Tynkkynen
ebdf107946
Fix AIOOBE crash when using 'b' on first line
...
If 'b' were used on the first word of the file, and the word was
preceded by whitespace, ArrayIndexOutOfBoundsException would occur.
Found by fuzzing.
2014-11-16 17:08:47 +02:00
Tuomas Tynkkynen
38d672c9f9
Fix KeyHandler crash when using '<' or '>'
...
The '<' and '>' commands weren't marked with FLAG_OP_PEND even though
they should, which sometimes caused EmptyStackException in KeyHandler
(when typing <I<><I<> for example). Found by fuzzing.
2014-11-16 17:08:46 +02:00
Tuomas Tynkkynen
75d34abd45
Fix IOOBE when 'i)' motion doesn't find other delimiter
...
Found by fuzzing.
2014-11-16 17:08:43 +02:00
Andrey Vlasovskikh
3cfa0e1844
Merge remote-tracking branch 'dezgeg/fixes/vim-515-cW-command'
2014-11-15 00:09:00 +03:00
Andrey Vlasovskikh
49d0c51d97
Merge branch 'vim-536-cc-second-to-last-line'
2014-11-15 00:00:43 +03:00
Tuomas Tynkkynen
58d964063c
VIM-515 Fix cW command detecting end-of-word incorrectly
...
A cW command on text like 'x$$$$' or '$xxxx' would incorrectly delete
just the first character, and not the rest.
2014-11-14 22:51:46 +02:00
Andrey Vlasovskikh
52b7b9bcd8
Merge branch 'vim-705-multi-line-indent-broken'
2014-11-14 23:05:03 +03:00
Tuomas Tynkkynen
da22b8297b
VIM-536 Fix 'cc' on second-to-last line in file
...
Previously, 'cc' on the second-to-last line of a file would instead open
a new line after the last line of the file.
2014-11-14 16:56:05 +02:00
Tuomas Tynkkynen
ac8ac302ca
VIM-705 Fix repeated multiline indent
...
When a visual mode command is repeated, code calls into
MotionGroup#toggleVisual() to setup a 'fake' visual mode selection. But
when MotionGroup.moveCaret() is called, it notices that the indent
command has the FLAG_EXIT_VISUAL flag, and leaves visual mode right
away.
2014-11-10 23:32:09 +02:00
Tuomas Tynkkynen
22c3a73102
VIM-613 Fix repeat after 'd$'
...
Previously, repeating a 'd$' command would incorrectly delete the
newline from the line.
2014-11-10 16:36:40 +02:00
Andrey Vlasovskikh
9804cd83a6
VIM-652 Added a test for :action
2014-10-24 16:13:40 +04:00
Andrey Vlasovskikh
20e831b56a
Updated tests after fixing VIM-501
2014-10-23 16:58:43 +04:00
Andrey Vlasovskikh
72b74e075c
Merge branch 'visual_block_delete'
2014-10-23 16:55:17 +04:00
Andrey Vlasovskikh
5434edbd54
VIM-792 Fixed line-wise and block-wise paste commands for * and + registers
2014-10-23 16:09:56 +04:00
Andrey Vlasovskikh
6a8c7e4b17
VIM-511 Record caret adjustment changes to the document during <Enter> processing
...
We have to handle Enter by our VimShortcutKeyAction in order to be
able to record it as an action for repeating it via '.'. Since original
Enter handlers are not run in this case we invoke them manually by
collecting a list of actions that can be run for the editor component
on Enter and then running the first action ready to run.
Caret adjustments are detected on changes to the document caused by
Enter. This allows to position the caret properly (e.g. between {})
before recording Enter.
2014-10-23 15:26:22 +04:00
Alexey Shmalko
0ac659f2d1
Fix visual block deleting
...
Currently deleting visual block leaves last char in line untouched. This
patch fixes that as well as tests.
2014-10-21 21:40:43 +03:00
Tony Kay
7eae40ca9a
added a failing test
2014-10-21 11:05:43 -07:00
Andrey Vlasovskikh
3f92dba1b7
VIM-511 Updated test data
2014-10-21 21:16:11 +04:00
Andrey Vlasovskikh
0aedc08cfa
More tests for VIM-511
2014-10-21 20:42:04 +04:00
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