1
0
mirror of https://github.com/chylex/IntelliJ-IdeaVim.git synced 2024-10-18 10:42:46 +02:00
Commit Graph

4848 Commits

Author SHA1 Message Date
Martin Yzeiri
8ab3664992 Matchit: Add CMake Patterns 2022-04-07 11:55:31 +03:00
Martin Yzeiri
03e6101747 Matchit: Add GNU Make Patterns 2022-04-07 11:55:31 +03:00
Martin Yzeiri
9f47995c10 Matchit: Add C patterns 2022-04-07 11:55:31 +03:00
Martin Yzeiri
d58f36ea1a Matchit: Enhance pattern creation
The new LanguagePatterns class lets us easily configure the patterns for
a language in a similar way to the original plugin. Most language
features can be configured by passing strings to the alternate
constructor. And the overloaded + operator makes combining patterns easy.

findMatchingPair() was refactored to work with the new class.

In addition, the concept of prefixes was removed. The cursor should jump
if it's anywhere inside or before an extended pair (excluding the
default pairs). Instead of appending a prefix to each regex, we simply
check in findMatchingPair() what the closest pair to the cursor is. The
original plugin behaves the same way.

We prefer matches containing the cursor over matches after the cursor.
If the cursor in inside multiple patterns, we pick the smaller one. And
a default pair after the cursor is preferred over any extended pairs
after the cursor.
2022-04-07 11:55:31 +03:00
Martin Yzeiri
442970a986 Matchit: Refactor parsePatternAtOffset()
The ending offset of the initial match isn't enough information for some
language features. For example, if the cursor is on "i" in the "else if"
of a Makefile, the previous implementation would jump to the "else" on a
reverse jump instead of treating "else if" as a single structure.

parsePatternAtOffset() needs to return both the match start and end for
us to correctly handle such a distinction.
2022-04-07 11:55:31 +03:00
Martin Yzeiri
fcc6c8a3c5 Matchit: Simplify findClosingPair() and findOpeningPair()
findClosingPair() always moves forward and findOpeningPair() always
moves backwards. That fact lets us simplify both implementations.

Using a stack of Pairs to track the match starts and ends is unnecessary 
since we know ahead of time whether the jump needs to go to the start or
end of the target pair.

