1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2024-12-27 01:42:48 +01:00
Commit Graph

4943 Commits

Author SHA1 Message Date
Alex Plate
cbc5e8aea1
Make visual put single-executable
Preparation for VIM-25
2019-05-31 19:27:43 +03:00
Alex Plate
7ebb888c31
WIP: Renaming file 'PutVisualTextNoIndentAction' with Kotlin extension 2019-05-31 19:27:43 +03:00
Alex Plate
93c6a03287
WIP: Renaming file 'PutVisualTextMoveCursorAction' with Kotlin extension 2019-05-31 19:27:43 +03:00
Alex Plate
ae97fbbcc3
WIP: Renaming file 'PutVisualTextAction' with Kotlin extension 2019-05-31 19:27:42 +03:00
Alex Plate
cb8d253dc5
Fix compilation for IC-2019.1 2019-05-31 16:48:54 +03:00
Alex Plate
cacab1e039
Make companion object private in VisualOperatorActionHandler 2019-05-31 16:40:38 +03:00
Alex Plate
0bf49ebe9a
Event could be null in IdeaSpecifics 2019-05-31 16:31:38 +03:00
Alex Plate
fa9b1933fa
Merge pull request #186 from JetBrains/VIM-510
This huge branch was created as a result of VIM-510. It provides many
changes aiming to solve the problems associated with selection.

Main changes:

Introducing select mode.
[VIM-510] Structural selection enables visual mode.
[VIM-274] During refactoring, select mode is enabled (which works almost
like normal IntelliJ IDEA selection).
2019-05-31 12:24:33 +03:00
Alex Plate
444f676d2d
Move connection to message but in IdeaSpecifics to EventFacade 2019-05-30 12:39:03 +03:00
Alex Plate
2ccba4b345
Remove @Deprecated from TextRange class 2019-05-30 12:34:25 +03:00
Alex Plate
0b76e86ace
Create different method for isVisualBlock and isBlockSubMode 2019-05-30 12:26:13 +03:00
Alex Plate
f40a86e744
Refactorings after review 2019-05-30 12:18:42 +03:00
Alex Plate
5b594a4a7b
Fix bad visual -> motion refactoring 2019-05-30 12:16:59 +03:00
Alex Plate
ea857b9c7b
Fix single execution for visual operation 2019-05-28 15:44:04 +03:00
Matt Ellis
987c89774c
VIM-1061 Explicitly register shortcuts for digraphs 2019-05-24 15:34:21 +01:00
Alex Plate
52d0c44014
Fix enter action for select mode 2019-05-24 15:43:21 +03:00
Alex Plate
e70d188b82
Add logging for visual operations 2019-05-24 15:13:37 +03:00
Alex Plate
9419c4b796
Fix gq (reformat code) action 2019-05-24 14:52:36 +03:00
Alex Plate
58c6aba6af
Move all special keys handlers to single file 2019-05-24 12:00:40 +03:00
Alex Plate
d09ae1a66e
Fix bad refactoring 2019-05-24 11:54:05 +03:00
Alex Plate
12717d13de
Make VisualStartFinishWrapper private 2019-05-24 11:52:04 +03:00
Alex Plate
b363a05a7d
Remove caretMergingListener in finally block 2019-05-24 11:51:12 +03:00
Alex Plate
318515db6f
Rename Util to Helper 2019-05-24 11:46:08 +03:00
Alex Plate
da7ff06734
Rename acontinue* to acontinue* 2019-05-24 11:41:40 +03:00
Alex Plate
f86a1a0002
Hide alwaysBatchExecution property from inheritors 2019-05-24 11:01:15 +03:00
Alex Plate
e5d4a5f061
Put ShiftedArrowKeyHandler to ShiftedSpecialKeyHandler 2019-05-23 22:23:52 +03:00
Alex Plate
7be884b138
Remove FLAG_FORCE_LINEWISE and FLAG_FORCE_VISUAL flags 2019-05-23 18:06:11 +03:00
Alex Plate
4eacdeec5e
Check if caret valid before adjusting selection 2019-05-23 16:09:28 +03:00
Alex Plate
8a9a5919f2
Reset handler after exiting visual mode during tab switch 2019-05-23 15:46:51 +03:00
Alex Plate
442883c377
Make Command data class 2019-05-23 15:26:49 +03:00
Alex Plate
33939917c0
Print actionId of visual command to log 2019-05-22 14:59:51 +03:00
Alex Plate
e1721bf337
Handle backspace via vim with active lookup 2019-05-21 16:53:52 +03:00
Alex Plate
5081ede268
[VIM-1666] properly handling of digraphs after pressing backspace 2019-05-21 15:52:17 +03:00
Alex Plate
393416a925
Format KeyHandler file 2019-05-21 15:49:00 +03:00
Alex Plate
4d971be732
Support End and Shift-End motions 2019-05-20 13:21:24 +03:00
Alex Plate
deff56db29
Extract handler for shifted arrows 2019-05-20 12:54:05 +03:00
Matt Ellis
9c5420c79c
Fix exception highlighting last CR in file
Custom implementation of offsetToCharacterPosition failed when the text range of the last CR in the file wrapped to a line that didn't exist in the editor. This caused an exception when search highlights included the last CR in the file
2019-05-19 19:40:26 +02:00
Matt Ellis
bd58802ed6
Make incsearch work with entering digraphs 2019-05-17 23:19:02 +01:00
Matt Ellis
71504d0ded
Merge branch 'master' into ideavim-search
# Conflicts:
#	src/com/maddyhome/idea/vim/ui/ExEntryPanel.java
2019-05-17 23:00:22 +01:00
Matt Ellis
3aff7693c7
Use same formatting as Find for search/replace 2019-05-17 22:29:59 +01:00
Matt Ellis
b46f426f30
Reset highlights when options change 2019-05-17 22:29:59 +01:00
Matt Ellis
70652d445c
Fix next/prev after search word and smartcase
Makes sure that search word forward/backward ignores smartcase for first and subsequent searches.
2019-05-17 22:29:58 +01:00
Matt Ellis
35f96b28bc
VIM-128 Substitute works with ignorecase and smartcase 2019-05-17 22:28:40 +01:00
Matt Ellis
dd40bb3850
Move current line during incsearch 2019-05-17 11:26:36 +01:00
Alex Plate
849c0cbd49
Support shifted and non-shifter Home key 2019-05-16 17:22:47 +02:00
Alex Plate
201d613ac1
Extract handler for non-shifted special keys 2019-05-16 16:11:40 +02:00
Alex Plate
8897ecd0d5
Extract handler for shifted special keys 2019-05-16 16:09:39 +02:00
Alex Plate
784a8e625f
Set log level to info for VisualCommands 2019-05-16 13:40:05 +02:00
Alex Plate
34893e7847
Support the rest of selectmodel options 2019-05-15 18:55:56 +02:00
Alex Plate
c49d5b4ffa
Move packages to better location 2019-05-15 15:47:29 +02:00
Alex Plate
c37387db64
Full support for selectmode option 2019-05-15 15:22:55 +02:00
Alex Plate
83b626b77e
Remove ExtendSelection actions 2019-05-15 13:01:18 +02:00
Alex Plate
45932d9189
Save last column during shift-motions 2019-05-15 10:25:38 +02:00
Alex Plate
fe01820f3f
Add support for key in selectmode option 2019-05-15 10:18:44 +02:00
Alex Plate
2ad4436cef
Add support for startsel in keymodel option 2019-05-15 09:59:31 +02:00
Alex Plate
5b8fb49d4c
Additional null check 2019-05-15 07:09:06 +03:00
Alex Plate
dca0240c13
Fix opening dialog boxes 2019-05-14 20:38:15 +03:00
Alex Plate
ce692df94f
Fix cc command for empty document 2019-05-14 19:34:26 +03:00
Alex Plate
dbcf2acce4
Support cmd for selectmode option 2019-05-14 19:14:53 +03:00
Alex Plate
3bc628417f
WIP: Renaming file 'VisualToggleLineModeAction' with Kotlin extension 2019-05-14 18:52:53 +03:00
Alex Plate
bdc9b78ec8
Merge branch 'master' into VIM-510 2019-05-14 16:51:55 +03:00
Alex Plate
6865d25035
Put actions to package-info 2019-05-14 14:53:10 +03:00
Alex Plate
25289ed4c5
Fix dot command for visual change 2019-05-14 13:20:44 +03:00
Alex Plate
2c32cbfbfd
Fix linewise change to end of document 2019-05-14 13:16:30 +03:00
Matt Ellis
74dce4b70a
Fix incsearch with trailing characters 2019-05-14 14:51:07 +08:00
Matt Ellis
187963cc38
VIM-1413 Handle smartcase in incremental search 2019-05-14 14:50:30 +08:00
Matt Ellis
afd618c61a
VIM-1535 Use correct text attributes for search
Uses the same attributes and layers as the IDE's own Find preview
2019-05-14 14:34:43 +08:00
Alex Plate
4196ec5093
Fix big O for visual block mode 2019-05-13 21:18:35 +03:00
Alex Plate
49d28f1eeb
WIP: Renaming file 'VisualSwapEndsBlockAction' with Kotlin extension 2019-05-13 20:27:21 +03:00
Alex Plate
90640c9378
WIP: Renaming file 'VisualSwapEndsAction' with Kotlin extension 2019-05-13 20:23:34 +03:00
Alex Plate
bf0e9fb107
Inline vimForAllOrPrimaryCaret function 2019-05-13 16:19:05 +03:00
Alex Plate
eba0bf8f41
Move VisualSelection to another package 2019-05-13 16:15:43 +03:00
Alex Plate
66dc40f6e2
[VIM-1655] Deleted in insert mode text is not yanked 2019-05-13 15:23:59 +03:00
Alex Plate
caa0caf297
Scroll caret to next selection in multicaret plugin 2019-05-13 14:51:57 +03:00
Alex Plate
e6a36178ff
Extract getKey method from ReadWrite properties 2019-05-13 14:45:38 +03:00
Michael Ziwisky
3180ae1a41 map "<C-W><C-{H,J,K,L}>" to Window<Direction>Action
from vim help:

tag		command		   action in Normal mode
---------------------------------------------------------
|CTRL-W_CTRL-H|	CTRL-W CTRL-H	   same as "CTRL-W h"
|CTRL-W_CTRL-J|	CTRL-W CTRL-J	   same as "CTRL-W j"
|CTRL-W_CTRL-K|	CTRL-W CTRL-K	   same as "CTRL-W k"
|CTRL-W_CTRL-L|	CTRL-W CTRL-L	   same as "CTRL-W l"
2019-05-09 16:06:21 -07:00
Alex Plate
b3bf33f488
Merge pull request #193 from citizenmatt/feature/cmdline-editing
Improvements to ex entry
2019-05-08 19:43:55 +03:00
Alex Plate
f80111299f
Use '\n' separator for CmdHandler 2019-05-08 19:32:09 +03:00
Alex Plate
f5dd1722f5
Fix separator related failed tests 2019-05-08 19:20:14 +03:00
Alex Plate
4237ce9b3c
Support multicaret for entering visual mode with count 2019-05-08 18:44:02 +03:00
Alex Plate
b3f3a307ba
Support entering visual mode with count without previous visual operation 2019-05-08 17:39:33 +03:00
Alex Plate
381e84e649
Add docs to userDataCaretToEditor delegator 2019-05-08 17:01:33 +03:00
Alex Plate
4ccddf839f
Remove unnecessary caret user data 2019-05-08 16:46:04 +03:00
Alex Plate
f40ee92826
Support enter visual mode with count 2019-05-08 16:42:16 +03:00
Alex Plate
13b28e6f1c
Save call for editor in IdeaSpecifics 2019-05-08 12:47:07 +03:00
Matt Ellis
7fe0609e9e
Fix tests 2019-05-08 07:05:58 +01:00
Alex Plate
b24aec26c0
WIP: Renaming file 'VisualChange' with Kotlin extension 2019-05-07 20:27:34 +03:00
Alex Plate
c465d303e5
Remove extra caret data 2019-05-07 18:08:49 +03:00
Alex Plate
13e80db668
Add comments to CaretData 2019-05-07 17:51:50 +03:00
Matt Ellis
98d22523be
Merge branch 'master' into feature/cmdline-editing 2019-05-07 12:32:25 +01:00
Matt Ellis
6326360595
Update UI of ex output panel 2019-05-07 12:29:50 +01:00
Matt Ellis
7cfbddfd35
Remove unused editor actions 2019-05-07 12:25:02 +01:00
Alex Plate
92eb6dab2f
Add information about @VimBehaviourDiffers annotation to CONTRIBUTE.md 2019-05-07 14:08:02 +03:00
Alex Plate
7cebdc7270
Add folding regions for IdeaSpecifics 2019-05-07 12:52:30 +03:00
Matt Ellis
f9094223ba
Add correct caret shape for lost focus 2019-05-07 09:46:58 +01:00
Matt Ellis
849e0964ba
Remove gap between ex label and text field
Also replaces incorrect border around entry panel, fixing off by one UI border drawing

Fixes VIM-1240, fixes VIM-1485
2019-05-07 00:16:09 +01:00
Alex Plate
096ed14978
Add null-check for LaF listener
(cherry picked from commit afe745dc44)
2019-05-06 18:08:40 +03:00
Alex Plate
d04196ec7c
Use native selection for visual operations 2019-05-06 17:05:45 +03:00
Alex Plate
bf7f6054c6
Get editor on action execution start 2019-05-06 15:08:39 +03:00
Alex Plate
afe745dc44
Add null-check for LaF listener 2019-05-06 14:52:10 +03:00
Alex Plate
5032bc4da7
Add some comments to functions 2019-05-06 14:49:58 +03:00
Alex Plate
10c19bbb94
Move caret one char left (after selection) not in recursive way 2019-05-06 13:38:06 +03:00
Alex Plate
7519eb1f43
Move listeners to separate package 2019-05-06 12:20:15 +03:00
Alex Plate
95b800638b
Enter insert mode when enabling template without selection 2019-05-06 12:18:22 +03:00
Matt Ellis
ff9a3a55e2
Ensure current action processes next keystroke
This allows cancelling inserting digraph or register with movement keys. Unprocessed keys are ignored, unless it's <C-C>, in which case the ex entry is cancelled.
2019-04-30 20:58:06 +01:00
Alex Plate
56b4e50aab
Event is not null for before/after actionPerformed 2019-04-30 19:05:05 +03:00
Matt Ellis
32d513a74f
Reset ex entry when lost focus due to mouse click 2019-04-30 16:50:05 +01:00
Alex Plate
8ce4768aa6
Enable insert mode after surround with if action 2019-04-30 18:49:21 +03:00
Alex Plate
31b41cacba
Fix motion caret to the next line after changing full text 2019-04-30 16:33:31 +03:00
Alex Plate
ddaf190c3c
Add file to define Idea-specific behaviour
Move caret to right position for rider - extendSelection action
2019-04-30 15:47:28 +03:00
Alex Plate
e873009aeb
Disable listeners if IdeaVim was not enabled on editor creation 2019-04-30 14:44:39 +03:00
Matt Ellis
7ec3abb069
Correctly set focus when handling cmode mapping
Fixes VIM-1419, fixes VIM-1493
2019-04-30 11:42:30 +01:00
Alex Plate
cfd69d1603
Stay in select mode in PyCharm after deleting indent 2019-04-30 11:35:45 +03:00
Alex Plate
f816bc23e9
Create more complicated VimSelection structure. Support dollar motion 2019-04-29 16:46:30 +03:00
Matt Ellis
8601730dd8
Add prompt when inserting digraphs and registers
Also resets state correctly when cancelling inserts
2019-04-29 14:12:19 +01:00
Alex Plate
336342c72e
[IDEA-211429] Directly enable insert mode for dialogs 2019-04-29 15:16:18 +03:00
Alex Plate
45b757697a
Merge pull request #192 from danielemegna/VIM-1644
[Vim 1644] - Fix action repeat broken with visual mode
2019-04-29 15:08:20 +03:00
Alex Plate
a9a0d6233e
Merge pull request #191 from citizenmatt/feature/beep
Only beep once every half second
2019-04-29 14:42:15 +03:00
Alex Plate
af79066c26
Merge pull request #179 from Vvalter/master
Fix VIM-1090 and VIM-1100 tag motion with duplicate tags.
2019-04-29 13:59:15 +03:00
Matt Ellis
906d2a4168
Insert register at caret location, instead of appending 2019-04-29 11:44:34 +01:00
Alex Plate
3b360c807e
Merge pull request #188 from ECourant/feature/command
(VIM-1105) Adding support for command aliasing.
2019-04-29 13:21:53 +03:00
Alex Plate
d0bec7db4d
Update copyright and make code more kotlin-specific 2019-04-29 13:07:57 +03:00
Matt Ellis
e7603a78d0
Add tests for ex entry shortcuts 2019-04-29 09:29:08 +01:00
Matt Ellis
3a728df3b1
Ensure all shortcuts are seen by ex entry field
Fixes VIM-1550
2019-04-28 17:06:23 +01:00
Daniele Megna
417fa314b4 Fix VIM-1644: keep Visual and VisualBlock start-end values updated
during MotionGroup#toggleVisual method
2019-04-28 11:20:20 +02:00
Simon Rainer
73cfd71bd4 Fixes successive tag block selection. 2019-04-27 12:46:33 +02:00
Simon Rainer
415abd13c9 Merge remote-tracking branch 'upstream/master' 2019-04-26 17:18:08 +02:00
Matt Ellis
e94eac77eb
Show correct caret shape on command line
Also refreshes font when editor font changes
2019-04-26 14:44:40 +01:00
Matt Ellis
25b11349a4
Update list of cmdline editing commands 2019-04-26 14:43:56 +01:00
Elliot Courant
4ea8e15710
(VIM-1105) Adding support for command aliasing.
Commands `command`, `comclear` and `delcommand` have been added. `command` also
supports -nargs, allowing arguments to be passed to the aliased command.
Symbols supported for -nargs are: <args> <q-args> <count> <lt>.
2019-04-26 06:17:30 -05:00
Matt Ellis
890562e810
Only beep once every half second 2019-04-26 11:49:41 +01:00
Alex Plate
9b4d38ed3c
Rearrange VisualMotionGroup code 2019-04-25 17:19:36 +03:00
Alex Plate
33c33431f9
Update indent 2019-04-25 16:09:22 +03:00
Alex Plate
53d3e0db88
Remove useless function 2019-04-25 15:22:32 +03:00
Alex Plate
94e4556bee
Remove unnecessary user data (wasVisualBlock) 2019-04-25 14:56:15 +03:00
Alex Plate
1ad9dd4a28
Save caret position after cursor dragging 2019-04-25 14:47:14 +03:00
Alex Plate
e15f0e07dd
Add some comments to VisualGroup 2019-04-25 13:29:42 +03:00
Alex Plate
eda734e728
Add missing @NotNull annotation 2019-04-25 12:09:24 +03:00
Alex Plate
5132327d62
Merge pull request #159 from ikenox/search-action-by-shortcut-key
Search actionlist by keyboard shortcuts which is assigned to action
2019-04-25 12:09:09 +03:00
Alex Plate
55e0200fb6
Move caret to right place after gutter mouse selection 2019-04-25 11:45:55 +03:00
Alex Plate
fefd6699f3
Select full line while visual line mode 2019-04-25 11:04:05 +03:00
Alex Plate
963840612c
Select full line while visual line mode 2019-04-25 10:54:46 +03:00
Alex Plate
fd8e567c60
Format ChangeGroup 2019-04-24 20:26:55 +03:00
Alex Plate
69d02b8abb
Fix small typos in userData() functions 2019-04-24 17:09:08 +03:00
Alex Plate
ccf721fd6c
Store vim selection start and end in VimSelection model 2019-04-24 15:01:12 +03:00
Alex Plate
55bd13c3f2
Reorganize Visual- and MotionHandlers 2019-04-23 17:26:57 +03:00
Alex Plate
f8de555032
[VIM-1184] Store all vim settings only locally (except keymapping) 2019-04-23 15:49:33 +03:00
Alex Plate
13b75dea27
Merge pull request #189 from Nimamoh/VIM-1633
VIM-1633 - fix block selection
2019-04-23 12:48:09 +03:00
Romain Gautier
9487cd2b0b Revert block tag part 2019-04-23 00:19:04 +02:00
Alex Plate
20dbe1bde6
Enter select mode for oneRowEditor in case on unexpected selection change 2019-04-22 15:24:44 +03:00
Alex Plate
c7f42cfca8
Enter insert mode after backspace in select mode 2019-04-22 15:24:19 +03:00
Alex Plate
3f9585b1fb
Restore mode after :action 2019-04-22 14:57:09 +03:00
Alex Plate
e021663975
Print submode of select mode in bar 2019-04-22 14:38:03 +03:00
romain.gautier@nimamoh.net
8c1cca0d57 VIM-1633 - correct handling of self closing tags 2019-04-18 18:30:24 +02:00
Simon Rainer
6d74480998 Fixes tag motion handling slashes incorrectly. 2019-04-18 16:12:04 +02:00
Simon Rainer
31bad3a1e1 Merge https://github.com/JetBrains/ideavim 2019-04-18 15:24:09 +02:00
romain.gautier@nimamoh.net
f0ccf6c3a5 VIM-1633 - empty tag block selection case 2019-04-18 14:55:54 +02:00
romain.gautier@nimamoh.net
367b13cdad VIM-1633 - fix tag block selection 2019-04-18 13:17:35 +02:00
Alex Plate
47ac879ed9
Move caret one char left after double click 2019-04-18 13:57:01 +03:00
Alex Plate
28a50c00bb
Move caret one character left while after mouse selection 2019-04-17 20:33:23 +03:00
Alex Plate
6ceb74cb33
Fix: some motions could become linewise 2019-04-17 16:15:30 +03:00
Naoto Ikeno
9f682cded0 filter an actionlist by assigned shortcut key 2019-04-17 16:17:09 +09:00
Alex Plate
74d5144892
Set visual mode for non-vim selections 2019-04-15 17:46:50 +03:00
romain.gautier@nimamoh.net
ea2f2ba213 VIM-1633 - remove useless min/max, add comments 2019-04-15 15:22:45 +02:00
Alex Plate
970a5e19d0
Use try-with-resources for VimListenerSuppressor 2019-04-15 15:13:09 +03:00
Alex Plate
3786660ecd
Motion right with unicode characters 2019-04-15 14:00:17 +03:00
romain.gautier@nimamoh.net
c0d72d25f8 VIM-1633 - fix block selection 2019-04-13 03:35:08 +02:00
Alex Plate
b69d7f9729
Fix problems after rebase 2019-04-12 19:08:18 +03:00
Alex Plate
03a934a8e9
Add motions to left/right/up/down arrows in select mode 2019-04-12 19:03:18 +03:00
Alex Plate
215df5cc03
Enter insert mode after select mode while editing template 2019-04-12 19:03:18 +03:00
Alex Plate
cfcdbffa7f
Handle tab character with block visual selection 2019-04-12 19:03:18 +03:00
Alex Plate
7b32b75052
Suppress selection listener while lookup is active 2019-04-12 19:03:18 +03:00
Alex Plate
f6549aca76
Remove unused method 2019-04-12 19:03:18 +03:00
Alex Plate
4ce3cff2bf
Shorter version of selection restore (:action) 2019-04-12 19:03:18 +03:00
Alex Plate
c4c8b8c9e1
Fix :action command with selection 2019-04-12 19:03:18 +03:00
Alex Plate
23ce30a7fc
Provide vimSetSelection instead of vimStartSelectionAtPoint method 2019-04-12 19:03:17 +03:00
Alex Plate
2fd23af04a
Fix commentary extension 2019-04-12 19:03:17 +03:00
Alex Plate
33534d50cd
Support del and backspace in select mode 2019-04-12 19:03:17 +03:00
Alex Plate
79aed6b7b0
Add SAVE_VISUAL flag for commands 2019-04-12 19:03:17 +03:00
Alex Plate
740ef8a2d7
Update down motion 2019-04-12 19:03:17 +03:00
Alex Plate
68efd8f3d0
Properly handling of unexpected block selection 2019-04-12 19:03:17 +03:00
Alex Plate
7ed7ac817d
Fix KeyHandler reset after using templates 2019-04-12 19:03:16 +03:00
Alex Plate
f1fd5f2aa6
Do not move secondary carets in selection block mode to selection end - 1 2019-04-12 19:03:16 +03:00
Alex Plate
ef13d04a98
Add tests for key handler 2019-04-12 19:03:16 +03:00
Alex Plate
fb3f3c7405
Add Escape action 2019-04-12 19:03:16 +03:00
Alex Plate
a133a94dbe
Create tests for select mode toggling 2019-04-12 19:03:15 +03:00
Alex Plate
4e64838613
Handler enter action in selection mode 2019-04-12 19:03:15 +03:00
Alex Plate
2f894a5f2f
Create tests for entering select mode 2019-04-12 19:03:15 +03:00
Alex Plate
3903f6c709
Fix wrong cursor shape by copying 2019-04-12 19:03:15 +03:00
Alex Plate
78ab61ec0c
Add docs for VisualGroup 2019-04-12 19:03:14 +03:00
Alex Plate
be8a5f535c
Get rid of static methods to get common approach for group functions 2019-04-12 19:03:14 +03:00
Alex Plate
53a5762f98
Fixing caret in dialogs 2019-04-12 19:03:14 +03:00
Alex Plate
85c92935d3
Add motion up and down 2019-04-12 19:03:14 +03:00
Alex Plate
ed51a60dfe
Fix wrong caret shape on mouse click 2019-04-12 19:03:14 +03:00
Alex Plate
6ad7771fed
Fix undo/redo 2019-04-12 19:03:14 +03:00
Alex Plate
63f87cdb18
Handle enter in select mode 2019-04-12 19:03:14 +03:00
Alex Plate
73f670212e
Enter select mode with multiple carets 2019-04-12 19:03:13 +03:00
Alex Plate
7418c6db73
Add switcher for select mode and line and block wise 2019-04-12 19:03:13 +03:00
Alex Plate
6892db0056
Enter selection mode on unexpected changes 2019-04-12 19:03:13 +03:00
Alex Plate
2f6bd2c287
Introduce select mode 2019-04-12 19:03:13 +03:00
Alex Plate
4bff954c3b
Fix :join command 2019-04-12 19:03:13 +03:00
Alex Plate
e70f535ad3
Fix selection with undo 2019-04-12 19:03:13 +03:00
Alex Plate
da66981a1f
Fix putting caret on empty line 2019-04-12 19:03:13 +03:00
Alex Plate
ab9ba94dbf
Add docs for new classes and functions 2019-04-12 19:03:12 +03:00
Alex Plate
0d15b9117f
Log lockers, clear stack before entering visual mode 2019-04-12 19:03:12 +03:00
Alex Plate
4de8e8e291
Adjust caret to visual end in case of unexpected changes 2019-04-12 19:03:12 +03:00
Alex Plate
ced99152a1
Fix visual block selection 2019-04-12 19:03:12 +03:00
Alex Plate
c30cd23b89
Make VimListenerSuppressor sealed 2019-04-12 19:03:12 +03:00
Alex Plate
1e58173241
Fix ChangeVisualAction 2019-04-12 19:03:12 +03:00
Alex Plate
062d7d3f71
Fix setVisualMode for caret without selection 2019-04-12 19:03:12 +03:00
Alex Plate
284983a4a7
Move listeners to separate class 2019-04-12 19:03:11 +03:00
Alex Plate
b590762259
Support block selection autodetect 2019-04-12 19:03:11 +03:00
Alex Plate
1763eb2f17
Proper visual mode exit 2019-04-12 19:03:11 +03:00
Alex Plate
5be2ca8efc
Fix motion down 2019-04-12 19:03:11 +03:00
Alex Plate
826b3d6803
Handle unexpected caret events 2019-04-12 19:03:11 +03:00
Alex Plate
6852463b53
Fix visual block deletion 2019-04-12 19:03:11 +03:00
Alex Plate
9546f6069c
Fix line deletion in visual mode 2019-04-12 19:03:11 +03:00
Alex Plate
d65955647c
Move selection functions to VisualGroup 2019-04-12 19:03:10 +03:00
Alex Plate
5200ff8e84
Move CaretData to kotlin 2019-04-12 19:03:10 +03:00
Alex Plate
f1a667ae2e
Move caret last column attribute to kotlin 2019-04-12 19:03:10 +03:00
Alex Plate
82682ece5e
Remove unused moveCaret method 2019-04-12 19:03:10 +03:00
Alex Plate
61f9184728
Highlight only primary caret with block selection 2019-04-12 19:03:10 +03:00
Alex Plate
a220be8136
Fix all tests 2019-04-12 19:03:10 +03:00
Alex Plate
11b2096dba
Fix last selection type 2019-04-12 19:03:10 +03:00
Alex Plate
8370248390
Define main caret for visual block selection 2019-04-12 19:03:09 +03:00
Alex Plate
f528269bc6
Fixed tests with put and yank actions 2019-04-12 19:03:09 +03:00
Alex Plate
d551531603
Test fixing 2019-04-12 19:03:09 +03:00
Alex Plate
3b50bd8509
Fix tests about caret merging 2019-04-12 19:03:09 +03:00
Alex Plate
8bc73a0101
Fix word object tests 2019-04-12 19:03:09 +03:00
Alex Plate
419c15d0c3
Fixing tests 2019-04-12 19:03:09 +03:00
Alex Plate
be90776588
Remove native caret order 2019-04-12 19:03:09 +03:00
Alex Plate
7c8cc16768
Fix tests for vim surround 2019-04-12 19:03:08 +03:00
Alex Plate
1596b0addc
New structure of MotionEditorActionHandler 2019-04-12 19:03:08 +03:00
Alex Plate
886bbe1111
Use new struct of operation handler 2019-04-12 19:03:08 +03:00
Alex Plate
de266f12a4
Set selection start non nullable. Set null value with vimSelectionStartBackingNullable 2019-04-12 19:03:08 +03:00
Alex Plate
f9a5bc00e7
[WIP] Support native caret selection 2019-04-12 19:03:08 +03:00
Alex Plate
356c122767
Remove unused methods 2019-04-12 19:03:08 +03:00
Alex Plate
e9b94033c5
Format VisualOperatorActionHandler 2019-04-12 19:03:07 +03:00
Alex Plate
8e1385e4e1
Remove unused data key 2019-04-12 19:03:07 +03:00
Alex Plate
e881ed0d9a
Update visual handlers to new handler 2019-04-12 19:03:07 +03:00
Alex Plate
26d03d49b1
Create tests for visual put action 2019-04-12 19:03:07 +03:00
Alex Plate
082a3b21e1
Use range markers instead of TextRanges for VisualOperatorActionHandler 2019-04-12 19:03:07 +03:00
Alex Plate
15e6e8435a
Make extension properties to get visual range 2019-04-12 19:03:07 +03:00
Alex Plate
2d67067159
Split CopyGroup into class objects 2019-04-12 19:03:07 +03:00
Alex Plate
3fb3aaad2a
Introduce new VisualOperatorActionHandler
Update visual put to new handler
2019-04-12 19:03:06 +03:00
Alex Plate
616479c4fc
Use native caret iterator for VisualOperatorActionHandler 2019-04-12 19:03:06 +03:00
Alex Plate
9b4c732dca
Remove unused caret data 2019-04-12 19:03:06 +03:00
Alex Plate
249be00463
Reformat setVisualMode and toggleVisual functions 2019-04-12 19:03:06 +03:00
Alex Plate
febcccc670
Extract visual motions to separate file 2019-04-12 19:03:06 +03:00
Alex Plate
2d4eed726f
Fix motion right with tabs 2019-04-12 19:02:48 +03:00
Alex Plate
24eb376bed
Merge pull request #166 from apottere/patch-1
Get indent from PsiFile so formatting on shift is consistent (VIM-1231)
2019-04-12 18:27:56 +03:00
Alex Plate
75fbc0f939
[VIM-1425] Fix % command 2019-04-12 15:16:26 +03:00
Alex Plate
c8c1993db3
Fix right motion for non-ascii character 2019-04-12 14:39:37 +03:00
Alex Plate
628cb33e44
Revert "[VIM-1425] Fix % command"
This reverts commit d0a39ef3
2019-04-11 16:40:25 +03:00
Alex Plate
8160df000b
Revert "Fix right motion for non-ascii character"
This reverts commit f6e7019b
2019-04-11 16:26:37 +03:00
Alex Plate
d0a39ef32f
[VIM-1425] Fix % command
Command % worked wrong when
- There was '\\' character on the way
- Inside strings
2019-04-11 16:09:57 +03:00
Alex Plate
f6e7019b51
Fix right motion for non-ascii character 2019-04-10 18:44:36 +03:00
Alex Plate
c202394c3c
[VIM-1628] Do not handle undefined characters 2019-04-10 12:48:30 +03:00
Alex Plate
900f415c6b
[VIM-1546] Storing TAB key as input 2019-04-09 21:51:23 +03:00
Alex Plate
38a4fd5fbc
[VIM-607] Fixing memory leaks when closing the project 2019-04-09 20:38:57 +03:00
Alex Plate
9f629132e4
Use Set instead of List for CommandHandler flags 2019-04-09 13:10:22 +03:00
Alex Plate
32ba7895a3
Provide more clear API for creating new Command Handlers 2019-04-08 17:19:48 +03:00
Daniele Megna
0f5ca758b8 Implement TabOnlyHandler 2019-04-07 11:42:50 +02:00
Alex Plate
4befd155a1
Merge pull request #182 from citizenmatt/VIM-1615
VIM-1615 Fix handling of so=999
2019-04-04 15:32:53 +03:00
Matt Ellis
bb7c2390b1
Keep bottom line aligned with bottom of screen when scrolling up 2019-04-04 00:15:23 +01:00
Alex Plate
4b49bb6d18
Merge pull request #180 from gecko655/VIM-1067
Fix issue VIM-1067: Repeat commands deletes End Of Line character when repeating "append to end of line" ('A') command.
2019-04-01 19:56:15 +03:00
Alex Plate
465ed569a1
Merge pull request #178 from sumoooru2/master
Fix findBlockRange
2019-04-01 19:48:59 +03:00
Alex Plate
547a159fb3
Add message to explain which action is null 2019-03-29 11:50:37 +03:00
Alex Plate
a1ff484c85
Merge pull request #109 from dhleong/dhleong/CommentaryExtension2
Add comment motion extension
2019-03-28 13:34:03 +03:00
Matt Ellis
6ebedb9219
VIM-1615 Fix handling of so=999 2019-03-27 09:31:12 +00:00
jonatantierno
c717bed4fb Command gn 2019-03-16 14:47:09 +01:00
gecko655
41ea121377 Fix issue VIM-1067: Repeat commands deletes End Of Line character when repeating "append to end of line" ('A') command.
The variable `ChangeGroup.oldOffset` should be initialized before every insertion action.

