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