findOpeningPair() can be further simplified since it doesn't need to
check the isInOpPending flag -- the distinction between operator pending
mode and regular jumps only matters when moving forward in the buffer.
2022-04-07 11:55:31 +03:00
Martin Yzeiri
1dbd4b4391 Matchit: Use setOf for sets 2022-04-07 11:55:31 +03:00
Alex Plate
4ecfb796d4
Move some classes of scroll package to vim-engine 2022-04-04 23:53:14 +03:00
Alex Plate
de9fa81da3
Move objects to vim-engine 2022-04-04 23:53:14 +03:00
Alex Plate
351e3b15ea
Move leftright package to vim-engine 2022-04-04 22:48:41 +03:00
Alex Plate
2b9b48ac2f
Split PutGroup into base class 2022-04-03 23:48:21 +03:00
Alex Plate
7c4ac5f561
Move toggle recording to vim-engine 2022-04-03 23:39:41 +03:00
Alex Plate
def09b0be8 Update formatting 2022-04-03 00:15:00 +00:00
Simon Rainer
dfc7aef07d Fix(VIM-2553): Substitute consecutive matches
We need to set newend after the content of match is final, otherwise we
can end up in an endless loop. This allows us to remove the
startoff != latestOff check that previously prevented this endless
loop and caused this bug.
2022-04-02 13:52:58 +06:00
Alex Plate
276ad276ec
Move few more classes to vim-engine 2022-03-30 18:44:38 +03:00
Alex Plate
83da2d304e
Move some actions to vim-engine 2022-03-30 18:36:32 +03:00
Alex Plate
6ddc40d080
Move folder actions to vim-engine 2022-03-30 13:52:27 +03:00
Alex Plate
42fb5487e5
Move gn package to vim-engine 2022-03-30 13:48:06 +03:00
Alex Plate
1ce35ac233
Move updown package to vim-engine 2022-03-30 13:20:40 +03:00
Alex Plate
2734202e12
Move visual package to vim-engine 2022-03-29 19:10:19 +03:00
Alex Plate
6a31fd2732
Move text package to vim-engine 2022-03-29 17:54:17 +03:00
Alex Plate
5d84aa6939
Move some actions to engine 2022-03-29 17:43:43 +03:00
Alex Plate
7173b7960d
Move MotionSentenceEndAction to vim-engine 2022-03-29 16:17:14 +03:00
Alex Plate
bb1c30d6c8
Move paragraph action to vim-engine 2022-03-29 15:01:11 +03:00
Alex Plate
d70abf6e27
Move an action to a different module 2022-03-29 14:48:43 +03:00
Alex Plate
8931fdf82a
Fix incorrect tests 2022-03-29 12:45:17 +03:00
Alex Plate
25ba72e46b
Reformat code 2022-03-29 12:25:37 +03:00
Alex Plate
4b49bb4737
Fix ]] and ][ commands
Discussion: 486
2022-03-29 12:12:48 +03:00
Alex Plate
c4254dc6dd
Refactor history group 2022-03-29 11:08:21 +03:00
Alex Plate
d73cb274b4
Refactoring of some methods 2022-03-28 18:06:05 +03:00
Alex Plate
6cb6afe032
Fix(VIM-2590): Fix caret shape in PyCharm 2022-03-28 17:01:49 +03:00
Alex Plate
3686f0eb24
Update some usages 2022-03-28 16:10:58 +03:00
Alex Plate
6cc24fe99e
Convert VimActionHandler to using VimEditor 2022-03-28 16:10:58 +03:00
Alex Plate
3784f1957f
Some refactoring of change group 2022-03-28 16:09:25 +03:00
Alex Plate
69fd8d68af
Small refactoring of change group 2022-03-28 16:09:25 +03:00
Alex Plate
301d72c169
Refactor Direction class 2022-03-28 16:09:24 +03:00
Alex Plate
ca11974b12
Move all methods to the base class 2022-03-28 16:09:24 +03:00
Alex Plate
8917dbf4bb Update formatting 2022-03-27 00:15:32 +00:00
Alex Plate
56afa6d564
Move some methods of marks group to engine 2022-03-26 01:38:03 +03:00
Alex Plate
8ecac1a8cf
Start moving mark group to vim-engine 2022-03-26 01:05:05 +03:00
Alex Plate
f742e414e6
Extract vim mark constants into the separate file 2022-03-25 16:44:10 +03:00
Alex Plate
c97f5be3fa
Small refactoring of VimRegisterGroupBase.kt 2022-03-25 16:11:08 +03:00
Alex Plate
c4d35849fd
Move listener to base 2022-03-25 15:30:45 +03:00
Alex Plate
88c191bc61
Move some methods from RegisterGroup to clipboard 2022-03-24 18:07:13 +03:00
Alex Plate
a1e6318bce
Move register classes into the separate package 2022-03-24 17:42:03 +03:00
Alex Plate
3606f5ea14
Move a lot of methods to RegisterBase 2022-03-24 17:07:23 +03:00
Alex Plate
38c3b206e2
Move a method to RegisterGroupBase 2022-03-24 16:21:04 +03:00
Alex Plate
e69bf9760d
Move a method to RegisterGroupBase 2022-03-24 16:08:21 +03:00
Alex Plate
0b763e23cf
Move Register to vim-engine 2022-03-24 14:39:13 +03:00
Alex Plate
311cb0bada
Get rid of TransferableData 2022-03-24 14:25:40 +03:00
Alex Plate
a78782b73a
Extract VimClipboardManager 2022-03-24 14:17:10 +03:00
Alex Plate
54df803ee1
Move some code from register group to base class 2022-03-23 19:32:03 +03:00
Alex Plate
2819b782c9
Move isCloseKeyStroke to extension method 2022-03-23 19:00:37 +03:00
Alex Plate
38c12660b0
Update usages of vimLogger 2022-03-23 18:40:48 +03:00
Alex Plate
3917a8c5e3
Move KeyHandler to vim-engine 2022-03-22 19:20:17 +03:00
Alex Plate
17c642d5ed
Move some classes to vim-engine 2022-03-22 19:17:31 +03:00
Alex Plate
2d84e2d788
Move argument capturing to vim engine 2022-03-22 19:09:09 +03:00
Alex Plate
ca19d2bfd5
Move injector fully to vim-engine 2022-03-22 16:20:28 +03:00
Alex Plate
7290edd3ae
Move all members of injector to vim-engine 2022-03-22 15:47:34 +03:00
Alex Plate
8d4e9b8514
Move VimChangeGroup to vim-engine 2022-03-22 15:46:20 +03:00
Alex Plate
db87b51784
Move some base classes to vim-engine 2022-03-22 15:44:33 +03:00
Alex Plate
96dc9af1e3
Move NativeActionManager to injectorBasfe 2022-03-22 12:36:32 +03:00
Alex Plate
a453cb2582
Move DigraphSequence to vim-engine 2022-03-21 19:04:33 +03:00
Alex Plate
b0d53330bb
Move some classes to vim-engine 2022-03-21 19:04:33 +03:00
Alex Plate
99ebcacf31
Extract injector base for easier refactoring 2022-03-21 19:04:33 +03:00
Alex Plate
3ec90194d7
Move VimStringParser.kt to a different package 2022-03-21 19:04:33 +03:00
Alex Plate
d163837d8d
fix(VIM-2587): Use ctrl-6 as ctrl-^ 2022-03-21 17:31:39 +03:00
Alex Plate
81811530de
Extract StringParser from IJ API 2022-02-28 12:00:05 +03:00
Alex Plate
7276bc49a7
Move runWrite/Read actions to VimApplication 2022-02-28 12:00:05 +03:00
Alex Plate
90cff7e574
Unbind concrete actions from keyHandler 2022-02-28 12:00:05 +03:00
Alex Plate
c673550901
Initialize injector in VimPlugin 2022-02-28 12:00:05 +03:00
Alex Plate
5b360b6de2
Move ExException to vim-engine 2022-02-28 12:00:05 +03:00
Alex Plate
8e2783962f
Move OptionService to vim-engine 2022-02-28 12:00:04 +03:00
Alex Plate
866b319c5b
Move VimDataType to vim-engine 2022-02-28 12:00:04 +03:00
Alex Plate
6eb47567e8
Unbind VimDataType from Variable 2022-02-28 12:00:04 +03:00
Alex Plate
d27f87fbb8
Push down addOption 2022-02-28 12:00:03 +03:00
Alex Plate
b2a2299347
Move OptionListener to vim-engine 2022-02-28 11:59:36 +03:00
Alex Plate
905862ab9f
Move some classes to vim-engine 2022-02-28 11:58:44 +03:00
Alex Plate
5c307fd22c
Rename .java to .kt 2022-02-28 11:58:43 +03:00
Alex Plate
e92b69ad3f Update formatting 2022-02-27 00:16:40 +00:00
Thomas Schouten
4b2ed33cdd Implement UserDataHolder for EditorDataContext, so that handlers like AutoHardWrapHandler can store user data in the context delegate. 2022-02-24 10:38:33 +03:00
Alex Plate
5fa48fc7dd
Extract KeyMappingLayer and MappingInfoLayer 2022-02-22 18:45:38 +03:00
Alex Plate
e028c269b7
Move VimRegisterGroup to vim-engine 2022-02-22 18:11:05 +03:00
Alex Plate
9798c7aca2
Rename .java to .kt 2022-02-22 17:58:14 +03:00
Alex Plate
b5bca78ef4
Move register group to vim-engine 2022-02-22 17:12:15 +03:00
Alex Plate
1c619cfc74
Rename .java to .kt 2022-02-22 17:12:14 +03:00
Alex Plate
dc5832a44c
Convert TextObjectAction to new API 2022-02-22 16:40:57 +03:00
Alex Plate
8fd64afc90
Move CommandFlags to vim-engine 2022-02-22 15:45:04 +03:00
Alex Plate
1484f4e370
Use VimCaret api in MotionActionHandler 2022-02-22 15:44:05 +03:00
Alex Plate
32df1597c4
Move noneOfEnum to engine 2022-02-22 14:44:22 +03:00
Alex Plate
707b750ff1
Unbind VimSelection from IJ 2022-02-22 12:39:11 +03:00
Alex Plate
3388c8517b
Remove unused OptionService import 2022-02-22 12:39:11 +03:00
Alex Plate
60a8e0d5f5
Rename Scope to OptionsScope and move it to vim-engine 2022-02-22 12:39:10 +03:00
Alex Plate
5a757a58b5
Move OptionConstants.kt to vim-engine 2022-02-22 12:39:10 +03:00
Alex Plate
2e555b6eaa
Move CommandState.kt to injector 2022-02-22 12:39:10 +03:00
Alex Plate
c57277cc15
Move Nodes.kt to vim-engine 2022-02-22 12:39:09 +03:00
Alex Plate
bf035d42af
Add some methods to VimEditor 2022-02-22 12:39:09 +03:00
Alex Plate
8cb6f9b65f
Move MessageHelper to injector 2022-02-22 12:39:09 +03:00
Alex Plate
fcbc4a0688
Rename some methods in messages 2022-02-22 12:39:09 +03:00
Alex Plate
42bc15c8ea
Remove VimPlugin from DigraphSequence 2022-02-22 12:39:09 +03:00
Alex Plate
992231bcad
Use services in vim injector 2022-02-22 12:39:09 +03:00
Alex Plate
6d494c99e3
Use vimlogger and injector in MappingState 2022-02-22 12:39:08 +03:00
Alex Plate
a848f2175a
Move CurrentCommandState to vim-engine 2022-02-22 12:39:08 +03:00
Alex Plate
4e6a2f951b
Move MappingMode to vim-engine 2022-02-22 12:39:08 +03:00
Alex Plate
5a41bbe806
Update usage of toUpperCase 2022-02-22 12:39:08 +03:00
lippfi
066e6619af Fix ActionTracker rule 2022-02-21 18:53:00 +03:00
Alex Plate
f0dbabd20f
Update formatting 2022-02-21 11:56:52 +03:00
Alex Plate
35c0e33ec4
Upgrade API to kotlin 1.5 2022-02-21 11:56:26 +03:00
Alex Plate
a5715dac7d
Inline capitalize function 2022-02-21 11:56:26 +03:00
Alex Plate
cdb9af5ab6
Convert StringHelper to kotlin 2022-02-21 11:56:25 +03:00
Alex Plate
19c05c23f3
Rename .java to .kt 2022-02-21 11:56:25 +03:00
Alex Plate
12c744c1ba Update formatting 2022-02-20 00:15:01 +00:00
Alex Plate
604a6a5140
Convert DigraphSequence.kt to kotlin 2022-02-18 19:21:50 +03:00
Alex Plate
62aae7b7c4
Rename .java to .kt 2022-02-18 19:21:50 +03:00
Alex Plate
2ea899330c
Move DigraphResult.kt to vim-engine 2022-02-18 19:12:29 +03:00
Alex Plate
3574db020f
Convert DigraphResult.kt to kotlin 2022-02-18 19:10:19 +03:00
Alex Plate
b2ae2a38ec
Rename .java to .kt 2022-02-18 19:10:19 +03:00
Alex Plate
04ebb6077a
Move some classes to vim engine 2022-02-18 19:08:07 +03:00
Alex Plate
d5062944d0
Rename vim-engin folder to kotlin and change VimEditor package 2022-02-18 18:21:49 +03:00
Alex Plate
042e3388b0
Move VimEditor to vim-engine 2022-02-17 19:00:35 +03:00
Alex Plate
d4a1ffa9a9
Update package structure 2022-02-17 19:00:35 +03:00
Alex Plate
54927d0af7
Move VimLogger to vim-engine 2022-02-17 19:00:35 +03:00
Alex Plate
d26765e217
Create vim-engine module 2022-02-17 19:00:35 +03:00
Alex Plate
277b4e63c3
Introduce ActionInitiator 2022-02-17 19:00:34 +03:00
Alex Plate
848514405b
Remove usages of VimPlugin from keyHandler 2022-02-17 19:00:34 +03:00
Alex Plate
7b8fd0ee55
Extract vim messages into a separate service 2022-02-17 19:00:34 +03:00
Alex Plate
d373ebac58
Use optionService from injector 2022-02-17 19:00:34 +03:00
lippfi
370ccc5254 Hardcode extension names 2022-02-17 14:31:25 +03:00
lippfi
9272fc8cd7 Fix parseKeys 2022-02-17 14:24:57 +03:00
Alex Plate
118c12e7fe
Prepare to 1.10.0 release 2022-02-17 11:44:55 +03:00
Alex Plate
954e1a9099
Remove IJ api from MotionActionHandler 2022-02-16 18:28:38 +03:00
Alex Plate
5aeff6f914
Remove IJ api from EditorActionHandlerBase 2022-02-16 17:16:01 +03:00
Alex Plate
fb15049fbf
Include forEachCaret to VimEditor 2022-02-16 16:39:31 +03:00
Alex Plate
6f3a9c210e
Convert Argument to new API 2022-02-16 14:21:17 +03:00
Alex Plate
6fdd6d839e
Remove IJ API from CommandBuilder 2022-02-16 14:00:03 +03:00
Alex Plate
ac1101a410
Update wrapInsertedTextWithVisualMarks code 2022-02-16 12:53:40 +03:00
Alex Plate
2fd33e6ec2
Unbind command state from IJ api 2022-02-15 21:46:20 +03:00
Alex Plate
779c69a982
Abstract action executor 2022-02-15 21:46:20 +03:00
Alex Plate
3494286e66
Rename .java to .kt 2022-02-15 21:46:20 +03:00
Alex Plate
139b78d7f4
Add a protection from an accidental usage of equals in VimCaret and VimEditor 2022-02-15 21:46:19 +03:00
Alex Plate
daee2f615c
Remove IjVimEditor usages from KeyHandler 2022-02-15 21:46:19 +03:00
Alex Plate
710825ec28
Fix incorrect usage of template presentation 2022-02-15 21:46:19 +03:00
Alex Plate
478539911b
Update MappingInfo to use new api 2022-02-15 21:46:19 +03:00
Alex Plate
b21d984cf8
Switch from application service to singleton 2022-02-15 21:46:19 +03:00
Alex Plate
1a92cebf6b
Reformat KeyHandler 2022-02-15 21:46:18 +03:00
Alex Plate
fd3f939526
Remove few dependencies to IJ API 2022-02-15 21:46:18 +03:00
Alex Plate
7d28760fa1
Inline several methods into beforHandleKey 2022-02-15 21:46:18 +03:00
Alex Plate
4a0a1c95a9
Remove a few IJ classes from KeyHandler 2022-02-15 21:46:18 +03:00
Alex Plate
9da0c10141
Remove Ref from KeyHandler 2022-02-15 21:46:18 +03:00
Alex Plate
43b9ecdf3c
Get rid of Editor in KeyHandler.kt 2022-02-15 21:46:18 +03:00
Alex Plate
987952a2f2
Get rid of DataContext in KeyHandler.kt 2022-02-15 21:46:17 +03:00
Alex Plate
92f6ac57ad
Remove usages of flushDelayedKeyEvents
I'm not sure about this commit, but currently it seems like this method does nothing because of fixes in JBR

See 39265c4773de6a8e26e7ac376428687e1332dffe in IJ repository
2022-02-15 21:46:17 +03:00
Alex Plate
b4af51f3cc
Add vim implementation of logger 2022-02-15 21:46:17 +03:00
lippfi
4ba6e62ada Fix gv 2022-02-15 13:42:40 +03:00
lippfi
8f55551339 Mocked tests for tabmove 2022-02-14 13:11:58 +03:00
Alex Plate
f03d574e86 Update formatting 2022-02-13 00:12:41 +00:00
lippfi
cbb5fbe92e Add vimscript statistic 2022-02-11 14:54:34 +03:00
lippfi
6a376ad62c Add shortcut conflict statistic 2022-02-11 14:53:09 +03:00
lippfi
8e61853459 Add PluginState statistic 2022-02-11 14:51:44 +03:00
lippfi
b17bc1bb3e Add ActionTracker statistic 2022-02-11 14:48:15 +03:00
lippfi
1343c7603b Rename VimStatistic to OptionState 2022-02-11 14:46:18 +03:00
Alex Plate
5b5a4b1347
Fix tests 2022-02-11 11:26:12 +03:00
Alex Plate
62fb3f9c5a
Make IdeaVim compatible with 213+ only 2022-02-11 10:58:38 +03:00
Alex Plate
986378db42
Comment out two incompatipable tests 2022-02-11 10:21:58 +03:00
Alex Plate
ce99c26c03
Introduce ExecutionContext - abstract context holder 2022-02-10 18:03:40 +03:00
Alex Plate
3571595838
Use VimEditor in Local scope of options 2022-02-10 17:10:30 +03:00
Alex Plate
c0c450124f
Fix test 2022-02-10 17:07:39 +03:00
Alex Plate
aa62022218
Reorder functions 2022-02-10 16:26:36 +03:00
Alex Plate
71c27babfd
Update tests 2022-02-10 16:24:13 +03:00
Alex Plate
2ff93270d7
Konvert keyHandler to kotlin 2022-02-10 16:17:59 +03:00
Alex Plate
c07719dd3d
Rename KeyHandler.java to KeyHandler.kt 2022-02-10 16:17:41 +03:00
Alex Plate
6b7ef88418
Fix test 2022-02-10 16:07:11 +03:00
Alex Plate
ee9f12180d
Extract VimActionExecutor 2022-02-10 13:18:23 +03:00
Alex Plate
8df3bc57c5
Execute action execution to a separate class 2022-02-10 13:15:54 +03:00
Alex Plate
0aabb2971e
Support extension handlers with a callback
After the refactoring of AceJump, the current approach is not synchronous anymore.
So, it's needed to explicitly notify IdeaVim that the motion was finished and IdeaVim can continue the execution
2022-02-10 12:55:44 +03:00
Alex Plate
e8f1dff61c
Add some comments for handler injector 2022-02-09 11:46:04 +03:00
Alex Plate
e5460d7a31
Extract keyHandlerKeeper 2022-02-08 18:20:12 +03:00
Alex Plate
2bb44c414f
Refactoring for the new api 2022-02-08 14:20:35 +03:00
Alex Plate
ef7442c488
Create carets() method in VimEditor 2022-02-08 14:20:34 +03:00
Alex Plate
775bde62c8
VimEditor update 2022-02-08 14:20:34 +03:00
Alex Plate
c5a504bde3
Top level editor is hidden behind VimEditor 2022-02-08 14:20:34 +03:00
Alex Plate
f7f7e010c4
Update dic 2022-02-08 14:20:34 +03:00
Alex Pláte
684d192b4b Remove unnecessary code update 2022-02-08 14:13:49 +03:00
Matt Ellis
aed2d1159d fix(VIM-2470): Fix incorrect reset of cursor shape 2022-02-08 14:13:49 +03:00
lippfi
d2500df05e Better digraph support 2022-02-07 13:47:02 +03:00
lippfi
8922303a72 Fix paste 2022-02-07 13:45:11 +03:00
lippfi
cea4de03cd Add tabmove command 2022-02-07 13:44:56 +03:00
Alex Plate
9529c19b9b Update formatting 2022-01-30 00:11:14 +00:00
Alex Plate
b0f5c502d9
Inject VimEditor into keyHandler 2022-01-27 13:17:39 +03:00
Alex Plate
c3fc369bc4
[VIM-1028] Support global state
Not yet documented and enabled
2022-01-27 12:34:28 +03:00
lippfi
a5ef0d5edf Fix tab character for StringHelper.stringToKeys() 2022-01-26 21:37:10 +03:00
Alex Plate
26e9056f17
Fix multicaret test for o 2022-01-26 17:05:49 +03:00
Alex Plate
1553aa774b
Add docs to VimPlugin 2022-01-26 17:01:36 +03:00
Alex Plate
2ebdbc5ac4
Do not update carets in notebook command mode 2022-01-26 16:57:46 +03:00
Alex Plate
e3ca172101
Update changes in plugin.xml 2022-01-26 16:57:46 +03:00
lippfi
17d4ec6c29 Fix option listeners 2022-01-26 16:43:28 +03:00
lippfi
bec317615d Better map <expr> context 2022-01-26 16:42:44 +03:00
Alex Plate
d00fd767ff
Add some docs regarding plugin initialization 2022-01-26 11:20:03 +03:00
Alex Plate
557652c526
Use executeNonCancelableSection for macro execution 2022-01-25 14:44:21 +03:00
Alex Plate
e138541495
Enable experimental api by default 2022-01-25 11:06:10 +03:00
Alex Plate
2518be2704
Fix(VIM-2504): Fix esc with using python notebooks 2022-01-25 10:52:39 +03:00
Alex Plate
42ec2b9dce
Disable new api for o commands 2022-01-25 10:28:23 +03:00
Alex Plate
9484599bfd
Remove duplicating copyright 2022-01-25 09:42:38 +03:00
Lonre Wang
dbbcf3860a Update VimVisualTimer.kt 2022-01-24 12:57:37 +03:00
Lonre Wang
ae983be0a8 Update OptionsManager.kt 2022-01-24 12:57:37 +03:00
Lonre Wang
f8156fbbca Update NotificationService.kt 2022-01-24 12:57:37 +03:00
lippfi
1909547543 Make OptionConstants non-internal 2022-01-24 12:53:07 +03:00
lippfi
1a122337fe Replace deprecated option data classes with constants 2022-01-24 02:27:33 +03:00
lippfi
bcf2578da9 Replace hardcoded option names with string constants 2022-01-24 00:52:28 +03:00
lippfi
06cd41ba0e Make VimScriptGlobalEnvironment deprecated 2022-01-23 02:35:53 +03:00
lippfi
64ec421cfc Rename parent to vimContext 2022-01-23 02:28:35 +03:00
lippfi
86fcda5afc Fix beep in source command 2022-01-23 02:05:23 +03:00
lippfi
e799d40803 Fix built-in functions with global context 2022-01-23 02:00:26 +03:00
lippfi
c84325a37c Replace Executable with VimLContext 2022-01-23 01:53:07 +03:00
Piotr Mikulski
9b4825db77 String colors that aren't supported properly 2022-01-21 15:04:51 +03:00
Piotr Mikulski
6a4bb7395b Print stderr when running a command just like vim does 2022-01-21 15:04:51 +03:00
Alex Plate
c8463d9b3e
Update dependencies and reformat 2022-01-21 14:17:13 +03:00
Michael Schertenleib
05414276f2 Support custom element names in vim-surround 2022-01-21 14:05:27 +03:00
Alex Plate
bec73749c2
[VIM-2494] Add logs for registers reading/writing 2022-01-21 11:50:26 +03:00
Alex Plate
0d4f9891c3
Fix(VIM-2471): Fix incorrectness 2022-01-19 17:24:19 +03:00
Alex Plate
d4f4765ffd
Fix(VIM-2471): Multiple [{ and ]} actions 2022-01-19 16:25:45 +03:00
Alex Plate
8902c0839c
Write down the issues for o in new API 2022-01-19 09:56:17 +03:00
Alex Plate
66fc8034ba
Correct indent for o command when the caret is in the middle of the indent 2022-01-18 11:22:39 +03:00
Alex Plate
109cb58d68
Cleanup saved shortcut conflicts after tests 2022-01-18 11:15:15 +03:00
Alex Plate
a71916df84
Allow an accidental whitespace at the end of sethandler command 2022-01-18 10:06:53 +03:00
Alex Plate
5f10eb808e
Fix the O command on the line top 2022-01-17 10:22:25 +03:00
Alex Plate
6c1e7b0b60
Write tests for status string 2022-01-17 10:22:24 +03:00
Alex Plate
792c22a90a Update formatting 2022-01-16 00:12:11 +00:00
lippfi
eff2cd02f9 Add <C-char> support to VimL's double quoted strings 2022-01-15 12:40:34 +03:00
Alex Pláte
ce734906d4
Merge branch 'master' into feat/matchitHandlebars 2022-01-14 19:01:30 +03:00
Daniel Egger
4d9c606c79 Add Matchit support for Vue.js files 2022-01-14 18:56:00 +03:00
Alex Plate
2fb419253c
Setup sinceBuild for plugin verifier 2022-01-14 17:45:16 +03:00
Alex Plate
a0a009cb59
fix(VIM-2523): i command for the folder in the project tree 2022-01-14 15:45:29 +03:00
Alex Plate
ce2bb85e18
Fix test for non-experimental api 2022-01-14 15:23:48 +03:00
Alex Plate
7ff8ac76fa
Disable guarded tests for old api 2022-01-14 15:05:21 +03:00
Alex Plate
935c51c985
Support operations with python notebooks guarded blocks 2022-01-14 14:05:41 +03:00
Alex Plate
a8d0e698eb
New approach for folder processing in o command 2022-01-13 14:47:26 +03:00
Alex Plate
5b13ad6726
Allow guards creation in tests 2022-01-13 13:51:39 +03:00
Alex Plate
e88d0d1493
Corrections for o command 2022-01-13 12:28:33 +03:00
Alex Plate
898af47f89
o command with repeat 2022-01-13 11:14:11 +03:00
Alex Plate
84868c0fb5
Move O to new API 2022-01-13 09:59:22 +03:00
Alex Plate
8e2b7d2089
Fix repeating after o command with count 2022-01-13 09:54:41 +03:00
Alex Plate
f359ac49f3
Fix o command with folders 2022-01-13 09:18:19 +03:00
Alex Plate
37ce0925a5
Massive copyright data update 2022-01-13 08:59:49 +03:00
Alex Plate
23985aea7d
Move experimental api to the separate package 2022-01-13 08:57:09 +03:00
Alex Plate
3bd5ab970f
Use new api in o command 2022-01-13 08:52:37 +03:00
Kevin Suen
fbdcbdc626 Add matchit support for handlebars 2022-01-12 11:50:20 -08:00
Alex Plate
f197ee54d1
Fix cc with indenting 2022-01-12 19:38:29 +03:00
Alex Plate
efa0489f7b
Introduce Pointer 2022-01-12 07:02:20 +03:00
Alex Plate
66dd90a090
Update some docs for experimental API 2022-01-11 21:15:38 +03:00
Alex Plate
68cfb12746
Rename line pointers 2022-01-11 19:50:56 +03:00
Alex Plate
4ad14f3404
Add docs about offsets 2022-01-11 17:55:50 +03:00
Alex Plate
4bcf44570b
Use offsets in experimental api 2022-01-11 17:23:48 +03:00
lippfi
5f3a78e7ce Add register support to let command 2022-01-10 14:56:07 +03:00
lippfi
c7872ad841 Add an option way to track action ids 2022-01-10 13:05:28 +03:00
Alex Plate
9eeab756e4 Update formatting 2022-01-02 00:11:44 +00:00
Alex Plate
ef971a1236
Support indenting after cc 2021-12-29 15:49:45 +03:00
Alex Plate
5ec851a120
Remove useless method 2021-12-28 09:27:57 +03:00
Alex Plate
2a94ff2ef6
Review experimental api 2021-12-27 12:10:31 +03:00
Alex Plate
1738892500
Fix test for non-experimental mode 2021-12-27 12:10:31 +03:00
Alex Plate
765d876a51
Use delete via the experimental API 2021-12-27 12:10:30 +03:00
Alex Plate
a0c8e26b38 Update formatting 2021-12-26 00:12:11 +00:00
Alex Plate
4b4f4b3d8f
Add draft of experimental API 2021-12-23 22:49:23 +03:00
Alex Plate
63fe7a88eb
Pass keys via IDE in tests 2021-12-23 10:59:49 +03:00
Alex Plate
6a36599a29
Revert "Revert "Update formatting""
This reverts commit 27fb36a6c5.
2021-12-21 12:51:10 +03:00
Alex Plate
d11ab20617
Revert "Revert "Support new marks""
This reverts commit 932296af
2021-12-21 12:51:09 +03:00
Alex Plate
ff48a9dea2
Formatting 2021-12-21 11:57:08 +03:00
Alex Plate
0a1812ec8c
Release preparation 2021-12-21 11:36:53 +03:00
Alex Plate
113d4ac078
Rollback changes regarding esc in normal mode 2021-12-21 11:36:53 +03:00
Alex Plate
932296afb6
Revert "Support new marks"
This reverts commit 134c68c705.
2021-12-21 11:36:53 +03:00
Alex Plate
27fb36a6c5
Revert "Update formatting"
This reverts commit 4e37ccfff8.
2021-12-21 11:36:52 +03:00
Alex Plate
f5e0f21869 Update formatting 2021-12-19 00:11:15 +00:00
lippfi
180c35d5c2 Fix toggle for set command 2021-12-16 18:15:32 +03:00
Alex Plate
1299f107dd
fix(VIM-2502): Fix the shape of new carets 2021-12-15 10:44:08 +03:00
Alex Plate
1af0b00892
Get rid of replace character submode 2021-12-14 12:42:55 +03:00
Alex Plate
36f7219964
Get rid of register pending submode 2021-12-14 12:08:41 +03:00
Alex Plate
529ad853ee
Get rid of SINGLE_COMMAND submode and replace it with a regular mode 2021-12-14 04:18:55 +03:00
Alex Plate
4e37ccfff8 Update formatting 2021-12-12 00:13:09 +00:00
Alex Plate
134c68c705
Support new marks 2021-12-10 11:31:57 +03:00
Alex Plate
6e82008ffa
Prepare to 1.9.0 release 2021-12-10 09:51:30 +03:00
Alex Plate
016bcc00d8
New jupyter notebook fixes 2021-12-09 11:23:58 +03:00
Alex Plate
936e7508e3
Ignore test for the moment 2021-12-09 10:20:23 +03:00
lippfi
51ba63faae Fixed parent for execute and substitute command 2021-12-04 22:21:36 +03:00
lippfi
f4f1e397cb Better strings 2021-12-04 21:47:27 +03:00
Alex Plate
721117ce1b
Handle esc in all cases except normal mode 2021-12-02 22:55:17 +03:00
Alex Plate
3dbdbefc58
Update changes 2021-11-30 10:56:10 +03:00
lippfi
4d5024f8b8 Fix test 2021-11-29 19:45:44 +03:00
lippfi
ea8670702a Disable normal command 2021-11-29 19:23:55 +03:00
Alex Plate
b8828f48c9 Update formatting 2021-11-28 00:11:06 +00:00
Alex Plate
b468fef242
Fix track action id stopping 2021-11-26 18:57:50 +03:00
lippfi
150a70e69f Removed deprecated EditorDataContext constructor call 2021-11-26 18:33:37 +03:00
Alex Plate
b9fb0f2bcd
Fix dot repeat with count 2021-11-26 17:46:32 +03:00
lippfi
d4a8b8e400 Optimise imports 2021-11-26 14:53:30 +03:00
lippfi
8009c9a5f9 Tests for substitute with expression 2021-11-26 14:34:46 +03:00
lippfi
177115e2fc Submatch function 2021-11-26 13:57:12 +03:00
lippfi
85bc12df59 Substitute with expressions 2021-11-26 13:33:36 +03:00
lippfi
1da818b0d5 Fix pattern in mappings 2021-11-25 10:45:16 +03:00
lippfi
c23d3f1442 Test for macro with count 2021-11-24 14:30:59 +03:00
lippfi
6500ce9154 Long running tests 2021-11-24 13:00:24 +03:00
Alex Plate
e29c268d0b
Extract progress strings 2021-11-23 17:22:36 +03:00
Alex Plate
2758e89a51
Draft of a potemkin progress during macro execution 2021-11-22 20:40:56 +03:00
lippfi
d0670d0244 Macro without invokeLater 2021-11-22 18:45:55 +03:00
Alex Plate
1e2005451c Update formatting 2021-11-21 00:10:37 +00:00
Alex Plate
29a95ca592
Fix missing import 2021-11-19 12:06:43 +03:00
Alex Plate
5bfff2a398
Prepare to the EAP 2021-11-19 11:55:42 +03:00
lippfi
4d26947208 Pre-EAP commit 2021-11-19 11:21:27 +03:00
lippfi
f1de741bd5 Fix to prevent infinite loops 2021-11-19 06:14:37 +03:00
lippfi
3394d93b43 Fix register 2021-11-19 05:51:32 +03:00
lippfi
02c64feff8 Fix let command 2021-11-19 04:36:22 +03:00
lippfi
f2ba162359 Fix parent in functions 2021-11-19 04:17:32 +03:00
Alex Plate
16c5d11ead
Refactor editor holder in ExTextField 2021-11-18 18:14:29 +03:00
lippfi
3e97c5d5fc Replace service() by ServiceManager.getService() 2021-11-18 14:28:56 +03:00
Alex Plate
cb5499f82f
Update plugin.xml 2021-11-18 14:26:26 +03:00
lippfi
a12793e67a Made CommandLineHelper a service 2021-11-18 13:42:48 +03:00
lippfi
affec9bb61 Fix macro with count 2021-11-18 13:21:04 +03:00
lippfi
fb62ec4c77 Fix float result in expression register 2021-11-18 12:32:24 +03:00
lippfi
cf5cc92258 Make source command to throw exceptions 2021-11-18 07:19:28 +03:00
lippfi
ca934fe514 Fix set command 2021-11-18 07:18:44 +03:00
lippfi
d6ca75006a Expression register 2021-11-18 06:52:00 +03:00
Alex Plate
0803b401e7
Update kotlin and gradle 2021-11-17 14:44:30 +03:00
lippfi
2c5442c044 Rename "delaymacro" to "ideadelaymacro" 2021-11-17 12:36:56 +03:00
Alex Plate
db4324c478
Use a different method for getting option values 2021-11-17 12:25:48 +03:00
lippfi
a8afca4ccf Normal command 2021-11-17 12:16:46 +03:00
Alex Plate
6849bab741
Add more options to the statistic 2021-11-17 12:15:24 +03:00
lippfi
ff72f24433 Normal command 2021-11-17 12:02:25 +03:00
lippfi
19ea1b204c Set default path to project for CmdFilterCommand 2021-11-17 12:02:25 +03:00
Alex Plate
a9e8dc7b9f
Fix compilation issues 2021-11-17 10:49:06 +03:00
Alex Plate
ee14eac009
Rewrite ctrl-^ to use a project service with saved last tab 2021-11-17 10:34:38 +03:00
Alex Plate
3c1bbd5a7f
Add few statistic items 2021-11-17 10:34:38 +03:00
lippfi
218cfaca44 Add contains method to OptionService 2021-11-17 04:59:17 +03:00
lippfi
8a78d76a20 OptionService.Scope as a sealed class 2021-11-17 04:39:31 +03:00
lippfi
1ead9f1443 Format 2021-11-16 13:49:38 +03:00
lippfi
c53dd48437 Fix adding options in VimExtensionRegistrar 2021-11-16 13:10:01 +03:00
lippfi
001a1d648c Fix merge 2021-11-16 12:41:27 +03:00
Alex Plate
6bbd162c72 Fix AceJump issues 2021-11-16 12:18:25 +03:00
Alex Plate
8fb8476994 Ignore bookmark test 2021-11-16 12:16:57 +03:00
Alex Plate
8d7a2faf1b Update copyright info 2021-11-16 12:16:57 +03:00
Alex Plate
df946f8525 fix(VIM-2026): Intellij uses a different initialization approach during settings reading 2021-11-16 12:16:55 +03:00
Alex Plate
58f8c315e6 Reformat code 2021-11-16 12:13:24 +03:00
lippfi
c6a379048e Changed object in VariableService to applicationService 2021-11-16 12:13:23 +03:00
Alex Plate
02dd52ccb9 Draft of statistic collector 2021-11-16 12:05:56 +03:00
Alex Plate
abb93af3fb Reformat files 2021-11-16 12:05:56 +03:00
lippfi
06b18b8fb9 Fix if statement 2021-11-16 12:05:56 +03:00
Alex Plate
5921f7f889 Remove redundant qualifier name 2021-11-16 12:03:51 +03:00
Alex Plate
e097880e95 Add an ability to enable matchit using packadd syntax 2021-11-16 12:03:48 +03:00
Alex Plate
99a0dc6c53 Get rid of PlatformUtils usages
This class should not be used and replaced with ide-specific configurations
2021-11-16 12:02:25 +03:00
eugene.nizienko
ef7e4a752d removing test fail 2021-11-16 12:00:10 +03:00
eugene.nizienko
f17a903555 test video recording 2021-11-16 12:00:10 +03:00
lippfi
191aba1f95 Add packadd rule to grammar 2021-11-16 12:00:10 +03:00
lippfi
e8d7a7f8bf Make OptionChangeListener an interface 2021-11-16 10:35:30 +03:00
lippfi
836c1084c4 Optimize MultikeyMap for options 2021-11-16 10:17:48 +03:00
lippfi
649bfdc220 Fix resetAllOptions 2021-11-16 10:11:10 +03:00
lippfi
8d6529ccf1 Better OptionChangeListener 2021-11-16 09:17:31 +03:00
lippfi
c936692403 Moved show* method from OptionService to SetCommand 2021-11-16 08:43:26 +03:00
lippfi
c3d3f2ab50 Fix SpecialKeyHandlers 2021-11-15 15:54:17 +03:00
Alex Plate
f289b19310
Correct usage of option service 2021-11-15 15:51:35 +03:00
lippfi
9866231129 Replace object with applicationService in OptionServiceImpl 2021-11-15 13:04:28 +03:00
lippfi
e0b5b54dda Add more methods to OptionService 2021-11-15 13:02:54 +03:00
lippfi
2687ecc02e Renamed methods 2021-11-15 12:45:01 +03:00
lippfi
3699920515 Add more methods to OptionService 2021-11-15 06:38:22 +03:00
lippfi
4481da75b7 OptionChangeListener 2021-11-15 06:32:04 +03:00
lippfi
037b636be9 Format 2021-11-14 01:20:30 +03:00
lippfi
12ded24cd4 Old and new options are compatible 2021-11-14 01:20:07 +03:00
lippfi
2b5c13e3da IdeaRefactorModeHelper 2021-11-13 23:32:37 +03:00
lippfi
043f07190c Replace older options with new ones 2021-11-13 23:21:24 +03:00
lippfi
dc0758274e Support adding options from plugins 2021-11-11 02:50:48 +03:00
lippfi
0d9aa85a6a Add missing options 2021-11-11 02:24:29 +03:00
lippfi
810440abe7 Better addListener method 2021-11-11 02:17:06 +03:00
lippfi
177aaebaf8 Add scope to optionExpression 2021-11-11 02:02:58 +03:00
lippfi
ba11c565d8 Mark old classes as deprecated 2021-11-11 01:58:43 +03:00
lippfi
5320d3a4fd Move GuiCursorOption subclasses to GuiCursorOptionHelper 2021-11-11 01:41:43 +03:00
lippfi
82f181b80b Temporarily returned OptionsManager to set command 2021-11-11 01:26:00 +03:00
lippfi
eb43fa7c4c Update listeners 2021-11-11 01:08:31 +03:00
lippfi
86c0357725 Better options support in let command 2021-11-11 01:01:02 +03:00
lippfi
844dac6106 set and setlocal commands 2021-11-11 01:00:02 +03:00
lippfi
0a923e98ab Made parseNumber method public 2021-11-11 00:54:45 +03:00
lippfi
a85a5bd055 Add helper classes for options 2021-11-11 00:54:13 +03:00
lippfi
ca51798445 Add OptionService 2021-11-11 00:49:42 +03:00
lippfi
73146ea643 Fix augroup 2021-11-11 00:40:06 +03:00
Alex Plate
f186f4aa5c
fix(VIM-2449): Use state to check if the selection is block (instead of multiple ranges) 2021-11-10 19:16:26 +03:00
Alex Plate
a4d89af418
Get back caret shape check disabling 2021-11-10 19:13:53 +03:00
Alex Plate
95837605b8
Remove unused argument 2021-11-10 18:56:00 +03:00
Alex Plate
adb71068e3
Add command for packadd 2021-11-10 18:08:58 +03:00
Matt Ellis
296b714282 fix(VIM-2462): reset caret when disabling plugin 2021-11-09 19:35:19 +03:00
Alex Plate
a8098c2c4c
fix(VIM-2461): Show action id before action execution 2021-11-08 13:19:31 +03:00
Alex Plate
1eb91889d4
Fix EA-402385
https://web.ea.pages.jetbrains.team/#/issue/402385
2021-11-08 11:45:28 +03:00
Alex Plate
5d7e0a1260
Add a note to the documentation 2021-11-08 11:06:44 +03:00
Matt Ellis
8344207608 fix(VIM-2432): handle scrolloff with <C-D> and <C-U> 2021-11-08 11:03:58 +03:00
Alex Plate
cc45168e25 Update formatting 2021-11-07 00:10:26 +00:00
Alex Plate
81c898dd9e
[VIM-2456] Refactor command execution in a way that environment information is collected before running the command.
This also fixes VIM-2397
2021-11-04 13:26:56 +03:00
Alex Plate
87aa50c7be
Reformat file 2021-11-04 13:26:45 +03:00
lippfi
bb4b3dfe61 Fix augroup 2021-11-03 17:31:59 +03:00
lippfi
55aaa6e2c6 Fix split command 2021-11-03 16:30:55 +03:00
lippfi
1fc866eeee Add 'se' abbrev to set command 2021-11-03 16:30:55 +03:00
Alex Plate
6db42dc736
[VIM-2199] Fix autocompletion for AppCode 2021-11-01 11:42:20 +03:00
Alex Plate
c1d86a4238
Fix AppCode template detection 2021-11-01 11:34:20 +03:00
Alex Plate
ec761dbe3d
[VIM-2332] Make IdeaVim depending on com.intellij.modules.platform module
This should make IdeaVim compatible with CWM
2021-11-01 10:03:59 +03:00
Alex Plate
1328a314de
Add exception for strange EA
https://web.ea.pages.jetbrains.team/#/issue/266279
2021-11-01 10:03:59 +03:00
lippfi
06b0a1292f Fix spaces between range units 2021-10-29 15:51:31 +03:00
Alex Plate
11a16a54fc
Show the reload action if the IJ starts with the .ideavimrc file 2021-10-29 11:32:20 +03:00
637ae21089 [VIM-2255] Missing reload icon in .ideavimrc on Windows 2021-10-29 10:09:48 +03:00
lippfi
8fe1b0891b Fix ! command 2021-10-27 13:42:46 +03:00
Alex Plate
c437a18288
Prepare for 1.8.0 release 2021-10-27 10:26:21 +03:00
lippfi
84ea9266c2 Commands do not require space before argument anymore 2021-10-26 16:24:03 +03:00
lippfi
54abaebe17 Deleted rangesCount from Ranges.kt 2021-10-26 15:11:18 +03:00
lippfi
a16c860ba8 Better marks support in commands 2021-10-26 15:06:03 +03:00
lippfi
b1b7e3439f Underscores in substitute command 2021-10-26 12:49:04 +03:00
Alex Plate
1df75fe25c
Fix selection with vim exchange
VIM-2359
https://github.com/JetBrains/ideavim/discussions/388
2021-10-26 11:16:02 +03:00
lippfi
0da18b81b6 Variable locking 2021-10-20 13:22:08 +03:00
lippfi
fc81c6329b Better ambiguous parsing with .
Added originalString field to Expression
2021-10-20 11:53:33 +03:00
Alex Plate
3d92b989ce
Disable disposed check in order to find the stack trace of disposed project 2021-10-19 22:53:18 +03:00
Alex Plate
b942e8a950
Do not use Disposer.isDiposed 2021-10-19 22:53:17 +03:00
lippfi
29131b4644 Fixed operator precedence 2021-10-19 20:52:23 +03:00
lippfi
b897b118ca Added scope to for loop variable 2021-10-19 17:43:00 +03:00
lippfi
145af2b6ee Refactoring 2021-10-19 17:40:57 +03:00
lippfi
09a38a854c Comments are back 2021-10-19 17:28:14 +03:00
lippfi
995779a294 Better let command (list and dictionaries are passed by reference) 2021-10-19 14:32:16 +03:00
lippfi
67f38fc646 Fixed parents for Executable 2021-10-19 14:32:16 +03:00
lippfi
316f1fa925 added deepcopy() method to VimDataType 2021-10-19 14:32:16 +03:00
Alex Plate
21f5ad6c0a
Lock selection suppressor only on selection starting 2021-10-19 09:51:53 +03:00
Alex Plate
6e6e52f316
Remove deprecated modifications 2021-10-18 09:55:32 +03:00
lippfi
71c19b3ef2 Added nerdtree abbrev to NERDTree option
(https://github.com/JetBrains/ideavim/discussions/378)
2021-10-15 14:18:43 +03:00
lippfi
0befc6385d Added more constructors to SimpleExpression class 2021-10-15 12:18:50 +03:00
lippfi
22371b4b07 Merge remote-tracking branch 'origin/master' 2021-10-15 12:03:49 +03:00
lippfi
913d711b80 Curly braces names 2021-10-15 12:03:30 +03:00
lippfi
d17d12c805 Removed Variable class from plugins 2021-10-15 11:57:45 +03:00
lippfi
4d64109e2c Scope as function argument 2021-10-14 12:08:33 +03:00
Alex Plate
d66d807cff
Reset skip events on click 2021-10-14 11:39:10 +03:00
lippfi
e7a68f06b3 Override toString() method for Scope class 2021-10-14 10:46:34 +03:00
lippfi
fd49e86e17 Finish statement 2021-10-14 08:56:10 +03:00
lippfi
337621ca4a For loops with list 2021-10-14 08:54:52 +03:00
lippfi
0e38a4e4f0 Formatting 2021-10-14 07:47:49 +03:00
Alex Plate
c19a160c9c
Update notifications 2021-10-13 11:37:02 +03:00
Alex Plate
c390e06e63
Use Path 2021-10-13 11:31:07 +03:00
Alex Plate
00d6a948d0
Update extension point listener 2021-10-13 11:12:47 +03:00
Alex Plate
6f1c2a1a81
Convert lookup listener to TOPIC subscription 2021-10-13 11:02:34 +03:00
Alex Plate
47ba907eb7
Update changenotes 2021-10-12 16:41:25 +03:00
Alex Plate
328c4288c2
Fix since version in plugin.xml 2021-10-12 15:40:22 +03:00
Alex Plate
b7c11ff852
Update minimal IJ version to 203+ 2021-10-12 15:26:35 +03:00
Alex Plate
182424ba05
And more tests compatibility changes 2021-10-12 14:58:40 +03:00
Alex Plate
bf86cd2a51
Keep compatibility in tests 2021-10-12 14:34:29 +03:00
Alex Plate
2085e9cafd
Make IJ compatible with older versions of ij (212<) 2021-10-12 13:26:22 +03:00
lippfi
898e5f8bda Standard project layout 2021-10-11 01:29:18 +03:00
lippfi
a34d56b7df Fixed default values in functions 2021-10-11 00:05:09 +03:00
lippfi
13feaa7581 IdeaVim ignore comment's great return 2021-10-10 22:13:23 +03:00
lippfi
14df9ea705 Fix matches operator 2021-10-10 21:48:34 +03:00
lippfi
6bd2bb884a Faster parsing 2021-10-10 19:16:01 +03:00
lippfi
89cdaa611a VIM-2425 ExecuteCommand is a data class 2021-10-10 03:10:38 +03:00
lippfi
cc476a26b4 has() function 2021-10-08 19:13:49 +03:00
lippfi
14d132638d ideaVim ignore comment no longer exists 2021-10-08 04:18:22 +03:00
lippfi
9e62636059 Optional function arguments 2021-10-08 04:13:24 +03:00
lippfi
a3b2b4920a Comments are skipped during parsing 2021-10-08 00:05:54 +03:00
lippfi
e7f128ee59 Anonymous functions 2021-10-08 00:04:54 +03:00
lippfi
e1069c265e Fixed literal dictionary key pattern 2021-10-08 00:03:05 +03:00
lippfi
e0b356c12d Dictionary functions 2021-10-08 00:02:36 +03:00
lippfi
769d900383 Formatting 2021-10-07 23:54:31 +03:00
lippfi
8d99100601 Redundant arguments in lambda functions are ignored 2021-10-07 23:44:15 +03:00
Alex Plate
1742541b03
Add note about version update 2021-10-07 22:03:49 +03:00
Alex Plate
559879301d
Add traces to suppressor locks and unlocks 2021-10-07 10:21:30 +03:00
Martin Yzeiri
c524c92062 Emulate matchit.vim 2021-10-07 10:21:19 +03:00
Alex Plate
5df8ef98a1
Add more logging for selection change 2021-10-06 10:54:55 +03:00
lippfi
89aa6aecff Added self property to FunctionDeclarations 2021-10-05 13:25:18 +03:00
lippfi
970456e6b0 Added evaluateWithRange method to funcrefCalls 2021-10-05 13:25:18 +03:00
Alex Plate
ee743674c2
Merge branch 'master' into feature/guicursor
# Conflicts:
#	src/com/maddyhome/idea/vim/helper/MessageHelper.kt
#	src/com/maddyhome/idea/vim/option/OptionsManager.kt
2021-10-05 09:27:32 +03:00
lippfi
9f0ecd7f73 Better function calls and call command 2021-10-05 03:24:16 +03:00
lippfi
d01f582646 Dictionary function call 2021-10-05 02:51:24 +03:00
lippfi
cdc8f159f5 Read-only variables 2021-10-04 21:33:16 +03:00
lippfi
505aeff544 VIM-2417 fix bars in substitute command 2021-10-01 20:11:24 +03:00
lippfi
dbf0444110 funcref() function 2021-10-01 19:13:54 +03:00
lippfi
07d753f413 function() function 2021-10-01 17:16:37 +03:00
lippfi
f516e89a5f Better VimFuncref 2021-10-01 17:16:09 +03:00
lippfi
5f15bca561 Add name and scope fields to FunctionHandler 2021-10-01 17:14:06 +03:00
lippfi
97502a5bd5 Function as method call 2021-10-01 03:31:20 +03:00
lippfi
806184aa5d Lambda 2021-10-01 03:31:20 +03:00
lippfi
d93fb1fdfc Funcref 2021-10-01 03:31:20 +03:00
lippfi
9cf922ae80 FunctionStorage refactoring 2021-10-01 03:31:20 +03:00
lippfi
2070efc35a Changed Executable to interface 2021-10-01 03:31:20 +03:00
lippfi
1dc4dbf7af Optional function arguments 2021-10-01 03:31:20 +03:00
lippfi
c0f8fd8c6b call command 2021-10-01 03:31:20 +03:00
lippfi
95f89792d4 range function flag 2021-10-01 03:31:20 +03:00
lippfi
a299abf18f abort function flag 2021-10-01 03:31:20 +03:00
lippfi
0cc15390a4 Getting dictionary value by dict.key 2021-10-01 03:31:20 +03:00
lippfi
379b23b42d Update formatting 2021-10-01 03:31:20 +03:00
lippfi
160b1b240a Falsy operator 2021-10-01 03:31:20 +03:00
lippfi
bcee0a5964 Optimized imports 2021-10-01 03:31:20 +03:00
lippfi
804128c3d3 Deleted VimContext from Executable 2021-10-01 03:31:20 +03:00
lippfi
4e3ee024ac Deleted VimContext from commands 2021-10-01 03:31:20 +03:00
lippfi
c300fdbfb1 Added closure flag and fixed scopes 2021-10-01 03:31:20 +03:00
lippfi
840ff11335 Deleted VimContext from expressions 2021-10-01 03:31:20 +03:00
lippfi
8d76b51683 ".." as concatenation operator 2021-10-01 03:31:20 +03:00
lippfi
a78bb51831 Added function flags 2021-10-01 03:31:20 +03:00
lippfi
db19d0819e Added "lambda" and "function as method" rules to grammar 2021-10-01 03:31:20 +03:00
lippfi
72b76221f7 Added len() function 2021-10-01 03:31:20 +03:00
lippfi
9eb32034b7 Added 'ide' option 2021-10-01 03:31:20 +03:00
lippfi
24f88b5ffe Added 'exists' function (works only with options for now) 2021-10-01 03:31:20 +03:00
Alex Plate
446d5aeb15
Replace AbstractBundle with DynamicBundle 2021-09-30 10:35:22 +03:00
Alex Plate
c268407ce3
Merge branch 'master' into feature/guicursor
# Conflicts:
#	src/com/maddyhome/idea/vim/listener/VimListenerManager.kt
2021-09-29 12:32:32 +03:00
Alex Plate
cd435c5f41
Do not correct selection when the mouse is clicked 2021-09-29 12:30:47 +03:00
Alex Plate
74b0e3bded
Merge branch 'master' into feature/guicursor
# Conflicts:
#	src/com/maddyhome/idea/vim/listener/VimListenerManager.kt
2021-09-29 11:08:30 +03:00
Alex Plate
edc0a14ef1
Do not set selection locker on mouse press 2021-09-29 10:49:16 +03:00
Alex Plate
58008e6758
Improve vim selection suppressor 2021-09-28 11:51:43 +03:00
Matt Ellis
ae21727c12
Merge branch 'master' into feature/guicursor 2021-09-27 15:21:41 +01:00
lippfi
a480372d3d Added a colon after scope for variables in VimScriptGlobalEnvironment 2021-09-27 15:19:39 +03:00
lippfi
0bc298014d Fixed string rule 2021-09-27 14:31:39 +03:00
lippfi
63f85a8099 lua << END is skipped now 2021-09-26 19:10:38 +03:00
lippfi
cc16d5ba15 VIM-2411. Added tabs to INLINE_SEPARATOR. Much better comments 2021-09-24 09:47:25 +03:00
lippfi
fa3afe188e VIM-2409. Removed inline comment from SubstituteCommand's rule 2021-09-23 17:52:15 +03:00
lippfi
6df2db86c3 VIM-2406. Added patterns with omitted "/" or "?" at the end of the pattern to GoToLineCommand 2021-09-23 17:32:39 +03:00
lippfi
7791de490d Removed unnecessary spaces from grammar 2021-09-23 13:31:52 +03:00
lippfi
754a8c7250 global and vglobal commands with pipes 2021-09-22 16:23:23 +03:00
lippfi
88b0f31590 Emojis 2021-09-22 15:40:53 +03:00
lippfi
b17dbb37e4 Updated formatting 2021-09-22 15:31:55 +03:00
Alex Plate
8bf809a888
Improve mouse selection from the line end 2021-09-21 11:19:41 +03:00
lippfi
5b571362e3 VIM-2405. Fixed error message for v: scope. NotImplementedErrors are now also shown in status bar. 2021-09-20 21:21:48 +03:00
Alex Plate
85c8968d75
Fix multiple copy from unnamed clipboard 2021-09-20 12:18:45 +03:00
lippfi
0cda2241ed Deleted "lambda" and "function as method" rules 2021-09-20 00:11:10 +03:00
lippfi
9f7b6a281b Fixed comma at the end of a literal dictionary 2021-09-20 00:11:10 +03:00
lippfi
96bd5f8259 Fixed unnamed register 2021-09-20 00:11:10 +03:00
lippfi
62917c2a50 VIM-2401. ExException is shown for map <expr> 2021-09-20 00:11:10 +03:00
lippfi
10ea780cdc Better grammar 2021-09-20 00:11:10 +03:00
lippfi
19561bb1f1 Fixed comment rule 2021-09-20 00:11:10 +03:00
lippfi
8088789f51 Fixed augroup and autocmd 2021-09-20 00:11:10 +03:00
lippfi
5dec91caa3 Added lambdas and functions as methods to grammar 2021-09-20 00:11:10 +03:00
lippfi
0c28a9a79b More loyal grammar 2021-09-20 00:11:10 +03:00
Alex Plate
8c2b715f93 Update formatting 2021-09-19 00:09:17 +00:00
Alex Plate
1ca8b06d74
Fix(VIM-2387): Fix coping with unnamed and ideaput 2021-09-15 11:43:38 +03:00
Alex Plate
c5dfd43e48
fix(VIM-2392): Fix possible out of bounds exception 2021-09-10 09:54:06 +03:00
Alex Plate
879bc9bd98
Add some comments 2021-09-09 11:12:40 +03:00
Alex Plate
6186fa7e1b
fix(VIM-2368): Do not remove selection on right click 2021-09-08 11:50:28 +03:00
lippfi
fd1d6a98f1 Fixed sublist expression for lists 2021-08-17 15:10:16 +03:00
lippfi
43b5e7e644 Now all the exceptions are caught 2021-08-17 14:43:27 +03:00
lippfi
13ab68e5b1 Much better sublists 2021-08-17 14:30:32 +03:00
lippfi
165caab526 Fixed function scope (library functions do not modify vimContext anymore) 2021-08-17 14:03:43 +03:00
lippfi
187e5a752a Fixed operators precedence 2021-08-17 14:02:47 +03:00
lippfi
dc81568c45 Fixed less binary operator 2021-08-17 13:59:15 +03:00
lippfi
1190209409 We do not fix invalid commands or expressions anymore 2021-08-17 11:49:54 +03:00
Alex Plate
c7cc6b54bf
Support g:surround_no_mappings variable in vim-surround 2021-08-17 11:32:25 +03:00
lippfi
bddf07efee Added E15 exception to map <expr> 2021-08-17 01:09:39 +03:00
lippfi
c8a45cb085 Added 'map <expr>' 2021-08-17 00:59:51 +03:00
lippfi
f6720b3d37 Made ranges great again 2021-08-16 22:26:07 +03:00
lippfi
dc8f5e9b25 Fixed beep 2021-08-16 21:02:45 +03:00
lippfi
8a2d3e1aed "ideaVim ignore" comment 2021-08-16 20:22:24 +03:00
lippfi
afeaf4444b 'parseExpression' and 'parseCommand' can return null now 2021-08-16 19:55:30 +03:00
lippfi
f69a284b3f '\r' fix 2021-08-16 16:11:00 +03:00
lippfi
9f1bb44824 More loyal grammar with parametrized tests 2021-08-16 15:45:08 +03:00
lippfi
037a29551c Much safer parsing 2021-08-14 18:37:39 +03:00
lippfi
719b80baa1 Added function flags to grammar &
Added inline comment to let command &
Fixed parser (visitor is no longer called in scripts with errors)
2021-08-13 13:33:46 +03:00
lippfi
6fc362cae2 Removed @deprecated from VimScriptGlobalEnvironment 2021-08-12 16:59:09 +03:00
lippfi
408e51535d Script's lines with errors are now skipped by parser 2021-08-12 14:39:27 +03:00
lippfi
d4749f4eb8 Lua code in .vimrc is skipped during parsing 2021-08-12 14:39:27 +03:00
lippfi
88ef5a3467 More loyal to spaces and newlines grammar 2021-08-12 14:39:27 +03:00
lippfi
56466f889b Fixed map command names 2021-08-12 14:39:27 +03:00
lippfi
5ecfab65fa Added more command names 2021-08-12 14:39:27 +03:00
lippfi
98fc65ec43 Added comments to commands 2021-08-12 14:39:27 +03:00
lippfi
3e37e2cdc4 NotImplementedError and wrong ranges handling 2021-08-12 14:39:27 +03:00
lippfi
2efb08197f Parsing errors handling 2021-08-12 14:39:27 +03:00
lippfi
b73fc88313 One-line statements can be written in multiline way 2021-08-12 14:39:27 +03:00
lippfi
465db2cd22 Options support in let command 2021-08-12 14:39:27 +03:00
lippfi
73c1dc8118 Added 'execute' command 2021-08-12 14:39:27 +03:00
lippfi
509a202f93 Fixed commands that do not support inline comments 2021-08-12 14:39:27 +03:00
lippfi
09a9884b9f UnknownCommand class and cleanup 2021-08-12 14:39:27 +03:00
lippfi
6afc5aa98e Better executor 2021-08-12 14:39:27 +03:00
lippfi
9e497fb5e8 Nonnull editor & dataContext in function handlers 2021-08-12 14:39:27 +03:00
lippfi
16476256c3 Replaced handlers with commands 2021-08-12 14:39:27 +03:00
lippfi
623430359a Execute method accepts only nonnull editor and dataContext 2021-08-12 14:39:27 +03:00
Alex Plate
a44fe15fea
Update col and line functions 2021-08-04 13:47:39 +03:00
Alex Plate
12d1553f5a
Remove double copyright note 2021-08-04 12:58:17 +03:00
lippfi
503c2580d7 Fixed last command register for ExCommands 2021-08-04 11:44:43 +03:00
lippfi
8ab9509ceb Last command register fix 2021-08-04 09:49:06 +03:00
Alex Plate
1813ad400a
Support line and col functions 2021-08-03 20:22:59 +03:00
Alex Plate
a1b048a2f9
Add conversion from vimDataType to VimNumber 2021-08-03 19:59:15 +03:00
Alex Plate
cb43ad3488
Create a helper method to get vim line 2021-08-03 17:57:33 +03:00
Alex Plate
e8daf67276
Small refactoring of VimInt 2021-08-03 17:27:09 +03:00
Alex Plate
00ef191ad0
Define VimInt constants, add method to convert bool to VimInt 2021-08-03 17:24:16 +03:00
Alex Plate
e8d559f6d0
Support empty function 2021-08-03 17:15:13 +03:00
lippfi
82ed892166 Grammar refactoring 2021-08-03 11:54:49 +03:00
lippfi
7196d83833 Formatting 2021-07-31 12:37:08 +03:00
lippfi
2b7c311a2b Removed "originalString" property from commands 2021-07-31 11:31:01 +03:00
lippfi
7ef4e45945 Better exception handling 2021-07-30 18:57:02 +03:00
lippfi
46788cc6c6 Added vimScript package & antlr grammar 2021-07-30 17:33:29 +03:00
Matt Ellis
70a45f3dc8
Treat use block caret option as caret override 2021-07-29 21:20:28 +01:00
Matt Ellis
d63e3dadbc
Merge branch 'master' into feature/guicursor 2021-07-28 23:07:47 +01:00
Alex Plate
93109f1e19
Add additional logging for keys execution 2021-07-28 11:26:09 +03:00
Alex Plate
534fbe1a6b
Tests: reset repeat between tests 2021-07-26 19:07:46 +03:00
Alex Plate
19b51a4a69
Add docs for types of motion 2021-07-22 11:13:58 +03:00
Alex Plate
f64439dab9
Remove unused function 2021-07-01 22:24:39 +03:00
Alex Plate
5018b0e9ff
Change action place for IdeaVim actions 2021-07-01 19:52:20 +03:00
Alex Plate
81076d9c43
Several improvements 2021-07-01 19:30:37 +03:00
Alex Plate
df9d5bfe25
Fix GlobalHandlerTest 2021-07-01 18:13:01 +03:00
Alex Plate
afbfacb462
Format code 2021-07-01 17:36:28 +03:00
Michal Placek
408cd0e037 vim-2335 Support for navigation to previous buffer with :b# 2021-07-01 13:41:15 +03:00
Michal Placek
c15eccf49a vim-1062 -fixes 2021-07-01 13:31:27 +03:00
Michal Placek
ddb159eec8 vim-1062 2021-07-01 13:31:27 +03:00
Matt Ellis
91585e1059
Run linters 2021-06-30 21:41:59 +01:00
Matt Ellis
0d840b2c41
Merge branch 'master' into feature/guicursor 2021-06-30 18:39:03 +01:00
Matt Ellis
0288a0f2b5
Use insert caret for select mode 2021-06-30 17:26:44 +01:00
Matt Ellis
fe7dc4902b
Make ExShortcutKeyAction dumb aware 2021-06-30 17:17:55 +01:00
Matt Ellis
1caf380505
Improve caret painting in command line 2021-06-30 17:15:52 +01:00
Alex Plate
31e633f55e Update formatting 2021-06-30 07:42:22 +00:00
Alex Plate
e3aa3e24f5
Create a job for automatic formatting 2021-06-30 10:39:39 +03:00
Alex Plate
b7396fdf8c
Fix formatting 2021-06-30 10:31:27 +03:00
Alex Plate
e8f0e31a27
Correct caret for selecting from the end for 212+ versions of IJ 2021-06-30 10:29:51 +03:00
Matt Ellis
64be75142e
Use guicursor options to draw ex caret 2021-06-29 17:05:11 +01:00
Matt Ellis
f05123123c
Use guicursor instead of editor cursor settings
This changes VIM-1475 and ignores IntelliJ's "use block cursor" setting in favour of guicursor. Also affects caret placement around inlays and handling of template hotspots via idearefactormode
2021-06-29 00:21:19 +01:00
Matt Ellis
2f73dac57a
Force the caret visible when updating attributes
Changing EditorSettings.setBlockCursor does this via EditorImpl.updateCaretCursor
2021-06-28 23:48:27 +01:00
Matt Ellis
a6087dd08f
Use replace mode caret for change character action 2021-06-28 23:42:36 +01:00
Matt Ellis
ad19dc0100
Use guicursor options to draw caret 2021-06-28 23:09:21 +01:00
Matt Ellis
d19c776ec3
Minor refactor 2021-06-28 23:08:29 +01:00
Matt Ellis
ccd792bf62
Provide hook for resetting cached values 2021-06-28 23:08:22 +01:00
Matt Ellis
9cf0a1ac26
Report errors while parsing guicursor option 2021-06-28 23:06:49 +01:00
Matt Ellis
43620c280d
Add guicursor option 2021-06-28 23:04:58 +01:00
Alex Plate
98ffb3bf9e
[VIM-1672] IdeaVim correctly populates clipboard history 2021-06-28 11:48:09 +03:00
Alex Plate
4cc4fb4d3c
[VIM-1192] Fix dollar motion from single-command 2021-06-28 09:21:32 +03:00
Alex Plate
16d9a3ba8b
Join till character motions into the single file 2021-06-28 08:19:27 +03:00
Alex Plate
a01fc5d72c
Remove useless condition 2021-06-28 07:24:30 +03:00
Alex Plate
f4e777b8df
[VIM-2336] Fix repeat for 'T' movement 2021-06-28 07:24:15 +03:00
Alex Plate
232dd34717
[VIM-2317] Fix memory leak 2021-06-24 10:38:15 +03:00
Matt Ellis
982d6921cb Fix formatting 2021-06-24 10:13:36 +03:00
Matt Ellis
bb28b76a5b Support % as shortcut for file name in filter 2021-06-24 10:13:36 +03:00
Matt Ellis
67fed0da9e [VIM-1566] Use OS shell to execute filter command 2021-06-24 10:13:36 +03:00
Matt Ellis
e3cf50b4c9 [VIM-1357] Invoke shell filter commands with proper path and argument handling
Also moves the filter command out of a write action, and under a cancellable modal progress dialog. Any errors are substituted into the text, as per Vim.

Fixes #VIM-1357
2021-06-24 10:13:36 +03:00
Matt Ellis
9f46e1960e
Fix typo 2021-06-10 13:51:43 +01:00
Matt Ellis
e93a619859
Make ListOption generic + create StringListOption 2021-06-10 13:51:23 +01:00
Matt Ellis
287ba7055e
Simplify BoundedListOption 2021-06-10 11:29:20 +01:00
Matt Ellis
dfbec1f23a
Rename "bound" options to "bounded" 2021-06-10 11:18:57 +01:00
Matt Ellis
55dedb4c4d
Remove resetShape method
We should avoid setting the shape explicitly, and let it update when the mode changes.

Note that shape can affect the visual position of the caret around inlays (e.g. 'a' at the end of a rename hotspot with a trailing inlay for options will remain in between the text and the inlay, while 'l' in command mode will move after the inlay. Both positions are at the same text offset). We should still avoid explicitly setting shape before moving the caret. We can't guarantee the order of changing mode and moving the caret, so we update the visual position at the current offset when changing mode. (We're also currently using mode as an assumption of shape)
2021-06-10 11:05:41 +01:00
Matt Ellis
9c71b444c6
Update caret visual attributes when mode changes
Removes updateCaretState and unnecessary usages
2021-06-05 01:04:01 +01:00
Matt Ellis
e859b1c131
Remove resetCaret 2021-06-05 00:33:04 +01:00
Matt Ellis
6c4bd9cc10
Refactor caret shape functions 2021-06-05 00:21:58 +01:00
Matt Ellis
b50281f8d5
Extract caret shape methods to helper 2021-06-05 00:14:10 +01:00
Matt Ellis
2be0f5cedb
Reset caret visual position after mode changes
Fixes an issue where the caret was incorrectly positioned because it was moved before the mode was changed. This wasn't visible in 211 because a couple of bugs in the platform combined to put the caret in the right place.

See #280, IDEA-262153 and KTIJ-3768
2021-06-04 17:05:03 +01:00
Matt Ellis
646a89d52a
Refactor showMode update 2021-06-04 16:45:07 +01:00
Alex Plate
b5b6c8f37a
fix(sethandler): Correct presentation on settings page 2021-06-03 10:44:23 +03:00
Alex Plate
067aaa798d
setHandler: fix parsing of a mapping 2021-06-03 10:12:38 +03:00
Alex Plate
c85d7dcd7a
Do not save the executed command to history 2021-06-02 10:54:11 +03:00
Alex Plate
c1b1f1efd8
Add tests for nested global commands 2021-06-02 10:31:49 +03:00
Alex Plate
06fc25cf3b
Remove TODO 2021-06-01 16:31:40 +03:00
Alex Plate
91139005dc
Suppress some deprecated methods 2021-05-29 11:21:05 +03:00
Alex Plate
08f29bacfd
feat: Support :print command 2021-05-28 11:51:54 +03:00
Alex Plate
5a6803551b
Fix typo 2021-05-28 10:29:34 +03:00
Alex Plate
e1f0098164
Add custom inspection to use vimRunForEachCaret 2021-05-27 22:33:05 +03:00
Alex Plate
14428aaf49
Formatting 2021-05-27 22:01:49 +03:00
Alex Plate
f9ebfcc467
Use RangeMarker for marking lines 2021-05-27 12:50:48 +03:00
Alex Plate
07446309d3
Finish command even after an exception 2021-05-27 12:50:48 +03:00
Alex Plate
d2de23481a
Add clarification what is weird 2021-05-27 12:50:47 +03:00
Alex Plate
d8ead10c0f
Add gotInt variable 2021-05-27 12:50:47 +03:00
Alex Plate
6a38188602
Add tests for incorrect :g command 2021-05-27 12:50:47 +03:00
Alex Plate
13884e9524
Add error message about failed search command 2021-05-27 12:50:47 +03:00
Alex Plate
1ff629e257
Add tests for global command 2021-05-27 12:50:47 +03:00
Alex Plate
67649a1746
Extract search_regcomp function 2021-05-27 12:50:47 +03:00
Alex Plate
3a2f370c8c
Show message on missing pattern in global command 2021-05-27 12:50:46 +03:00
Alex Plate
7850508cfe
Add global busy 2021-05-27 12:50:46 +03:00
Alex Plate
e55fbe9159
Fix formatting 2021-05-26 13:47:32 +03:00
Alex Plate
8a3af47b35
Support vglobal and global! 2021-05-26 11:58:03 +03:00
Alex Plate
11dc8cf982
Execute global command 2021-05-26 10:58:27 +03:00
Alex Plate
661a6563b0
Start implementing global handler to support :g command 2021-05-25 22:38:30 +03:00
Alex Pláte
5a855659b0
Merge pull request #308 from citizenmatt/VIM-2308
Fix unnecessary caret movement when switching tabs
2021-05-24 11:03:08 +03:00
Alex Pláte
86296e4066
Merge pull request #261 from sharat87/extension/textobjindent
New extension: Indentation based text objects
2021-05-24 10:35:21 +03:00
Alex Plate
79cb90e642
Reformat update checker 2021-05-17 18:17:46 +03:00
Matt Ellis
0bde71d4dd
Merge branch 'master' into VIM-2308 2021-05-14 11:51:25 +01:00
Alex Plate
aa51dcddc6
Rename updateChecker 2021-05-14 12:16:53 +03:00
Alex Plate
8ca865e5aa
Remove redundant SAM constructors 2021-05-14 10:52:32 +03:00
Alex Plate
018e5cba83
Enable copy action only if there are things to copy 2021-05-14 09:41:55 +03:00
Alex Plate
df52f37b69
Add reset handlers action for configurable table 2021-05-14 09:27:54 +03:00
Alex Plate
bb5632c98d
Update ktlint and detekt formatting 2021-05-13 19:36:33 +03:00
Alex Plate
879a73494b
Run formatters 2021-05-13 19:34:13 +03:00
Alex Plate
edf6a04a36
Run ktlint 2021-05-13 13:55:31 +03:00
Alex Plate
b0bfd0f56e
Updates for qodana 2021-05-13 11:59:52 +03:00
Alex Plate
4312aceae7
Do not save per-mode info 2021-05-13 11:05:24 +03:00
Alex Plate
a646a59d8d
Move toolbar to the right 2021-05-13 10:51:48 +03:00
Matt Ellis
7300d252f8
Rename go to tab actions 2021-05-13 01:18:31 +01:00
Matt Ellis
9b73cc16e6
Move tab actions out of motion package 2021-05-13 01:12:24 +01:00
Matt Ellis
b7da57d6d1
[VIM-2308] Fix caret and scroll position after gt 2021-05-13 00:05:06 +01:00
Alex Plate
383e1d5245
Keep compatibility with easymotion plugin 2021-05-12 11:51:33 +03:00
Alex Plate
4fdd9b4710
Fix issue with global sethandler 2021-05-12 10:56:49 +03:00
Alex Plate
43eba0aa1d
Update help link 2021-05-12 09:49:48 +03:00
Alex Plate
ad6b5719d2
Update copy action description 2021-05-12 09:45:20 +03:00
Alex Plate
5d344e3193
Rename setkeydev to sethandler 2021-05-12 09:45:19 +03:00
Alex Plate
0cd86282d2
Use setHtmlText for label 2021-05-12 09:45:19 +03:00
Alex Plate
85aae4d408
Fix issues with Track action IDs notification 2021-05-11 10:54:20 +03:00
Shrikant Sharat Kandula
92b0a3abb2 Merge branch 'master' into extension/textobjindent
# Conflicts:
#	resources/META-INF/includes/VimExtensions.xml
2021-05-09 18:56:34 +05:30
Shrikant Sharat Kandula
444a48f2a1 More tests and fixes 2021-05-09 18:53:50 +05:30
Shrikant Sharat Kandula
039b44b07a Added more tests and fixes for the tests 2021-05-09 18:35:53 +05:30
Shrikant Sharat Kandula
d7ed33c351 Add test for basic tiny buffer, and fix it 2021-05-08 21:35:47 +05:30
Alex Plate
2139e31754
Add help lines for the table 2021-05-04 14:51:19 +03:00
Alex Plate
3752d35229
Trigger readonly handler when perform editing operations 2021-04-30 16:08:04 +03:00
Alex Plate
5d3ec771c4
Adding ideavim.dic file where IdeaVim-specific words can be defined 2021-04-30 13:48:21 +03:00
Alex Plate
6785d17ab3
Remove warning 2021-04-29 23:02:39 +03:00
Alex Plate
99a0415235
Do not expire the notification after help link pressing 2021-04-29 22:56:08 +03:00
Alex Plate
0fe3f50d93
Make helper text gray 2021-04-29 11:01:35 +03:00
Alex Plate
06647a4cf6
[VIM-2295] Fix s-space in insert mode with an existing mapping 2021-04-29 10:12:16 +03:00
Alex Plate
a5e1a8116f
Add copy action for conflicts table 2021-04-28 11:53:37 +03:00
Alex Plate
038f0a5135
Sort key owners modes 2021-04-28 10:17:42 +03:00
Alex Plate
e7d4dde9d9
Helper text with an example 2021-04-28 10:17:23 +03:00
michal
96dbbcff3e VIM-1476 Store last inserted text in ". register 2021-04-28 10:15:14 +03:00
Alex Plate
1479742fe8
Add helper message for the shortcut conflicts table 2021-04-27 11:58:11 +03:00
Alex Plate
2f99cf81fc
Use default renderer for per-mode shortcut owners 2021-04-26 12:05:56 +03:00
Alex Plate
0aa5450dc6
Expire the notification after pressing the action 2021-04-26 11:01:57 +03:00
Alex Plate
5cdca0b7c1
Change wording for undefined shortcut notification 2021-04-25 19:57:02 +03:00
Alex Plate
58ed857724
Use correct check mark for EAP 2021-04-25 19:34:25 +03:00
Alex Plate
66536a59a9
Add an .ideavimrc file template 2021-04-25 15:52:45 +03:00
Alex Plate
35ab292c9f
Show "create ~/.ideavimrc" if this file is missing 2021-04-25 15:22:22 +03:00
Alex Plate
6ce9330d3b
Rename EAP to Early Access Program 2021-04-25 14:55:07 +03:00
Alex Plate
c251ee2d22
Update shortcuts conflict notification 2021-04-25 00:52:43 +03:00
Alex Plate
fd5c6d0024
Show full settings dialog instead of only part of it 2021-04-25 00:25:01 +03:00
Alex Plate
3d5a962332
Disable editing for PerMode keyowner 2021-04-25 00:14:46 +03:00
Alex Plate
f096b290a7
Parsing of setkey command 2021-04-24 23:44:10 +03:00
Alex Plate
b1367ec0a9
Split ShortcutOwnerInfo into two subclasses 2021-04-24 16:02:02 +03:00
Alex Plate
e73d919ed7
Continuation of experiments with mode-specific key handlers 2021-04-24 13:34:39 +03:00
Alex Plate
9bcb5e73ba
Fix vim exchange with backward selection 2021-04-24 13:05:47 +03:00
Alex Plate
814e3d8ee7
Refactoring shortcut owner to add an information about applied mode 2021-04-24 12:05:10 +03:00
Alex Plate
d2cc6cca36
Convert ShortcutOwner to kt 2021-04-23 21:37:08 +03:00
Alex Plate
ea5a95d536
Rename .java to .kt 2021-04-23 21:37:08 +03:00
Alex Plate
a845eb3942
Rename ShortcutOwner variable name 2021-04-23 21:33:44 +03:00
Alex Plate
f87fb34943
Fix actions popup place issue 2021-04-23 20:34:41 +03:00
Matt Ellis
4dc9c1f433 Fix scrolling at end of file with folds
Caret must be within scrolloff lines of the bottom of the file

Fixes VIM-2291
2021-04-23 20:03:13 +03:00
Alex Plate
62833f2fa9
Update formatting 2021-04-22 12:43:53 +03:00
Alex Plate
76f06170ad
[VIM-2290] Support vim-paragraph-motion plugin 2021-04-22 12:08:17 +03:00
Alex Plate
5f71198c88
[VIM-2289] Fix <End> command behavior 2021-04-22 09:54:22 +03:00
Alex Plate
8d941913aa
Qodana cleanup 2021-04-21 10:46:38 +03:00
Alex Plate
599571e6ea
Update formatting 2021-04-21 10:23:14 +03:00
Alex Plate
90709ef4d0
[CWM-2643] Create function for get list of editors of the current host 2021-04-21 10:04:04 +03:00
Alex Plate
378aa1026d
[VIM-2284] Set command doesn't duplicate options 2021-04-20 11:13:14 +03:00
Alex Plate
4fb1761fa5
Execute action listeners when call for IDE action 2021-04-20 10:44:56 +03:00
Alex Plate
d0d9535d2f
Big refactoring of MotionHandler 2021-04-19 11:32:16 +03:00
michal
cfe34733e9 VIM-2276 ls returns "absolute path" for files on Microsoft Windows. 2021-04-19 10:40:04 +03:00
Alex Pláte
a8a4142cef
Merge pull request #280 from citizenmatt/ideavim-sidescroll
Caret position and view scrolling fixes
2021-04-16 11:21:42 +03:00
Alex Plate
05e547edb5
Fix toRegex function for keyword option 2021-04-09 11:19:13 +03:00
Alex Plate
278dc6880c
Add an option to trace actions execution time 2021-04-02 10:26:39 +03:00
Alex Plate
b1ae964ca3
Fix SearchGroup parsing in case of broken data 2021-04-01 11:20:19 +03:00
Alex Plate
69a045c144
Fix formatting 2021-03-31 10:47:06 +03:00
Alex Plate
8f7b609c7c
Remove wildcard import 2021-03-31 10:40:22 +03:00
Alex Plate
0019dd6c7a
Do not try to compare text for vim reloading in non .ideavimrc file 2021-03-31 10:32:13 +03:00
Matt Ellis
76f28ef94a
Update formatting 2021-03-23 14:25:59 +00:00
Matt Ellis
3b89d96553
Handle scrolling page with virtual space 2021-03-23 01:01:15 +00:00
Matt Ellis
0fba78f885
[VIM-2177] Do not scroll end of file to bottom of screen 2021-03-22 14:20:28 +00:00
Matt Ellis
ee38944cf9
Fix caret position at end of file with scrolloff 2021-03-22 10:10:36 +00:00
Shrikant Sharat Kandula
c24cbcfbc0 Refactor implementation and test 2021-03-21 11:13:48 +05:30
Shrikant Sharat Kandula
28c01f0a43 Handle outer selection for lower boundary 2021-03-21 10:52:55 +05:30
Shrikant Sharat Kandula
182f671e35 Handle inner selection for upper boundary 2021-03-21 10:46:02 +05:30
Shrikant Sharat Kandula
788495aac8 Merge branch 'master' into extension/textobjindent
# Conflicts:
#	resources/META-INF/includes/VimExtensions.xml
2021-03-21 10:02:52 +05:30
Shrikant Sharat Kandula
7cbeb821f5 Upper boundary functional 2021-03-21 09:59:34 +05:30
Matt Ellis
36901194dc
Scroll last line to bottom of screen with G 2021-03-18 21:26:42 +00:00
Matt Ellis
58071007bd
Ignore sidescrolloff with caret at start of line 2021-03-18 21:20:48 +00:00
Matt Ellis
f7bb5ec500
Scroll view with Enter in insert mode 2021-03-17 12:17:51 +00:00
Matt Ellis
b92114fec6
Scroll view when inserting new line above 2021-03-17 12:17:51 +00:00
Matt Ellis
fe9bb2a712
Scroll view when inserting new line below 2021-03-17 12:17:51 +00:00
Matt Ellis
81996f8051
Do not beep when removing highlights with Escape 2021-03-17 12:17:51 +00:00
Matt Ellis
a0a976c345
Scroll view for <Del> and <BS> in insert mode 2021-03-17 12:17:51 +00:00
Matt Ellis
9315f36f16
Scroll view for <Tab> in insert mode
Note that this doesn't actually work, as we ignore <Tab> in insert mode, so that other actions, specifically the live template action, can handle it. Without this, Emmet doesn't work (VIM-674). The scrolling does work with <C-I>
2021-03-17 12:17:51 +00:00
Matt Ellis
cdc03836d2
Scroll view when moving up/down in insert mode 2021-03-17 12:17:50 +00:00
Matt Ellis
a14e95ad6c
Scroll view when deleting text 2021-03-17 12:17:50 +00:00
Matt Ellis
dd230f720f
[VIM-2230] Caret and inlay with preceding text 2021-03-17 12:17:50 +00:00
Matt Ellis
fa781de76f
Simplify inserting register text 2021-03-17 12:17:50 +00:00
Matt Ellis
3642b32ed6
Fix range handling 2021-03-10 10:30:33 +00:00
Alex Plate
78bc4060b3
Update after rebase 2021-03-05 10:38:39 +03:00
Matt Ellis
16b901ea9e
Update formatting 2021-03-05 10:38:39 +03:00
Matt Ellis
26a3974477
Stop multiple-cursors affecting search state
Searching no longer uses the high level search APIs that affect state such as saved searches, history and highlighting. Also conforms better to vim-multiple-cursors behaviour:
* Searches are now case sensitive
* Regular expressions in search text are ignored
* "Select all" works with nowrapscan
* Next occurrence based on existing selection no longer uses word boundary flag
* "No more matches" message shown at more appropriate times
2021-03-05 10:38:39 +03:00
Matt Ellis
9a10d6fe6c
Remove usage of deprecated API 2021-03-05 10:38:38 +03:00
Matt Ellis
eb72def6d0
Remove unnecessary caret move 2021-03-05 10:38:38 +03:00
Matt Ellis
3fe2a2e3b0
Fix updating last search/sub patterns 2021-03-05 10:38:38 +03:00
Matt Ellis
d22d0f67b5
Remove duplication in invalid command message 2021-03-05 10:38:38 +03:00
Matt Ellis
e56e944309
Simplify writing state 2021-03-05 10:38:38 +03:00
Matt Ellis
2d853d8d28
Rename searchAndReplace processSubstituteCommand 2021-03-05 10:38:38 +03:00
Matt Ellis
e5d086dace
Introduce test method to set state 2021-03-05 10:38:38 +03:00
Matt Ellis
eccdd725b7
Introduce processSearchRange 2021-03-05 10:38:37 +03:00
Matt Ellis
284e0b4bf5
Rename search to processSearchCommand
The method is doing more than just searching, such as parsing the search command and state management
2021-03-05 10:38:37 +03:00
Matt Ellis
47becb2721
Remove unused count for main search method
This method is the main implementation for '/' and '?' and does not support a count. It is currently being used incorrectly in places that should be using a simpler find helper.
2021-03-05 10:38:37 +03:00
Matt Ellis
0b64e26235
Replace search command flags with Direction enum 2021-03-05 10:38:37 +03:00
Matt Ellis
d90db8157c
Remove overload that assumes primary caret offset 2021-03-05 10:38:37 +03:00
Matt Ellis
11da530151
Remove overload that takes a caret 2021-03-05 10:38:37 +03:00
Matt Ellis
c067c67e34
Remove unused code to move caret 2021-03-05 10:38:37 +03:00
Matt Ellis
89913ad4d7
Remove unused search handling from ProcessExEntry 2021-03-05 10:38:36 +03:00
Matt Ellis
e0e80d2ea8 Update after running ktlintFormatter 2021-03-03 10:56:50 +03:00
Matt Ellis
adab2326ed Add 'startofline' to count percent motion 2021-03-03 10:56:50 +03:00
Matt Ellis
4ef629950d Add 'startofline' support for shift operations 2021-03-03 10:56:50 +03:00
Matt Ellis
39197df0c7 Add 'startofline' support for scrolling actions 2021-03-03 10:56:50 +03:00
Matt Ellis
1d3d6f0ea1 Add 'startofline' support to G, gg and i_<C-Home> 2021-03-03 10:56:50 +03:00
Matt Ellis
9272ffa52c Add 'startofline' support to goto line action 2021-03-03 10:56:50 +03:00
Matt Ellis
187e5864ac Add tests and introduce 'startofline' option
Update behaviour of H, L and M to handle 'scrolloff' correctly, operator pending mode and 'startofline' caret placement. Also implemented 'startofline' support for delete motion action.
2021-03-03 10:56:50 +03:00
Matt Ellis
e0711248a0 [VIM-2238] Correctly place cursor at mid line of short files 2021-03-03 10:56:50 +03:00
Alex Plate
291ea3bfb0
Enable fail on warning for java 2021-02-24 05:09:34 +03:00
Alex Plate
62a309cba6
Update annotations 2021-02-20 18:20:29 +03:00
Alex Plate
b7c0e4725d
Suppress code duplicate 2021-02-20 16:26:58 +03:00
Alex Plate
53a21fb5fe
Qodana cleanup 2021-02-20 13:14:27 +03:00
Alex Plate
b6a5e60b68
Fix qodana issues 2021-02-20 12:08:06 +03:00
Alex Plate
f0166dd18f
Fix compatibility issues 2021-02-20 11:36:20 +03:00
Alex Plate
5b8fe2393e
Qodana fixes 2021-02-20 11:26:53 +03:00
Alex Plate
eedc50b4fe
Fix deprecation issue 2021-02-19 19:53:59 +03:00
Alex Plate
d7a636e4de
Add qodana inspection profile 2021-02-19 19:34:42 +03:00
Alex Plate
9e9319f117
Remove some warnings from the code 2021-02-19 19:14:33 +03:00
Alex Plate
7ab53edbbf
Code reformatting to avoid issues between IJ and ktlint formatting 2021-02-19 11:31:41 +03:00
Alex Plate
624c3bf223
A massive code reformatting using intellij 2021-02-19 11:12:36 +03:00
Alex Plate
cf28312740
A massive code reformatting using ktlint 2021-02-19 10:42:28 +03:00
Alex Plate
76f14fc4ba
Preparation for the 0.65 release 2021-02-17 11:06:23 +03:00
Alex Plate
923c0fee7a
[VIM-2153] Always store data as base64 encoded 2021-02-16 10:19:14 +03:00
Alex Plate
c9fd0782ae
Use a different method for compatibility 2021-02-08 12:41:30 +03:00
Alex Plate
c5779935d3
Extract escape key code 2021-02-08 12:28:34 +03:00
Alex Plate
70154d4526
Add log line about NERDTree 2021-02-08 12:16:37 +03:00
Alex Plate
070dfae93d
Fix nerdtree for multiple opened projects 2021-02-08 12:11:54 +03:00
Alex Plate
4e5fc734e2
Fix quick search in NERDTree 2021-02-08 11:22:53 +03:00
Alex Plate
9004749754
Update compatibility with ActionPromoter 2021-02-08 10:19:06 +03:00
Alex Plate
e788221099
[VIM-2220] Do not try to get a command state for null editor 2021-02-02 11:37:39 +03:00
Alex Plate
e63044e72f
[VIM-2217] Fix AppCode specific code 2021-02-01 11:14:30 +03:00
Alex Plate
fd0d010908
Update the link to ideajoin examples 2021-02-01 10:27:30 +03:00
Alex Plate
de159d6e3a
Add IdeaVim actions promoter to promote vim actions 2021-02-01 10:17:33 +03:00
Alex Plate
27293c3d36
Deprecate EditorDataContext construction instead of making it private 2021-01-29 12:15:16 +03:00
Alex Plate
d3b9a5af37
Update todo list of the NERDTree plugin 2021-01-29 11:38:41 +03:00
Alex Plate
544f268ab8
Update extension so they register key mappings only if there isn't already registered another mapping 2021-01-26 10:52:26 +03:00
Alex Plate
f851794cf2
Reduce mapping depth to 20 2021-01-25 03:06:13 +03:00
Alex Plate
0ccc0f0846
Use existing variable to track recursion 2021-01-25 02:52:57 +03:00
Alex Plate
40d1b2ddd5
Reduce size of maxmapdepth 2021-01-25 00:24:01 +03:00
Alex Plate
62128a14e7
Support mapping recursion preventing 2021-01-24 23:59:14 +03:00
Alex Plate
47b604c6a7
Update EditorDataContext to avoid recursion 2021-01-24 23:27:46 +03:00
Alex Plate
5daa654d10
[VIM-1337] Fix mapping processing after timeout 2021-01-24 22:00:58 +03:00
Alex Plate
8c51c699e9
Enable mappings delay for tests 2021-01-24 20:46:34 +03:00
Alex Plate
913fb0648b
Remove unused argument 2021-01-24 20:32:50 +03:00
Alex Plate
1eacb09f3c
Add notion why we don't map plugin mappings 2021-01-23 03:11:25 +03:00
Alex Plate
efcfceef39
Join some delete actions into a single file 2021-01-23 03:04:58 +03:00
Alex Plate
e977ae9e88
Remove testing character 2021-01-23 03:04:58 +03:00
Alex Plate
51f1e6f866
Fix characters yanking 2021-01-23 02:18:04 +03:00
Alex Plate
c63a0200b3
Load extensions after vim script loading 2021-01-22 20:41:10 +03:00
Alex Plate
5fdb817bfd
Support t and T 2021-01-22 20:20:24 +03:00
Alex Plate
1b5bdf5db3
Make varible private 2021-01-22 18:18:13 +03:00
Alex Plate
8022ed450c
Support more nerdtree ex commands 2021-01-22 17:50:32 +03:00
Alex Plate
34b0c93ecd
Update docs 2021-01-22 16:15:53 +03:00
Alex Plate
2221e5234d
Support A, q 2021-01-22 16:14:17 +03:00
Alex Plate
8dd8cce491
Support r, R, and m 2021-01-22 16:06:04 +03:00
Alex Plate
d74965d36d
Add scrolling command for existing commands 2021-01-22 15:54:06 +03:00
Alex Plate
cb9e6c4c69
Support C-K and C-J commands 2021-01-22 15:51:26 +03:00
Alex Plate
1d93edd35b
Update docs 2021-01-22 15:48:41 +03:00
Alex Plate
4c071b9d97
Update P command implementation 2021-01-22 15:47:58 +03:00
Alex Plate
570eceb653
Support P, p, J, K commands 2021-01-22 15:39:19 +03:00
Alex Plate
a34a01745c
Support x and X commands 2021-01-22 14:25:15 +03:00
Alex Plate
a4b9fa0f69
Support O command 2021-01-22 13:59:04 +03:00
Alex Plate
2da18fe59f
Support variables in NERDTree 2021-01-22 12:50:59 +03:00
Alex Plate
5a969d573a
Add list of commands 2021-01-22 12:41:10 +03:00
Alex Plate
0eff36a38e
Implement s, i, gs, gi commands 2021-01-22 12:39:07 +03:00
Alex Plate
241bacfd49
Support s command 2021-01-21 20:48:00 +03:00
Alex Plate
b292644531
Support go command 2021-01-21 20:34:14 +03:00
Alex Plate
3264837478
Use trie to store keys 2021-01-21 20:21:27 +03:00
Alex Plate
70bf5033b5
Extract logic of adding leafs 2021-01-21 19:48:04 +03:00
Alex Plate
9ffe114aeb
Generalize existing Node for building a trie 2021-01-21 18:06:53 +03:00
Alex Plate
75f6e08d85
Support o command 2021-01-21 17:30:14 +03:00
Alex Plate
3b0c19fbfc
Implement node opening/closing 2021-01-21 16:24:40 +03:00
Alex Plate
e4d10eb622
Implement up/down motions 2021-01-21 10:17:55 +03:00
Alex Plate
6afdfb55ca
Start implementing NERDTree support. Support focus command 2021-01-20 10:40:48 +03:00
Alex Plate
cb3508b30d
Support command aliases to function 2021-01-20 10:26:44 +03:00
Alex Plate
171ffc6862
Refactor command aliases 2021-01-20 10:19:02 +03:00
Alex Plate
38019cdb91
Convert command parser to kt 2021-01-20 09:58:40 +03:00
Alex Plate
89bcb43271
Rename .java to .kt 2021-01-20 09:58:39 +03:00
Alex Plate
5101dc00b3
Name for extension is not deprecated 2021-01-20 03:09:04 +03:00
Alex Plate
a7774349e5
Update copyright year 2021-01-20 03:07:13 +03:00
Alex Plate
8901ba0128
[VIM-2202] Fix issues with search command macro recording 2021-01-11 13:48:20 +03:00
Alex Plate
07abc2e2e0
Disable "always inverted" inspection 2020-12-29 11:01:14 +03:00
Alex Plate
7eba54f09a
Disable LightEdit support for IdeaVim 2020-12-29 10:37:55 +03:00
Sergei Vorobyov
1eac924291
fixed: don't show reload vimrc floating toolbar in non-file editors
for example in editor from `Preferences | Editor | Font`
2020-12-29 09:49:23 +03:00
Alex Plate
15d173e628
Assert register type with neovim 2020-12-26 04:39:52 +03:00
Sergei Vorobyov
e56f63dc0f
migrated: New floating toolbar API 2020-12-25 10:56:53 +03:00
Shrikant Sharat Kandula
82e39c9236 Fix handling when caret line has no indentation 2020-12-24 21:10:21 +05:30
Shrikant Sharat Kandula
1e69e98b92 Initial working implementation of indent objects 2020-12-24 20:59:55 +05:30
Alex Plate
d0888a063f
Refactor code 2020-12-24 10:58:58 +03:00
Alex Plate
bd5781a039
Optimize imports 2020-12-24 10:46:42 +03:00
Alex Plate
665adaa44b
Fix last line calculation 2020-12-24 10:22:11 +03:00
Alex Plate
9f19ee9586
Include neovim registers check into tests 2020-12-24 09:32:06 +03:00
Alex Plate
bb84b0e368
Refactor deleting 2020-12-24 09:32:06 +03:00
Alex Plate
40ec6c53fa
Revert "Add statistic collection for some options"
Classes of the collector are incompatible with 202

This reverts commit b7cb3c09
2020-12-18 11:57:06 +03:00
Alex Plate
b7cb3c0945
Add statistic collection for some options 2020-12-17 23:13:54 +03:00
Alex Plate
69d3c7b754
resetCaset function should not change the shape of other editors
This commit fixes the following issues:
1) Windows splitting
- Start insert mode in editor
- Split editor
- Go back to the previous editor. The caret has a block shape, but insert mode