This fixes https://youtrack.jetbrains.com/issue/VIM-1067
2019-03-11 00:43:01 +09:00
Alex Plate
b3de48fdd2
Convert CommandNode to kotlin 2019-02-26 12:11:06 +03:00
Alex Plate
f58eda97c8
WIP: Renaming file 'CommandNode' with Kotlin extension 2019-02-26 12:10:03 +03:00
Alex Plate
7958aa3881
Convert CommandHandler to kotlin 2019-02-25 19:55:58 +03:00
Alex Plate
e67ac4c3ad
Use enumsets instead of bitflags for CommandHandler 2019-02-25 19:03:45 +03:00
Alex Plate
a52984f515
Remove unused constructors of CommandHandler 2019-02-25 14:05:37 +03:00
Alex Plate
746dbc2533
Convert MapHandler to kotlin 2019-02-25 13:58:18 +03:00
Alex Plate
b2c462fbaa
Convert SortHandler to kotlin 2019-02-25 13:07:39 +03:00
Alex Plate
42171e5680
Convert YankLinesHandler to kotlin 2019-02-25 13:01:00 +03:00
Alex Plate
10ddc61fb7
Convert SelectFileHandler to kotlin 2019-02-25 12:51:24 +03:00
Alex Plate
ae1d3d9c09
Convert RepeatHandler to kotlin 2019-02-25 12:49:13 +03:00
Simon Rainer
990caaa75d VIM-1090 VIM-1100 fix tag motion with duplicate tags. 2019-02-24 11:32:35 +01:00
Daniel Leong
00dc6fe775 Preserve caret position (only) for linewise comments 2019-02-22 20:31:25 -05:00
Daniel Leong
fbac63085f Add WriteAction.run() wrappings as appropriate 2019-02-22 10:59:20 -05:00
Daniel Leong
35ce221cab Refactor Runnable -> lambda 2019-02-22 10:11:31 -05:00
Daniel Leong
4599d76ce4 Remove catch() 2019-02-22 10:11:31 -05:00
dhleong
6a6632e363 Fix visual-mode gc action 2019-02-22 10:11:31 -05:00
dhleong
5c18dd0603 Post handling of "remaining" key to ensure correct event ordering
Fixes the strange behavior when using the <Plug> mapping broke
in the real environment, but the unit tests passed
2019-02-22 10:11:31 -05:00
dhleong
245c48d78f Only pass extra keys for prevMappingInfo if necessary
That is, if the mapping info we're using *is* the prevMappingInfo.
If it's not, that means the prevMappingInfo was part of a prefix that
the currentMappingInfo completed
2019-02-22 10:11:31 -05:00
dhleong
ff02161062 Improve tests for more depth, cover gc(motion)/gcc issue
The failing gc(motion) tests seem more like implementation bugs
than anything else, but the the issues `gcc` with are unexpected
2019-02-22 10:11:31 -05:00
dhleong
0475610f59 Another attempt at comment motion extension 2019-02-22 10:11:31 -05:00
Alex Plate
a1236d855b
Convert RegistersHandler to kotlin 2019-02-22 16:26:37 +03:00
Alex Plate
0f835fd3ba
Convert PutLinesHandler to kotlin 2019-02-22 15:59:00 +03:00
Alex Plate
434c1ef275
Convert PreviousFileHandler to kotlin 2019-02-21 18:59:24 +03:00
Alex Plate
6772b08745
Convert OnlyHandler to kotlin 2019-02-21 18:56:03 +03:00
Alex Plate
7c8d560f9e
Use native mechanism for multicursor iteration 2019-02-21 18:19:23 +03:00
Alex Plate
29d3e4fd5b
Convert MoveTextHandler to kotlin 2019-02-21 17:34:30 +03:00
Alex Plate
b8748916a7
Convert MarksHandler to kotlin 2019-02-21 15:57:21 +03:00
Alex Plate
e028215718
Convert LetHandler to kotlin 2019-02-21 14:45:50 +03:00
Alex Plate
908a0929f0
Merge pull request #174 from bradziolko/vim-1012
[VIM-1012] Support tab close preferences when using :q or :wq
2019-02-21 14:45:22 +03:00
sumoooru2
d35f017db5 Fix findBlockRange 2019-02-21 16:52:15 +09:00
Alex Plate
3b8da702a7
Convert JumpsHandler to kotlin 2019-02-20 18:21:50 +03:00
Alex Plate
24c24f40ab
Update copyright 2019-02-20 17:01:23 +03:00
Alex Plate
865a888363
Convert JoinLinesHandler to kotlin 2019-02-20 16:40:13 +03:00
Alex Plate
cdff9e28a1
Support some increment and decrement commands 2019-02-20 16:10:44 +03:00
Alex Plate
ca2924510a
Convert HistoryHandler to kotlin 2019-02-19 20:34:08 +03:00
Alex Plate
42cbbbfc3a
Convert GotoLineHandler to kotlin 2019-02-19 20:03:31 +03:00
Alex Plate
d8d1daca67
Convert GotoCharacterHandler to kotlin 2019-02-19 20:01:47 +03:00
Alex Plate
1aa021b157
Convert FindSymbolHandler to kotlin 2019-02-19 19:59:29 +03:00
Alex Plate
5e99c45fa1
Convert FindFileHandler to kotlin 2019-02-19 19:58:18 +03:00
Alex Plate
687a601772
Add Tony Arra to contributor list 2019-02-19 19:56:18 +03:00
Alex Plate
4bc2880505
Convert FindClassHandler to kotlin 2019-02-19 19:48:18 +03:00
Alex Plate
0f474d7f3e
Convert EditFileHandler to kotlin 2019-02-19 19:48:18 +03:00
Alex Plate
fe5342d63c
Convert DumpHandler to kotlin 2019-02-19 19:48:18 +03:00
Alex Plate
2f9de59b79
Convert DeleteHandler to kotlin 2019-02-19 19:48:18 +03:00
Alex Plate
18d18118a0
Convert CopyHandler to kotlin 2019-02-19 19:48:18 +03:00
Alex Plate
b074b5ac70
Use coerce function for rawCount 2019-02-19 19:48:17 +03:00
Alex Plate
a38231fb1b
Merge pull request #172 from TonyArra/VIM-1569
VIM-1569: Strip tag attributes from closing tag for Vim-Surround
2019-02-19 19:45:54 +03:00
Alex Plate
740abc1e70
Use enum for storing command flags 2019-02-19 16:43:23 +03:00
Alex Plate
2761dfb06f
Convert CmdFilterHandler to kotlin 2019-02-19 12:07:46 +03:00
Alex Plate
93ce46bb7c
Convert AsciiHandler to kotlin 2019-02-19 11:57:25 +03:00
Alex Plate
7e23fca598
New style of command definition 2019-02-18 21:32:23 +03:00
Alex Plate
0c2631622e
Merge pull request #88 from dos65/keypad_arrows
VIM-944 - Navigation with keypad arrows
2019-02-18 19:50:22 +03:00
Alex Plate
2285034a62
Convert ActionListHandler to kotlin 2019-02-15 21:02:25 +03:00
Alex Plate
49e28839f7
Convert ActionHandler to kotlin 2019-02-15 19:40:43 +03:00
Alex Plate
b2533565ad
Convert WriteQuiteHandler to kotlin 2019-02-15 19:27:07 +03:00
Alex Plate
a96a1730a1
Convert WritePreviousHandler to kotlin 2019-02-15 19:25:35 +03:00
Alex Plate
d027d7e099
Convert WriteNextHandler to kotlin 2019-02-15 19:23:56 +03:00
Alex Plate
cf5a5564ca
Convert WriteHandler to kotlin 2019-02-15 19:22:34 +03:00
Alex Plate
e183067257
Convert WriteAllHandler to kotlin 2019-02-15 19:21:10 +03:00
Alex Plate
7ab15f7f89
Convert UndoHandler to kotlin 2019-02-15 19:19:59 +03:00
Alex Plate
1a91f0cbcb
Convert SubstituteHandler to kotlin 2019-02-15 19:17:37 +03:00
Alex Plate
30241e0837
Convert SplitHandler to kotlin 2019-02-15 18:58:14 +03:00
Alex Plate
aea098b668
Convert SourceHandler to kotlin 2019-02-15 18:54:36 +03:00
Alex Plate
95a441b5b1
Merge pull request #175 from citizenmatt/VIM-1303
VIM-1303 Update UI when look and feel changes
2019-02-15 18:19:11 +03:00
Alex Plate
21b9b1d7f1
Convert ShiftRightHandler to kotlin, write tests for handler 2019-02-15 17:54:32 +03:00
Alex Plate
bd36a6d528
Convert ShiftLeftHandler to kotlin, write tests for handler 2019-02-15 17:48:26 +03:00
Alex Plate
aca77e1279
Convert ShellHandler to kotlin 2019-02-15 17:13:59 +03:00
Alex Plate
f7b604cb9b
Convert SetHandler to kotlin 2019-02-15 17:11:02 +03:00
Alex Plate
9c5cfd6bca
Convert SelectLastFileHandler to kotlin 2019-02-15 17:08:55 +03:00
Alex Plate
f657ecac6f
Convert SelectFirstFileHandler to kotlin 2019-02-15 17:06:54 +03:00
Alex Plate
69aaca33a5
Convert RedoHandler to kotlin 2019-02-15 17:04:35 +03:00
Alex Plate
08168a7877
Convert QuitHandler to kotlin 2019-02-15 17:02:57 +03:00
Alex Plate
9054f48f88
Convert PromptReplaceHandler to kotlin 2019-02-15 16:59:34 +03:00
Alex Plate
fbe6b5a3a3
Convert PromptFindHandler to kotlin 2019-02-15 16:55:45 +03:00
Alex Plate
8af5634431
Convert NoHLSearchHandler to kotlin 2019-02-14 18:08:44 +03:00
Alex Plate
1b61598149
Convert NextFileHandler to kotlin 2019-02-14 17:41:55 +03:00
Alex Plate
2cfc180df7
Convert MarkHandler to kotlin. Write tests for :mark command 2019-02-14 16:29:06 +03:00
Alex Plate
4d20e8fb28
Convert NextTab and PreviousTab handlers to kotlin 2019-02-14 15:50:35 +03:00
Alex Plate
276b19bf09
Merge pull request #132 from andreigasparovici/master
Added :tabn(ext) and :tabp(revious) functionality

VIM-801
2019-02-14 14:56:43 +03:00
Alex Plate
b0ebbdd7ff
Convert HelpHandler to kotlin 2019-02-14 14:35:32 +03:00
Alex Plate
5014de6d9d
Convert FileHandler to kotlin 2019-02-14 14:23:28 +03:00
Alex Plate
e0e51835b5
Create function for handler's flags definition 2019-02-14 13:23:02 +03:00
Alex Plate
7bccc2fbdb
Merge pull request #127 from vedran/master
Support end-of-line multi line percent match in visual mode
2019-02-14 13:14:56 +03:00
Alex Plate
c2da601722
Remove unused handler 2019-02-14 12:38:24 +03:00
Alex Plate
e8fea2e969
Convert DigraphHandler and EchoHandler to kotlin 2019-02-13 16:17:18 +03:00
Alex Plate
1fb93ea73d
Create kotlin-style command definition 2019-02-13 13:49:43 +03:00
Alex Plate
470f15fd3c
Convert ExitHandler and CommandName to kotlin 2019-02-12 20:47:59 +03:00
Alex Plate
99c6b4552a
Merge pull request #126 from durandom/offset_in_slash
Make offset work in normal search
2019-02-12 19:50:48 +03:00
Alex Plate
d69bf5d76f
Update changelog. Add John Grib to contributor list. 2019-02-12 18:55:01 +03:00
Alex Plate
ac484e36fa
Merge pull request #115 from johngrib/feature/add-command-shell
Added :shell command
2019-02-12 18:39:23 +03:00
Alex Plate
dc88cbd902
Change implementation of ExitHandler
Use file manager for file closing
Add tests for :qa commands
2019-02-12 17:33:18 +03:00
Alex Plate
582393a462
Fix :only command 2019-02-12 16:42:54 +03:00
Matt Ellis
0c1a08b231
VIM-1303 Update UI when look and feel changes 2019-02-07 08:54:41 +00:00
bradziolko
b88f13ee32 [VIM-1012] Support tab close preferences when using :q or :wq 2019-01-29 02:09:53 -06:00
Andrey Vlasovskikh
ff61a42670 Updated usages of obsolete APIs 2019-01-28 21:40:14 +03:00
Andrey Vlasovskikh
f160d855c0 Added missing nullity annotations 2019-01-28 21:38:37 +03:00
Andrey Vlasovskikh
51685a2094 Renamed attributes according to naming convention 2019-01-28 20:49:23 +03:00
Andrey Vlasovskikh
39aa60850d Fixed inspection warnings 2019-01-28 20:41:56 +03:00
Andrey Vlasovskikh
872921e6b7 Reformat code 2019-01-28 20:39:45 +03:00
Andrey Vlasovskikh
89788df95c Merge branch 'pull/173' 2019-01-28 20:38:03 +03:00
Andrey Vlasovskikh
00154f2b9f Merge branch 'pull/170' 2019-01-27 16:48:05 +03:00
Matt Ellis
531a9c28ae
VIM-1558 Support block inlays 2019-01-25 12:31:42 +00:00
Tony Arra
63be2c28e9 Strip tag attributes from closing tag for Vim-Surround 2019-01-21 09:17:10 -05:00
Matt Ellis
56c4e3e31f
VIM-1187 Fix performance with large files and relative line numbers 2019-01-08 13:47:05 +00:00
Andrey Vlasovskikh
333a5be30b Merge branch 'pull/162' 2018-12-31 18:05:38 +03:00
Andrey Vlasovskikh
6c9e697892 VIM-620 Fixed handling nested <C-O> & <Esc> in Insert and Replace modes 2018-12-31 18:01:15 +03:00
Andrew Potter
5e80e402ee Get indent from PsiFile so formatting on shift is consistent 2018-11-02 12:54:55 -04:00
Alex Plate
5529bf284a VIM-798 Arrow keys for window navigation commands
Add new mappings to allow window navigation with arrow keys:
- ^W-<left> as ^W-h
- ^W-<down> as ^W-j
- ^W-<up> as ^W-k
- ^W-<right> as ^W-l
2018-10-01 20:19:25 +03:00
Pierce Corcoran
9e2400de69
VIM-1473 Fix incorrect selection type for unnamed registers
Selection type for unnamed and unnamedplus will only be guessed when system clipboard is different from the internal register, and even then will never assume the text is a visual block selection.
2018-09-23 19:11:10 -07:00
Andrey Vlasovskikh
6506935d03 Merge branch 'vim-1274' 2018-09-21 19:31:40 +03:00
John Lin
b6be26231f VIM-1274 Fix StringHelper.containsUpperCase behavior
StringHelper.containsUpperCase should return true when one of
the character of the input string satisfies the following two
conditions:

1. The character is upper case.
2. The character is not prefixed with a backslash.

Before this fix, the second condition was incorrectly written.
2018-09-17 11:53:23 +08:00
Andrey Vlasovskikh
173f570230 EA-108647 Check if the editor is disposed in invokeLater() 2018-09-14 18:19:37 +03:00
Andrey Vlasovskikh
57dcaba367 EA-89803 Fixed running IntelliJ write actions directly within Swing timer handler
We have to switch to a transaction with an appropriate modality state.
2018-09-14 18:08:45 +03:00
Andrey Vlasovskikh
d9f7955356 VIM-1366 Don't wrap secondary event loop for input() into write action
Extension handlers are now run without outer read / write actions and
they are required to synchronize access to the data structures of
IntelliJ by themselves.
2018-09-14 17:28:25 +03:00
Andrey Vlasovskikh
9cf264998f VIM-1317 Don't run Undo/Redo inside write actions
They show UI dialogs, which is not allowed under a write action, and
they use their own write actions when needed.
2018-09-14 17:23:10 +03:00
Andrey Vlasovskikh
1feac95069 VIM-339 Handle <Esc> by Vim only in primary or physical file editors
<Esc> is handled by the Vim emulation in primary editors of the main
window and in non-primary editors with physical files open in them,
but only in modes other than Normal. This is needed for the diff dialog
where you can have both physical file editors and non-physical file
editors, but they are non-primary, so users still expect <Esc> to close
the diff window when the editor is in the Normal mode.
2018-09-10 14:45:22 +03:00
Andrey Vlasovskikh
ed3f87e6a8 VIM-176 Treat console editors like any other editors
If an editor is a writable non-file editor (like a console), then we
activate the 'i' mode *and* allow running write commands. Thus,
Insert mode commands like arrow navigation will work in these editors.
2018-09-08 19:20:53 +03:00
Andrey Vlasovskikh
cc76c7f0f3
Merge pull request #156 from karavaevitalii/multiple-carets
Fixed bug with selecting occurrences when ignorecase is set
2018-08-27 21:55:06 +03:00
Vitalii Karavaev
57741cd5ce Fixed bug with selecting occurrences when ignorecase is set 2018-08-27 21:23:25 +03:00
Andrey Vlasovskikh
23fa55ea11 Updated the list of all supported commands
Removed the multiple carets support marker, since all commands are
basically covered now. We'll handle any bugs left in the same way we
do it for other bugs.
2018-08-27 20:50:07 +03:00
Vitalii Karavaev
0a052e7bb3 Cleanup 2018-08-10 18:18:43 +03:00
Vitalii Karavaev
60a96e9542 Cleanup 2018-08-10 17:32:30 +03:00
Vitalii Karavaev
f3f9abef0c <A-x> shows no more matches message when necessary 2018-08-10 17:06:10 +03:00
Vitalii Karavaev
58fc34d9f7 Implement <A-x> 2018-08-10 17:01:36 +03:00
Vitalii Karavaev
6fdd769d0f Implement <A-p> 2018-08-10 16:43:46 +03:00
Vitalii Karavaev
b54384bb33 Implement <Plug>All<Whole>Occurrences 2018-08-10 16:31:48 +03:00
Vitalii Karavaev
c57f98591a Revert MultipleCursorsExtension and implement <A-n> 2018-08-10 14:08:25 +03:00
Vitalii Karavaev
7dcacd3b01 Minor fixes 2018-08-09 17:45:56 +03:00
Vitalii Karavaev
2225033b7c Reset state and additional checks 2018-08-09 17:32:32 +03:00
Vitalii Karavaev
7c5194fbaa Better work in case of multiple carets 2018-08-09 14:55:22 +03:00
Vitalii Karavaev
361284fe06 Fixed <A-n> in visual mode 2018-08-09 14:25:29 +03:00
Vitalii Karavaev
aa3e55cacc Fixed bug with multiple carets <A-n> action 2018-08-09 13:54:31 +03:00
Vitalii Karavaev
73987eaf23 Safer work in case of multiple carets 2018-08-09 12:47:40 +03:00
Vitalii Karavaev
06058a45c0 Fixed review issues and README.md updated 2018-08-09 12:35:08 +03:00
Vitalii Karavaev
d46cab6fc8 Fixed review issues 2018-08-09 11:18:39 +03:00
Vitalii Karavaev
77bd800d95 private modifier 2018-08-08 16:11:55 +03:00
Vitalii Karavaev
831373c292 Cleanup 2018-08-08 15:59:44 +03:00
Vitalii Karavaev
346ada2eff Blank lines 2018-08-08 15:45:56 +03:00
Vitalii Karavaev
485ff37b22 Better work with nulls 2018-08-08 15:38:33 +03:00
Vitalii Karavaev
47ef6f4844 Show message when no more matches 2018-08-08 15:19:03 +03:00
Vitalii Karavaev
cd288ec125 Support for selection all occurrences 2018-08-08 15:16:13 +03:00
Vitalii Karavaev
bde2eb786d g<A-n> support 2018-08-08 14:38:33 +03:00
Vitalii Karavaev
b6896e28c8 Better support for vim-multiple-cursors extension 2018-08-08 13:57:16 +03:00
Vitalii Karavaev
15dc233a86 Overlap carets when jump to mark 2018-08-08 10:20:15 +03:00
Vitalii Karavaev
b070549eca Remove gn action 2018-08-07 17:42:18 +03:00
Vitalii Karavaev
71a3df028b Fixed review issues 2018-08-07 17:37:11 +03:00
Vitalii Karavaev
73ef8c821b Minor review issues 2018-08-07 16:47:18 +03:00
Vitalii Karavaev
bbd314b6df Test :s/// 2018-08-07 15:05:46 +03:00
Vitalii Karavaev
5764fe7555 Multiple carets support for :@ 2018-08-07 14:54:42 +03:00
Vitalii Karavaev
44cc17cb84 Multiple carets support for :s/// 2018-08-07 14:53:10 +03:00
Vitalii Karavaev
dba8879576 Formatted lines 2018-08-07 10:29:56 +03:00
Vitalii Karavaev
1deb48bf60 Fixed broken tests 2018-08-07 10:28:37 +03:00
Vitalii Karavaev
bd35f71c6a :sor multicaret support 2018-08-07 10:17:47 +03:00
Vitalii Karavaev
d29ae6a64d :> fix bug and multiple carets support 2018-08-06 16:01:39 +03:00
Vitalii Karavaev
5b69b9beae :< fix bug and multiple carets support 2018-08-06 15:55:47 +03:00
Vitalii Karavaev
0c78741642 Warnings 2018-08-06 15:54:58 +03:00
Vitalii Karavaev
a9440f41a7 Support skip and remove for vim-multiple-cursors emulation 2018-08-06 15:18:05 +03:00
Vitalii Karavaev
8fc4306d76 :d support 2018-08-06 13:42:21 +03:00
Vitalii Karavaev
371d7385ed Vim Multiple Cursors extension prototype 2018-08-06 12:14:50 +03:00
Vitalii Karavaev
2cacdbaf00 Minor 2018-08-06 10:24:09 +03:00
Vitalii Karavaev
3041fe7c3b Rename VisualSelectNextOccurrence to VimSelectNextOccurrence 2018-08-06 09:45:49 +03:00
Vitalii Karavaev
67a9e1f8c5 Remove support for ex commands with visual selection and multiple carets support for :y 2018-08-03 17:30:44 +03:00
Vitalii Karavaev
fc0a950af1 Cleanup 2018-08-03 14:35:23 +03:00
Vitalii Karavaev
e1872387d4 Shortcut for caret adding prototype 2018-08-03 14:08:06 +03:00
Vitalii Karavaev
ac10b96280 Better work with nullable carets 2018-08-03 11:15:17 +03:00
Vitalii Karavaev
d5313ebbda Remove warnings 2018-08-02 18:09:36 +03:00
Vitalii Karavaev
c3d1e5c58c Remove warnings 2018-08-02 17:26:08 +03:00
Vitalii Karavaev
478c0cd443 Replace block of code with function call 2018-08-02 17:20:29 +03:00
Vitalii Karavaev
2be2d861c9 Update action for [p and update package-info 2018-08-02 12:04:56 +03:00
Vitalii Karavaev
9731980fe6 Fixed incompatibility wit goto mark action and preparing to remove inconsistency between yank and delete 2018-08-02 11:57:06 +03:00
Vitalii Karavaev
392f8e5e60 Fix goto mark actions 2018-08-02 11:54:16 +03:00
Vitalii Karavaev
a7e1275b5f Remove redundant null check 2018-08-01 14:19:55 +03:00
Vitalii Karavaev
29a6d47cca Correct annotation 2018-08-01 14:18:04 +03:00
Vitalii Karavaev
65483dd34a Correct Javadoc 2018-08-01 14:12:08 +03:00
Vitalii Karavaev
3b290fe356 Add tests and fix bug for CopyGroup 2018-08-01 13:59:05 +03:00
Vitalii Karavaev
2648913b61 Corrected review issues 2018-08-01 10:55:54 +03:00
Vitalii Karavaev
d386e49bd5 Simplify logic and remove unused logger 2018-08-01 10:42:31 +03:00
Vitalii Karavaev
c1b4671435 Multiple carets support for :m 2018-07-31 16:37:47 +03:00
Vitalii Karavaev
cbeb0d229b Remove todo 2018-07-31 10:49:35 +03:00
Vitalii Karavaev
0c5ca37412 Multiple carets support for :pu command 2018-07-31 10:41:45 +03:00
Vitalii Karavaev
602071a440 Remove warning 2018-07-30 17:50:17 +03:00
Vitalii Karavaev
7061b58940 Remove warnings 2018-07-30 17:44:25 +03:00
Vitalii Karavaev
76c2c54e5a Remove unnecessary comments 2018-07-30 15:50:26 +03:00
Vitalii Karavaev
ffcf7d0630 Multiple carets support for :co 2018-07-30 15:42:20 +03:00
Vitalii Karavaev
40d0f6c1e2 Multiple carets support for join lines via :j 2018-07-30 15:05:41 +03:00
Vitalii Karavaev
bddd4db2b2 Uncertainty 2018-07-30 15:04:19 +03:00
Vitalii Karavaev
7ee18e81c7 Remove unused function 2018-07-30 10:56:50 +03:00
Vitalii Karavaev
700240d441 Remove warnings 2018-07-26 15:24:34 +03:00
Vitalii Karavaev
539d38259c Remove TODO 2018-07-26 15:17:29 +03:00
Vitalii Karavaev
2efb0dfb17 Multicaret support for go to line 2018-07-26 14:52:40 +03:00
Vitalii Karavaev
947d32d905 Multiple carets support for :go command 2018-07-26 13:55:51 +03:00
Vitalii Karavaev
56569966a6 Preparing for multicaret support for ex commands 2018-07-26 13:55:24 +03:00
Vitalii Karavaev
6092535041 Remove some warnings 2018-07-26 11:46:14 +03:00
Vitalii Karavaev
44a53ce28e Fix bug with overlapping carets 2018-07-26 11:33:32 +03:00
Vitalii Karavaev
a228f32f34 Remove possible NPE 2018-07-26 11:01:04 +03:00
Vitalii Karavaev
2082981bd6 Permute parameters 2018-07-26 10:28:41 +03:00
Vitalii Karavaev
3c59ee79f6 Refactoring and TODO 2018-07-25 16:47:00 +03:00
Vitalii Karavaev
b3ebd7c29d Fix caret order for different put cases 2018-07-25 14:53:28 +03:00
Vitalii Karavaev
76a5c39fdc Remove warnings and fixed null handling 2018-07-25 11:24:22 +03:00
Vitalii Karavaev
f4ec448d75 Add constants and remove TODO 2018-07-25 11:06:54 +03:00
Vitalii Karavaev
e38390f8a1 Codestyle 2018-07-25 10:59:12 +03:00
Vitalii Karavaev
2990389ea5 Codestyle 2018-07-25 10:50:03 +03:00
Vitalii Karavaev
249dfb166d Change if/else block to switch 2018-07-25 10:03:20 +03:00
Vitalii Karavaev
4c06d21396 Proper marks in case of put [count] 2018-07-25 09:57:56 +03:00
Vitalii Karavaev
a046f2975f Remove TODO: use tabs as needed 2018-07-24 11:51:52 +03:00
Vitalii Karavaev
0bf217ef36 Pair.NonNull instead of Pair 2018-07-24 10:12:19 +03:00
Vitalii Karavaev
f2712d8cfb Pair.create instead of constructor call 2018-07-23 18:14:59 +03:00
Vitalii Karavaev
bb32e7adb4 Multiple carets support for put visual text 2018-07-23 16:33:04 +03:00
Vitalii Karavaev
cadaec585b Minor fixes 2018-07-23 13:25:55 +03:00
Vitalii Karavaev
11c2f5014f Fixed bug yank blockwise 2018-07-23 12:50:58 +03:00
Vitalii Karavaev
2326489658 Multiple carets support for yank visual 2018-07-23 12:39:31 +03:00
Vitalii Karavaev
01ec08e20b Multiple carets support for going to character/line in command mode 2018-07-20 14:16:18 +03:00
Vitalii Karavaev
69ebcc17e9 Put text bug fixed 2018-07-20 14:15:27 +03:00
Vitalii Karavaev
b86bdd7847 Explicitly passing carets to some methods and cleanup 2018-07-20 11:53:50 +03:00
Vitalii Karavaev
fbd7409851 Moved putText to single method and better work with multicaret insertion 2018-07-20 11:25:53 +03:00
Vitalii Karavaev
0773c886ee Fixed bug with put blockwise text. Properly this time 2018-07-19 18:00:14 +03:00
Vitalii Karavaev
d05c7268d9 Fixed bug with put blockwise text 2018-07-19 17:44:11 +03:00
Vitalii Karavaev
80d0748edd minor 2018-07-19 17:15:42 +03:00
Vitalii Karavaev
fcbf228d35 Proper indent after yank commands 2018-07-19 16:53:22 +03:00
Vitalii Karavaev
34feb27bef Yank commands and tests 2018-07-19 16:11:28 +03:00
Vitalii Karavaev
60917433d2 Update package-info 2018-07-19 11:22:36 +03:00
Vitalii Karavaev
dd59e0704a Update package-info 2018-07-19 11:18:57 +03:00
Vitalii Karavaev
d4bf472291 Refactoring 2018-07-19 11:07:56 +03:00
Vitalii Karavaev
039b650953 Remove redundant caret passing 2018-07-19 11:06:31 +03:00
Vitalii Karavaev
49590c831f PutTextAfterCursorAction implemented 2018-07-18 15:39:06 +03:00
Vitalii Karavaev
9aed0ce621 Revert CopyGroup and implement putTextBeforeCursor action 2018-07-18 12:27:37 +03:00
Vitalii Karavaev
9b653a7c63 Fix visual block insert/append 2018-07-18 10:38:16 +03:00
Vitalii Karavaev
bb0094038a Remove unnecessary caret passing in some cases and started to simplify ChangeGroup methods 2018-07-17 15:59:01 +03:00
Vitalii Karavaev
ae55f5d605 Multicaret support for yank visual range 2018-07-16 14:41:48 +03:00
Vitalii Karavaev
81ca21517a Update package-info 2018-07-16 14:41:27 +03:00
Vitalii Karavaev
24a4167296 Multicaret support for yank motion 2018-07-16 13:59:19 +03:00
Vitalii Karavaev
3ffd967b00 Update package-info 2018-07-16 13:41:50 +03:00
Vitalii Karavaev
a2a1f4806a Multicaret support for yank lines 2018-07-16 13:39:16 +03:00
Vitalii Karavaev
6b56d7d1cd Remove redundant code 2018-07-16 12:06:21 +03:00
Vitalii Karavaev
b5a802bf30 Update package-info 2018-07-16 11:58:39 +03:00
Vitalii Karavaev
b4586779b3 Remove unused function 2018-07-16 11:34:43 +03:00
Vitalii Karavaev
d92d5a1b33 Remove unused functions 2018-07-16 11:32:59 +03:00
Vitalii Karavaev
52ec080343 Remove unused function 2018-07-16 11:31:38 +03:00
Vitalii Karavaev
5bff61c2ee Discard redundant changes 2018-07-16 11:23:48 +03:00
Vitalii Karavaev
c12b713543 Remove unused methods and fix bug 2018-07-16 11:19:00 +03:00
Vitalii Karavaev
7bafa0f8c8 Fix broken going to [count] line end. 2018-07-16 11:16:43 +03:00
Vitalii Karavaev
a47cdb9f35 Remove unnecessary throws clause 2018-07-16 11:15:24 +03:00
Vitalii Karavaev
bd9ac3b031 Pull check if caret is not null up in base class 2018-07-16 11:14:29 +03:00
Vitalii Karavaev
22ad45cd58 Fixed expression with both pure and side-effects and inline unnecessary function call 2018-07-16 11:12:53 +03:00
Vitalii Karavaev
58e0b7704b Remove unused method 2018-07-16 10:30:19 +03:00
Vitalii Karavaev
b78854b8de Remove unnecessary function calls and properly handle multicaret jump to mark 2018-07-16 10:29:12 +03:00
Vitalii Karavaev
ae61ed456f Multiple carets support for put text instead of visual block 2018-07-12 17:32:50 +03:00
Vitalii Karavaev
bdc1103641 Proper indents 2018-07-12 15:45:47 +03:00
Vitalii Karavaev
689d19759d Remove indent in pasting text where necessary 2018-07-12 15:44:52 +03:00
Vitalii Karavaev
064d3765c0 Multiple carets support for auto indent and refactoring 2018-07-12 14:29:12 +03:00
Vitalii Karavaev
861028ef5c Proper code style 2018-07-12 12:20:03 +03:00
Vitalii Karavaev
75f88c539c Multiple carets support for putting text without indent 2018-07-12 10:20:31 +03:00
Vitalii Karavaev
1109650fde Multiple carets support for put text 2018-07-12 10:06:11 +03:00
Vitalii Karavaev
704f8d7e9d Proper indent in visual mode changes 2018-07-10 15:37:06 +03:00
Vitalii Karavaev
4a2c3d9098 Inserting new line for particular caret bug fixed 2018-07-10 14:22:32 +03:00
Vitalii Karavaev
d21b04acb5 Better multiple carets handling in some cases and cleanup 2018-07-10 13:38:17 +03:00
Vitalii Karavaev
5403336c78 Minor code cleanup 2018-07-09 16:09:54 +03:00
Vitalii Karavaev
def6d2bd5b Change behaviour when inserting previously inserted text 2018-07-09 14:53:54 +03:00
Vitalii Karavaev
04db2764c1 Better insertion after line end 2018-07-09 14:47:24 +03:00
Vitalii Karavaev
0e9b2250bd Multiple carets support for inserting after line end 2018-07-09 14:38:42 +03:00
Vitalii Karavaev
654d345d78 Fix bug in insertion previously inserted text 2018-07-09 11:05:59 +03:00
Vitalii Karavaev
99e379392b Fix typo 2018-07-09 09:54:41 +03:00
Vitalii Karavaev
1debd99701 Multiple carets support for jumping to older/newer cursor position in jump list 2018-07-06 17:03:48 +03:00
Vitalii Karavaev
a099070c79 Multiple carets support for moving caret to the middle column 2018-07-06 15:22:52 +03:00
Vitalii Karavaev
0a09b8bd5a Multiple carets support for motion to first non-blank character of the screen line 2018-07-06 15:09:56 +03:00
Vitalii Karavaev
b3750dd24d Multiple carets support for motion to first/last screen column 2018-07-06 14:59:13 +03:00
Vitalii Karavaev
db1b0c2516 Multiple carets support for searching substrings 2018-07-06 14:32:19 +03:00
Vitalii Karavaev
fc6208b95d Goto first line bug fixed 2018-07-06 14:17:43 +03:00
Vitalii Karavaev
e68d3eac7d Multiple carets support for repeating latest search 2018-07-06 12:41:48 +03:00
Vitalii Karavaev
d093b446c2 Multiple carets support for going to [count] line from bottom of window 2018-07-06 12:19:21 +03:00
Vitalii Karavaev
be839051d5 Multiple carets support for going to [count] line from bottom of window 2018-07-06 12:07:16 +03:00
Vitalii Karavaev
8937068b5f Multiple carets support for going to [count] line from top of window 2018-07-06 11:58:21 +03:00
Vitalii Karavaev
3f82020100 Multiple carets support for going to line 2018-07-06 11:39:57 +03:00
Vitalii Karavaev
63ee6bbc56 Multiple carets support for searching entry in reversed direction 2018-07-05 17:40:23 +03:00
Vitalii Karavaev
7046680765 Multiple carets support for searching entry in forward direction 2018-07-05 17:35:54 +03:00
Vitalii Karavaev
c17334f17f Multiple carets support for jumping on mark line 2018-07-05 17:13:01 +03:00
Vitalii Karavaev
ecd40231a5 Multiple carets support for jumping to mark added 2018-07-05 16:52:32 +03:00
Vitalii Karavaev
9b751da31c Multiple carets support for matching items 2018-07-04 17:48:34 +03:00
Vitalii Karavaev
f3d168f19f Multiple carets support for searching whole word 2018-07-04 16:08:37 +03:00
Vitalii Karavaev
4f4d9fda0b Multiple carets support for moving cursor after last char in the file 2018-07-04 15:10:32 +03:00
Vitalii Karavaev
f4bb745519 Multiple carets support for moving cursor to the first char in the file 2018-07-04 14:41:17 +03:00
Vitalii Karavaev
a03258999a Multiple carets support for deleting the word before cursor in insert mode 2018-07-04 12:31:29 +03:00
Vitalii Karavaev
39b166b87f Multiple caret support for insert previously inserted text and stop inserting added 2018-07-04 10:19:17 +03:00
Vitalii Karavaev
4952ddc494 Multiple carets support for inserting previously inserted text 2018-07-03 15:49:03 +03:00
Vitalii Karavaev
8ffc9b6581 Simple case for insert previous inserted text implemented 2018-07-02 17:46:17 +03:00
Andrey Vlasovskikh
f0be6581b2 Merge branch 'master' into multiple-carets
# Conflicts:
#	src/com/maddyhome/idea/vim/action/motion/object/MotionInnerBlockTagAction.java
#	src/com/maddyhome/idea/vim/action/motion/object/MotionOuterBlockTagAction.java
#	src/com/maddyhome/idea/vim/group/MotionGroup.java
#	src/com/maddyhome/idea/vim/helper/SearchHelper.java
2018-06-29 12:39:39 +03:00
Andrey Vlasovskikh
ef470bd890 Merge branch 'FIX-VIM-1287' 2018-06-28 16:09:47 +03:00
Andrey Vlasovskikh
dca4b0a399 VIM-1287 Removed redundant code 2018-06-28 16:08:55 +03:00
Andrey Vlasovskikh
7f897440b7 Merge remote-tracking branch 'jpalus/master' 2018-06-04 16:05:10 +03:00
Andrey Vlasovskikh
5b21074b9d Merge remote-tracking branch 'jpalus/VIM-1431' 2018-06-04 16:01:42 +03:00
Jan Palus
50b2093548 generalize check on offset boundaries 2018-06-02 15:09:28 +02:00
Andrey Vlasovskikh
bc5ca28b13 Fixed API incompatibility 2018-05-30 22:26:50 +03:00
Andrey Vlasovskikh
3eed987488 Fixed code inspection warnings in FileGroup 2018-05-30 21:51:20 +03:00
Andrey Vlasovskikh
6f633700ae Removed deprecated API usages 2018-05-30 21:27:57 +03:00
Andrey Vlasovskikh
a7670829d5 Fixed NPE 2018-05-30 21:27:01 +03:00
Andrey Vlasovskikh
6fb8817391 Code style 2018-05-30 21:24:02 +03:00
Jan Palus
e90b7276cb VIM-1431 handle empty documents when checking if line is empty
Signed-off-by: Jan Palus <jpalus@fastmail.com>
2018-05-29 23:08:40 +02:00
Andrey Vlasovskikh
a1ba5fec2b Updated the index of supported and not supported commands 2018-05-29 22:45:04 +03:00
Andrey Vlasovskikh
6606211233 Incomplete commands index with the current status of multi-caret support 2018-05-29 20:08:32 +03:00
Andrey Vlasovskikh
b1daacc9fb Added TODO items for unused actions 2018-05-29 20:04:23 +03:00
Jan Palus
03fe7d9ea2 VIM-1427 add count support to tag motion 2018-05-29 00:45:44 +02:00
Vasily Alferov
2d3da163a8 Attempt to fix Visual Block down movements 2018-05-26 21:52:57 +03:00
Vasily Alferov
49c59764ac Merge in change.insert actions 2018-05-26 20:17:12 +03:00
Vasily Alferov
06cc59b7a3 Got rid of deprecated overrides in EditorActionHandlerBase 2018-05-26 19:47:47 +03:00
Vasily Alferov
7754080323 Various fixes 2018-05-25 11:45:11 +03:00
Vasily Alferov
ebf081e273 Multicaret shift 2018-05-22 22:51:49 +03:00
Vasily Alferov
258467467b Multicaret insert 2018-05-22 22:02:26 +03:00
Vasily Alferov
4f468cace7 Multicaret change.change 2018-05-22 00:16:58 +03:00
Vasily Alferov
9ddedbe752 Multicaret delete visual operator actions 2018-05-21 19:08:40 +03:00
Vasily Alferov
63b237114a Multicaret version for VisualOperatorActionHandler 2018-05-21 17:05:38 +03:00
Vasily Alferov
29c789dcf3 Implementations of all of the delete actions whose handlers doesn't override VisualOperatorActionHandler. 2018-05-20 13:55:33 +03:00
Vasily Alferov
59e2ae552e ChangeEditorActionHandler multicaret version and multicaret delete tests 2018-05-12 21:24:28 +03:00
Vasily Alferov
422557d4ce Cosmetical changes 2018-05-12 19:01:01 +03:00
Vasily Alferov
0919e9d560 Multicaret merging selections & text objects 2018-05-12 17:08:19 +03:00
Vasily Alferov
13c475d73c Fix multiple carets movement in case i<ESC>i<ESC> 2018-05-05 12:01:00 +03:00
Vasily Alferov
3b46e44e4f action.motion.text.* multicaret tests and implementation 2018-04-27 20:24:26 +03:00
Vasily Alferov
a75db02d05 Fix failed tests on Visual Block Mode. 2018-04-24 22:17:10 +03:00
Vasily Alferov
4698f1be5c Reformat code with IntellIJ IDEA tool. 2018-04-16 16:11:53 +03:00
Vasily Alferov
1db103e352 Basic multicaret up-down motions.
+ Create a class for caret-specific data and move LAST_COLUMN getter/setter there.
2018-04-16 16:05:52 +03:00
Vasily Alferov
5037a1182f Fix unused imports 2018-03-29 17:21:30 +05:30
Vasily Alferov
4d46000ec6 Write most of multicaret leftright actions.
MotionColumnAction, MotionFirstColumnAction, MotionFirstNonSpaceAction, MotionLastColumnAction, MostionLastMatchCharAction, MotionLastMatchCharReverseAction, MotionLastNonSpaceAction, MotionLeftAction, MotionLeftMatchCharAction, MotionLeftTillMatchCharAction, MotionRightAction, MotionRightMatchCharAction, MotionRightTillMatchCharAction now have their own native multi-caret implementations.
2018-03-29 10:18:35 +05:30
Vasily Alferov
56ad6b4c0d Multi-caret basic leftright motions.
Add basic multi-caret interfaces (i.e. deprecated and new functions to EditorActionHandlerBase) and overloaded them in MotionLeftAction and MotionRightAction.
2018-03-21 17:13:57 +03:00
Florian Hassmann
ab750b6e75 Fixes #VIM-1404. 2018-01-29 12:22:15 +01:00
Andrey Vlasovskikh
44a4a858fe IDEA-184351 Check if project is disposed before setting editor line numbers
Setting line numbers requires re-initializing the editor that means
accessing project code style settings. If the project has been disposed
then this operation is illegal.
2017-12-29 11:34:56 +03:00
Andrey Vlasovskikh
dbdc15f21f Merge branch 'cypok/vim-1380' 2017-12-29 10:29:34 +03:00
Andrey Vlasovskikh
1a8c72d721 Merge branch 'cypok/vim-1379' 2017-12-29 10:19:08 +03:00
Andrey Vlasovskikh
b7273bc4f2 VIM-1379 Added check for empty ranges 2017-12-29 10:09:09 +03:00
qzed
b98427472f VIM-1110 Fix caret jumping after escape from block-insert mode 2017-12-28 15:53:02 +03:00
Andrey Vlasovskikh
bf42822626 VIM-862 Keep selected text after running possibly async IDE action
E.g. `:action ReformatCode` is run asynchronously in another thread, so
we used to exit the visual mode (and thus dropped the selection) before
it was run.
2017-12-27 19:00:42 +03:00
Andrey Vlasovskikh
2c99da538e VIM-1329 Use default modality state to run actions after focus settles down 2017-12-18 00:54:52 +03:00
Andrey Vlasovskikh
1393e60ca8 VIM-862 Properly apply and reset visual mode for running visual :action commands
Also fixed minor formatting and Java 8 issues.
2017-12-18 00:53:56 +03:00
Andrey Vlasovskikh
2e67c704f7 VIM-862 Fixed off-by-1 in restoring visual character selection after 'gv' 2017-12-18 00:52:29 +03:00
Andrey Vlasovskikh
c0410131bf Merge remote-tracking branch 'ikenox/feature/action-in-visual-mode' 2017-12-15 01:37:40 +03:00
Andrey Vlasovskikh
473a305e5f Use SecondaryLoop of JDK 8
The current version of IdeaVim is compatible with IntelliJ 2017.1+
which has switched to Java 8+, so we no longer need compatibility
layers for earlier versions.
2017-12-15 01:25:58 +03:00
Andrey Vlasovskikh
bd84babecd Converted UiHelper into Kotlin 2017-12-14 03:26:01 +03:00
Andrey Vlasovskikh
1b83231b1c VIM-1329 Use IntelliJ API to request focus reliably 2017-12-14 00:29:11 +03:00
Andrey Vlasovskikh
f39ad34057 VIM-1368 Use IntelliJ API to run stuff after the current component gets focus 2017-12-14 00:28:02 +03:00
Vladimir Parfinenko
52d26f9fb6 VIM-1380 Fixed 'cNw' at the last character of a word
Bug was introduced while fixing VIM-200
2017-11-20 11:37:42 +07:00
Naoto Ikeno
b7d124ce8d Make :action commands work in visual mode 2017-11-19 20:06:02 +09:00
Vladimir Parfinenko
6a5c70ee6a VIM-1379 Fix usage TextRange.size() as lines count
TextRange.size() should be used only for iterating over starts/ends
2017-11-19 13:49:12 +07:00
Andrey Vlasovskikh
a76b41b737 VIM-1367 Fixed resetting the default value
The previous fix tried to parse the current value instead of the default
one.
2017-11-03 05:00:29 +03:00
Andrey Vlasovskikh
2fc6553203 VIM-1367 Correctly reset parsed and stored 'iskeyword' option value 2017-11-03 04:26:46 +03:00
Andrey Vlasovskikh
98b003e601 VIM-1367 Deterministic order of options for reproducible tests 2017-11-03 04:23:29 +03:00
Andrey Vlasovskikh
6245b15d8f Cleanup 2017-11-03 03:48:15 +03:00
Andrey Vlasovskikh
ab1d7ba6cb VIM-1367 Removed unnecessary repetition in positive lookbehind
It resulted in an inspection warning that positive lookbehind groups
cannot contain 1 or more repetition patterns.
2017-11-03 03:34:11 +03:00
nickgieschen
ef05491991 VIM-1367 Implement iskeyword
(cherry picked from commit d91d38c)
2017-11-03 03:22:39 +03:00
tieTYT
57b5b319a7 VIM-523 Fixed global mark remembering only the line number
Bear with me as this is the first thing I've ever done with
Intellij-IDEA plugin development.

I tested this and I believe I fixed the problem.  The cause of the
problem was that the code was checking if the mark was in a different
file but if it was, it was using the editor of the current file to go
to the line of the mark.  I changed the code so that it opens the file
of the mark first, then jumps to its line number.

I need a VirtualFile so that I can get the Editor to open. The Mark
stores the path of the file it's in, but the path is not enough
information to get a VirtualFile.  I also need the "protocol" of the
file.  So, I had to change the structure of the Mark and add a
"protocol" field to it.

I had to update the save/load logic to use this new field, too.  This
way, when you restart Intellij-IDEA, the marks can still be used.  For
old marks, I defaulted the "protocol" to the value of "file".

One thing I couldn't figure out how to do is add a test case to check
that this is working correctly.  This is not due to a lack of effort.
In fact, I tried to write the test case first.  But I have been unable
to find any examples anywhere of testing multiple Editors, and that's
what's involved to fix this issue.  Because of this, this issue may be
best used as a reference to fix the problem instead of worthy of being
used in production.  Either way, I'd love to know how to write such a
test.
2017-11-01 02:35:23 +03:00
Andrei Gasparovici
82dfcdd5df Added :tabn(ew) and :tabp(revious) functionality 2017-08-18 11:38:52 +03:00
Konstantin Petrov
e97c49a032 Fix search for braces inside quotes the way vim does 2017-05-31 10:27:48 +02:00
Vedran Budimcic
44b9946bb0 Support end-of-line multi line percent match in visual mode 2017-03-24 07:12:28 -07:00
Marcel Hild
6efd4023fd make offset work in normal search 2017-03-23 11:33:08 +01:00
Andrey Vlasovskikh
a882e37d04 Merge remote-tracking branch 'origin/vim-1007'
# Conflicts:
#	gradle.properties
#	resources/META-INF/plugin.xml
#	src/com/maddyhome/idea/vim/VimTypedActionHandler.java
2017-01-16 00:57:31 +03:00
Andrey Vlasovskikh
120b69c439 Fixed source API compatibility with branch 171 2017-01-15 23:22:40 +03:00
Andrey Vlasovskikh
a5e303d1ca Merge pull request #121 from gaganis/VIM-1216
Fixed . reseting the last find movement
2016-11-29 00:35:40 +03:00
Giorgos Gaganis
c4d8cef44d Fixed . reseting the last find movement where repeating change that also uses movement.
On the original vim when we repeat a change with . that also contain an find movement the last find that was typed before the repeat is the one used by the motion repeat ;. Before the commit the plugin would have reset the last movement to use the movement contained in the command that was repeated.

To solve this I took a simple approach where I save the last find motion before starting the repeat and then restoring it to its original value after the repeat is over. In order to access the find motion fields from RepeatChangeAction I created getters in MotionGroup for the movement type and character.

	modified:   src/com/maddyhome/idea/vim/action/change/RepeatChangeAction.java
	modified:   src/com/maddyhome/idea/vim/group/MotionGroup.java
	modified:   test/org/jetbrains/plugins/ideavim/action/ChangeActionTest.java
2016-11-28 19:05:11 +02:00
Andrey Vlasovskikh
72fbe758b4 VIM-1205 Don't move key handling into separate event for raw handlers 2016-11-22 21:58:32 +03:00
Pavel Fatin
6b9ab7163a Support for zero-latency rendering, #VIM-1007 fixed 2016-10-26 12:53:13 +02:00
Andrey Vlasovskikh
563092cffb Fixed caret model exception when changing selection in documents open in several editors 2016-10-21 18:11:15 +03:00
Andrey Vlasovskikh
f33f73d2f5 VIM-1190 Fixed exception "Write access is allowed from write-safe contexts only"
We now use IntelliJ's version of invokeLater() in order to satisfy the
new protocol for running read-write actions in modal dialogs.
2016-09-30 20:44:16 +03:00
Andrey Vlasovskikh
b595dfd443 VIM-1098 Don't start visual selection when mouse click was actually drag over single character 2016-09-01 20:50:55 +03:00
Andrey Vlasovskikh
364b3567fc VIM-1126 Fixed warning about modifying shortcuts of global actions for 2016.2 2016-07-07 17:39:29 +03:00
John Grib
b5ea2127d9 added :shell command 2016-06-17 15:03:38 +09:00
Andrey Vlasovskikh
9522a51dc7 Enabling key repeat on Mac OS X doesn't require restart 2016-04-29 21:52:35 +03:00
Andrey Vlasovskikh
0bf561e326 Merge remote-tracking branch 'pbu88/adds_more_folding_commands' 2016-04-29 21:34:19 +03:00
Andrey Vlasovskikh
3fde0fc209 Non-public methods made private 2016-04-29 21:19:17 +03:00
Andrey Vlasovskikh
24bc09796f Fixed NPE 2016-04-29 21:18:28 +03:00
Andrey Vlasovskikh
758bff79d6 Removed unused code 2016-04-29 21:16:05 +03:00
Andrey Vlasovskikh
3b0660799b VIM-843 Don't highlight search results after restart
Added limited support for 'viminfo' option. Only 'h' in 'viminfo' is
taken into account.
2016-04-29 21:15:01 +03:00
Andrey Vlasovskikh
6880afa73c VIM-139 Focus on current search and use modal confirmation for ':s///gc' 2016-04-29 01:33:28 +03:00
Andrey Vlasovskikh
8ee49edef0 VIM-287 Fixed insert new line before and after folds 2016-04-28 20:13:08 +03:00
Andrey Vlasovskikh
dd0a7207d5 Removed old block selection API usages to become compatible with IntelliJ branch 146 2016-04-22 03:22:02 +03:00
Andrey Vlasovskikh
c471ddd12f Merge remote-tracking branch 'ayzenquwe/ayzen/VIM-259' 2016-04-18 02:47:38 +03:00
Andrey Vlasovskikh
b0ac8f89c5 Merge remote-tracking branch 'ayzenquwe/ayzen/VIM-964' 2016-04-18 02:41:35 +03:00
Andrey Vlasovskikh
a47338d8b7 Merge remote-tracking branch 'ayzenquwe/ayzen/VIM-564' 2016-04-18 02:36:58 +03:00
Andrey Vlasovskikh
76d00ab47f Merge remote-tracking branch 'ayzenquwe/ayzen/gomethod' 2016-04-18 02:31:11 +03:00
Andrey Vlasovskikh
52148f69c1 Merge remote-tracking branch 'ayzenquwe/ayzen/registers' 2016-04-18 02:24:00 +03:00
Andrey Vlasovskikh
f280f8138d Support <Plug> in mapping commands 2016-04-18 01:46:46 +03:00
Andrey Vlasovskikh
530846bc7a Added 'timeout' option for toggling timeout for mapping commands 2016-04-18 01:46:46 +03:00
Andrey Vlasovskikh
745a356c87 Cleanup 2016-02-21 07:08:21 +03:00
Andrey Vlasovskikh
b16a4a1343 Handle <Esc> in modal input better 2016-02-21 07:00:44 +03:00
Andrey Vlasovskikh
36e41555ea Cleaned up ModalEntry 2016-02-21 06:16:11 +03:00
Andrey Vlasovskikh
3f824cf205 Enable SecondaryLoop-based implementation for Java 7+ 2016-02-21 06:07:34 +03:00
dhleong
c61b3c2f29 More closely emulate SecondaryLoop with reflection and a Proxy 2016-02-17 20:46:33 -05:00
dhleong
fd97cfbd15 Add compat layer for JDK6
JDK7 mode works like a dream, but JDK6 still seems to break
after the first invocation.
2016-02-15 09:19:18 -05:00
dhleong
4b4c293008 Refactor modal input for Vim Extensions
Doesn't use dialogs, so should fix VIM-1086
2016-02-14 13:23:51 -05:00
Andrey Vlasovskikh
69a573a279 Handle <Esc> in inputKeyStroke() uniformly as "typed Esc" 2016-02-09 00:40:37 +03:00
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
Andrey Vlasovskikh
4f42d4dc4f Merge branch 'vlasovskikh/surround'
# Conflicts:
#	CHANGES.md
#	resources/META-INF/plugin.xml
#	src/com/maddyhome/idea/vim/option/Options.java
2016-02-04 23:08:37 +03:00
Andrey Vlasovskikh
7e1e50ffde Cleanup 2016-02-04 22:52:59 +03:00
Andrey Vlasovskikh
ab3cbb113e Restore caret position properly 2016-02-04 22:18:37 +03: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
2cf7d89581 VIM-271 Added 'incsearch' option for showing search results while typing 2016-01-30 02:05:24 +03:00
Andrey Vlasovskikh
91546700d4 Added simple ys{motion}t tag surround and input() function 2016-01-26 22:25:36 +03:00
Andrey Vlasovskikh
a972aec9b0 Implementation notes 2016-01-26 21:33:31 +03:00
Andrey Vlasovskikh
82a1e920e0 Initial refactoring of dhleong's 'ys' on top of extension infrastructure 2016-01-26 21:14:15 +03:00
Andrey Vlasovskikh
1a96533a3c Added unit test-friendly version of VimExtensionFacade.getKeyStroke() 2016-01-26 18:14:14 +03:00
Andrey Vlasovskikh
2d86054fe8 Fixed regression after setChangeMarks() refactoring 2016-01-26 17:49:05 +03:00
Andrey Vlasovskikh
50e3af7b82 Added modal getKeyStroke() similar to Vim's getchar() 2016-01-26 04:17:19 +03:00
Andrey Vlasovskikh
27af4b926b Added the 'g@' command for IdeaVim extensions 2016-01-26 01:02:20 +03:00
Andrey Vlasovskikh
1d035acb6d Vim extension facade for executing emulated Vim statements built-in functions 2016-01-24 20:14:54 +03:00
Andrey Vlasovskikh
3704c321fa Added the ability to map keys to IdeaVim extension handlers 2016-01-24 19:57:37 +03:00
Andrey Vlasovskikh
9c6f35f3bd Added mechanism for providing extensions for IdeaVim like ported Vim plugins 2016-01-24 19:04:12 +03:00
Andrey Vlasovskikh
e5ac7ee607 Send stats reports in internal mode 2016-01-22 21:41:35 +03:00
Andrey Vlasovskikh
480b32b5af Fixed AIOOBE in tag selection for files starting with '/' and containing '>' 2016-01-21 18:28:14 +03:00
Andrey Vlasovskikh
8c9cf09bd8 Report usage statistics 2016-01-21 17:51:21 +03:00
Andrey Vlasovskikh
76333c5a24 Updated copyright years 2016-01-21 02:20:57 +03:00
Andrey Vlasovskikh
cb9d205336 VIM-796 Execute :action handler strictly after request focus handler 2016-01-21 01:44:27 +03:00
Andrey Vlasovskikh
e1a292ba33 Merge remote-tracking branch 'smartbomb/ActionHandler-focus-fix' 2016-01-21 01:28:20 +03:00
smartbomb
3ba41ac458 VIM-892 Fix various focus related issues when executing :action commands a keymap
also fixes VIM-1001, VIM-1016 and hopefully VIM-962 but unable to fully reproduce
2015-12-30 22:06:52 +01:00
Andrey Vlasovskikh
992c1923f6 Use Guava for more idiomatic list operations 2015-12-03 15:33:04 +03:00
lubba
a22afdd0f6 VIM-364 Added support for tag block selection 2015-12-03 15:19:54 +03:00
Andrey Vlasovskikh
0da8625f30 VIM-1040 Fixed typing keys in completion menus and typing with the plugin disabled 2015-11-02 15:53:50 +03:00
Andrey Vlasovskikh
39f088cdcd VIM-970 Use raw typed handlers in order not to require write action in read-only files
This change requires the API of IntelliJ platform branch 143+.
2015-10-30 15:37:17 +03:00
Paulo Bu
52a0af1636 Adds zC and zO folding commands 2015-08-28 15:59:13 +02: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
Andrey Vlasovskikh
c5760ceaab VIM-957 Fixed compatibility with IDEs other than IntelliJ 2015-06-10 15:41:33 +03:00
ayzen
efad5545de Correct behavior of numbered registers 2015-06-05 21:09:31 +03:00
dos65
fe1184b0d3 keypadd arrows for nvo modes 2015-05-09 17:30:40 +03:00
Andrey Vlasovskikh
ae5b1385ea Merge branch 'matching-comments' 2015-04-24 16:08:54 +03:00
Andrey Vlasovskikh
efb58b45df Cleanup 2015-04-24 16:02:20 +03:00
Andrey Vlasovskikh
574f32a6dd Merge pull request #84 from JetBrains/mapleader
Mapleader support based on the prototype of a Vim script expressions evaluator
2015-04-24 13:33:38 +03:00
Andrey Vlasovskikh
0e67c8ff69 Removed unnecessary 'static' declaration 2015-04-24 13:32:26 +03:00
Andrey Vlasovskikh
b886073c11 VIM-650 Added support for 'mapleader' 2015-04-24 13:32:04 +03:00
Andrey Vlasovskikh
f5100694d6 VIM-930 Get editor focus after closing Ex entry box on Oracle Java 6 2015-04-22 20:26:41 +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
96bbcf623f Removed unnecessary 'static' in enums 2015-03-27 21:20:17 +03:00
Andrey Vlasovskikh
89e853158c Typos 2015-03-27 21:19:56 +03:00
Andrey Vlasovskikh
5c31fcc03e Extracted CommandState.inVisualBlockMode() 2015-03-27 21:18:08 +03:00
Andrey Vlasovskikh
3fee4a803b Merge remote-tracking branch 'dezgeg/fixes/visual-block-mode-overhaul' 2015-03-27 20:56:58 +03:00
Andrey Vlasovskikh
999ccf87fc Merge remote-tracking branch 'dezgeg/fixes/vim-700-remap-zero' 2015-03-24 23:48:11 +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
850f4d7ec5 Make IdeaVIM build on latest intellij-community master
The zero-parameter overload of createStructureViewModel() has been
marked deprecated and is now removed.
2015-02-21 15:12:16 +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
Andrey Vlasovskikh
e1e1cc2666 Code style
Use javadoc comments, added nullity annotations, extracted common
expressions.
2015-01-21 19:49:41 +03:00
Tuomas Tynkkynen
79fd32088b VIM-868 Allow count on 'gt' and 'gT'
'{count}gt' can now be used to switch to a specific tab.
'{count}gT' can now be used to switch to a n:th previous tab.
2015-01-21 18:11:48 +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
2d6d1003b7 Merge remote-tracking branch 'dezgeg/fixes/vim-575-split-cursor' 2015-01-20 15:44:46 +03:00
Andrey Vlasovskikh
787b78ef36 Typo 2015-01-20 15:31:46 +03:00
Andrey Vlasovskikh
88a0b0fa23 Removed unused ExEntryPanel.processKey() 2015-01-20 15:31:33 +03:00
Andrey Vlasovskikh
1519f04930 Fixed potential NPEs 2015-01-20 15:30:17 +03:00
Andrey Vlasovskikh
e0a1291de0 Merge remote-tracking branch 'dezgeg/fixes/vim-210-ex-focus' 2015-01-20 15:27:55 +03:00
Andrey Vlasovskikh
8a2d881002 Cleanup
Removed commented code, renamed '\0' to '\u0000' for consistency,
fixed nullable warnings, declared some variables final.
2015-01-20 14:50: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
bdf3361243 VIM-575 Don't change cursor position of other splits in visual mode
If a file is opened in multiple splits, entering visual mode in one
split would change the cursor position in other splits as well.
2014-12-14 15:20:36 +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
a47fc9d3be Don't share editor data contexts
The previous code threw "cannot share data context between Swing events"
throwables from DataManagerImpl$MyDataContext.getData since we used to
share DataContext objects passed to
VimShortcutKeyAction.actionPerformed() and
VimTypedActionHandler.execute() inside AnActionEvent objects with
runnables we invoked via SwingUtilities.invokeLater().
2014-12-07 18:40:51 +03:00
Andrey Vlasovskikh
d6ebaa26b0 Merge branch 'invoke-shortcuts-handler-later' 2014-12-07 16:42:31 +03:00
Andrey Vlasovskikh
27bd7ec836 Merge remote-tracking branch 'dezgeg/fixes/misc-issues' 2014-12-07 16:28:15 +03:00
Andrey Vlasovskikh
6bf0f36567 Merge remote-tracking branch 'dezgeg/fixes/vim-702-fix-substitute-infinite-loop' 2014-12-03 15:59:43 +03:00
Andrey Vlasovskikh
69f1a70968 VIM-848 Show line numbers if they are enabled in the settings and there is no 'set number' 2014-12-03 15:42:59 +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
48b371c985 Don't show line numbers in non-file editors 2014-12-01 15:54:48 +03:00
Andrey Vlasovskikh
47165e7b9d EA-63002 Don't update line numbers in the caret movement event listener
This update may require moving the caret.
2014-12-01 15:54:31 +03:00
Andrey Vlasovskikh
f2a0408801 VIM-586 Try to invoke Vim shortcuts handler later to restore input events sequence 2014-11-27 15:09:06 +03:00
Andrey Vlasovskikh
642659bc9b VIM-410 Use the standard editor line numbers for supporting 'nu'
Annotations-based line numbers reset all other annotations on caret
move, so the results of VCS annotate are reset all the time. It is
necessary for 'rnu', but for 'nu' we can use standard editor line
numbers and preserve the ability to show VCS annotations during caret
movement operations.
2014-11-26 19:49:09 +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
Andrey Vlasovskikh
8d4d7a421a Merge remote-tracking branch 'dezgeg/fixes/crashes' 2014-11-26 17:58:27 +03:00
Andrey Vlasovskikh
802b83b0fe VIM-818 Enable key repeat on Mac OS X every time it gets reset by the OS 2014-11-26 17:21:18 +03:00
Tuomas Tynkkynen
7ccb6c8411 Optimize character case changing operations
Previously, performing e.g. visual '~' on a large file would completely
lock up the IDE. The culprit seemed to be the calls to replaceText() one
character at a time, which is not a cheap operation since each
replaceText() will for example trigger a DocumentChanged event.
2014-11-22 13:15:15 +02:00
Tuomas Tynkkynen
1518831f37 Add some missing key names. 2014-11-22 13:15:15 +02: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
Andrey Vlasovskikh
fe4bc3b4a9 Moved line line position calculation before deletion 2014-11-15 00:00:13 +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
17d3e37e1d Merge branch 'vim-567-run-external-command-in-window' 2014-11-14 23:43:42 +03:00
Andrey Vlasovskikh
54f6a16bd6 Nullity checks 2014-11-14 23:41:17 +03:00
Andrey Vlasovskikh
f4ffc5d198 Get rid of Reader and Writer classes in executeCommand() 2014-11-14 23:35:27 +03:00
Andrey Vlasovskikh
3d8010bf88 Removed debug output 2014-11-14 23:18:53 +03:00
Andrey Vlasovskikh
ec2cc3a7f9 Code style 2014-11-14 23:17:50 +03:00
Andrey Vlasovskikh
52b7b9bcd8 Merge branch 'vim-705-multi-line-indent-broken' 2014-11-14 23:05:03 +03:00
Andrey Vlasovskikh
8ad0fcf42d Default value for @NotNull field mode 2014-11-14 23:04:33 +03:00
Andrey Vlasovskikh
aa6cc45988 Made moveCaret(Editor, int, boolean) private 2014-11-14 23:02:32 +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
798d82e941 VIM-567 Extend :! to allow running non-filter commands
This commit allows the Ex command '!' to be ran without a range, with
the results displayed in a window.

For example, run ':! ls' in normal mode for a quick directory listing.
2014-11-11 20:32:24 +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
f95f5e8901 Merge branch 'action-command' 2014-10-24 16:02:21 +04:00
Andrey Vlasovskikh
206b303407 Renamed ExecuteActionByNameHandler to ActionHandler
The name of an Ex command handler should correspond to the Ex command
name.
2014-10-24 16:01:38 +04:00
Andrey Vlasovskikh
751bff53ee Removed checks for action execution problems not reproducible at the moment
We need to collect more data from the beta testers about these problems.
2014-10-24 16:00:23 +04:00
Andrey Vlasovskikh
30304d6836 VIM-794 Fixed NCDFE related to 'number' in IDEs other than IntelliJ 2014-10-23 22:45:19 +04:00
Andrey Vlasovskikh
f5df49b139 Don't allow short names for IdeaVim-specific :action and :actionlist 2014-10-23 19:01:58 +04:00
Andrey Vlasovskikh
bf8ba1a49b Prettier output of :actionlist 2014-10-23 18:58:50 +04:00
Andrey Vlasovskikh
9f2697658b Fixed code style 2014-10-23 18:25:01 +04:00
smartbomb
36fd59b92c ExecuteActionByName use the content context on actions with the EnabledInModalContext flag set
(cherry picked from commit d375740)
2014-10-23 18:02:12 +04:00
Andrey Vlasovskikh
72b74e075c Merge branch 'visual_block_delete' 2014-10-23 16:55:17 +04:00
Andrey Vlasovskikh
3c6ede2f8f Normalize offsets in order to prevent selecting newlines 2014-10-23 16:53:31 +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
Andrey Vlasovskikh
b3d12c8b58 VIM-511 Fixed removing a paren just after inserting it with auto-inserting matching parens on 2014-10-21 21:47:06 +04:00
Andrey Vlasovskikh
27efe0c9d6 Handle left and right motions during key repeat only as document (caret) changes
Previously they have been recorded twice: implicitly by a document
change listener as changes to the caret position and by a command
processor.
2014-10-21 18:24:36 +04:00
Andrey Vlasovskikh
b5bf6c08d8 Repeat typing commands by inserting text instead of handling a typed key
It will prevent auto-completion and other auto-inserting typed key
handlers from messing up with the repeated text.
2014-10-21 18:22:19 +04:00
Andrey Vlasovskikh
e3fce51ea1 VIM-511 Fixed editing offset after <BS> for '.' command 2014-10-21 16:56:54 +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
dee16da1c2 Coding style 2014-10-20 14:52:22 +04:00
Andrey Vlasovskikh
8596911a0e VIM-483 VIM-410 Added support for 'number' and 'relativenumber' commands
These commands override the line numbers setting in the IDE when the
Vim emulation is enabled.
2014-10-20 13:27:09 +04:00
Andrey Vlasovskikh
6c2de9f151 Extracted EditorGroup 2014-10-17 17:07:39 +04:00
Andrey Vlasovskikh
d3a6b1e39e Use '\n' as universal line separator for sorting lines
The Document class takes care of detecting and using the correct
platform-specific line separators.
2014-10-17 14:54:48 +04:00
Andrey Vlasovskikh
86aa59bb29 Merge branch 'vim-624' 2014-10-16 23:29:33 +04:00
smartbomb
c6eeaed7da :actionlist added support for wildcards 2014-10-15 22:49:08 +02:00
smartbomb
edba90f188 Renamed :findaction => :actionlist + added statusbar error message when calling invalid action names 2014-10-15 21:17:26 +02: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
smartbomb
7943e34bde Fix action execution contexts, use a delay on popup actions to allow the command handler to unwind 2014-10-15 08:31:44 +02:00
smartbomb
74970c74b4 Implemented :findaction 2014-10-14 22:47:03 +02:00
Andrey Vlasovskikh
d3afd83e8e Merge branch 'VIM-407' 2014-10-14 15:25:43 +04:00
smartbomb
722431f5b2 VIM-652 Add support for executing and mapping arbitrary IDEA actions
* no tests performed..! *

Example usage:
:nnoremap gi :action GotoImplementation<CR>
:nnoremap gu :action FindUsages<CR>
:nnoremap gcw :action RenameElement<CR>

Action overview:
6c6cb47c5a/platform/platform-resources-en/src/messages/ActionsBundle.properties
2014-10-13 21:58:38 +02:00
Andrey Vlasovskikh
6a1c792cda VIM-171 Added support for window navigation commands: left/right/up/down 2014-10-13 23:08:56 +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
fcc564df25 Cleanup 2014-10-07 14:29:30 +04:00
Andrey Vlasovskikh
4ecbb93d01 Converted window actions into subclasses of VimCommandAction 2014-10-07 13:52:46 +04:00
Alexey Shmalko
9bdc9b3634 VIM-171 Add checks for that window is not null 2014-10-04 01:29:41 +03:00
Alexey Shmalko
f46c3b0aa9 VIM-171 Add support for window cycling
Adds following keystrokes:
<C-W>w <C-W><C-W> next window
<C-W>W            previous window

With number both commands go to window with specified index.
2014-10-04 00:52:24 +03:00
Alexey Shmalko
095fdf07c5 VIM-171 Add support for closing all windows except current
Adds <C-W>o, <C-W><C-O> keystrokes.
2014-10-04 00:02:15 +03:00
Alexey Shmalko
648e988b64 VIM-171 Add support for closing window
Adds <C-W>c keystroke.
2014-10-03 23:41:53 +03:00
Alexey Shmalko
b1add735d6 Add split action
This patch adds following keystrokes:
<C-W>s <C-W>S <C-W><C-S> horizontal split
<C-W>v <C-W><C-V>        vertical split
2014-10-02 20:52:13 +03:00
Andrey Vlasovskikh
4e83f56696 Merge branch 'vim-265'
Conflicts:
	AUTHORS.md
2014-09-10 13:58:29 +04:00
Andrey Vlasovskikh
4672dece51 VIM-770 Close the current tab on :quit instead of all tabs with the current file 2014-09-10 13:52:00 +04:00
Andrey Vlasovskikh
a632de9214 Cleanup 2014-09-09 18:30:21 +04:00
Andrey Vlasovskikh
e8ebba8b3d Removed unused declarations 2014-09-09 18:25:45 +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
8d7bf2661a Set isChange to true when calling deleteRange from ctrl-w handler 2014-09-06 01:07:03 -07:00
salaam
9e1b026a88 VIM-265 Add window split commands
Conflicts:
	src/com/maddyhome/idea/vim/VimPlugin.java
	src/com/maddyhome/idea/vim/ex/CommandParser.java
2014-08-31 23:57:22 -05:00
Thomas B Homburg
df8e455a6d Get default register from clipboard=unnamed setting 2014-08-26 22:51:17 +02:00
Chang Wang
b35bec2839 deselect visual selection range '<,'> when poping up ex entry field. 2014-08-13 16:40:50 -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
1414ef8a4f Removed check for unused FLAG_KEEP_VISUAL flag 2014-05-12 20:06:46 +04:00
Andrey Vlasovskikh
110623f6ef Moved StringHelper.parseKeysSet() to VimCommandAction 2014-05-12 20:04:32 +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
50e15112d6 Use SelectionType in VisualRange instead of SubMode 2014-05-08 17:40:04 +04:00
Andrey Vlasovskikh
8b6f99385a Code style 2014-05-08 17:31:38 +04:00
Andrey Vlasovskikh
2fc2f30055 Removed debug output 2014-05-08 15:49:21 +04:00
Andrey Vlasovskikh
2094a19723 Extracted MarkGroup.setVisualSelectionMarks() 2014-05-08 02:02:38 +04:00
Andrey Vlasovskikh
5b1416424d VisualSelectPreviousAction is a VimCommandAction 2014-05-08 00:43:40 +04:00
Andrey Vlasovskikh
8b9e737c05 Fixed potential NPEs 2014-05-07 22:36:37 +04:00
Andrey Vlasovskikh
cc0f4acec6 Replaced StringBuilder with string concatenation 2014-05-07 22:36:26 +04:00
Andrey Vlasovskikh
30884162a0 Nullity annotations 2014-05-07 22:28:42 +04:00
Andrey Vlasovskikh
f1e7a8c444 Removed unused code 2014-05-07 22:22:24 +04:00
Andrey Vlasovskikh
3271939c87 Simplified conditions 2014-05-07 22:20:00 +04:00
Andrey Vlasovskikh
c9cb487cbc Replaced StringBuilder with string concatenation where possible 2014-05-07 22:17:37 +04:00
Andrey Vlasovskikh
56f6b69adf Use Collections.addAll() 2014-05-07 22:16:42 +04:00
Andrey Vlasovskikh
77dcee1269 Use foreach loop 2014-05-07 22:15:50 +04:00
Andrey Vlasovskikh
c9068ee4d1 Replaced StringBuffer with StringBuilder 2014-05-07 22:15:25 +04:00
Andrey Vlasovskikh
e7addf7fa8 Added 'final' modifiers for fields where possible 2014-05-07 22:12:47 +04:00
Andrey Vlasovskikh
7cc0a8db92 Inlined constant arguments 2014-05-07 22:05:40 +04:00
Andrey Vlasovskikh
bccb62a84f Inlined redundant local variables 2014-05-07 21:55:13 +04:00
Andrey Vlasovskikh
d47570664b Simplified conditions 2014-05-07 21:53:55 +04:00
Andrey Vlasovskikh
a7137558cc Removed unnecessary semicolons 2014-05-07 21:52:38 +04:00
Andrey Vlasovskikh
0251c5a33d Made constants final 2014-05-07 21:52:11 +04:00
Andrey Vlasovskikh
365722ef7e Removed redundant casts 2014-05-07 21:50:17 +04:00
Andrey Vlasovskikh
77e0c30e57 Removed unused assignments and empty conditions 2014-05-07 21:49:29 +04:00
Andrey Vlasovskikh
8a0cad765a Fixed potential NPEs 2014-05-07 21:38:21 +04:00
Andrey Vlasovskikh
272378b800 Fixed typos and dropped commented code 2014-05-07 21:00:16 +04:00
Andrey Vlasovskikh
a34d17ff95 Fixed potential NPEs 2014-05-07 20:46:40 +04:00
Andrey Vlasovskikh
82c782e9f0 Cleanup 2014-05-07 19:40:55 +04:00
Andrey Vlasovskikh
b7b46d2fee Removed unused code 2014-05-07 19:25:30 +04:00
Andrey Vlasovskikh
8916f0f314 Extracted more EventFacade methods 2014-05-06 20:32:42 +04:00
Andrey Vlasovskikh
8d727ef508 Extracted EventFacade.(un)registerCustomShortcutSet() 2014-05-06 19:44:35 +04:00
Andrey Vlasovskikh
fd0be10492 Extracted EventFacade.addEditorFactoryListener() 2014-05-06 19:33:35 +04:00
Andrey Vlasovskikh
a810f95101 Extracted EventFacade.*DocumentListener() 2014-05-06 19:26:36 +04:00
Andrey Vlasovskikh
8857545cf0 Introduced EventFacade for subscribing to IDE events 2014-05-06 19:18:47 +04:00
Andrey Vlasovskikh
2300c0005f Inferred nullity annotations 2014-05-06 18:32:55 +04:00
Andrey Vlasovskikh
827b91286f Removed unused DelegateCommandListener
There are no more actions marked with Command.FLAG_DELEGATE.
2014-05-06 18:04:38 +04:00
Andrey Vlasovskikh
4d8e35655d Extracted and inlined some variables 2014-05-06 17:34:53 +04:00
Andrey Vlasovskikh
f7e6ae9f3c Removed unused code 2014-05-06 17:15:34 +04:00
Andrey Vlasovskikh
67679843b4 Moved getShortcutKeyAction() to VimShortcutKeyAction.getInstance() 2014-05-06 17:09:12 +04:00
Andrey Vlasovskikh
d6896e4e76 VIM-690 Read initialization commands only from ~/.ideavimrc 2014-05-06 15:20:40 +04:00
Andrey Vlasovskikh
f86c24a695 VIM-683 Allow Ctrl+PgUp/PgDown to be used outside of Vim emulation 2014-05-06 14:56:10 +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
30cfae91c0 Removed StringHelper.escape() in favor of updated toKeyNotation() 2014-04-30 20:10:33 +04:00
Andrey Vlasovskikh
5332128852 Extracted toEscapeNotation() 2014-04-30 19:39:04 +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
02fac3b931 Extracted executeText() 2014-04-30 17:36:18 +04:00
Andrey Vlasovskikh
44c1a2e139 Mentioned .ideavimrc in keymap update message 2014-04-29 21:53:49 +04:00
Andrey Vlasovskikh
f6cb04c7ef VIM-674 Don't handle <Tab> in Insert mode in Vim emulation
It breaks several IDE actions that provide their own <Tab> handlers
like Emmet or parameters completion in RubyMine and AppCode.
2014-04-29 21:13:35 +04:00
Andrey Vlasovskikh
276755ae9d Typo 2014-04-29 20:33:25 +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
c7cfbaed0a Extracted Vim typed special keys map 2014-04-29 16:46:59 +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
45281adfd9 VIM-667 Ignore potentially nested lines of .vimrc based on leading whitespace 2014-04-29 14:28:35 +04:00
Andrey Vlasovskikh
0d813afc67 Don't show message about not using "Vim" keymap any longer in new installations 2014-04-29 14:09:18 +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
cc6488ee2d Added a hyperlink for setting the IDE as a shortcut handler in case of conflicts 2014-04-28 15:57:57 +04:00
Andrey Vlasovskikh
52068198a5 VIM-665 Allow <C-C> in Insert mode when completion pop-up is active 2014-04-28 15:27:04 +04:00
Andrey Vlasovskikh
5cdcd9d4d4 Set up the vertical scroll bar on More panel in order to handle keys correctly 2014-04-25 18:06:43 +04:00
Andrey Vlasovskikh
fbeaa35d10 Use original Up/Down actions for non file-based editors 2014-04-25 17:18:08 +04:00
Andrey Vlasovskikh
3dccf1b215 Nullity and immutability 2014-04-24 18:09:53 +04:00
Andrey Vlasovskikh
035cb02362 Local class name conventions 2014-04-24 18:03:46 +04:00
Andrey Vlasovskikh
43d33a4502 Immutable local variables where possible 2014-04-24 18:01:59 +04:00
Andrey Vlasovskikh
2b6e8dc566 Fixed nullity warnings 2014-04-24 17:47:59 +04:00
Andrey Vlasovskikh
6388cc0639 Added Alex Selesse to the list of contributors 2014-04-24 17:45:06 +04:00
Andrey Vlasovskikh
00bd6d2e3a Added |:sort| to index 2014-04-24 17:39:43 +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
d358893579 Vim shortcuts handler is enabled for keys associated with IDE if there are no shortcut conflicts 2014-04-24 16:54:35 +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
a4a8faedbb Removed unused method 2014-04-22 19:47:48 +04:00
Andrey Vlasovskikh
c32fa2b53f VIM-648 Use default keymap if there is no previous keymap in config
Keymap upgrade message has been improved.
2014-04-22 19:40:07 +04:00
Andrey Vlasovskikh
1d0b1791c4 VIM-651 Parse <BS> as backspace 2014-04-22 17:59:49 +04:00
Andrey Vlasovskikh
7251c8976d Removed obsolete Vim help action for <F1> 2014-04-22 17:22:46 +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
ee1a6bbbd9 Updated copyright headers 2014-04-08 00:43:51 +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
35afd9b92f Show all '<Enter>' equivalents as '<CR>' 2014-04-06 03:45:17 +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
720d552a21 Renamed VimrcParser and VimrcCommandHandler to VimScript* 2014-04-04 22:22:25 +04:00
Andrey Vlasovskikh
a0477f499b Added new ':source' command handler 2014-04-04 22:21:22 +04:00
Andrey Vlasovskikh
20a4639995 Show error messages after Ex exceptions where possible 2014-04-04 22:20:18 +04:00
Andrey Vlasovskikh
3d7a0e7917 Modify and re-register shortcut set required by Vim emulation after ':map' 2014-04-04 21:09:29 +04:00
Andrey Vlasovskikh
c9c1295001 Cleanup 2014-04-04 17:49:45 +04:00
Andrey Vlasovskikh
c93daf78f6 Unify ':map' and ':noremap' handlers 2014-04-04 17:35:59 +04:00
Andrey Vlasovskikh
c77812d2a8 Refactored MapHandler to be more declarative 2014-04-04 17:31:16 +04:00
Andrey Vlasovskikh
c7107b7ad7 Reuse MappingInfo for rows of key mapping table 2014-04-04 16:54:41 +04:00
Andrey Vlasovskikh
a9a28b259f Made MappingInfo comparable 2014-04-04 16:48:15 +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
2f5dd3f2b1 'map!' is not supported yet 2014-04-04 16:36:06 +04:00
Andrey Vlasovskikh
779909bdeb Added support for 'noremap' commands 2014-04-04 16:35:11 +04:00
Andrey Vlasovskikh
e76bee2afa Add 'recursive' flag to key mapping info 2014-04-04 16:30:41 +04:00
Andrey Vlasovskikh
bb9d551dad Extracted logic from MapHandler to KeyGroup 2014-04-04 16:21:56 +04:00
Andrey Vlasovskikh
32ee6be7f9 Fixed displaying 'map' NVO mapping code 2014-04-04 00:29:52 +04:00
Andrey Vlasovskikh
33a5dd9e1c Allow commands that start with ':' in .vimrc 2014-04-04 00:21:05 +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
c3259faf42 Don't read .vimrc during unit testing 2014-04-03 23:45:31 +04:00
Andrey Vlasovskikh
f588e473a1 Use unit test friendly ExOutputModel instead of ExOutputPanel 2014-04-03 23:19:14 +04:00
Andrey Vlasovskikh
a076b4d71c Renamed MorePanel to ExOutputPanel 2014-04-03 22:58:45 +04:00
Andrey Vlasovskikh
4540c75498 Made MorePanel.activate() private 2014-04-03 22:52:42 +04:00
Andrey Vlasovskikh
239199462f Removed unnecessary MorePanel.isActive() check 2014-04-03 22:52:00 +04:00
Andrey Vlasovskikh
b703a7eabb Show MorePanel on every MorePanel.setText() instead of showing it explicitly after Ex commands 2014-04-03 22:49:54 +04:00
Andrey Vlasovskikh
3cafe72f8f Removed unused code 2014-04-03 22:29:57 +04:00
Andrey Vlasovskikh
48375c37de Removed unnecessary logging 2014-04-03 19:05:19 +04:00
Andrey Vlasovskikh
f9ceb506d7 Don't store editor's content component 2014-04-03 19:03:47 +04:00
Andrey Vlasovskikh
a7a054f4e4 Use EditorHelper.getScreenWidth() instead of MorePanel.getDisplayWidth() 2014-04-03 18:57:43 +04:00
Andrey Vlasovskikh
f8781353a2 Made MorePanel per-editor based 2014-04-03 17:41:22 +04:00
Andrey Vlasovskikh
b0760222f0 Cleanup 2014-04-03 17:12:09 +04:00
Andrey Vlasovskikh
66bcacc2c4 Show mappings in Ex output panel 2014-04-02 17:40:22 +04:00
Andrey Vlasovskikh
5868f8a2a5 Renamed pad() to rightJustify() 2014-04-02 13:41:06 +04:00
Andrey Vlasovskikh
8e54e24e03 Show not implemented message for show mappings command instead of an exception 2014-04-02 13:28:29 +04:00
Andrey Vlasovskikh
f511e6ea34 Set default editor font for Ex and More panels on every activation 2014-04-02 13:17:17 +04:00
Andrey Vlasovskikh
6c9608a9ee Prettier border for Ex entry panel 2014-04-02 13:07:20 +04:00
Andrey Vlasovskikh
4a0f95f0f0 Removed aliases 2014-04-02 12:55:01 +04:00
Andrey Vlasovskikh
e3e7bcffa0 Added more mapping commands for various modes 2014-04-02 12:54:15 +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
af406c7d14 Execute key mapping commands from .vimrc 2014-04-02 00:40:46 +04:00
Andrey Vlasovskikh
a146e2c303 Prevented sharing DataContext between Swing events 2014-04-02 00:40:02 +04:00
Andrey Vlasovskikh
f285051a9a Merge remote-tracking branch 'origin/map-commands' into map-commands 2014-04-02 00:29:20 +04:00
Andrey Vlasovskikh
936f7e5d7c Modularized .vimrc parsing a bit 2014-04-02 00:23:35 +04:00
Andrey Vlasovskikh
463c8defa4 Added 'timeoutlen' option 2014-04-01 17:15:50 +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
2f6d4c9ff2 Spelling and naming conventions 2014-03-31 22:50:46 +04:00
Andrey Vlasovskikh
64790c531e Removed unused logging and debug info 2014-03-31 22:44:07 +04:00
Andrey Vlasovskikh
9c209d2fb2 Sorted methods and attributes 2014-03-31 22:42:25 +04:00
Andrey Vlasovskikh
8420ca355b Nullity annotations 2014-03-31 15:44:15 +04:00
Andrey Vlasovskikh
0aebcbd71e Nullity annotations for CommandHandler.execute() 2014-03-31 15:27:40 +04:00
Andrey Vlasovskikh
13528667c8 Moved command index to the root of the package 2014-03-31 14:27:02 +04:00
Andrey Vlasovskikh
b69d475e15 Removed legacy CDATA-based XML serializer 2014-03-26 18:48:08 +04:00
Andrey Vlasovskikh
b6f840aacb Use StringBuilder instead of StringBuffer 2014-03-26 18:45:56 +04:00
Andrey Vlasovskikh
fb72d5d782 Parse <C-x> and some special keys 2014-03-26 18:44:33 +04:00
Andrey Vlasovskikh
d4b8c09b02 Fixed broken <Enter> in inplace editors, e.g. refactorings and live templates 2014-03-26 16:48:29 +04:00
Andrey Vlasovskikh
254339037b Merged KeyParser into KeyGroup 2014-03-26 14:36:04 +04:00
Andrey Vlasovskikh
800e3a3012 Moved shortcut conflicts state to new KeyGroup 2014-03-26 14:16:34 +04:00
Andrey Vlasovskikh
230364ac87 Removed unused code 2014-03-26 01:49:01 +04:00
Andrey Vlasovskikh
9df61bba7e Mentioned the active keymap in the shortcut conflicts title 2014-03-26 01:43:48 +04:00
Andrey Vlasovskikh
9ee1910a01 Set up Vim handler by default and show notifications on the first use 2014-03-26 01:18:35 +04:00
Andrey Vlasovskikh
46e10e1599 Changed table column sizes 2014-03-26 01:17:52 +04:00
Andrey Vlasovskikh
ed29f7c1db Don't use sticky balloons 2014-03-26 00:57:38 +04:00
Andrey Vlasovskikh
60f4c7b02e Configurable shortcut conflicts in Vim Emulation settings 2014-03-25 22:58:36 +04:00
Andrey Vlasovskikh
5616723fa4 Read-only table of shortcut conflicts 2014-03-25 20:06:05 +04:00
Andrey Vlasovskikh
724698df08 Moved getKeymapConflicts() to KeyParser 2014-03-25 19:58:01 +04:00
Andrey Vlasovskikh
9bdb99d948 Initial Vim Emulation configurable with empty Shortcut Conflicts table 2014-03-25 18:16:37 +04:00
Andrey Vlasovskikh
efc340a37a Reordered methods 2014-03-23 19:52:00 +04:00
Andrey Vlasovskikh
58548a39d3 Removed obsolete TODO item 2014-03-23 19:49:31 +04:00
Andrey Vlasovskikh
638a205b6c Fixed loading of saved shortcut conflicts settings 2014-03-23 19:49:01 +04:00
Andrey Vlasovskikh
3031dbc600 Detect shortcut conflicts between Vim emulation and IDE keymap 2014-03-23 19:48:20 +04:00
Andrey Vlasovskikh
36dcb53e14 Cleanup 2014-03-23 15:35:16 +04:00
Andrey Vlasovskikh
1a94f4f12f Deprecated old action registration 2014-03-22 16:32:45 +04:00
Andrey Vlasovskikh
d87a241e34 Typo 2014-03-22 16:05:30 +04:00
Andrey Vlasovskikh
ddd28c9a44 Cleanup and minor refactorings 2014-03-22 15:49:50 +04:00
Andrey Vlasovskikh
9637edf30e Some docs 2014-03-22 15:44:24 +04:00
Andrey Vlasovskikh
b0a5e6d375 Don't reserve any shortcuts before implementing actual actions that use them 2014-03-22 15:33:33 +04:00
Andrey Vlasovskikh
6bec99b631 Moved and renamed KeyAction to VimShortcutKeyAction 2014-03-22 15:32:12 +04:00
Andrey Vlasovskikh
a95b65067d Switched from EditorActionHandler substitution to registering custom shortcut sets for Vim-enabled editors 2014-03-22 15:29:04 +04:00
Andrey Vlasovskikh
ac5c176deb Nullity annotations for ChangeEditorActionHandler 2014-03-20 23:30:46 +04:00
Andrey Vlasovskikh
5d385eb26d Added parseKeysSet() helper 2014-03-20 22:43:29 +04:00
Andrey Vlasovskikh
611620555f Initial version of shortcut conflicts settings 2014-03-20 19:38:38 +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
761719fffd Made VisualToggleCharacterModeAction a VimCommandAction 2014-03-20 16:46:53 +04:00
Andrey Vlasovskikh
3015a4a8a2 Initial version of Vim notation typed characters parsing 2014-03-20 15:58:04 +04:00
Andrey Vlasovskikh
e8f579bf74 Added Vim actions index with Javadoc links 2014-03-20 14:39:42 +04:00
Andrey Vlasovskikh
f8da48f61d Added VimCommandAction base class for simplifying action registration 2014-03-20 14:17:14 +04:00
Andrey Vlasovskikh
5b21015f5b Inlined action handler 2014-03-20 13:27:34 +04:00
Andrey Vlasovskikh
326d62d815 Renamed Mapping to MappingMode 2014-03-20 13:24:03 +04:00
Andrey Vlasovskikh
f5f6c92e59 Removed unused class 2014-03-19 19:56:57 +04:00
Andrey Vlasovskikh
b56654c217 Removed unused actionId field 2014-03-19 19:37:02 +04:00
Andrey Vlasovskikh
f5e8572a73 Replaced mapping int codes with Mapping enum 2014-03-19 19:34:32 +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
Andrey Vlasovskikh
c08c122ea6 Reordered methods 2014-03-19 17:55:25 +04:00
Andrey Vlasovskikh
95460df473 Reformat 2014-03-19 17:37:29 +04:00
Andrey Vlasovskikh
ab489faa56 Some overrides and deprecations 2014-03-19 17:35:39 +04:00
Andrey Vlasovskikh
48e49fe92d Renamed AbstractEditorActionHandler to EditorActionHandlerBase 2014-03-19 16:46:48 +04:00
Andrey Vlasovskikh
441a296bde No abstract classes for no reason 2014-03-19 16:42:23 +04:00
Andrey Vlasovskikh
7359ed74ad Moved some actions to com.maddyhome.vim.action package 2014-03-19 16:35:22 +04:00
Andrey Vlasovskikh
dd56ec6b4c Removed unused MakeTags CLI utility 2014-03-19 16:33:44 +04:00
Andrey Vlasovskikh
2d271008f3 Flattened com.intellij.idea.vim.handler.* package 2014-03-19 16:32:38 +04:00
Andrey Vlasovskikh
d06340ac3c Inlined ResetModeHandler 2014-03-19 16:30:41 +04:00
Andrey Vlasovskikh
f9a67c5180 Removed unused classes 2014-03-19 16:29:35 +04:00
Andrey Vlasovskikh
b4cce0980a Removed practically unused ActionGroup and AbstractActionGroup interfaces 2014-03-19 16:26:12 +04:00
Andrey Vlasovskikh
4a7557c5ba Don't reset visual mode after some IntelliJ actions that operate on selections
These actions are: comment by block/line comment, surround with /
surround with template, move statement up/down.

The reason is simplification of action handling as a step towards
keymap-less IdeaVim configuration.
2014-03-19 14:55:08 +04:00
Andrey Vlasovskikh
4e84f056aa Renamed KeyParser.registerAction() to KeyParser.registerIdeaAction() 2014-03-17 16:17:38 +04:00
Andrey Vlasovskikh
68f938d476 Don't override completion and live templates actions
This requires reconfiguring the Vim keymap.
2014-03-17 14:06:02 +04:00
Alex Selesse
6a7135d2bc VIM-439: Implement :sort command.
- Supports "n", "i" and "!" arguments.
2014-02-06 08:43:55 -05:00
ik
78beef71ce Merge remote-tracking branch 'upstream/master' 2013-12-04 13:41:41 -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
8143114a86 Revert "Fixed usages of deprecated platform API methods"
This reverts commit d3d63395b3.
2013-11-15 16:36:56 +04:00
Andrey Vlasovskikh
a39a56cd39 Dropped JComboBox generics 2013-11-15 16:16:36 +04:00
Andrey Vlasovskikh
c1c076830a Merge remote-tracking branch 'origin/master'
Conflicts:
	build.properties
2013-11-15 16:11:53 +04:00
Andrey Vlasovskikh
d3d63395b3 Fixed usages of deprecated platform API methods 2013-11-15 16:09:57 +04:00
Andrey Vlasovskikh
5a9a53d235 Use moved ListCellRendererWrapper for compatibility with IntelliJ builds
132.1052+
2013-11-15 16:03:17 +04:00
Andrey Vlasovskikh
a86ef05d52 Revert "Remove editor selection after undo"
This reverts commit 13fc780287.
2013-11-12 04:14:05 +04:00
Andrey Vlasovskikh
1be2d9affc VIM-582 Fixed line comment and reformat commands with no visual selection 2013-11-12 04:12:20 +04:00
Andrey Vlasovskikh
13fc780287 Remove editor selection after undo 2013-11-08 17:56:58 +04:00
Andrey Vlasovskikh
f0c234a5de Nullability annotations for 'cmd' parameter of execute() methods 2013-11-08 17:44:19 +04:00
Andrey Vlasovskikh
7f8050e645 Removed unused argument 2013-11-08 17:31:48 +04:00
Andrey Vlasovskikh
e8b27724c9 Nullability annotations for execute() methods of action handlers 2013-11-08 17:07:13 +04:00
Andrey Vlasovskikh
327cd2c524 EA-43519 Fixed IOOBE: EditorImpl.offsetToLogicalLine 2013-11-08 15:52:22 +04:00
Andrey Vlasovskikh
17b779b494 Launch Vim action handler for <Esc> in completion windows (VIM-193) 2013-11-07 20:33:59 +04:00
Andrey Vlasovskikh
7e30b7c7a7 Merge branch 'warning-removal' 2013-09-17 00:18:34 +04:00
Andrey Vlasovskikh
b1b8c49c43 Removed unnecessary generate actions override 2013-08-31 16:14:21 +04:00
Andrey Vlasovskikh
876c35c212 Removed old unused undo classes 2013-08-30 16:48:24 +04:00
Andrey Vlasovskikh
e758e3d457 Removed unused VimSettings 2013-08-30 16:45:42 +04:00
Andrey Vlasovskikh
91e7bfce1d Fixed setting command count 2013-08-30 16:39:56 +04:00
Andrey Vlasovskikh
2e6c53fb52 Typos 2013-08-30 16:04:34 +04:00
Andrey Vlasovskikh
510edeb9a6 Reformat code 2013-08-30 16:03:11 +04:00
Andrey Vlasovskikh
8566e7bf46 Fixed potential NPE 2013-08-30 15:57:38 +04:00
Andrey Vlasovskikh
7dfea2feb6 Removed unused parameter 2013-08-30 15:52:13 +04:00
Andrey Vlasovskikh
fcb9de1930 @Nullable 2013-08-30 15:51:51 +04:00
Andrey Vlasovskikh
2c7a3b877c Argument is always true 2013-08-30 15:47:37 +04:00
Andrey Vlasovskikh
e4ae7f8566 Removed unnecessary logger 2013-08-30 15:45:46 +04:00
Andrey Vlasovskikh
94f8544dfa Removed unnecessary Ascii class 2013-08-30 15:42:08 +04:00
Andrey Vlasovskikh
0159155e1c Removed unused ErrorHandler class 2013-08-30 15:41:21 +04:00
Andrey Vlasovskikh
b45e32dd3f Cleanup 2013-08-12 19:40:44 +04: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
26555c6ad6 VIM-425 Read config from .ideavimrc if available 2013-08-12 17:56:32 +04:00
Andrey Vlasovskikh
d6ee29dc91 Refactored Options.loadVimrc() 2013-08-12 17:54:26 +04:00
Andrey Vlasovskikh
e6dacd0b84 Cleanup 2013-08-12 17:38:11 +04:00
Andrey Vlasovskikh
acf75ad080 Cleanup 2013-08-12 17:01:38 +04:00
Andrey Vlasovskikh
92067b2577 VIM-440 Fixed ':e' open file dialog 2013-08-12 16:59:43 +04:00
Andrey Vlasovskikh
24f197ce99 Use SwingUtilities.invokeLater() for consistency 2013-08-12 16:52:33 +04:00
Andrey Vlasovskikh
39cc7db50b Typos 2013-08-09 00:47:05 +04:00
Andrey Vlasovskikh
510a6d12a7 Replace StringBuffer with concatenation 2013-08-09 00:44:25 +04:00
Andrey Vlasovskikh
cb8c1ea4b5 Fixed possible NPE 2013-08-09 00:43:27 +04:00
Andrey Vlasovskikh
3284102dde Specify size in toArray() 2013-08-09 00:40:50 +04:00
Andrey Vlasovskikh
4a5457ad49 Removed unused method 2013-08-09 00:40:21 +04:00
Andrey Vlasovskikh
39ed9265d7 Converted a RegisterActions class instance into a function 2013-08-09 00:30:52 +04:00
Andrey Vlasovskikh
2fc721f220 Typo 2013-08-09 00:19:20 +04:00
Andrey Vlasovskikh
28c658810f Split RegisterActions constructor into several methods 2013-08-09 00:18:08 +04:00
Andrey Vlasovskikh
2f2ecc252e Updated copyright years in sources 2013-08-09 00:06:38 +04:00
Andrey Vlasovskikh
9f2613c56a Moved RegisterActions to the root IdeaVim package
This class is an entry point to nearly all Vim actions, so it should be
easier to discover.
2013-08-08 23:47:00 +04:00
Andrey Vlasovskikh
7a4d900b06 VIM-98 Invoke actions in separate commands for better Undo/Redo
Vim actions used to be invoked inside a key typing command and didn't
have their own commands. Now they've got separate commands with unique
group IDs in order to stop them from being merged into combined
Undo/Redo steps.

The Undo/Redo behaviour still differs from Vim: typing in a single
Insert mode session is split into several Undo chunks depending on
timing. An Undo step may require one more Undo step for moving the
cursor to its position before Undo.
2013-08-08 20:56:28 +04:00
Andrey Vlasovskikh
987781f826 VIM-121 Don't move cursor while scrolling 2013-05-15 18:57:46 +04:00
Andrey Vlasovskikh
d85a41ea98 VIM-91 Enable normal <Enter> handling for one-line editors 2013-05-15 17:15:04 +04:00
Andrey Vlasovskikh
42f86a3f73 VIM-482 Added repeat buffer limits 2013-05-15 16:46:09 +04:00
Andrey Vlasovskikh
5f1e46ca82 Merge branch 'vim-479' 2013-04-06 21:59:50 +04:00
Andrey Vlasovskikh
805779144e Fixed copying second keystrokes in Reconfigure Vim keymap 2013-04-06 21:50:12 +04:00
Andrey Vlasovskikh
c65e21708c VIM-478 Fixed bug in reconfiguring Vim keymap based on user-defined keymaps 2013-04-06 21:21:22 +04:00
Andrey Vlasovskikh
08e546b677 Fixed NPE in VimKeyMapUtil.installKeyBoardBindings 2013-04-06 19:57:27 +04:00
Andrey Vlasovskikh
11cf8454ad VIM-479 Don't try to put read-only editors into insert mode 2013-04-06 19:53:57 +04:00
Andrey Vlasovskikh
c3494803dc Removed unused code 2013-04-06 18:39:56 +04:00
Andrey Vlasovskikh
c84496b942 Suggest reconfiguring keymap during update only for Macs 2013-04-06 18:12:15 +04:00
Andrey Vlasovskikh
7702d3a695 Fixed broken test 2013-04-03 04:05:37 +04:00
Andrey Vlasovskikh
fbff8ed2c0 VIM-419 Keep cursor position after 'gt' and 'gT' 2013-04-03 03:55:02 +04:00
Andrey Vlasovskikh
5b5b6188da VIM-42 Ignore multi-character indents while recoding last insert actions 2013-04-03 00:30:26 +04:00
Andrey Vlasovskikh
ffaf2cc451 VIM-42 Handle moving cursor back and forward during autocompletion
Expressions like static methods (Foo.bar()) and shortcut completions (f.b for
foo.bar()) are completed using several document edits with cursor movements.
Now IdeaVim records and replays these cursor movements.
2013-04-01 20:17:30 +04:00
Andrey Vlasovskikh
dcc9b5a37e VIM-42 Record char strokes as regular document edits 2013-04-01 17:23:33 +04:00
Andrey Vlasovskikh
1b4a51f770 VIM-42 Basic support for repeating code completion using '.' command 2013-04-01 17:10:56 +04:00
Andrey Vlasovskikh
f8d2ee2dd7 VIM-286 Note about switching key repeating on Mac OS X manually 2013-03-27 18:15:46 +04:00
Andrey Vlasovskikh
348d88d543 VIM-92 Note about resetting custom shortcuts 2013-03-27 17:54:51 +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
2e0bbcc75d Moved MacKeyRepeat to helpers 2013-03-26 02:23:27 +04:00
Andrey Vlasovskikh
2204fe6451 Fixed unit tests for updated plugin state 2013-03-26 02:21:09 +04:00
Andrey Vlasovskikh
12bc68bc02 VIM-286 Suggest enabling Mac OS X keys autorepeat only if it is not enabled 2013-03-26 02:20:30 +04:00
Andrey Vlasovskikh
290370f744 VIM-92 Don't suggest reconfiguring Vim keymap if it is not installed yet 2013-03-25 22:45:02 +04:00
Andrey Vlasovskikh
79acef46ce VIM-286 Suggest enabling repeating keys on press and hold for Mac OS X 2013-03-25 22:44:25 +04:00
Andrey Vlasovskikh
0054eb5279 Disabled overriding second keystrokes as a workaround for Emacs keymap 2013-03-25 21:27:14 +04:00
Andrey Vlasovskikh
e0eb919e51 VIM-92 Save parent keymap after reconfiguring Vim keymap and show notification 2013-03-25 20:51:30 +04:00
Andrey Vlasovskikh
7c3d5a7946 VIM-92 Suggest to reconfigure Vim keymap using the new generation algorithm 2013-03-25 19:49:31 +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
d744d45ccd VIM-92 Reconfigure Vim keymap by overwriting it and switching bindings without restart 2013-03-12 21:40:18 +04:00
Andrey Vlasovskikh
db5ff05bb3 VIM-92 Do not use Meta key on systems other than Mac 2013-03-12 21:38:28 +04:00
Andrey Vlasovskikh
566273fe83 Merge branch 'vim-92' 2013-03-12 16:48:31 +04: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
John Lindquist
0f8cfa289d Command-line font and font size now match editor font and font size 2013-03-10 23:47:53 -06: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
0f88495f29 VIM-92: Fix Vim keymap to work better in Mac OS
- remove all static overrides from vim.xml
- introduce conflicts resolving
2013-01-08 23:19:41 +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
7b6163c968 Refactored digraph handling in command line 2012-12-25 21:59:05 +04:00
Andrey Vlasovskikh
c4927372ec Test for handling digraphs in command mode 2012-12-25 21:04:07 +04:00
Andrey Vlasovskikh
f3cd21009b Fixed nullable annotation 2012-12-25 19:11:59 +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
e11bf264b5 VIM-214 Key bindings for paste into command line 2012-12-24 23:05:38 +04:00
Andrey Vlasovskikh
db382816f5 Cleanup 2012-12-24 18:20:29 +04:00
Andrey Vlasovskikh
01732eb443 Automatic nullity annotations 2012-12-24 18:13:58 +04:00
Andrey Vlasovskikh
fc9605565a Cleanup 2012-12-24 17:55:20 +04:00
Andrey Vlasovskikh
7d018760ca Fixed NPE: ChangeGroup.insertRegister 2012-12-24 17:41:40 +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
aa9c317831 VIM-177 Added <C-]> and <C-T> to the keymap 2012-12-24 16:08:24 +04:00
Andrey Vlasovskikh
44b280962f VIM-302 Fixed tab switching order for 'gt' and 'gT' 2012-12-24 15:08:56 +04:00
Andrey Vlasovskikh
233d318e48 Cleanup 2012-12-17 00:00:52 +04:00
Andrey Vlasovskikh
a0c52f017c Switch to Base64 codec from Apache Commons Codec library 2012-12-16 23:47:49 +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
0374dba8f0 VIM-314 VIM-326 Fixed left bound for 'in string' checks 2012-12-03 16:01:30 +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
68b9f27a30 VIM-325 External web help for Vim 2012-11-29 21:56:48 +04:00
Andrey Vlasovskikh
db55808213 VIM-300 Fixed 'cw' at the last char of a word before next word without whitespace 2012-11-28 21:32:26 +04:00
Andrey Vlasovskikh
a95fb5e517 VIM-200 Fixed 'cw' at the last character of a word 2012-11-28 21:24:05 +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
cd81ed8b15 VIM-223 Fixed AE: BaseCodeCompletionAction.actionPerformed 2012-11-28 17:33:28 +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
1a3b35020c Cleanup of double quoted string selection code 2012-11-27 19:54:00 +04:00
Andrey Vlasovskikh
7ca90e97a1 Removed unnecessary context parameter 2012-11-27 17:45:40 +04:00
Andrey Vlasovskikh
6e6de46937 Merge remote-tracking branch 'poxu/vim_block_quote'
Conflicts:
	src/com/maddyhome/idea/vim/group/MotionGroup.java
	src/com/maddyhome/idea/vim/key/RegisterActions.java