2) VCS updates
In 2021.1 VCS creates a diff window right after the file was changed.
So, the case described above happens here as well.
2020-12-17 10:53:43 +03:00
Alex Plate
93700bddc7
Update deprecated methods according to the new minimal IJ requirements 2020-12-17 10:04:52 +03:00
Matt Ellis
494500041b Rearrange and document the public search API
No code changes, just moved everything
2020-12-17 10:02:16 +03:00
Matt Ellis
011a5a3b23 Remove unnecessary UNSET direction enum value 2020-12-17 10:02:16 +03:00
Matt Ellis
03726858f0 Move find methods to SearchHelper 2020-12-17 10:02:16 +03:00
vladimir.petrenko
f4fe03c582 CWM-927 disable vim for client's hidden editor on host
to provide compatibility with Code With Me plugin
2020-12-16 12:27:34 +03:00
Alex Plate
ace584d294
Fix settings saving issues because of NPE 2020-12-15 09:35:35 +03:00
Alex Plate
5cd669202b
Remove time calculation for isIdeavimDisabledHere 2020-12-10 10:06:29 +03:00
Alex Plate
3352bdfabb
Remove some deprecations in code 2020-12-10 09:50:05 +03:00
Alex Plate
440a0bf393
Remove incorrect link in package-info.java 2020-12-10 09:36:59 +03:00
Alex Plate
64a7555f42
[VIM-2188] Remove deprecated configuration store 2020-12-10 09:35:07 +03:00
Alex Plate
f6c3d27bbc
Reset caret shape after <C-O> command 2020-12-08 10:50:06 +03:00
Alex Plate
21daf83fbd
Include caret shape assertions into checks 2020-12-08 10:50:05 +03:00
Shaun Patterson
7f1203c207 VIM-1756: startSel works in insert mode 2020-12-08 10:49:19 +03:00
Alex Plate
89b1f90973
Fix detekt issues 2020-12-04 11:21:40 +03:00
Alex Plate
770d12d79b
[VIM-1913] Enable enter for AppCode templates 2020-12-04 11:05:32 +03:00
Alex Plate
7e4ac22d23
[VIM-1913] Enable tab for AppCode templates 2020-12-04 10:45:56 +03:00
Matt Ellis
4ea7c421a8 Extract and use common Direction enum 2020-12-04 09:53:58 +03:00
Matt Ellis
3c8b7e2de4 Convert SearchHighlightsHelper to Kotlin 2020-12-04 09:53:58 +03:00
Matt Ellis
b13acaf823 Rename .java to .kt 2020-12-04 09:53:58 +03:00
Matt Ellis
709cd6ad6e Extract SearchHighlightsHelper 2020-12-04 09:53:58 +03:00
Matt Ellis
1316ccc56f Update default for history to match Vim 2020-12-04 09:53:58 +03:00
Matt Ellis
881ddd0e11 Refactor setting special registers 2020-12-04 09:53:58 +03:00
Matt Ellis
49611ee6b9 Show the correct handler class in :map 2020-12-04 09:33:14 +03:00
Alex Plate
557e47650f
Disable octal for nrformats 2020-12-03 10:07:27 +03:00
Alex Plate
7a164d6d5f
Updates to block caret in insert mode 2020-12-02 10:58:04 +03:00
Alex Plate
60bc936cd9
Take back: VIM-1475: Respect the "use block caret" when in insert mode 2020-12-02 10:31:01 +03:00
Alex Plate
4926d2554e
Revert "VIM-1475: Respect the "use block caret" when in insert mode"
Reverting this commit due to VIM-2182

This reverts commit 62c828d7
2020-12-02 09:45:08 +03:00
Alex Plate
eae135acba
Fix detekt issues 2020-12-01 12:19:08 +03:00
Alex Plate
8ce3801b87
[VIM-1913] Improve interaction with AppCode templates 2020-12-01 11:55:47 +03:00
Alex Plate
e3079912ae
Remove unused handlers 2020-11-26 10:24:22 +03:00
Alex Plate
52da3ed0e4
Update info file 2020-11-26 09:44:48 +03:00
Alex Plate
cda85169ea
Add new line for ExEditorKit.kt 2020-11-25 17:22:26 +03:00
Alex Plate
f90d22cc20
Refactoring of ex actions 2020-11-25 10:49:50 +03:00
Alex Plate
bae69d92ae
Rename .java to .kt 2020-11-25 10:49:50 +03:00
Alex Plate
b910239825
Put ex panels into the separate package 2020-11-25 10:49:50 +03:00
sumoooru2
5c9faba7f4 Implement cmap 2020-11-25 10:00:15 +03:00
Alex Plate
23a80a9260
[VIM-2170] Fix alternative range format for s command 2020-11-23 11:49:30 +03:00
Alex Plate
1292c7d1ae
Remove unused import 2020-11-20 11:17:40 +03:00
Alex Plate
69f07967b5
Fix compilation issus for <203 2020-11-20 11:00:29 +03:00
Alex Plate
aedd427c07
Optimize imports 2020-11-20 10:45:26 +03:00
Alex Plate
9b6c3dc511
Fix unresolved references 2020-11-20 10:17:52 +03:00
Alex Plate
b4fa7f4317
Replace @NlsSafe annotation from utils with our own 2020-11-20 09:58:43 +03:00
Alex Plate
f053d305d5
Remove neovim from implementation 2020-11-20 09:35:48 +03:00
Alex Plate
d661f96a9b
Reformat for MessageHelper.kt 2020-11-19 11:26:27 +03:00
Alex Plate
c79fae8ab3
[i18n] Mark some strings as @NonNls 2020-11-19 11:22:11 +03:00
Alex Plate
da9a0a414a
[i18n] Extract more starting for localization 2020-11-19 00:26:17 +03:00
Alex Plate
6fc5b3189a
[i18n] More extracted strings 2020-11-18 18:49:55 +03:00
Alex Plate
7ad131b448
[i18n] More extracted strings 2020-11-18 13:03:35 +03:00
Alex Plate
3e7186bd60
[i18n] Update @Nls annotations 2020-11-18 13:03:35 +03:00
Alex Plate
132f8cce53
[i18n] Extract more strings 2020-11-18 13:03:35 +03:00
Alex Plate
1f7a2594c8
Convert some strings to properties 2020-11-18 11:26:03 +03:00
Alex Plate
c03f01a96a
Update MessageHelper.kt 2020-11-18 03:09:57 +03:00
Alex Plate
26b67a43ae
Fix formatting 2020-11-17 19:55:09 +03:00
Alex Plate
a93ca3a205
Support mapclear commands 2020-11-17 19:47:56 +03:00
Alex Plate
dcc647ba3c
[VIM-1491] Support unmap 2020-11-17 19:38:22 +03:00
Alex Plate
fe44f59239
Refactor map handler 2020-11-17 19:36:41 +03:00
Alex Plate
80dba0babf
Move MapHandler into the separate package 2020-11-17 19:36:17 +03:00
Yaohui Wang
34acf9a91e Add CJK characterType for delimiting caret movement
- Add unicode CJK Unified Ideographs type
- Stop caret movement for CJK chars (as VIM does). Similar to VIM-58
2020-11-17 10:21:49 +03:00
Grzegorz Antoniak
62c828d722 VIM-1475: Respect the "use block caret" when in insert mode
The "use block caret" IDEA option controls the style of the cursor: when
it's enabled, the cursor is drawn as a block, and when it's disabled,
it's drawn as a bar. However, after installing IdeaVIM, this option
isn't respected; the plugin always uses a block cursor when in command
mode, and always uses a bar cursor when in insert mode.