2012-11-27 17:13:47 +04:00
Andrey Vlasovskikh
2186945729 Merge remote-tracking branch 'zolotov/master' 2012-11-26 18:32:41 +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
5d7c578828 Fixed 'w' motion to stop at empty line 2012-11-26 15:07:02 +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
0bf4dc1dd8 Names and typos 2012-11-22 21:11:16 +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
Alexander Zolotov
8199a8739f Fix compatibility with IDEA 11 2012-11-21 03:02:15 +04:00
Alexander Zolotov
2f688704ef Introduce couple constants in VimKeymapPanel 2012-11-21 02:42:48 +04:00
Alexander Zolotov
4e39cbd881 Fixes after VimKeyMapUtil cleanup 2012-11-21 02:42:48 +04:00
Alexander Zolotov
de3473b0a2 Little cleanup in VimKeyMapUtil.
- reimplement installKeyboardBindings
- reimplement reconfigureParentKeymap
- cleanup error reporting code
- reformat code (sorry ;-))
2012-11-21 02:42:48 +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
21df9a9ac6 Merge remote-tracking branch 'poxu/gi_bug_fix' 2012-11-20 20:03:12 +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
44cb5c7d5c VIM-314 Made 'i{' motion characterwise, not linewise/characterwise in visual mode 2012-11-20 16:03:12 +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
b4f4bd5648 Cleanup 2012-11-14 19:53:45 +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
d765eb74ef VIM-312 Fixed IOOBE in delete empty range 2012-11-13 22:44:54 +04:00
Andrey Vlasovskikh
ac654d70fa VIM-318 Fixed executing editor commands for editors not bound to a project 2012-11-13 22:44:44 +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
fbb23714a7 Extracted argument type as enum 2012-11-10 02:10:21 +04:00
Andrey Vlasovskikh
bb0fb6e787 Extracted editor sub-mode and selection mode as enums 2012-11-09 20:30:23 +04:00
Andrey Vlasovskikh
c81b668f82 Extracted editor mode as enum 2012-11-07 16:48:05 +04:00
Andrey Vlasovskikh
a8cc087a55 Extracted command type as enum 2012-11-07 16:07:58 +04:00
Andrey Vlasovskikh
02e349802c Cleaner toString() methods for commands and nodes 2012-11-07 14:27:30 +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
75138e20fd Don't show keymap configuration dialog in unit test mode 2012-10-31 18:52:38 +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
b0b89e7248 Nullable annotations 2012-10-25 16:55:34 +04:00
Andrey Vlasovskikh
4b6cd9a11f VIM-185 Fixed NPE in KeyHandler.handleKey() 2012-10-25 15:29:29 +04:00
Andrey Vlasovskikh
46b53d682d Extracted several methods from KeyHandler.handleKey() 2012-10-25 14:51:58 +04:00
Andrey Vlasovskikh
047183e89c Replaced an odd loop for handling digraphs with recursion 2012-10-23 21:48:59 +04:00
Andrey Vlasovskikh
7d8b3acfde Extracted several methods from KeyHandler.handleKey() 2012-10-23 21:39:57 +04:00
Andrey Vlasovskikh
87026bda3c Reuse StringHelper.stringToKeys() 2012-10-17 16:49:21 +04:00
Andrey Vlasovskikh
03bbc2e1f2 Immutable isRecording inside handleKey() 2012-10-17 15:49:35 +04:00
Andrey Vlasovskikh
7f4dea6846 Enum key handler state instead of integer constants 2012-10-15 17:07:53 +04:00
Andrey Vlasovskikh
dc1b393679 Cleanup and annotations 2012-10-12 19:58:17 +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
poxu
e25fd643d2 di" ci" vi" da" ca" va" like in vim 2012-10-10 18:24:40 +04:00
Andrey Vlasovskikh
694bb9eefa Register action for 'iW' selection 2012-10-10 17:14:16 +04:00
Andrey Vlasovskikh
5429774744 Cleanup and nullable annotations 2012-10-10 17:08:15 +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
228f0a3f31 Nullable annotations 2012-10-09 21:41:36 +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
e3abbf68dc Moved SearchHelperTest into a separate test directory 2012-10-09 21:13:48 +04:00
poxu
3ed6ebde7b Bug fix for gi behaviour
Bug description