This commit changes the behavior so that when the "use block caret"
option is enabled, IdeaVIM's insert mode uses a block cursor instead of
a bar cursor. The cursor in normal mode is always drawn as a block
cursor. If the "use block caret" option is disabled, the behavior is the
same as in previous versions of IdeaVIM (block cursor in normal mode,
bar cursor in insert mode).

Fixes VIM-1475 (on YouTrack)
2020-11-17 10:06:32 +03:00
Jan Palus
75a1bb7cc5 VIM-2114 Do not override registers when deleting empty range 2020-11-13 12:34:04 +03:00
Jan Palus
2758071d31 VIM-2113 Increase tag range only in visual mode 2020-11-13 11:54:08 +03:00
Alex Plate
b6adf9f7a9
Rename ideaenabledbufs to ideavimsupport 2020-11-12 09:45:29 +03:00
Matt Ellis
c38b18e16b Prevent inlays causing scrolling to stick 2020-11-12 09:37:55 +03:00
Matt Ellis
8d65c3ed26 Limit how much of an inlay is shown when scrolling 2020-11-12 09:37:55 +03:00
Matt Ellis
995bb966ad Reposition cursor when scrolloff changes 2020-11-12 09:37:55 +03:00
Matt Ellis
dbda1a76ca [VIM-2158] Fix scrolling when scrolloff is greater than half screen height, but less than full screen height 2020-11-12 09:37:55 +03:00
Alex Plate
4f86d9cc77
Correct visual mode exiting when after line end 2020-11-06 20:26:26 +03:00
Alex Plate
d55774abab
Use vimForEachCaret 2020-11-06 20:21:05 +03:00
Alex Plate
f26ddd4a27
Fix exception in aW 2020-11-06 19:12:40 +03:00
Alex Plate
0539e39977
Fix <C-\><C-N> 2020-11-06 11:16:13 +03:00
Alex Plate
65235d32a1
Fix exception for ]b command 2020-11-06 10:36:03 +03:00
Alex Plate
1fba77d925
Update getName description 2020-11-05 11:31:41 +03:00
Alex Plate
6a3d606032
New extension registration process
The new process gives as lazy loading of extension classes
2020-11-01 03:30:00 +03:00
Alex Plate
612a86c4d9
Add new option to enable extensions 2020-11-01 00:51:22 +03:00
Alex Plate
52673d1a02
Remove unnecessary semicolon 2020-10-31 22:04:20 +03:00
Alex Plate
a148446912
Change order of checks 2020-10-31 19:43:19 +03:00
Alex Plate
1ee9075976
Inline findParentByCondition 2020-10-31 19:40:48 +03:00
Alex Plate
0720431c91
More cleanup 2020-10-31 14:29:26 +03:00
Alex Plate
6f1ac1de97
Add more time checks for is db cell 2020-10-31 14:03:11 +03:00
Alex Plate
99d2d4b594
Update the color of yank highlighting after laf changing 2020-10-31 13:46:08 +03:00
Alex Plate
2bf9b97e49
Continuation of qodana cleanup 2020-10-31 13:11:13 +03:00
Alex Plate
c6600f3348
Fixes base of qodana run 2020-10-30 19:54:26 +03:00
Alex Plate
e29ab54b0e
Make default register in RegisterGroup non static field 2020-10-30 19:18:46 +03:00
Alex Plate
197565d4cb
Get rid of info logs 2020-10-30 16:47:44 +03:00
Alex Plate
3d570d2020
Make property private 2020-10-30 15:59:56 +03:00
Alex Plate
fe364dc6dc
Reduce the depth of "parentByCondition" function 2020-10-30 11:56:50 +03:00
Alex Plate
1743c08091
Update isIdeaVimdisableHere logging 2020-10-29 12:40:30 +03:00
Alex Plate
81b095c899
Update detekt configuration 2020-10-29 11:43:47 +03:00
Alex Plate
0b41bd30cd
Rename dialogescape and oneline to ideaenabledbufs 2020-10-29 10:44:34 +03:00
Alex Plate
7c79615c6a
[VIM-2144] Correct caret position after block insert with inlays 2020-10-29 10:19:51 +03:00
Alex Plate
10be7354cd
[VIM-2156] Fix up/down motions with inlays 2020-10-29 09:46:21 +03:00
Alex Plate
1e9925f092
[VIM-2157] Fix tab for active templates 2020-10-28 11:37:28 +03:00
Alex Plate
d4ec7e1f69
Remove some detekt warnings 2020-10-27 10:01:57 +03:00
Alex Plate
7bccaa8717
Remove deprecated methods and options 2020-10-23 11:18:46 +03:00
Alex Plate
319874b973
Update message 2020-10-22 12:11:14 +03:00
Alex Plate
daf8799c39
Update isIdeavimDisabled here report 2020-10-22 12:02:03 +03:00
Alex Plate
f45d4e1451
[VIM-2150] Shift-D should not delete an empty line 2020-10-21 10:26:50 +03:00
Alex Plate
0d0f326c26
Catch exception instead of NumberFormatException 2020-10-18 21:21:37 +03:00
Alex Plate
2072fa1e13
Add detekt to the project 2020-10-18 21:06:51 +03:00
Alex Plate
fd98274e78
EditorDataContext can now accept a delegate data context 2020-10-16 11:03:05 +03:00
Alex Plate
e72c7d6cb7
Convert EditorDataContext to kotlin 2020-10-16 10:53:49 +03:00
Alex Plate
5860c0031b
Rename .java to .kt 2020-10-16 10:53:49 +03:00
Alex Plate
a43232ba6c
Move execution of mapping to MappingInfo 2020-10-16 10:27:12 +03:00
Alex Plate
b20bec610a
Move converting to presentable string to MappingInfo classes 2020-10-16 10:08:42 +03:00
Alex Plate
3a9f5ea33a
Add ability to map actions via <Action> keyword 2020-10-16 10:00:46 +03:00
Alex Plate
b2a6d0e687
Do now show "Copy action id" action in the notification if there is no id 2020-10-15 10:40:48 +03:00
Alex Plate
c9d0d7aef6
[VIM-2140] Downgrade java version to 1.8 2020-10-09 11:06:38 +02:00
Alex Plate
b19e11b5b6
Use proper access syntax 2020-10-09 10:16:30 +02:00
Alex Plate
2d002c044d
Report if time for calculation of isIdeaVimDisabledHere take more than 10ms 2020-10-08 11:39:49 +02:00
Alex Plate
9a7b2bd158
Update the implementation of disabled IdeaVim editors 2020-10-08 11:25:47 +02:00
Alex Plate
461c874de6
Reformat some code 2020-10-08 10:31:21 +02:00
Alex Pláte
0dd47c192b
Merge pull request #252 from citizenmatt/VIM-2104
Fixes for scrolling
2020-09-24 09:45:32 +03:00
Alex Plate
5875ce58fb
Update notification about missing action id 2020-09-23 10:46:21 +03:00
Alex Pláte
1c21968259
Merge branch 'master' into VIM-2104 2020-09-23 09:51:10 +03:00
Alex Plate
1d8ac4fc02
Move scroll data objects up to avoid conflicts 2020-09-23 09:50:00 +03:00
Alex Plate
0a863f32b2
Small formatting 2020-09-22 10:48:15 +03:00
Alex Plate
cd0d503402
Convert test to option test 2020-09-22 10:41:03 +03:00
Alex Plate
6436a59528
Rename "ideawaonw" to "ideawrite" 2020-09-18 10:11:01 +03:00
Matt Ellis
63db148aae
Merge branch 'master' into VIM-2104 2020-09-17 15:29:05 +01:00
Matt Ellis
26dae9b4e0
Add zH scroll half screen width action 2020-09-17 14:35:43 +01:00
Alex Plate
43810ba730
Rename moveCaretHorizontal to getOffsetOfHorizontalMotion 2020-09-17 11:18:27 +03:00
Alex Pláte
5bf2818b2a
Merge pull request #242 from i-e-b/master
Partial implementation of virtualedit config
2020-09-17 11:15:14 +03:00
Alex Plate
76587d672f
Refactor tests according to IdeaVim practices 2020-09-17 11:13:02 +03:00
Alex Plate
890d48769f
Get rid of unused variables 2020-09-17 10:30:56 +03:00
Alex Plate
fffe8e2499
Add static import of EditorHelper 2020-09-17 10:15:09 +03:00
Alex Plate
fffc2d3b11
Use amountOfInlaysBeforeCaret function 2020-09-17 10:13:53 +03:00
Matt Ellis
007f33be0b
Add zL scroll half screen width action 2020-09-17 00:01:24 +01:00
Matt Ellis
fa17af8d33
Fix keeping caret on screen with preceding inlay 2020-09-16 18:58:21 +01:00
Matt Ellis
eabe43061c
Add tests and fixes for ScrollColumnLeftAction 2020-09-16 16:59:14 +01:00
Matt Ellis
d693906905
Add tests and fixes for ScrollColumnRightAction 2020-09-16 11:47:28 +01:00
Alex Plate
cf25f7e201
Refactor processing of vimLastColumn 2020-09-16 12:42:43 +03:00
Matt Ellis
df3a533515
Fix arithmetic for scrolling columns 2020-09-16 09:29:43 +01:00
Matt Ellis
53a687fd53
Fix issues with side scrolling and inline inlays
Fixes VIM-1556, fixes VIM-1770, fixes VIM-2110
2020-09-15 17:07:42 +01:00
Matt Ellis
2091bbc025
Improve cursor position handling with inlay hints
E.g. navigation around Kotlin type annotations, replacing a character with a preceding parameter hint
2020-09-08 17:45:44 +01:00
Alex Plate
eb46ed8f00
Small refactorings based on inspections 2020-09-08 10:18:44 +03:00
Alex Plate
f8d66f354a
Fix typos in file 2020-09-08 09:56:28 +03:00
Alex Pláte
67c5601fdc
Merge pull request #248 from yaohui-wyh/master
Check if project is disposed when editorDeinit
2020-09-08 09:55:58 +03:00
Matt Ellis
62601686aa
Add internal action to show inline inlays 2020-09-08 00:20:54 +01:00
Alex Plate
e92c0d5098
[VIM-1968] Create and enable option to execute :wa command on :w 2020-09-07 10:55:47 +03:00
Matt Ellis
7321099a0f
Add tests for ScrollMiddleScreenLine actions
z. and zz
2020-09-03 10:10:57 +01:00
Matt Ellis
63d9a33d80
Add tests for ScrollLastScreenLine actions
z- and zb
2020-09-03 09:57:32 +01:00
Matt Ellis
a7ba6d6004
Add tests for ScrollFirstScreenLine actions
z<CR> and zt
2020-09-03 09:55:53 +01:00
Alex Plate
5008d5c8c4
Make better notifications about tracked action id 2020-09-03 11:35:40 +03:00
Alex Plate
33f8a00679
VIM-2099 Fix operations with backward inclusive motions 2020-09-03 10:16:16 +03:00
Matt Ellis
be0adb833f
Add tests for ScrollLastScreenLinePageStartAction 2020-09-03 01:10:58 +01:00
Matt Ellis
8f90ff8a65
Add tests for ScrollFirstScreenLinePageStartAction 2020-09-03 00:05:01 +01:00
Matt Ellis
c8a1938155
Add tests for ScrollPageUpAction 2020-09-02 23:27:16 +01:00
Matt Ellis
3cf42c86f3
Add tests for ScrollPageDownAction 2020-09-02 23:11:53 +01:00
Matt Ellis
632e9fad2e
Remove incorrect mappings for page up/down
i_<C-Down> and i_<C-Up> are not standard Vim mappings, but can be set up in .ideavimrc if required
2020-09-02 17:18:03 +01:00
Matt Ellis
a5de935192
Add tests for ScrollLineDownAction 2020-09-02 17:05:01 +01:00
Matt Ellis
111c1ebe32
Add tests for ScrollLineUpAction 2020-09-02 15:09:11 +01:00
Matt Ellis
8a42bff6ad
Add tests for scrolloff and scrolljump
Behaviour matches Vim, apart from soft wraps
2020-09-02 14:11:04 +01:00
Matt Ellis
d878c3e05d
Improve handling of scrolljump
Now very closely follows Vim's somewhat unintuitive handling. Doesn't work properly with soft wraps (like a lot of other parts of IdeaVim)
2020-09-01 17:46:18 +01:00
Matt Ellis
d08da77b2f
Split scrollPositionIntoView method into two 2020-09-01 17:44:24 +01:00
Alex Plate
a7985e1e9b
VIM-2080 Fix S command with count 2020-09-01 12:08:24 +03:00
Alex Plate
879ca456f7
Do not apply mappings in REGISTER_PENDING submode 2020-09-01 12:08:23 +03:00
Alex Plate
1863cbdef0
Add functionality to track action ids 2020-08-31 10:30:10 +03:00
Alex Plate
ac4755a6ff
VIM-2071 Fix unexpected moving of caret
#VIM-2071 Request State {Ready To Release}
2020-08-28 10:17:08 +03:00
Alex Plate
61600b07a4
VIM-2084 Fix execution of plugins with existing mappings
#VIM-2084 State {Ready To Release}
2020-08-27 12:26:50 +03:00
Iain Ballard
6be6e7f173 Partial implementation of virtualedit config
This does not support all config settings,
but does add the 'onemore' option.