Steps to reproduce

1. Open a file
2. Switch to insert mode
3. Insert any characters
4. Switch back to normal mode
5. Press gg (or move cursor to another position by any other means)
6. Press gi

Expected result:
Switch to insert mode with cursor after the last inserted character

Actual result:
Switch to insert mode with cursor before the first non space character in the line
2012-09-25 14:24:44 +04:00
Oleg Shpynov
cf407fe8da VIM-120 Leaving insert mode causes the screen scroll to top 2012-02-16 18:15:28 +04:00
Marquis Wang
2ebd02531b Fix move caret to next/prev paragraph/sentence 2012-01-22 16:53:35 -06:00
oleg
3ea3cc2c2a VIM-93 IdeaVim and "Insert" button 2012-01-19 15:02:57 +04:00
oleg
f6e103bc5c VIM-142 Keymap selection displayed over splash screen 2012-01-19 14:52:17 +04:00
oleg
3efe36f26f VIM-152 Editor view (scrolling) jumps whenever I enter/exit insert mode
Possible fix. Turn on refrainFromScrolling in case if ideavim plugin is turned off.
2012-01-18 19:41:45 +04:00
oleg
3d1b275011 VIM-106 IdeaVIM plugin P doesnt work in a new file with 0 lines 2012-01-18 18:44:06 +04:00
oleg
090e4d27ca VIM-94 Dot completely broken in 0.14.54 2012-01-17 16:52:59 +04:00
oleg
a7b2c9ed21 VIM-157 Switching case of the character under the cursor with ~ doesn't move the cursor to the right. 2012-01-16 18:31:36 +04:00
oleg
4c282a422d VIM-160 IDEA Vim forces VIM keymap on restart 2012-01-16 16:34:22 +04:00
oleg
d2fc2f354f EA-32923 - SIOOBE: VimKeyMapUtil.installKeyBoardBindings 2012-01-10 17:53:43 +04:00
Oleg Shpynov
a6701a8178 IOOBE fix 2011-12-08 15:27:09 +04:00
Oleg Shpynov
514d128209 Cleanup 2011-12-08 14:28:20 +04:00
Oleg Shpynov
1d3145ab83 API contract violation fix 2011-12-07 17:47:44 +04:00
Oleg Shpynov
21ce04fc46 Do not use deprecated API 2011-12-07 17:04:54 +04:00
Oleg Shpynov
5ed405da51 VIM-154 Introduce variable still conflicts with ideavim 2011-12-07 16:15:13 +04:00
Oleg Shpynov
2f2828ddd5 Revert "Get rid of reflection on ConsoleViewImpl#CONSOLE_VIEW_IN_EDITOR_VIEW after corresponding fix in IntellIJ IDEA codebase"
This reverts commit 31baea40a7.
2011-12-06 21:07:49 +04:00
Oleg Shpynov
03c02923c0 VIM-99 IdeaVIM no longer works in Dialog boxes 2011-12-06 21:07:03 +04:00
Oleg Shpynov
31baea40a7 Reapply get rid of reflection on ConsoleViewImpl#CONSOLE_VIEW_IN_EDITOR_VIEW after corresponding fix in IntellIJ IDEA codebase
This reverts commit 2d9caabf11.
2011-12-06 12:21:46 +04:00
Oleg Shpynov
2d9caabf11 Revert "get rid of reflection on ConsoleViewImpl#CONSOLE_VIEW_IN_EDITOR_VIEW after corresponding fix in IntellIJ IDEA codebase"
This reverts commit 24f3b5ec46.
2011-12-06 12:05:46 +04:00
Oleg Shpynov
24f3b5ec46 get rid of reflection on ConsoleViewImpl#CONSOLE_VIEW_IN_EDITOR_VIEW after corresponding fix in IntellIJ IDEA codebase 2011-12-05 15:11:10 +04:00
Oleg Shpynov
7e32a2600b VIM-135 java.lang.IndexOutOfBoundsException in SearchHelper.checkInString() 2011-12-05 12:20:31 +04:00
oleg
40660a2054 VIM-148 IDEA reports an assertion error with the VIM plugin on IDEA 11 EAP 2011-12-04 21:23:11 +04:00
oleg
66029c98f9 Cosmetics 2011-12-03 23:43:17 +04:00
Oleg Shpynov
02c9d5c536 VIM-122 Exception 2011-12-03 20:52:17 +04:00
Oleg Shpynov
36950ea4f1 VIM-113 IdeaVIM stacktrace 2011-12-03 20:39:03 +04:00
Oleg Shpynov
0486618b26 refactorings 2011-12-03 20:24:46 +04:00
Oleg Shpynov
4895f4d0a5 Cleanup 2011-12-03 19:27:57 +04:00
Oleg Shpynov
2713c1d7ad Unify work with bundles 2011-12-03 18:27:22 +04:00
Oleg Shpynov
8b1bb2008d More straightforward plugin keymap initialization. Do not show lots of notifications 2011-12-03 17:42:32 +04:00
Oleg Shpynov
1d36f1cb16 API cleanup 2011-12-03 16:58:06 +04:00
Oleg Shpynov
a73a9ef63e Some refactoring + do not show notifications about reconfiguring vim keymap on startup 2011-12-03 16:44:27 +04:00
Oleg Shpynov
136ff9195e Simplify development 2011-12-03 16:40:24 +04:00
oleg
35bebd50d7 Compatibility with IDEA 11 API 2011-08-22 14:42:46 +04:00
Oleg Shpynov
fbfbaad0c0 DRY refactoring 2011-04-20 17:50:41 +04:00
Oleg Shpynov
820774b867 Make ideavim plugin to ask for a permission to use Vim keymap on turning on. 2011-04-07 12:23:07 +04:00
Oleg Shpynov
7119c572b9 Prompt to restart IDE after changing Vim parent keymap 2011-04-05 15:01:02 +04:00
Oleg Shpynov
cb8b6f811c Revert "VIM-78 NPE"
Actually that commit has broken VisualOperationDelegateActions like Comment, Format, etc.
This reverts commit 5fb5029d0c.
2011-04-01 12:56:51 +04:00
Oleg Shpynov
6f6eb7b568 NPE fix 2011-03-29 12:32:38 +04:00
Oleg Shpynov
b3eab0cb39 Fix problem with exiting from the insert mode. Actually if we turn insert mode on for some editors, they don't have any lastinsert 2011-03-29 12:29:06 +04:00
Oleg Shpynov
1461a2b29f Prevent extra modes in states stack 2011-03-28 12:54:16 +04:00
Oleg Shpynov
b44cad8048 Turn on completion actions 2011-03-25 19:56:18 +03:00
Oleg Shpynov
6ab95fc9d8 Do not override normal help topics action 2011-03-25 19:38:34 +03:00
Oleg Shpynov
a4b6066f66 Revert "Attempt to enable code completion functionality"
This reverts commit 5dabde12db.
2011-03-25 19:31:54 +03:00
Oleg Shpynov
5dabde12db Attempt to enable code completion functionality 2011-03-25 19:20:39 +03:00
Oleg Shpynov
7513074d40 Fix problem with broken switching insert/command mode due to multiple instert modes in states stack. 2011-03-25 17:58:10 +03:00
Oleg Shpynov
98ab5cc163 NPE fix 2011-03-25 14:43:08 +03:00
Oleg Shpynov
60392128a4 unused parameters 2011-03-25 12:54:58 +03:00
Oleg Shpynov
f6767d9b70 Yet another cleanup 2011-03-25 12:54:57 +03:00
Oleg Shpynov
fe8be41ea8 Cleanup 2011-03-24 11:31:35 +03:00
Oleg Shpynov
2239d24723 Better fix for VIM-61 2011-03-24 11:30:16 +03:00
Oleg Shpynov
ecd091d1dd VIM-61 "enter" key not inserting new line in insert mode 2011-03-23 19:53:06 +03:00
Oleg Shpynov
d6e74cd421 VIM-79 VIM Emulator turned off: on IDEA restart Default keymap is made current, ignoring user's settings 2011-03-23 18:44:08 +03:00
Oleg Shpynov
ff6a7f41e9 cleanup 2011-03-23 17:47:41 +03:00
Oleg Shpynov
be1e1735ec Turn on insert mode in dialogs by default 2011-03-23 12:46:17 +03:00
Oleg Shpynov
5fb5029d0c VIM-78 NPE 2011-03-23 11:31:34 +03:00
Oleg Shpynov
e66a1d848f VIM-76 Throwable at VimKeyMapUtil.reconfigureParentKeymap() on the first use of "Reconfigure VIM keymap" after plugin installation 2011-03-23 11:16:52 +03:00
Oleg Shpynov
b0b7b85c33 VIM-74 Reconfigure VIM Keymap: Vim Keymap settings dialog shows not current parent on opening 2011-03-22 20:30:36 +03:00
Oleg Shpynov
60829efb93 Use keymap presentable name 2011-03-22 19:17:05 +03:00
Oleg Shpynov
79e1588d12 VIM-75 Throwable at com.maddyhome.idea.vim.group.MotionGroup.removeEditorListener() on closing editor with already disabled emulation 2011-03-22 19:11:01 +03:00
Oleg Shpynov
1b2157fc57 Allow comment line action in insert/repeat mode 2011-03-22 13:18:52 +03:00
Oleg Shpynov
f3185f2d80 VIM-65 cursor keys don't work as expected when renaming variable in place 2011-03-21 20:09:52 +03:00
Oleg Shpynov
3b0491029d VIM-73 Reconfigure VIM keymap: shortcuts of new parent keymap work only after IDEA restart 2011-03-21 19:26:38 +03:00
Oleg Shpynov
1709628cea VIM-72 Reconfigure VIM Keymap: Vim Keymap settings dialog: Escape or system close button work like Ok 2011-03-21 19:07:44 +03:00
Oleg Shpynov
205a956703 Turn on insert mode when active lookup is invoked 2011-03-21 19:01:55 +03:00
Oleg Shpynov
917855c913 Better error reporting and exceptions handling while installing keymap 2011-03-21 13:26:37 +03:00
Oleg Shpynov
ffe7797fba Fixed problem with ideavim keymap installation. Problem with LocalFileSystem refresh was fixed. 2011-03-21 12:40:13 +03:00
Oleg Shpynov
8bc7eb4d91 Better errors reporting 2011-03-21 11:35:05 +03:00
Oleg Shpynov
aab59021a2 Attempt to unify VIM and IntelliJ history. This should fix a whole bunch of problems with undo after autocompletions, inplace rename, multiple complex inserthandlers etc. 2011-03-18 19:04:43 +03:00
Oleg Shpynov
b547ff1859 Unused code removed 2011-03-18 19:03:02 +03:00
Oleg Shpynov
474dfa1f30 NPE fixed 2011-03-18 17:37:50 +03:00
Oleg Shpynov
424c7ab88c refactoring 2011-03-18 15:11:40 +03:00
Oleg Shpynov
7134799cdc VIM-33 when i am in command mode, if i switch to a different tab and then switch back, my cursor is moved to the first character of the first line.
Better filtering of tab switches by rectangles.
2011-03-18 15:11:18 +03:00
Oleg Shpynov
f6c5ae21c7 Do not use deprecated API 2011-03-18 13:32:12 +03:00
Oleg Shpynov
42d65943b8 Spelling 2011-03-17 18:50:53 +03:00
Oleg Shpynov
e4a48a138a Allow reconfigure parent keymap for the VIM plugin from UI 2011-03-17 17:52:32 +03:00
Oleg Shpynov
2bb8ecd7fb cleanup 2011-03-17 16:58:09 +03:00
Oleg Shpynov
cb446cb1d7 Cosmetics 2011-03-17 14:43:22 +03:00
Oleg Shpynov
f1a4dc0a51 Make base keymap for the ideavim configurable on startup 2011-03-17 14:14:53 +03:00
Oleg Shpynov
56a1843a67 cleanup 2011-03-17 13:45:27 +03:00
Oleg Shpynov
dd34e54987 VIM-46 OSX VIM Keymap 2011-03-16 14:20:31 +03:00
Oleg Shpynov
11a14fadd1 VIM-50 Feature request: Vim-like tab switching 2011-03-15 19:15:32 +03:00
Oleg Shpynov
9c8a7c642c Fixed keymap switching 2011-03-15 16:54:20 +03:00
Oleg Shpynov
d859e67ba5 Saving configuration fixed 2011-03-15 16:41:26 +03:00
Oleg Shpynov
aecd3d0336 Better notifications 2011-03-15 16:36:57 +03:00
Oleg Shpynov
aab033c7c7 VIM-12 Register Vim keymap on plugin installation
VIM-15 Switch keymap on enabling/disabling vim support
2011-03-15 15:00:38 +03:00
Oleg Shpynov
5aa2664713 Use persistence state component instead of JDomExternalizable 2011-03-15 12:44:03 +03:00
Oleg Shpynov
caa5407dc1 cleanup 2011-03-15 12:36:03 +03:00
Oleg Shpynov
c6948dbb1c Remove redundant code 2011-03-15 12:32:09 +03:00
Oleg Shpynov
e010c762aa VIM-32 when i am in insert mode, if i switch to a different tab and then switch back, i am in command mode instead of insert mode.
VIM-33 when i am in command mode, if i switch to a different tab and then switch back, my cursor is moved to the first character of the first line.
2011-03-14 19:56:10 +03:00
Oleg Shpynov
36ba570911 Remove redundant actions 2011-03-14 19:46:27 +03:00
Oleg Shpynov
0f0b876c3f cleanup 2011-03-14 19:30:03 +03:00
Julien Hoarau
b2aed07d3f VIM-33 Cursor is moved to the first character when we switch tab 2011-03-11 15:14:43 +01:00
Oleg Shpynov
bc7d09e7cc VIM-58 Feature Request:The word motion has been enhanced. 2011-03-10 13:06:02 +03:00
Oleg Shpynov
914e158530 Massive reformat code according to the IntellIJ IDEA default Java formatting settings 2011-03-10 12:51:21 +03:00
Oleg Shpynov
581720bf20 VIM-34 cursor position lost even with 'VIM Emulator' disabled. 2011-03-10 12:46:01 +03:00
Oleg Shpynov
c966475108 VIM-57 Cope with out-of-bounds cursor 2011-03-10 11:56:57 +03:00
Oleg Shpynov
2e587c4767 Make master branch uptoday after cvs2git migration 2011-03-10 11:14:48 +03:00
olegshpynov
47094cef2b http://youtrack.jetbrains.net/issue/VIM-35 2010-03-25 16:34:16 +00:00
olegshpynov
86864ee53e VIM-20
Page Up & Page Down fail in the completion list
2010-03-24 12:57:56 +00:00
olegshpynov
58a71a190b VIM-27
IndexOutOfBoundsException: Wrong offset: 1; documentLength: 0; - DocumentImpl.insertString
2010-03-24 12:10:26 +00:00
olegshpynov
bc3d3bdd2b VIM-22
Add/Subtract not working at end of line
2010-03-24 10:07:40 +00:00
olegshpynov
84f65fb109 Make VIM switcher dumb aware 2010-03-15 13:15:13 +00:00
olegshpynov
610b0dca1f Missing file required for building help 2010-02-25 16:39:03 +00:00
olegshpynov
e44c36b992 Intergrate changes for MAIA branch 2010-02-25 14:19:54 +00:00
rmaddy
6ac8fb815d Change commands in visual mode now exit visual mode. 2005-10-19 22:59:23 +00:00
rmaddy
8d99153030 Change commands in visual mode now exit visual mode. 2004-12-10 22:55:20 +00:00
rmaddy
79f33e9607 Fixed :quit command (not all forms recognized) 2004-12-10 22:31:18 +00:00
rmaddy
6b308bbdfe Initial changes to support repeating of inserted text via the Ctrl-Space sequence. 2004-12-10 21:59:27 +00:00
rmaddy
74cc46411c Initial changes to support repeating of inserted text via the Ctrl-Space sequence. Pass Escape to IDEA if not used by Vim. 2004-12-10 21:58:18 +00:00
rmaddy
66ac42a1b3 Can now delete blank line at end of file. 2004-10-29 05:58:05 +00:00
rmaddy
f0dbc9ce8d Some better checking when plugin disabled/enabled. Restore cursor. 2004-10-29 05:09:58 +00:00
rmaddy
4a9da395f9 Use file type's indent size instead of tab size for indenting lines. 2004-10-29 03:42:01 +00:00
rmaddy
91a35f4a43 Fixed duplicate characters getting added to a register during recording. 2004-10-22 05:34:08 +00:00
rmaddy
aa787f47d1 Fixed *, #, e, and b commands when punctuation at end of range 2004-10-22 05:11:21 +00:00
rmaddy
77e9301a21 Fixed :class and :find 2004-07-13 16:39:37 +00:00
rmaddy
196a22c219 Fixed NPE if there is no previous search 2004-07-13 16:38:04 +00:00
rmaddy
fedcd01019 Fixed NPE when using the :q related commands. Fixed any of the ex commands for selecting a different file. 2004-06-30 05:11:59 +00:00
rmaddy
350190fa58 Add checks so this works with both 4.0.x and 4.5 2004-06-30 03:58:08 +00:00
rmaddy
8a3ca52196 Complete support of aw,aW,iw,iW text objects. 2004-06-28 22:14:52 +00:00
rmaddy
ae93e36ff6 Chages for text objects 2004-06-28 02:57:36 +00:00
rmaddy
0d3bd6086a Changes to support text objects 2004-06-28 02:49:29 +00:00
rmaddy
a89af1d32f Begin support of visual block mode. 2004-06-23 22:38:19 +00:00
rmaddy
d11e343c0d Changes to fully support hlsearch and :nohlsearch. 2004-06-22 21:45:14 +00:00
rmaddy
8bc96f5b6f *** empty log message *** 2004-06-22 21:33:26 +00:00
rmaddy
96712b60d2 Started changes for highlighted search 2004-06-21 17:29:23 +00:00
rmaddy
099d890012 Fixed BS to close ex window 2004-05-28 21:19:27 +00:00
rmaddy
46a97b3091 Fixed backspace in ex entry 2004-05-28 20:13:05 +00:00
rmaddy
7b4d5bfefc Finished support for digraphs. 2004-05-28 20:04:22 +00:00
rmaddy
fe05156454 Completed suppor for Ctrl-k and Ctrl-v for r,t,f,T,f and insert/replace modes. 2004-05-26 22:34:56 +00:00
rmaddy
50c939a9f7 Added support for :digraph, and Ctrl-K {char1}{char2} for certain character arguments and while in insert mode. 2004-05-25 00:19:25 +00:00
rmaddy
6f087a96d5 Now allow space between range and command in : commands. 2004-05-24 03:46:12 +00:00
rmaddy
b28877b23f Added mnemonics and a default button for the search confirmation dialog. 2004-05-24 03:11:35 +00:00
rmaddy
679fb1307a Fixed using the O command on the first line. 2004-05-24 02:05:26 +00:00
rmaddy
cecf329832 Fixed the display of the "more" panel for some ex commands. 2004-05-24 02:00:19 +00:00
rmaddy
e2483c4146 Redid ex entry window. Put back like it was. Found much easier solution for focus problem. 2004-05-22 21:33:41 +00:00
rmaddy
e06c0aaa3b Disable ex entry field when not being used. 2004-05-22 21:07:42 +00:00
rmaddy
e5235f54bf Fixed <count>dw to delete correct amount of text. 2004-05-22 20:34:57 +00:00
rmaddy
45accb61f8 Tweaked show/hideToolBar to restore original state. 2004-05-22 20:33:05 +00:00
rmaddy
c197c38450 First whack at fixing dw issues 2004-05-22 00:05:46 +00:00
rmaddy
dd083fc9b4 Fixed commands like <count>cw on strings such as 1/2/3 2004-05-21 23:46:17 +00:00
rmaddy
7cf9248206 Changed ex window to use tool window. Fixes focus problem. 2004-05-21 21:08:37 +00:00
rmaddy
65f9c1f2b9 Start of changes to move ex window to toolbar 2004-05-21 19:51:52 +00:00
rmaddy
909d4d3fe3 Fixed bug for c<motion> d<motion> if motion was invalid. 2004-02-16 22:59:41 +00:00
rmaddy
9c8f526228 Need to fix focus problem after ex window goes away 2004-02-14 01:11:07 +00:00
rmaddy
44cf2538a8 Comment on event bug 2004-02-14 01:09:57 +00:00
rmaddy
3c3703720f Fixed exception when reopening a project. 2004-02-13 18:38:29 +00:00
rmaddy
5e6433e1e3 Fixed last fix 2004-02-12 21:33:20 +00:00
rmaddy
d7bc507e2d Add new param to deleteRange 2004-02-11 17:26:29 +00:00
rmaddy
a7df28befb Fixed cursor position after deleting range for a change. 2004-02-11 17:25:21 +00:00
rmaddy
8d69f8ba4f Ensure unique set of listeners 2004-02-11 17:24:40 +00:00
rmaddy
6782afc678 Deal with non-existent editors for a file 2004-02-11 16:50:51 +00:00
rmaddy
b3954913a0 Fixed moving cursor in empty file 2004-02-11 16:44:09 +00:00
rmaddy
b892719cad Fixed special parsing of < and > commnds 2004-02-11 16:42:40 +00:00
rmaddy
61aa07ebc9 Update call to deleteRange 2004-02-11 16:36:13 +00:00
rmaddy
80bbc06268 Support for modification attempt on a read-only file. 2004-02-03 17:42:27 +00:00
rmaddy
6dbbc3f23f Fixed exception when opening a file that has no document (such as images with ImageViewer plugin). 2004-02-02 06:16:00 +00:00
rmaddy
3838fe77cb Fix dw, dW, d[w when on last word of a line. Fixed cW to work like cE. 2004-01-30 23:37:30 +00:00
rmaddy
da9582ed24 Fixed repeating of o and O commands. 2004-01-30 22:34:13 +00:00
rmaddy
a96ef5bb33 Move cursor properly 2004-01-30 19:40:03 +00:00
rmaddy
297c05041d Putting text that was yanked from the last line didn't always have the newline inserted. 2004-01-30 19:36:15 +00:00
rmaddy
6081d7cff5 Fixed cursor location after undo 2004-01-30 19:24:58 +00:00
rmaddy
120a6a8e3e Changes for Command API change 2004-01-30 06:57:44 +00:00
rmaddy
e462ed7ad6 Made isReadType and isWriteType not static. 2004-01-30 06:55:01 +00:00
rmaddy
0a7d8dd7e8 Made entering of : commands read/write 2004-01-30 06:48:28 +00:00
rmaddy
ec616d60da Prevent some possible NPE's 2004-01-30 06:47:47 +00:00
rmaddy
c294063223 All editors of a file now display the same selection. 2004-01-28 22:57:42 +00:00
rmaddy
e7f1236b47 Fixed toggling of insert/replace modes 2004-01-28 22:42:34 +00:00
rmaddy
10a9c4c433 Forgot to check if document not found 2004-01-28 22:41:59 +00:00
rmaddy
6d65a00426 Fixed undo/restore file issue if file had been saved in the middle. 2004-01-28 21:13:39 +00:00
rmaddy
b7be4b8e74 Changes to support the command sequence r<Enter> 2004-01-28 20:13:16 +00:00
rmaddy
0dc1c756d7 Partial handling of r<Enter> 2004-01-28 01:05:45 +00:00
rmaddy
3d6328a179 Handle special key char arguments. 2004-01-28 01:05:03 +00:00
rmaddy
45ac9252f5 Imports 2004-01-28 00:41:28 +00:00
rmaddy
361725d583 Refactored a bit to be more document based than editor based. 2004-01-28 00:39:56 +00:00
rmaddy
3341686f1e Debugging 2004-01-28 00:39:30 +00:00
rmaddy
0219df8fe7 Added some missing status bar updates. 2004-01-28 00:38:33 +00:00
rmaddy
e4894ca866 Move file reload to DocumentManager. 2004-01-28 00:37:24 +00:00
rmaddy
1ac5077c4c More listeners 2004-01-28 00:36:59 +00:00
rmaddy
4876e908e9 Cleanup. Make visual related item document level, not editor level. 2004-01-28 00:36:25 +00:00
rmaddy
768df01a82 Cleanup 2004-01-28 00:34:05 +00:00
rmaddy
78d70b0472 Used block cursor for command mode and bar cursor for insert/replace modes. 2004-01-28 00:26:42 +00:00
rmaddy
8587a2a37b Marks are more document based than editor based. 2004-01-28 00:26:04 +00:00
rmaddy
a6cc9070c6 Central point of control for document change listeners 2004-01-28 00:22:06 +00:00
rmaddy
e0a6d58815 Imports 2004-01-27 07:07:08 +00:00
rmaddy
5d005f9ee0 Added toString 2004-01-27 06:53:56 +00:00
rmaddy
02e97fa96b Added offset 2004-01-27 06:53:43 +00:00
rmaddy
197036f5e7 Added isWriteType 2004-01-27 06:53:06 +00:00
rmaddy
866e36651e Put back save and save just one file 2004-01-27 06:52:15 +00:00
rmaddy
0a54782ad9 Mark command as writeable 2004-01-27 06:51:45 +00:00
rmaddy
b56a42dac9 New parameter to leave cursor after put. 2004-01-27 06:51:04 +00:00
rmaddy
42f07af28f Added support for filename args. 2004-01-27 06:50:19 +00:00
rmaddy
7e5d87e509 Added support for # and filename args. 2004-01-27 06:49:50 +00:00
rmaddy
56695f5930 Added some new commands 2004-01-27 06:48:47 +00:00
rmaddy
67d9ab7987 Don't run command as runnable. It already is in one. Should solve lock ups from commands like :w 2004-01-27 06:48:25 +00:00
rmaddy
0df2359753 Handle mouse clicks in line number area. Fixed several visual mode bugs. 2004-01-27 06:47:13 +00:00
rmaddy
7c896968d7 Added openFile, saveFile, findFile, selectPreviousTab. 2004-01-27 06:45:48 +00:00
rmaddy
e5de0a7604 Changes to support moving cursor after pasting text. 2004-01-27 06:44:36 +00:00
rmaddy
bb4d7293ce Add new parameter to indicate cursor stays put. 2004-01-27 06:43:00 +00:00
rmaddy
03d35d0258 Just save one file 2004-01-27 06:41:46 +00:00
rmaddy
1b0923e475 Update for method rename. 2004-01-27 06:40:58 +00:00
rmaddy
f8a887fb11 Better parameter checking in getEditor 2004-01-27 06:39:19 +00:00
rmaddy
7e21d27a8b Several new commands added. 2004-01-27 06:37:27 +00:00
rmaddy
075bf5b585 Now restore file on last undo. 2004-01-27 06:35:39 +00:00
rmaddy
b8c3563e3f Tweaked handling of read vs. write commands 2004-01-27 06:32:47 +00:00
rmaddy
524d0fc4fe Added listener for selection changes 2004-01-27 06:31:26 +00:00
rmaddy
dc7d098198 Added support for :class command 2004-01-27 06:29:36 +00:00
rmaddy
d2bcb1a957 Added support for :symbol command 2004-01-27 06:29:02 +00:00
rmaddy
74589fecd0 Added support for :wall command 2004-01-27 06:28:50 +00:00
rmaddy
ddde658d8e Added support for z+ and z^ commands 2004-01-27 06:28:22 +00:00
rmaddy
69b53a83a6 Added support for gP and gp commands 2004-01-27 06:28:05 +00:00
rmaddy
8f2faa548f Optimize imports 2004-01-06 04:45:28 +00:00
rmaddy
7dee879da8 Update to support Aurora 1050 2004-01-06 04:44:21 +00:00
rmaddy
6e5cb60d32 Optimize imports 2003-12-29 06:47:39 +00:00
rmaddy
37c40ced1f Added allowEnd to normalizeVisualColumn 2003-12-29 06:32:40 +00:00
rmaddy
ffb1ef7b86 Fixed use of keys 2003-12-29 06:31:14 +00:00
rmaddy
aa8c48c58c Added support for moving to next/previous paragraph 2003-12-29 06:28:45 +00:00
rmaddy
0e65ddb64f Added support for { and } commands 2003-12-29 06:28:11 +00:00
rmaddy
9427955cb6 Added support for {} marks 2003-12-29 06:27:12 +00:00
rmaddy
e0e934aa21 Update calls to runWrite/ReadCommand 2003-12-28 21:37:44 +00:00
rmaddy
10c4522c11 Use newer version of executeCommand 2003-12-28 21:37:03 +00:00
rmaddy
16e8358ba1 Rewrote getVirtualFile and getProject 2003-12-28 21:36:29 +00:00
rmaddy
bc6cd9d194 Updated calls to runWrite/ReadCommand 2003-12-28 21:34:59 +00:00
rmaddy
b070dc42e1 Removed unused code. 2003-12-28 21:33:48 +00:00
rmaddy
d8398a7bff Changes to support aurora build 992 2003-12-24 22:16:56 +00:00
rmaddy
2963053472 Changes to work under aurora 963 2003-12-24 22:08:54 +00:00
rmaddy
60e2a8888d Changes to support Aurora 2003-10-01 06:08:34 +00:00
rmaddy
adfc89e799 Workaround for :w deadlock - don't actually write for now 2003-08-06 04:13:56 +00:00
rmaddy
4890c575a0 Fix inserting new line above cursor to properly indent 2003-08-06 04:12:11 +00:00
rmaddy
1550cb85cd Fixed bug when editing file templates 2003-08-06 04:11:35 +00:00
rmaddy
16962beaa1 Optimized imports 2003-05-15 17:17:28 +00:00
rmaddy
05966b6423 Don't check showmode for showMode 2003-05-15 04:34:38 +00:00
rmaddy
34ab6e9c2b Check showmode for updateStatus 2003-05-15 04:34:12 +00:00
rmaddy
ef850a55fa Added message to resize tool window 2003-05-15 04:31:02 +00:00
rmaddy
4e6c170205 Fixed flags for gd and gD 2003-05-15 04:13:00 +00:00
rmaddy
a53af67f41 *** empty log message *** 2003-05-14 23:26:40 +00:00
rmaddy
b2a9ff7a38 Commented out unused options 2003-05-14 23:26:19 +00:00
rmaddy
a7687651f6 Added DumpLineHandler 2003-05-14 17:05:46 +00:00
rmaddy
f71c4ba1d8 Added support for CharacterPosition - fixed search issues with tabs. 2003-05-14 17:05:12 +00:00
rmaddy
3aed07c8f5 Debugging tool 2003-05-14 17:04:22 +00:00
rmaddy
ee296d7ab6 *** empty log message *** 2003-05-13 23:31:58 +00:00
rmaddy
a521a2a7c3 Fixed focus problem when escape from dialog 2003-05-13 23:30:40 +00:00
rmaddy
0205863e6c Don't store ", ., / registers into default 2003-05-13 22:22:24 +00:00
rmaddy
8d461e62e4 Fixed normalizeColumn 2003-05-13 22:21:32 +00:00
rmaddy
45921c7bcf Cleaned up error handling 2003-05-13 22:20:59 +00:00
rmaddy
598392a190 Support for :@ commands 2003-05-13 22:19:55 +00:00
rmaddy
1d860afe38 Add support for : register. Added RepeatHandler 2003-05-13 22:19:29 +00:00
rmaddy
91e756391d Set / register. Added error for :s search not found 2003-05-13 22:17:43 +00:00
rmaddy
55117e81e4 *** empty log message *** 2003-05-13 19:55:43 +00:00
rmaddy
a5c9de1ae8 Don't check for CommandEntryPanel 2003-05-13 19:55:22 +00:00
rmaddy
338c575cfd Rewritten for new ex entry code 2003-05-13 19:54:21 +00:00
rmaddy
cf9efb5f3d Added to support macro playback 2003-05-13 19:53:39 +00:00
rmaddy
b0facc8fae Added to support new ex entry code 2003-05-13 19:52:28 +00:00
rmaddy
95939638fb Added tool window creation and message display 2003-05-13 19:46:07 +00:00
rmaddy
4f2069d02b Added new key handling 2003-05-13 19:45:15 +00:00
rmaddy
ed55815014 Don't handle backspace on empty field 2003-05-13 19:44:54 +00:00
rmaddy
1851f0b376 Removed actions to end or escape entry 2003-05-13 19:43:22 +00:00
rmaddy
3f7b8513ea Added more commands 2003-05-13 19:38:20 +00:00
rmaddy
538ee344b1 Updated for state handling changes. 2003-05-13 18:08:20 +00:00
rmaddy
56eb2c401a Fix removing of trailing newlines for display 2003-05-13 18:07:15 +00:00
rmaddy
e5e5e2995a Redone to support state stack 2003-05-13 18:06:27 +00:00
rmaddy
8ff7d36e9e Added set/getKeys 2003-05-13 18:06:12 +00:00
rmaddy
fa0685ec78 Support for macro recording. 2003-05-13 18:05:32 +00:00
rmaddy
5567ffe106 Updated for new ExEntryPanel. 2003-05-13 18:04:27 +00:00
rmaddy
2e2c9f7c9e Updated for state handling changes. Clean up. 2003-05-13 18:03:12 +00:00
rmaddy
b8d218e268 Updated for state handling changes. Support for CMD_LINE mode. Support for recording. 2003-05-13 18:00:57 +00:00
rmaddy
71ab721ab2 Updated for state handling changes. 2003-05-13 17:59:18 +00:00
rmaddy
df19e13805 Cleaned up. Updated for state handling changes. 2003-05-13 17:58:08 +00:00
rmaddy
b5573b4c79 Added MacroGroup 2003-05-13 15:33:48 +00:00
rmaddy
8e14d3e3fc small method name change 2003-05-13 15:33:20 +00:00
rmaddy
d29acecea6 Refactor of the old CommandEntryPanel 2003-05-13 15:32:21 +00:00
rmaddy
f2eea59f90 Added support for macro playback 2003-05-13 15:25:41 +00:00
rmaddy
4cb8665544 Added support for the q command - record keystrokes to a register. 2003-05-10 05:21:43 +00:00
rmaddy
70db16881f Added more messages 2003-05-09 23:09:07 +00:00
rmaddy
9c6ddb9322 Display warning and error messages in status bar. 2003-05-09 21:55:09 +00:00
rmaddy
ff1067fe56 Added "status bar". Added :set showmode. Show mode on status line. 2003-05-09 17:22:06 +00:00
rmaddy
248abed09b Added [p, ]p, [P, ]P commands 2003-05-09 05:44:35 +00:00
rmaddy
bb01f8ada4 Fixed paste after last line of file 2003-05-09 05:18:09 +00:00
rmaddy
9ca9f43889 Fixed repeat of R commands 2003-05-09 04:53:03 +00:00
rmaddy
ba5ef34b84 Added support to repeat visual change commands. 2003-05-09 04:43:52 +00:00
rmaddy
7128c8943f Count before v and V is now supported. 2003-05-09 03:13:10 +00:00
rmaddy
2f88987f5b Changes to deal with case insensitive operating systems. 2003-05-08 19:59:47 +00:00
rmaddy
bc079feccb Fix d{motion} to become linewise as appropriate 2003-05-08 19:36:33 +00:00
rmaddy
fe986bf7c6 Forgot to add this 2003-05-08 17:58:13 +00:00
rmaddy
0f9f9a1000 Fixed % to set correct linewise/inclusive on command 2003-05-08 17:56:43 +00:00
rmaddy
05953bafc2 Fixed visual highlight after doing reformat or autoindent. 2003-05-08 17:53:31 +00:00
rmaddy
7b475c861a *** empty log message *** 2003-05-08 17:52:46 +00:00
rmaddy
f4bc6796b5 Fixed visual highlight after doing reformat or autoindent. 2003-05-08 17:45:19 +00:00
rmaddy
595f0889d3 Comments for future Register enhancements 2003-05-08 15:50:41 +00:00
rmaddy
3e0675a8bf z-, z., z<enter> now move cursor to start of line. 2003-05-08 04:54:00 +00:00
rmaddy
6374b71c5f Save jumplocation for gd and gD 2003-05-08 04:33:04 +00:00
rmaddy
49a2393bd3 Fixed doing cw or cW while on last char of word/WORD. 2003-05-08 04:18:00 +00:00
rmaddy
70edc17203 Ensure there aren't two change listeners for an editor. 2003-05-08 04:03:02 +00:00
rmaddy
dca0663cff Several fixes to allow undo of changes made by IDEA while not in insert mode. 2003-05-08 03:30:12 +00:00
rmaddy
db7fc145f8 Changes for support of ! commands 2003-05-08 03:25:24 +00:00
rmaddy
eea1962480 *** empty log message *** 2003-05-08 03:24:07 +00:00
rmaddy
226b5d21bc Fixes for visual mode problems. 2003-05-08 03:23:28 +00:00
rmaddy
30f6cd480b Handle line greater than line count 2003-05-07 20:25:16 +00:00
rmaddy
379012c9b4 Fixed bug which prevented :0, :1, or :<neg> from working 2003-05-07 20:16:34 +00:00
rmaddy
18bea9b496 Close all editors, not exit IDEA, for :qall 2003-05-06 21:49:06 +00:00
rmaddy
52e8f70384 Added autoIndentLines 2003-05-06 21:48:34 +00:00
rmaddy
7bb5d431af == command now repeatable 2003-05-06 21:39:30 +00:00
rmaddy
205b06dde0 Fixed backslashes in replacement text 2003-05-06 21:38:12 +00:00
rmaddy
a2c3ee7281 Don't exit IDEA with :q. Added several new ex commands 2003-05-06 16:30:04 +00:00
rmaddy
ac0ec01973 Ex commands that took a count were getting the current line as a default instead of one. 2003-05-05 22:12:07 +00:00
rmaddy
4b9d57dce3 Fixed visual mode problems 2003-05-05 21:37:29 +00:00
rmaddy
8319a84502 Additions for [w, ]w, [b, and ]b commands - camel word motions 2003-05-05 05:47:09 +00:00
rmaddy
298bad7a64 *** empty log message *** 2003-05-04 21:42:41 +00:00
rmaddy
4e774f5889 Removed GNU regexp 2003-05-04 21:40:08 +00:00
rmaddy
4dc6a2ab72 Changes and additions to support true VIM searching and replacing 2003-05-04 21:33:38 +00:00
rmaddy
d09cc6b053 Fixed ability to move cursor to very end of file 2003-05-04 17:55:02 +00:00
rmaddy
160da9637b findWordUnderCursor didn't include last char of word 2003-05-04 17:40:22 +00:00
rmaddy
38bb7b0573 Added support for search offsets and other small changes 2003-04-29 16:01:18 +00:00
rmaddy
829edef1da Removed calls to saveJumpLocation 2003-04-29 15:58:43 +00:00
rmaddy
6e4cf690e9 Added use of FLAG_SAVE_JUMP for appropriate actions 2003-04-29 15:57:12 +00:00
rmaddy
3023287473 Added FLAG_SAVE_JUMP 2003-04-29 15:56:37 +00:00
rmaddy
f802aa1722 Added to support pattern ranges for Ex commands 2003-04-29 15:55:24 +00:00
rmaddy
aebd17e18a Added lastZero to getLine 2003-04-29 15:54:48 +00:00
rmaddy
335b80f419 Rewritten to properly handle a sequence of ranges 2003-04-29 05:20:21 +00:00
rmaddy
ad2b4faf09 Added lastZero 2003-04-29 05:08:00 +00:00
rmaddy
18ccd06ebe Added ctrs 2003-04-29 05:05:14 +00:00
rmaddy
e001c731f2 Fixed so not added to parser handler list. Fixed bug that caused it to go to wrong line 2003-04-29 05:04:33 +00:00
rmaddy
8d0d22d5ee Updated to handle ranges with search patterns 2003-04-29 05:03:46 +00:00
rmaddy
6bd8957f51 Added support for *, #, g*, and g# commands 2003-04-27 04:47:05 +00:00
rmaddy
6a3c8e7cb9 Removed all the 'Append' methods and classes and added boolean to correspoding sibling. Support 'select' option for visual mode. 2003-04-26 17:24:27 +00:00
rmaddy
9dc3990183 Added to support real searching 2003-04-26 17:20:43 +00:00
rmaddy
9561d6560c Added to support :set commands 2003-04-26 17:18:25 +00:00
rmaddy
46a3f19d5b Added SetHandler 2003-04-26 17:18:00 +00:00
rmaddy
84e6024b15 More search changes 2003-04-26 17:17:21 +00:00
rmaddy
b6e7809a76 Added to support real search commands 2003-04-26 17:15:50 +00:00
rmaddy
a7911ee92d *** empty log message *** 2003-04-26 17:14:37 +00:00
rmaddy
855216836a Fixed getDisplayWidth. Addes support for 'more' option. 2003-04-26 17:13:39 +00:00
rmaddy
b2097adb15 Support for undolevels options 2003-04-26 17:12:32 +00:00
rmaddy
d30bbb8a66 Support for matchpairs options 2003-04-26 17:12:08 +00:00
rmaddy
2586941493 Support for 'visualbell' option 2003-04-26 17:04:45 +00:00
rmaddy
ccb956b7ff *** empty log message *** 2003-04-26 17:03:51 +00:00
rmaddy
23532d7d02 *** empty log message *** 2003-04-26 16:26:57 +00:00
rmaddy
ccd575a234 Added to setup of option change listeners 2003-04-26 16:22:44 +00:00
rmaddy
dce29c11f2 *** empty log message *** 2003-04-26 16:19:41 +00:00
rmaddy
c4a4ffc67f *** empty log message *** 2003-04-26 16:14:15 +00:00
rmaddy
b7e7ac93bb *** empty log message *** 2003-04-26 16:03:47 +00:00
rmaddy
f5eb8b086f *** empty log message *** 2003-04-26 15:52:14 +00:00
rmaddy
89c6d98022 Renamed from BoundedListOption 2003-04-26 15:48:19 +00:00
rmaddy
06aba90661 Added to support options via :set 2003-04-25 22:19:25 +00:00
rmaddy
a320fd6204 *** empty log message *** 2003-04-23 20:27:10 +00:00
rmaddy
fe0f4149c3 Cleaned up look 2003-04-23 20:20:25 +00:00
rmaddy
5d171745b0 Fixed several commands that should not work in op-pend mode. 2003-04-23 20:19:13 +00:00
rmaddy
b286b74244 Added optFlags support 2003-04-23 20:16:59 +00:00
rmaddy
ce07b80041 *** empty log message *** 2003-04-23 20:14:25 +00:00
rmaddy
b9daae2bfe Changed to use gnu regexp 2003-04-23 20:14:10 +00:00
rmaddy
b3ed0ac045 Moved all command flags to this class 2003-04-23 20:12:23 +00:00
rmaddy
ae9770692c *** empty log message *** 2003-04-22 23:49:47 +00:00
rmaddy
2ff5feba78 *** empty log message *** 2003-04-22 18:16:33 +00:00
rmaddy
6f256102f8 Added getMarks 2003-04-22 18:14:46 +00:00
rmaddy
ae31bf4e2a Close any More panel if the editor selection changes 2003-04-22 18:12:18 +00:00
rmaddy
80a3bccfe8 Now pass key when creating a register 2003-04-22 18:10:28 +00:00
rmaddy
5aceef973c Remove undo buffer when an editor is closed. 2003-04-22 18:09:44 +00:00
rmaddy
379f0c0bd4 Added to support String based utility methods 2003-04-22 18:09:08 +00:00
rmaddy
b1fccf7b50 Added more handlers 2003-04-22 18:08:43 +00:00
rmaddy
6d361653eb Added getLineText 2003-04-22 18:07:26 +00:00
rmaddy
2e39021e38 Added key. Added util class to support sorting registers by key. 2003-04-22 18:05:23 +00:00
rmaddy
5015ed8fab Added util class for sorting marks by key 2003-04-22 18:04:51 +00:00
rmaddy
6c27b40070 Added to support :registers command 2003-04-22 18:04:18 +00:00
rmaddy
364e56f8e5 Handles :marks command 2003-04-22 18:03:52 +00:00
rmaddy
cc18a6e318 Added to display text in a 'more' like window 2003-04-22 18:03:12 +00:00
rmaddy
9113993f34 Changed how non-letter commands are parsed 2003-04-21 18:16:49 +00:00
rmaddy
2c6a6ef06f Allow mouse click to move cursor to end-of-line while in Insert or Replace modes 2003-04-21 18:15:37 +00:00
rmaddy
9f8e0ad27a Added process group 2003-04-21 18:14:21 +00:00
rmaddy
dd412e61c6 New support for filter commands 2003-04-21 18:13:52 +00:00
rmaddy
8d3e737320 Added confirm dialog use 2003-04-21 15:57:46 +00:00
rmaddy
e4386f52f7 Lots of little fixes to avoid errors running commands on empty files 2003-04-21 05:13:39 +00:00
rmaddy
8951615f2b Added i_Ctrl-U, F1, g&, &, @: 2003-04-20 19:31:50 +00:00
rmaddy
ea6b3808db Added support for FLAG_EXPECT_MORE and now run all actions through Application.runReadCommand or runWriteCommand 2003-04-20 19:29:20 +00:00
rmaddy
7d6890e734 Added new flag 2003-04-20 19:27:25 +00:00
rmaddy
1a2bfa1e0a Added count for ex command 2003-04-20 19:26:15 +00:00
rmaddy
47f316dde1 Removed unneeded call to end undo tx 2003-04-20 19:25:23 +00:00
rmaddy
1bde1b42a3 Added support for i_F1, i_Ctrl-U and i_0 Ctrl-D 2003-04-20 19:24:49 +00:00
rmaddy
2b15dad5c8 Added search group 2003-04-20 19:19:48 +00:00
rmaddy
39649db694 Added support to repeast Ex commands. 2003-04-20 19:19:02 +00:00
rmaddy
f85148b766 Added count so Ex command can be repeated. 2003-04-20 19:17:15 +00:00
rmaddy
aad2a65678 Added to support search and replace related commands 2003-04-20 19:16:20 +00:00
rmaddy
32de6d3983 Redone to support the :substitute, :&, and :~ commands and their variants 2003-04-20 19:15:41 +00:00
rmaddy
be33e488e5 Added some help methods 2003-04-20 19:14:49 +00:00
rmaddy
ac6251a267 Fixed range returned for % 2003-04-20 19:13:57 +00:00
rmaddy
81c93d9b2f Added for :promptrepl command 2003-04-20 19:10:33 +00:00
rmaddy
2f655724d2 Added for :promptfind command 2003-04-20 19:10:21 +00:00
rmaddy
9797c0b99f Added for @: command 2003-04-20 19:09:42 +00:00
rmaddy
312ea39815 Added for i_Ctrl-U command 2003-04-20 19:09:27 +00:00
rmaddy
2ea1160dc3 Added for F1 command 2003-04-20 19:09:08 +00:00
rmaddy
bb1121c230 Added for & command 2003-04-20 19:08:46 +00:00
rmaddy
a559f27a83 Added for g& command 2003-04-20 19:08:23 +00:00
rmaddy
bc08b3ef80 Lots of changes for 0.1.1 to fix Enter and Backspace for Ex commands 2003-04-18 20:45:35 +00:00
rmaddy
f5516d3335 Initial revision 2003-04-17 18:36:26 +00:00