This partly addresses https://youtrack.jetbrains.com/issue/VIM-844
2020-08-26 08:35:00 +01:00
Matt Ellis
4cebaa865b
Fix scrolljump 2020-08-20 14:21:53 +01:00
Matt Ellis
589e43f825
[VIM-2104] Use side scroll offset for horizontal scrolling 2020-08-20 11:45:39 +01:00
Yaohui Wang
61a70704c5 Check if project is disposed when editorDeinit 2020-08-03 07:21:19 +08:00
Alex Pláte
35863581e9
Merge pull request #245 from KostkaBrukowa/VIM-1970
VIM-1970 | Working solution of plugin vim-highlightedyank
2020-07-27 20:34:18 +03:00
Alex Plate
041f6af607
Add insert listener; small refactorings 2020-07-27 20:25:03 +03:00
Alex Plate
47bb155989
Replace IJ pair with kotlin Pair 2020-07-26 19:09:35 +03:00
Alex Plate
e01327ab29
Update implementation for inc/dec 2020-07-26 19:04:46 +03:00
Alex Plate
2a10247653
Update implementation for inc/dec actions 2020-07-24 21:50:04 +03:00
kostkabrukowa
e3b7ed7657 VIM-1970 | Adds yank listeners, updates tests 2020-07-24 13:36:23 +02:00
Alex Plate
5bdeaed416
Fix number change for an incorrect oct number 2020-07-24 13:53:16 +03:00
Alex Plate
a44d93283f
Refactor ChangeNumberIncAction.kt 2020-07-24 10:17:36 +03:00
Alex Plate
804f69e9c8
Fix Ctrl-A for selections 2020-07-23 21:12:28 +03:00
kostkabrukowa
086c2f201b VIM-1970 | Adds feature to change highlight background color 2020-07-22 17:29:54 +02:00
Alex Plate
808fb24bbc
Remove unused methods 2020-07-22 10:40:35 +03:00
Alex Plate
22b1209eb5
Revert the behaviour of :reg command 2020-07-22 10:21:57 +03:00
Alex Plate
485c5501b3
[VIM-2075] Fix zR command 2020-07-22 10:20:54 +03:00
Alex Plate
81ceba8926
Optimize imports 2020-07-22 10:20:54 +03:00
Alex Pláte
3edd95da4e
Merge pull request #240 from rieonke/VIM-2059
add support for putting & editing macros
2020-07-22 10:20:23 +03:00
kostkabrukowa
c1bb364cbe VIM-1970 | Removes box around yank highlight 2020-07-21 15:18:00 +02:00
kostkabrukowa
dccc793fc7 VIM-1970 | Tries to remove thread related test failure 2020-07-19 16:54:05 +02:00
kostkabrukowa
e0fef4f017 VIM-1970 | Adds some tests and updates plugins docs 2020-07-19 13:30:49 +02:00
kostkabrukowa
3a40b9689c VIM-1970 | Fixes register bug 2020-07-18 19:12:08 +02:00
kostkabrukowa
3937a395b7 VIM-1970 | Moves functionality to extension class, adds possibility to dynamically set highlight duration 2020-07-18 18:51:07 +02:00
kostkabrukowa
7e3d532075 VIM-1970 | Clears highlighters after its removal 2020-07-18 11:30:52 +02:00
kostkabrukowa
4f658c4734 VIM-1970 | Draft of working solution to plugin vim-highlightedyank 2020-07-18 10:14:45 +02:00
Alex Plate
26aa753d9e
Update syntax of TabCloseHandler.kt 2020-07-16 11:13:20 +03:00
Alex Pláte
008edc7e33
Merge pull request #244 from rieonke/VIM-2068
Implement tabc[lose] ex command
2020-07-16 10:57:59 +03:00
Alex Plate
24e7f655fc
Add linewise motion type 2020-07-14 11:31:29 +03:00
Alex Plate
ab8de509d9
Create visual type for the text objects 2020-07-14 02:37:54 +03:00
Alex Plate
4fc4ed7675
Remove FLAG_MOT_CHARACTERWISE flag 2020-07-14 02:10:20 +03:00
Alex Plate
b35ad2bb9d
Remove FLAG_MOT_BLOCKWISE 2020-07-14 02:03:08 +03:00
Alex Plate
895c7f1af1
Remove deprecated class 2020-07-14 01:37:08 +03:00
Alex Plate
a42a19a174
Add converting mode to vim notation 2020-07-13 11:21:53 +03:00
Alex Plate
bbe39d5942
Convert command state to kt 2020-07-13 10:42:43 +03:00
Alex Plate
f5fb844442
Rename .java to .kt 2020-07-13 10:42:42 +03:00
Alex Plate
0c22bb2f4f
Add logging for used ideavimrc file 2020-07-13 10:05:16 +03:00
Alex Plate
c4a3cc6718
Disable neovim test for tests that are marked with VimBehaviourDiffers 2020-07-11 17:32:00 +03:00
Alex Plate
a53ed1705a
Extract NeovimTesting to the separate class 2020-07-11 16:58:27 +03:00
Alex Plate
bd942e2ea1
Add initial implementation of neovim integration for tests 2020-07-09 17:36:57 +03:00
Alex Plate
f54fc09a37
Make modes the same as in vanilla vim 2020-07-09 12:45:34 +03:00
Alex Pláte
e222294c6e
Merge pull request #237 from adriafarres/master
Reset operator-pending commands on escape
2020-07-09 11:01:03 +03:00
Alex Plate
2a0bd8722e
Check is project is disposed in isTemplateActive 2020-07-07 17:56:52 +03:00
Alex Plate
aece559400
Remove unused deprecated methods 2020-07-07 12:07:11 +03:00
Alex Plate
28ae3a104a
Revert "Create neovim helper"
This reverts commit bc08839b
2020-07-06 16:05:55 +03:00
Alex Plate
bc08839b16
Create neovim helper 2020-07-06 15:47:15 +03:00
Alex Plate
60315744d1
Fix exceptions in word under caret search 2020-07-03 12:35:43 +03:00
Alex Plate
40a6617816
Reset last search during property based tests 2020-07-03 12:11:23 +03:00
Alex Plate
a6964a37ac
Fix exception during sentence start search 2020-07-03 11:54:25 +03:00
Alex Plate
9249ae073c
Fix bug in anyNonWhitespace 2020-07-03 11:21:03 +03:00
Alex Plate
ddb502acb3
Fix exception for d]] command 2020-07-02 13:48:36 +03:00
Alex Plate
7172faf7b5
Revert strict mode for all normalization methods
This should be done in a more smooth way
2020-07-02 12:09:56 +03:00
Rieon Ke
6e1761a1f5 impl tabc[lose] ex command 2020-07-02 15:21:19 +08:00
Alex Plate
baa7d4f098
Fix big word motion for last word 2020-07-01 20:49:34 +03:00
Alex Plate
baa5557010
Fix bug in dollar motion at the end 2020-07-01 20:47:16 +03:00
Alex Plate
5ce25ebc23
Fix deleting from the start of document 2020-07-01 20:47:14 +03:00
Alex Plate
ddd1a0a5f0
Reset digraph during propertyBased tests 2020-07-01 19:01:08 +03:00
Alex Plate
e15fd8fa24
Add initial implementation of property based tests 2020-07-01 15:46:52 +03:00
Alex Plate
034cc3a725
Fix sentence motion with two new lines at start 2020-07-01 15:43:24 +03:00
Alex Plate
bd52eb12bd
Fix star search on the last dot 2020-06-30 23:08:09 +03:00
Alex Plate
2d9a0a7559
Fix case yk for first line 2020-06-30 22:47:19 +03:00
Alex Plate
7b40281875
Use strict mode in normalize methods 2020-06-30 20:27:41 +03:00
Alex Plate
dc1d01c91d
Use ifEmpty method 2020-06-30 19:48:53 +03:00
Alex Plate
85194b772b
Vim.showMessage should show localized string 2020-06-30 10:22:12 +03:00
Alex Plate
7809842348
Remove unused command flags 2020-06-30 09:55:52 +03:00
Alex Plate
c7948374fd
Cleanup 2020-06-29 13:30:23 +03:00
Alex Plate
f8afdf304b
Use @TestFor instead of custom annotation 2020-06-29 12:21:06 +03:00
Alex Plate
0e7b05e360
Continue cleanup 2020-06-29 10:57:53 +03:00
Alex Plate
5f18e99128
Action is not nullable for Command 2020-06-29 10:49:46 +03:00
Alex Plate
b2e0af587f
Continue code cleanup 2020-06-29 10:42:02 +03:00
Alex Plate
b0b0817668
Code cleanup 2020-06-29 10:29:52 +03:00
Alex Plate
e428b9fa0a
IdeaVim should save to unnamed register, not default one 2020-06-26 10:34:06 +03:00
Alex Plate
e4bbc7b962
Change type of string 2020-06-26 09:27:25 +03:00
Alex Plate
2d1fee0516
Add [version update] marks 2020-06-24 18:17:42 +03:00
Alex Plate
9904de1946
Use fold action names from platform 2020-06-24 17:54:04 +03:00
Alex Plate
583988034b
Fix incompatibility for 202 eap 2020-06-23 09:55:06 +03:00
Rieon Ke
55e553c2a0 add support for putting & editing macros 2020-06-22 22:47:35 +08:00
Alex Plate
ca15c60d52
Remove the ability to download EAP from notification (access to plugin download mechanism was restricted) 2020-06-22 11:16:43 +03:00
Alex Pláte
8be075b36a
Merge pull request #239
Use new API for relative line numbers
2020-06-22 11:16:30 +03:00
Matt Ellis
5d95917727
Do not add line numbers when caret moves
Fixes VIM-2021
2020-06-20 19:00:59 +01:00
Alex Plate
a53b67f0ef
Add option to disable IdeaVim in dialogs 2020-06-20 18:20:27 +03:00
Matt Ellis
eff13180b3
Update to new line number API
Fixes VIM-1934, fixes VIM-1852
2020-06-19 23:51:46 +01:00
Alex Plate
354aec4713
Disable IdeaVim in database table cells 2020-06-19 18:55:49 +03:00
Alex Plate
d2acb88dd4
Add experimental options to disable IdeaVim in one-line editors and enable escape in dialogs 2020-06-19 16:46:37 +03:00
Alex Plate
e96ece23b8 Add strictMode to enable additional checks in dev mode 2020-06-19 09:45:46 +03:00
Alex Plate
a3a3db9bc8 Extract ListenerSuppressor from ListenerManager 2020-06-19 09:29:49 +03:00
Alex Plate
c350650f9c
Commands work on the last line 2020-06-09 03:41:38 +03:00
Alex Plate
786b7193d0
getLineCount does now respect last new line character 2020-06-09 03:04:48 +03:00
Alex Plate
2a6acba07f
S is now a synonym of cc and doesn't have a separate logic 2020-06-09 03:01:45 +03:00
Alex Plate
e5a5d112ca
Deprecate getFileSize method 2020-06-07 20:47:15 +03:00
Alex Plate
9e2cfe548b
[WIP] Removing usages of deprecated getFileSize 2020-06-07 19:50:32 +03:00
Alex Plate
f4d595f5c2
[WIP] Removing usages of deprecated getFileSize for SearchHelper 2020-06-07 19:42:01 +03:00
Alex Plate
c1e5b7d111
Remove deprecated usage in different files 2020-06-07 19:35:25 +03:00
Alex Plate
1eccc60cb3
Remove deprecated usage in moveTextHandler 2020-06-07 19:19:29 +03:00
Alex Plate
9f8095ae52
Formatting for MoveTextHandler.kt 2020-06-07 19:17:19 +03:00
Alex Plate
3674cf4aad
[WIP] Removing usages of deprecated getFileSize for MotionGroup 2020-06-07 19:17:05 +03:00
Alex Plate
6b0d2157c8
[WIP] Removing usages of deprecated getFileSize for go command 2020-06-07 19:06:04 +03:00
Alex Plate
5a629d6256
[WIP] Removing usages of deprecated getFileSize in getting file info 2020-06-07 18:37:15 +03:00
Alex Plate
b8909f97aa
[WIP] Removing usages of depracated getFileSize 2020-06-07 14:13:07 +03:00
Alex Plate
8c83ed6b55
Remove usage of deprecated getFileSize 2020-06-06 18:24:24 +03:00
Alex Plate
b161346171
Trying to get rid of getFileSize with allowEnd 2020-06-06 18:07:15 +03:00
Alex Plate
330e717518
Fix offset bounds 2020-06-04 10:24:18 +03:00
Alex Plate
dafc031ef6
Add checks for selectWord 2020-06-04 10:03:43 +03:00
Alex Plate
b00a2d3b79
Do not get findManager for nullable project
Fixes EA-231806
2020-06-04 09:36:53 +03:00
Alex Plate
c64ec34a1f
Fix let mapleader="\<SPACE>" 2020-06-03 11:42:39 +03:00
Alex Plate
8ed709c7bb
Use different file for storing local configs 2020-06-03 11:14:37 +03:00
Alex Plate
8e8e52c6f9
Create configuration migrators for IdeaVim 2020-06-03 11:05:48 +03:00
Alex Plate
f3e806c4a6
Create config package 2020-05-28 11:14:53 +03:00
Alex Plate
5f28a22666
Notes about unsupported features of exchange plugin 2020-05-22 15:06:20 +03:00
Alex Plate
98aee5d0ab
Fixes and more tests for vim exchange 2020-05-22 09:59:53 +03:00
Alex Plate
7203cc5cb3
Revert "Remove dynamic loader stopper"
This reverts commit 03493e23
2020-05-15 09:48:41 +03:00
Alex Plate
028423cf58
Make exchange extension repeatable 2020-05-14 10:37:37 +03:00
Alex Plate
2ead6af96a
Fix visual operator with dot command 2020-05-14 10:37:16 +03:00
Adrià Farrés
660b243056 Reset operator-pending commands on escape
Suppose we have the text "|Hello, world", with | being the position of
the cursor. Pressing `d<Esc>dw` simply moves the cursor on top of the
comma instead of leaving the text as ", world".

This fixes issue VIM-1421.
2020-05-13 05:03:49 +02:00
Alex Plate
c85f41e65b
Fix tests 2020-05-12 10:43:04 +03:00
Alex Pláte
89c2a8ec9b
Merge pull request #229 from fan-tom/VIM-921_exchange
VIM-921 vim-exchange plugin emulation
2020-05-12 10:08:53 +03:00
Alexey Gerasimov
f9fa15b7ac Parenthesize command names 2020-05-10 14:51:16 +05:00
Alex Plate
de5ce5f635
Update ideavimrc reload implementation 2020-05-09 22:56:10 +03:00
Alex Plate
2eb6fd6819
Convert VimParser to kt 2020-05-09 22:56:10 +03:00
Alex Plate
22ea4e7ffa
Rename .java to .kt 2020-05-09 22:56:10 +03:00
Alex Plate
3d98f3035f
Reload vimrc 2020-05-09 22:56:10 +03:00
Alex Pláte
0dc236cb5b
Merge pull request #231 from citizenmatt/feature/smooth-scrolling
Support smooth scrolling
2020-05-08 11:44:18 +03:00
Alex Plate
ab8be2cada
Update changes 2020-05-08 10:35:28 +03:00
Alex Pláte
b8c22d0928
Merge pull request #230 from fan-tom/VIM-1924_select_next_occurrence
VIM-1924
2020-05-08 10:30:34 +03:00
Alex Plate
6c0511a898
Update IdeaVim icons class 2020-05-06 09:38:47 +03:00
Alex Plate
03493e2390
Remove dynamic loader stopper 2020-05-06 09:36:41 +03:00
Alex Plate
11beb1e331
Add Piotr Mikulski to contributors list 2020-05-06 08:47:10 +03:00
Alex Pláte
01b4dc233a
Merge pull request #227 from angelbot/buffer_command
Add support for buffer command
2020-05-06 08:46:41 +03:00
Alex Pláte
9f1e80e969
Merge pull request #224 from pmnoxx/master
Populate intelij navigation history together with ideavim jumplist
2020-05-06 08:30:06 +03:00
Alex Plate
d11bf1c4d2
Update api 2020-05-06 08:14:34 +03:00
Alex Pláte
61677aa811
Merge pull request #233
Fix #VIM-1994
2020-05-06 08:13:40 +03:00
Alex Plate
fb04e835ef
Update vimBehaviourDiffers annotation description 2020-05-02 13:13:51 +03:00
Alex Plate
bb133922d6
Update scheduledForRemoval because of quickfix release 2020-05-01 11:30:26 +03:00
Alex Plate
44dd5ef872
Convert VimExtensionRegistrar to kt 2020-05-01 11:16:28 +03:00
Alex Plate
bcc8e1c055
Rename .java to .kt 2020-05-01 11:13:54 +03:00
Alex Plate
71117ed335
Update registration of extension pointers 2020-05-01 11:06:29 +03:00
Alex Plate
de07fb3b74
Well, the status bar icon should be configurable 2020-05-01 10:38:23 +03:00
Alex Plate
e31d5a4dcf
Initial cleanup after IJ requirements update 2020-04-30 11:43:24 +03:00
Alex Plate
e449bb9692
Refactor ChangeGroup listeners 2020-04-30 10:41:29 +03:00
Alex Plate
b8fc72b6a7
Do not create project manager if it doesn't exist yet 2020-04-30 10:28:03 +03:00
Alex Plate
0a0e3df42b
Extract statistic reporter into the separate file 2020-04-28 11:41:33 +03:00
Alex Plate
949c69a7e9
Refactor EditorGroup listeners 2020-04-28 11:41:33 +03:00
Alex Plate
69caf7a604
Refactor MotionGroup listeners 2020-04-28 11:41:32 +03:00
Alex Plate
23860ad5f9
Use project-level service as parent disposable 2020-04-28 11:41:32 +03:00
Alex Plate
ace5234d8d
Update showcmd widget 2020-04-28 11:41:32 +03:00
Alex Plate
4654f821a9
Fix issue with listener removing 2020-04-28 11:41:32 +03:00
Alex Plate
927e0e7865
Update status bar widget to the new API 2020-04-28 11:41:32 +03:00
Alex Plate
d47c9735b5
Use concurrent list to store listeners 2020-04-28 11:41:31 +03:00
Alex Plate
6100433636
Move StatusBar.kt to a different package 2020-04-28 11:41:31 +03:00
Alex Plate
ca8d05ff13
Clear keymap on reset 2020-04-28 11:41:30 +03:00
Alex Plate
626871e34d
Register topics via xml file 2020-04-28 11:41:29 +03:00
Alex Plate
1b18065e68
Small refactoring of handlers 2020-04-18 17:43:50 +03:00
Alex Plate
053dc02152
EditorActionHandlerBase doesn't take null as caret 2020-04-18 16:40:07 +03:00
Alex Pláte
4ec0bac275
Merge pull request #234 from runforprogram/master
[VIM-1991] fix >0 number register not work
2020-04-17 10:19:49 +03:00
Alex Plate
83dca71f69
[VIM-1992] Fix shift-letter mappings 2020-04-16 11:20:26 +03:00
run
962cfb7ae2
[VIM-1991] fix >0 number register not work 2020-04-16 15:45:57 +08:00
Valery Isaev
9bc2ec7d8a Fix #VIM-1994 2020-04-13 15:02:49 +03:00
Alex Plate
0a4683d908
Clean up repository for the release 2020-04-09 11:06:21 +03:00
Alex Plate
e88a3deafd
Fix replace with clipboard register 2020-04-09 10:25:42 +03:00
Matt Ellis
7de08e08d0
Support smooth scrolling 2020-04-07 17:30:18 +01:00
Alex Plate
95c7a13cb5
Turning plugin on should be performed after commands registration 2020-04-07 11:27:24 +03:00
Alex Plate
a83c326736
Add logging for activating ex panel 2020-04-03 08:23:55 +03:00
Alex Plate
b1acb56247
Fix exception for ciw on last char in file 2020-03-28 15:57:54 +03:00
Alex Plate
caa4731a13
Fix exception when using text objects on empty files 2020-03-28 15:39:06 +03:00
Alex Plate
5b0ece7a91
ReplaceWithRegister for clipboard registers 2020-03-23 10:34:53 +03:00
Alexey Gerasimov
a4cd94847e Return VISUAL_BLOCK submode from autodetect only if 'Add Selection for NextOccurrence' was not performed previously 2020-03-22 16:45:45 +05:00
Alexey Gerasimov
a0a7386b51 Remove highlight after command is executed or canceled 2020-03-21 20:08:57 +05:00
Alexey Gerasimov
535a72000f Cleanup 2020-03-21 20:08:37 +05:00
Alexey Gerasimov
60531b9cd2 Add methods in RegisterGroup and VimExtensionFacade to setRegister with specified selection type 2020-03-21 20:04:30 +05:00
Alexey Gerasimov
9ea08da133 Add VimExchange extension 2020-03-21 17:09:02 +05:00
Alexey Gerasimov
7db74460fa Fix marks range end position handling, as excluded 2020-03-21 17:09:02 +05:00
Alex Plate
4bbbdf8108
Fix ReplaceWithRegister to the empty line 2020-03-20 10:35:08 +03:00
Alex Pláte
04a193309d
Merge pull request #228 from kevin70/master
fixed #VIM-570
2020-03-20 10:34:58 +03:00
Alex Plate
f106ffa176
Support ReplaceWithRegister plugin emulation 2020-03-19 11:25:30 +03:00
Alex Plate
8d5d099542
Update icon on ideastatusicon option change 2020-03-19 09:13:49 +03:00
kk
4849992ca9 fixed #VIM-570 2020-03-18 18:49:55 +08:00
Alex Plate
623105650e
PutTextAction refactor 2020-03-17 09:43:40 +03:00
Alex Plate
5e2c01daa6
Rename PutTextAction.kt 2020-03-17 09:32:46 +03:00
Alex Plate
58bf3a4d30
Merge Put actions into one file 2020-03-17 09:28:49 +03:00
Alex Plate
246f5cd8cf
VIM-1911 Lookup keys respect IDE handler 2020-03-14 23:03:42 +03:00
Alex Plate
e632c653f6
Add showcmd text to widget label 2020-03-14 18:05:38 +03:00
Alex Plate
174d17b088
VIM-1958 Fix X command for linewise selection 2020-03-14 18:00:45 +03:00
Alex Plate
b768b26c85
Remove some warnings 2020-03-14 17:28:14 +03:00
Alex Plate
123ce6ebaf
Get rid of deprecated KeyEvents 2020-03-14 15:55:01 +03:00
Alex Plate
f898b8d181
Fix mappings to <S-Space> 2020-03-12 11:25:14 +03:00
Alex Plate
e9f9e531e4
Convert vim typed action to kt 2020-03-12 11:04:35 +03:00
Alex Plate
a7d813cb86
Rename .java to .kt 2020-03-12 11:04:35 +03:00
Alex Plate
75b6eedb12
Remove unused class 2020-03-12 10:33:52 +03:00
Alex Plate
ec6860aa90
Change the label of showcmd widget 2020-03-12 10:03:39 +03:00
Alex Plate
5cf661c6ae
Fix exception during command typing 2020-03-10 14:58:35 +03:00
Alex Plate
8c62caae7c
Fix compilation errors 2020-03-10 11:30:10 +03:00
Alex Pláte
b7af1e6289
Merge branch 'master' into feature/showcmd 2020-03-10 10:24:06 +03:00
Alex Plate
0c77b320db
VIM-570 Print non-ascii characters in ex panel 2020-03-06 13:03:28 +03:00
Alex Pláte
93462d7505
Merge pull request #221 from igrekster/master
argtextobj: support bracket pairs configuration via let g:argtextobj_pairs="..."
2020-03-06 09:54:33 +03:00
Alex Plate
7cdb7dc308
Fix some tests for older versions of IDE 2020-03-04 10:32:05 +03:00
John Weigel
2f148255f7 Cleanup 2020-03-03 23:14:11 -06:00
John Weigel
cb00b8b335 Merge remote-tracking branch 'upstream/master' into buffer_command 2020-03-03 23:10:00 -06:00
John Weigel
559b56c8a2 Minor updates 2020-03-03 23:05:32 -06:00
Alex Plate
2820decb5e
Rename variable 2020-03-03 11:07:07 +03:00
Alex Pláte
c64f368e6a
Merge pull request #217 from angelbot/master
Add support for buffer list (buffers, files, ls)
2020-03-03 11:05:43 +03:00
Alex Plate
b7c8e84f5e
Minor cleanup 2020-03-03 11:03:36 +03:00
Alex Plate
5acf6c9158
Convert VimPlugin to service 2020-02-28 21:11:12 +03:00
Alex Plate
a8197b0c84
Convert runnableHelper to kt 2020-02-28 18:15:40 +03:00
Alex Plate
2e03062c24
Rename .java to .kt 2020-02-28 18:15:39 +03:00
Alex Plate
0327ea972b
Make Open ideavimrc dumb aware 2020-02-28 10:29:38 +03:00
Alex Plate
561cc77ecc
Move related methods closer to each other 2020-02-28 09:42:22 +03:00
Alex Pláte
730ce3aca9
Merge pull request #226 from agrison/master
Implement the vim-textobj-entire plugin emulation.
2020-02-27 14:23:31 +03:00
Alexandre Grison
1893dc6afd Fixes from feedback.
Renamed `entiretextobj` to `textobj-entire` including packages and class name.
Renamed `<Plug>IncludingLeadingTrailing` to `<Plug>textobj-entire-a`.
Renamed `<Plug>IgnoringLeadingTrailing` to `<Plug>textobj-entire-i`.
Avoid iterating too much the buffer content.
2020-02-27 11:46:23 +01:00
igrekster
6ec39314ee argtextobj: support bracket pairs configuration via let g:argtextobj_pairs="..."
argtextobj by default only handles arguments inside parenthesis. This is
very limiting when editing C++ source files. This change allows the list
of bracket pairs to be configurable via a global IdeaVim variable. The
variable takes effect immediately.
2020-02-26 10:32:21 +11:00
John Weigel
33d34f35e9 Merge branch 'master' into buffer_command 2020-02-23 21:49:22 -06:00
John Weigel
1f4f40fd7c Merge remote-tracking branch 'upstream/master' 2020-02-23 21:48:30 -06:00
John Weigel
7c908b247e Merge branch 'master' into buffer_command 2020-02-23 21:14:21 -06:00
John Weigel
c87528939b Fix buffer numbering bug with filters.
Update test to cover fix.
2020-02-23 21:11:36 -06:00
John Weigel
41c822fde1 Add support for buffer command. 2020-02-23 20:45:06 -06:00
Alex Plate
b8a40d93f7
Now every service handles it's state separately. VimLocalConfig is a service 2020-02-21 12:03:02 +03:00
Alexandre Grison
36f6027b0e Implement the vim-textobj-entire plugin emulation. 2020-02-20 12:13:55 +01:00
Alex Plate
929eee4a12
Add comments for NotificationService.kt 2020-02-20 10:13:47 +03:00
Alex Plate
48927b1207
Small corrections after merge 2020-02-19 11:58:37 +03:00
Alex Plate
0820893dc6
Update annotations to java 8 style 2020-02-19 11:58:27 +03:00
Alex Pláte
dd6079cfa6
Merge pull request #219 from fan-tom/bugifx/1008
Fix block actions (i.e ci{) in presence of quotes (VIM-1008)
2020-02-19 11:53:19 +03:00
Piotr Mikulski
2a6569742d populate intelij navigation history together with ideavim jumplist 2020-02-17 17:55:45 -08:00
John Weigel
3d7d75bae4 Merge remote-tracking branch 'upstream/master' 2020-02-16 21:11:02 -06:00
John Weigel
6da4d0ce5e Rework buffer list to more closely mimic vim. 2020-02-16 20:40:17 -06:00
Alex Plate
c873081dc3
Merge pull request #133 from igrekster/master
Add argtextobj.vim plugin emulation
2020-02-14 12:30:13 +03:00
Alex Plate
eb01b25f35
Fix some cases by disabling [, { and < support (what is not supported in the original plugin) 2020-02-14 12:23:32 +03:00
Alex Plate
c0c9cfaf86
Get rid of several getText methods 2020-02-14 10:54:22 +03:00
Alex Plate
304f860eb2
Use java 8 JetBrains annotations 2020-02-14 10:32:18 +03:00
Matt Ellis
14c8b6a248
Fix nullability compile error on 2019.2 2020-02-11 10:29:02 +00:00
Matt Ellis
9b71215cde
Merge branch 'master' into feature/showcmd 2020-02-11 00:24:29 +00:00
Matt Ellis
4f43bcffb9
Replace SelectRegisterAction with direct parsing
It's not a command, but part of a command
2020-02-11 00:08:08 +00:00
Matt Ellis
29e4dc5fb5
Show digraph entry in showcmd 2020-02-10 23:38:02 +00:00
Matt Ellis
0dc95cb13c
[VIM-434] Display showcmd in status bar
IdeaVim has showcmd enabled by default. Vim has it enabled by default, but disabled for Unix, with concerns about slow terminals. It is enabled by defaults.vim
2020-02-10 11:35:52 +00:00
igrekster
5ee0a93675 Add argtextobj.vim plugin emulation 2020-02-09 11:57:54 +11:00
Alex Plate
767b3c4a39
Add some scheduled for removal annotations 2020-02-08 20:57:44 +03:00
Alex Plate
bb948a463c
Add option to make status bar icon gray 2020-02-08 20:56:13 +03:00
Alex Plate
e4e9a03d0a
Add information about why EPs are used to register actions and ex handlers. 2020-02-08 18:14:04 +03:00
Alex Plate
50ba386f59
Write tests for dynamic extensions 2020-02-08 18:07:20 +03:00
Alex Plate
bcc9b0a7b1
Remove plugin owner after extension removal 2020-02-08 15:38:54 +03:00
Alex Plate
2c8f4940b9
Support EasyMotion extension 2020-02-08 15:25:24 +03:00
Alex Plate
41876cf8fd
Make vimExtension dynamic 2020-02-08 14:56:39 +03:00
Alex Plate
f6fd0b52f0
Rename RequiredShortcutOwner to MappingOwner 2020-02-08 14:36:35 +03:00
Alex Plate
843faa7cc6
Make plugins disposable 2020-02-08 14:36:01 +03:00
Alexey Gerasimov
a8af2c3242 Fix Set creation 2020-02-07 22:24:46 +05:00
Alexey Gerasimov
e5bfad974e Copyright and comment 2020-02-07 21:50:06 +05:00
Alexey Gerasimov
50c2d04503 Migrate to new checkInString 2020-02-07 19:48:40 +05:00
Alexey Gerasimov
480de62686 Improve existing checkInString 2020-02-07 19:48:40 +05:00
Alexey Gerasimov
955b501058 Make Direction enum public 2020-02-07 19:48:40 +05:00
Alexey Gerasimov
d985527624 Rewrite checkInString in Kotlin 2020-02-07 19:48:40 +05:00
Alexey Gerasimov
afbe7f0e69 Add findPositionOfFirstCharacter function 2020-02-07 19:48:40 +05:00
Alexey Gerasimov
94e65ddce6 Use isQuoteWithoutEscape when findCharacterPosition to detect escaped char 2020-02-07 19:48:40 +05:00
Alexey Gerasimov
cb9f144255 isQuoteWithoutEscape small improvement 2020-02-07 19:48:40 +05:00
Alexey Gerasimov
ac84624faa Use Direction enum instead of int 2020-02-07 19:48:40 +05:00
Alexey Gerasimov
30097fbae6 Assume that caret is in string/char only if there is closing char 2020-02-07 19:48:40 +05:00
Alex Plate
c295dd5c62
Use special class for storing requiredShortcuts 2020-02-07 16:07:14 +03:00
Alex Plate
373fef2824
Refactor MappingInfo 2020-02-07 12:42:36 +03:00
Alex Plate
cfc255bf2b
Rename .java to .kt 2020-02-07 12:41:57 +03:00
Alex Plate
ea7e58535b
Fix tests 2020-02-07 12:41:47 +03:00
Alex Plate
0b67dd1d05
Merge pull request #218 from citizenmatt/feature/registers
Macros record input keystrokes, not mapped keystrokes

This PR fixes VIM-1835 by recording input keystrokes for macros instead of the mapped keystrokes.

This PR is also required as a stepping stone for showcmd support (VIM-434), as both issues require refactoring KeyHandler#handleKey, and I thought it best to separate the issues.

A few other things were fixed as part of this PR:

VIM-1899 - support an argument to the :registers command
VIM-1900 - improve output of :registers, :marks, :jumps and :ascii
2020-02-04 18:46:15 +03:00
Alex Plate
1519faef81
Fix compatibility with the IdeaVim-EasyMotion 2020-02-04 11:13:38 +03:00
Matt Ellis
9fad4a74ed
Remove keys from Command
Also refactors PutVisualTextAction
2020-02-04 00:36:59 +00:00
Matt Ellis
3eb46114f8
Remove Shortcut class 2020-02-03 23:35:04 +00:00
Matt Ellis
6a5fd30531
Remove unnecessary empty shortcut registration 2020-02-03 23:31:18 +00:00
Matt Ellis
96e83150e5
Ensure :jumps formats non-printable characters correctly
Also ensures long output lines are truncated
2020-02-03 22:50:39 +00:00
Matt Ellis
b2b65c65b9
Ensure :ascii formats non-printable characters correctly 2020-02-03 22:50:38 +00:00
Matt Ellis
5b028b4fa3
Ensure :marks formats non-printable characters correctly
Also adds a bunch of tests, and fixes offset for ^ and ] registers
2020-02-03 22:50:38 +00:00
Matt Ellis
8f4e1b3409
[VIM-1900] Ensure :reg formats non-printable characters correctly 2020-02-03 22:50:38 +00:00
John Weigel
ff209d0120 Merge remote-tracking branch 'origin/master' 2020-02-01 22:38:18 -06:00
John Weigel
ea2fe618b5 Add support for buffer list (buffers, files, ls). 2020-02-01 22:33:12 -06:00
Matt Ellis
3403cdf84b
[VIM-1835] Macros record actual keystrokes not mapped 2020-02-01 11:36:40 +00:00
Alex Plate
4f9a6f3a7b
Make vimExCommand EP dynamic 2020-01-31 19:14:11 +03:00
Alex Plate
c8d6d233e5
Revert [Make vimExCommand EP dynamic] 2020-01-31 18:15:55 +03:00
Alex Plate
0cfb65a19a
Make vimExCommand EP dynamic 2020-01-31 17:59:07 +03:00
Alex Plate
384d917021
Make vimAction EP dynamic 2020-01-31 12:05:46 +03:00
Alex Plate
f1c8c67789
Use enumMap to store key roots 2020-01-31 10:17:56 +03:00
Alex Plate
75e8f4ec6d
Deny vimAction extension point contributions from other plugins 2020-01-30 21:23:23 +03:00
Matt Ellis
d1d0323112
[VIM-1899] Add argument to :registers command
Also introduce testable clipboard handling
2020-01-27 10:47:37 +00:00
Alex Plate
ab31dae582
Add todo for VimLocalConfig 2020-01-27 12:25:45 +03:00
Alex Plate
64f176cedb
Control dynamic loading of plugin via the application component 2020-01-27 11:45:26 +03:00
Alex Plate
0d190e4a63
Update copyright 2020-01-27 11:35:00 +03:00
Alex Plate
13cdb7cc35
Merge pull request #215 from citizenmatt/refactor/command-state
Refactor key handler state
2020-01-27 11:34:48 +03:00
Alex Plate
80074177fc
Make ascii doc a bit clearer 2020-01-27 11:11:05 +03:00
Alex Plate
b2267c4b6c
Add information about non-released actions 2020-01-24 13:41:47 +03:00
Alex Plate
1b7c3f0da3
Merge pull request #214 from sumoooru2/master
Implement c_CTRL-N/P
2020-01-22 10:56:37 +03:00
Alex Plate
50c04ce71c
Change LookupKeys implementation 2020-01-20 15:29:40 +03:00
Alex Plate
bc6ff6bc8e
Convert characterHelper to kt 2020-01-19 17:55:15 +03:00
Alex Plate
93bcf2a7e8
Rename .java to .kt 2020-01-19 17:55:14 +03:00
Alex Plate
c3b503adff
Set up a mechanism to define the KeyStrokes that should work with active lookup 2020-01-19 17:34:12 +03:00
Alex Plate
ecdcbdda10
Put all range files into the ranges directory 2020-01-16 15:13:56 +03:00
Alex Plate
b97c9a5ed0
Rename .java to .kt 2020-01-16 15:13:55 +03:00
Alex Plate
84a6843a7b
Convert ExOutputModel to kt 2020-01-16 12:26:39 +03:00
Alex Plate
17eed7467c
Rename .java to .kt 2020-01-16 12:26:39 +03:00
Alex Plate
310ffc849c
Convert ExCommand to kt 2020-01-16 12:23:43 +03:00
Alex Plate
3e6756160a
Rename .java to .kt 2020-01-16 12:23:43 +03:00
Alex Plate
563e809a2d
Put all exceptions to single kt file 2020-01-16 12:18:20 +03:00
Alex Plate
86ec3f3bcd
Rename .java to .kt 2020-01-16 12:17:54 +03:00
Matt Ellis
7b225cb824
Remove CHAR_OR_DIGRAPH state 2020-01-07 20:14:56 +00:00
Matt Ellis
562e0b06df
Refactor expected argument type 2020-01-07 19:54:20 +00:00
Matt Ellis
51ce064507
Simplify and document handling of EX_STRING 2020-01-07 19:09:58 +00:00
Matt Ellis
ebaeff9b4d
Merge branch 'master' into refactor/command-state 2019-12-30 16:31:24 +00:00
Matt Ellis
8889e799ca
Refactor setting command argument 2019-12-30 16:26:32 +00:00
Matt Ellis
668705e475
Refactor handling of duplicate operator chars 2019-12-30 16:08:04 +00:00
Matt Ellis
e428e909bf
Simplify handling of count editing characters 2019-12-30 16:08:00 +00:00
Matt Ellis
d755c751c2
Move fix up of command/motion count 2019-12-30 15:36:52 +00:00
Matt Ellis
312c547412
Rearrange methods 2019-12-30 15:30:33 +00:00
Matt Ellis
48d30f2a3c
Extract CommandBuilder 2019-12-30 15:28:15 +00:00
Matt Ellis
d8ed30df14
Encapsulate command node state 2019-12-27 18:09:50 +00:00
Matt Ellis
50176cb267
Move mapping mode to mapping state 2019-12-27 16:19:57 +00:00
Matt Ellis
5898d21857
Remove unnecessary annotations 2019-12-27 12:44:13 +00:00
Matt Ellis
e3839bc0b2
Remove unused command flags override 2019-12-27 12:42:00 +00:00
Matt Ellis
f97555d4a8
Rename executing command 2019-12-27 12:34:13 +00:00
Matt Ellis
79bdca9769
Move command stack to per-editor state 2019-12-27 12:26:10 +00:00
sumoooru2
138c2956ac Implement c_CTRL-N/P 2019-12-27 19:37:01 +09:00
Matt Ellis
ced457dd94
Move command state to per editor state 2019-12-27 10:33:22 +00:00
Matt Ellis
784fc6c6fa
Rename mode state class and make immutable 2019-12-27 10:10:39 +00:00
Alex Plate
b4e0ec282f
Convert vim surround plugin to kt 2019-12-26 16:45:42 +03:00
Alex Plate
cbf7dfabcb
Rename .java to .kt 2019-12-26 16:45:42 +03:00
Alex Plate
69a273982f
Fix 183 capability 2019-12-24 10:34:57 +03:00
Matt Ellis
f817e6cb7f
Extract mapping state 2019-12-23 16:49:27 +00:00
Alex Plate
eef1b25e9f
Convert common package to kt 2019-12-23 17:20:15 +03:00
Alex Plate
622de851fe
Rename .java to .kt 2019-12-23 17:20:15 +03:00
Alex Plate
8cecb61d28
Convert selection type to kt 2019-12-23 16:21:39 +03:00
Alex Plate
77d8d27dfa
Rename .java to .kt 2019-12-23 16:21:39 +03:00
Alex Plate
340f259b17
[VIM-1884] Add CTRL-J to the list of keys working with lookup 2019-12-23 15:54:52 +03:00
Alex Plate
5cf68a7f06
[VIM-1878] Update submode in case of active template 2019-12-23 12:54:57 +03:00
Matt Ellis
6a622565ca
Move mapping availability check 2019-12-19 17:00:38 +00:00
Alex Plate
0ae5abcd0c
[VIM-1874] Add possibility to execute option listener after adding 2019-12-19 18:54:51 +03:00
Alex Plate
b6cecb2125
Refactor options change listener 2019-12-19 18:54:50 +03:00
Alex Plate
3aa3a9c9a8
Get rid of unused name sorter 2019-12-19 18:13:51 +03:00
Alex Plate
2c11ed43e4
[VIM-1875] Fix isk loading on startup 2019-12-19 17:12:29 +03:00
Matt Ellis
23126aeb6d
Extract abandoned mapping sequence handling 2019-12-19 11:49:53 +00:00
Matt Ellis
61fd67472b
Extract completed mapping sequence handling 2019-12-19 11:39:34 +00:00
Matt Ellis
105c073e1f
Extract unfinished mapping sequence handling 2019-12-19 01:11:24 +00:00
Rafał Hajdacki
b695e3c646 Fix usage of invalid path separator 2019-12-18 14:09:40 +01:00
Matt Ellis
200f3484b6
Move current arg type state to per-editor 2019-12-10 20:20:13 +00:00
Matt Ellis
6a40eb48fe
Remove forward search state 2019-12-10 20:14:32 +00:00
Matt Ellis
fb3e9ce9f3
Move captured keys to per-editor state 2019-12-10 20:11:08 +00:00
Matt Ellis
91865460a2
Move DigraphResult to top level class 2019-12-10 20:05:12 +00:00
Matt Ellis
644afe541e
Move <BS> digraph state to DigraphSequence 2019-12-10 20:01:42 +00:00
Matt Ellis
232303f06a
Refactor to maintain digraph state at all times
Also allows <C-K> and <C-V>/<C-Q> to be remapped
2019-12-10 19:59:11 +00:00
Matt Ellis
280845610b
Move digraph sequence state to per-editor 2019-12-10 19:32:25 +00:00
Matt Ellis
6108c9d6d2
[VIM-1284] Allow mapping numbers
Includes special case for 0 while entering counts. See :help :map-modes.
Also fixes issues when both operator and motion have a count - value should be multiplied, not appended (e.g. 3d2w is the same as 6dw, no 32dw!). See :help operator
2019-12-10 19:31:38 +00:00
Matt Ellis
ce04e995ee
Move command count state per editor 2019-12-10 19:31:23 +00:00
Alex Plate
917b77c8ad
Remove unused ifs 2019-12-10 10:18:54 +03:00
Alex Plate
a2cd8ec19c
Add left/right to the list of keys working with lookup 2019-12-10 10:12:51 +03:00
Alex Plate
6300d39065
Another approach to handle with warnings 2019-12-06 18:52:15 +03:00
Alex Plate
2457079724
Fix some code smells 2019-12-06 18:31:06 +03:00
Alex Plate
ba84e723e8
Remove unused option type 2019-12-06 18:23:27 +03:00
Alex Plate
bf75e75d6f
ListOption can't return null anymore 2019-12-06 18:17:42 +03:00
Alex Plate
c3183a8bd7
Replace string buffer with string builder 2019-12-06 18:14:59 +03:00
Alex Plate
7c162fc7ed
Fix some possible exceptions 2019-12-06 18:14:35 +03:00
Alex Plate
529c5ac8d7
Fix isPuncf method 2019-12-06 18:11:42 +03:00
Alex Plate
60e619e45e
ExPanel doesn't return null 2019-12-06 17:55:59 +03:00
Alex Plate
a89bdcdd3b
Fix exception with d: 2019-12-06 16:36:28 +03:00
Alex Plate
0b517671cb
Make some argument collections immutable 2019-12-05 17:27:14 +03:00
Alex Plate
a15dc3ed60
Suppress some inspections 2019-12-05 12:58:32 +03:00
Alex Plate
b7d60f4cb5
Fix tests 2019-12-04 16:19:16 +03:00
Alex Plate
82a331a940
VIM-1362 Search with confirm scroll down far enough 2019-12-04 16:05:11 +03:00
Alex Plate
c31e688f11
Suppress deprecation 2019-12-04 15:49:47 +03:00
Alex Plate
0c887027d3
Suppress some deprecations 2019-12-04 12:44:18 +03:00
Alex Plate
7c7df85d1a
Perform partial reset after autocomplete 2019-12-03 13:22:09 +03:00
Alex Plate
a7c025d927
Add Enter to the list of keys that are not processed with active lookup 2019-12-03 12:50:33 +03:00
Alex Plate
dc713c477b
Disable down/up keys for lookup 2019-12-02 15:57:08 +03:00
Alex Plate
7e71edaee2
Suppress wrong error 2019-12-02 15:49:20 +03:00
Alex Plate
3f8925cbb0
VIM-1853 Fix marks for disposable projects 2019-12-02 15:47:02 +03:00
Alex Plate
5f9e24b314
VIM-1855 Fix initialization error 2019-12-02 10:56:08 +03:00
Alex Plate
dcd799ad85
Comment deprecated method 2019-12-02 10:48:30 +03:00
Alex Plate
ff0d7a4345
Update initialization logic 2019-12-02 10:47:33 +03:00
Alex Plate
d68bad313e
VIM-1854 Fix i_Ctrl-T
Refactor shift left/right classes as well
2019-11-29 12:33:08 +03:00
Alex Plate
bd09917396
Remove async startup and different small optimizations 2019-11-29 11:46:34 +03:00
Alex Plate
17a87f80e3
All keys are allowed during the lookup except TAB 2019-11-28 19:38:46 +03:00
Alex Plate
59f4dc8c78
Surround and Commentary extensions can be repeated with a dot command
VIM-1118
2019-11-28 18:58:58 +03:00
Alex Plate
572a96328a
CTRL-A accepts all sizes of number
VIM-1424
2019-11-28 18:08:02 +03:00
Alex Plate
a7ac3bec7f
Reset keyHandler state before the command execution 2019-11-28 15:56:06 +03:00
Alex Plate
3e78f50a76
Create commandState helper function 2019-11-28 14:42:57 +03:00
Alex Plate
a4843e57cb
Remove REPEAT mode
Replace it with `isDotRepeatInProgress()` method
2019-11-28 13:31:57 +03:00
Alex Plate
d6d90dda58
Rename FLAG_NO_REPEAT to FLAG_NO_REPEAT_INSERT 2019-11-28 13:02:49 +03:00
Alex Plate
c92c5e234c
Convert some classes to kt 2019-11-28 12:13:29 +03:00
Alex Plate
987f06d518
Rename .java to .kt 2019-11-28 12:13:29 +03:00
Alex Plate
eaf7476785
Refactor repeat action 2019-11-28 12:13:29 +03:00
Alex Plate
5c559f921d
[VIM-1847] Add option to remove the status bar icon 2019-11-27 11:00:42 +03:00
Alex Plate
77f6b3fcb8
Show the plugin version for internal mode 2019-11-26 15:55:33 +03:00
Alex Plate
f56ed7fd50
Update status bar popup location 2019-11-26 13:22:20 +03:00
Alex Plate
a470b579a9
Fix exception 2019-11-26 11:55:54 +03:00
Alex Plate
a2eb7d44c0
Fix turn off and on plugin 2019-11-26 11:29:32 +03:00
Alex Plate
dfc83a7aea
Update ktdocs 2019-11-25 19:38:04 +03:00
Alex Plate
71686e45e3
[EA-211536] Fix exception by aliasing 2019-11-25 19:31:17 +03:00
Alex Plate
d836320b31
[VIM-1845] Show action group popups 2019-11-25 18:50:00 +03:00
Alex Plate
19e7c058c3
Convert VimShortcutKeyAction to kt 2019-11-25 14:16:58 +03:00
Alex Plate
f1ae3607e4
Rename .java to .kt 2019-11-25 14:16:57 +03:00
Alex Plate
d03bfaeb53
Convert action package to kt 2019-11-25 14:05:23 +03:00
Alex Plate
33f363cb31
Rename .java to .kt 2019-11-25 14:05:23 +03:00
Alex Plate
cdb87b6a70
Convert file package to kt 2019-11-25 13:59:27 +03:00
Alex Plate
b5497d83a9
Rename .java to .kt 2019-11-25 13:59:26 +03:00
Alex Plate
802b7c33b6
Convert copy package to kt 2019-11-25 13:36:00 +03:00
Alex Plate
bb4f81fb84
Rename .java to .kt 2019-11-25 13:35:59 +03:00
Alex Plate
998073ac7f
Convert shift package to kt 2019-11-25 12:13:55 +03:00
Alex Plate
93c7a5bdd2
Rename .java to .kt 2019-11-25 12:13:55 +03:00
Alex Plate
3fb2ce47e9
Convert insert package to kt 2019-11-25 12:04:57 +03:00
Alex Plate
61a8217d83
Rename .java to .kt 2019-11-25 12:04:56 +03:00
Alex Plate
ad5e4341fa
Convert delete package to kt 2019-11-25 11:57:42 +03:00
Alex Plate
5b192795e6
Rename .java to .kt 2019-11-25 11:57:42 +03:00
Alex Plate
5db9c5d31e
Convert change package to kt 2019-11-25 11:36:29 +03:00
Alex Plate
ff469a386e
Rename .java to .kt 2019-11-25 11:36:29 +03:00
Alex Plate
3a90cf0e7b
Convert number package to kt 2019-11-25 11:31:27 +03:00
Alex Plate
07dbad8c70
Rename .java to .kt 2019-11-25 11:31:27 +03:00
Alex Plate
390d92b16f
Fix bindings for active lookup
VIM-1325
2019-11-22 19:37:52 +03:00
Alex Plate
d45d56f330
Find action by id without all actions initiation 2019-11-22 17:35:20 +03:00
Alex Plate
2e7cde3ca5
Replace TODO with TO BE IMPLEMENTED in info file 2019-11-22 16:55:49 +03:00
Alex Plate
0594ea0b98
Convert macro package to kt 2019-11-22 16:26:05 +03:00
Alex Plate
37d09781b4
Rename .java to .kt 2019-11-22 16:25:43 +03:00
Alex Plate
b0f3a0ea30
Convert motion package to kt 2019-11-22 15:54:57 +03:00
Alex Plate
8282abf264
Rename .java to .kt 2019-11-22 15:53:22 +03:00
Alex Plate
e863ffd949
Update getKeyStroke for Neo layouts
VIM-987
2019-11-21 17:06:00 +03:00
Alex Plate
d3d35bbea1
Fix incapability with <193 2019-11-20 18:12:20 +03:00
Alex Plate
8eff6d80a2
Fix after update 2019-11-20 18:09:11 +03:00
Alex Plate
77c8947ccd
Fix after update 2019-11-20 18:00:54 +03:00
Alex Plate
48556f6917
Update first plugin initialization 2019-11-20 17:59:08 +03:00
Alex Plate
2e8dc4234f
Do not connect to the EditorAcgtionManager before the first editor is created 2019-11-20 17:59:07 +03:00
Alex Plate
a6a60b6e71
Do not start project manager 2019-11-20 17:59:05 +03:00
Alex Plate
eba9eaf37a
Faster command parser 2019-11-20 17:59:04 +03:00
Alex Plate
ae31b1c23d
Faster keys parsing 2019-11-20 17:59:02 +03:00
Alex Plate
535a0532df
Use ArrayList implementation for KeyMapping 2019-11-20 17:59:01 +03:00