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

544 Commits

Author SHA1 Message Date
dependabot[bot]
35142e5204 Bump junit-jupiter-engine from 5.8.1 to 5.9.2
Bumps [junit-jupiter-engine](https://github.com/junit-team/junit5) from 5.8.1 to 5.9.2.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.8.1...r5.9.2)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-14 18:28:02 +02:00
filipp
9454ebcb35 Move some methods to engine 2023-03-13 19:34:14 +02:00
Alex Plate
441721b63f
Reformat source code 2023-03-13 11:44:02 +02:00
Alex Plate
0eda85c95e
Enable explicitApiMode for vim-engine 2023-03-13 11:39:50 +02:00
Alex Plate
01e4c80adb
Remove traces of the experimental API 2023-03-13 10:29:09 +02:00
Alex Plate
0e8ec4d445
Set visibility for classes in vim-engine 2023-03-13 10:22:53 +02:00
Alex Plate
a0d3cf561b
Apply ktlint reformat 2023-03-13 08:43:52 +02:00
filipp
f385c3fa21 Fix(VIM-795): Ctrl-w + h doesn't alway work (window navigation to the left window) 2023-03-12 00:20:08 +02:00
filipp
7768c9147d Fix(VIM-2819): Move command works incorrectly 2023-03-11 20:01:55 +02:00
filipp
3ddd4a1a58 Fix(VIM-2868): Pasting in visual mode with P should not replace yank register like when pasting with p 2023-03-10 23:30:35 +02:00
filipp
2369814092 Fix(VIM-2884): Moving multiple lines in visual mode is not working 2023-03-10 22:48:16 +02:00
filipp
4c7c3dba00 Fix(VIM-2733): vim-surround emulation interacts incorrectly with unmatched quotes on previous lines 2023-03-10 21:20:18 +02:00
filipp
aebad12bbe Add some useful methods to work with strings 2023-03-10 20:39:13 +02:00
Alex Plate
8593e7a6ac
Small reformat of kotlin script 2023-03-10 19:03:35 +02:00
Alex Plate
119975c313
Remove experimental API 2023-03-10 18:30:07 +02:00
Alex Plate
27c3a95ec6
Provide visibility for some classes 2023-03-10 18:15:48 +02:00
Alex Plate
8066ac2819
Enable explicit api mode for vim-engine
But without fixes as there are 3000 violations
2023-03-10 13:23:24 +02:00
Alex Plate
88b3373e5c
Add option to enable octopus handler 2023-03-10 12:11:17 +02:00
Matt Ellis
c192f319d1 Simplify setting known options a little 2023-03-10 10:17:45 +02:00
Matt Ellis
097dfa06a6 Add a couple of convenience functions 2023-03-10 10:17:45 +02:00
Matt Ellis
90ca544d0a Move getter helpers out of the options interface
The interface now has a simple setter and getter, as well as other functions for managing options. More friendly functions for getting and setting values are available as extension functions
2023-03-10 10:17:45 +02:00
Matt Ellis
2bc9640b88 Remove last of 'set' validation code 2023-03-10 10:17:45 +02:00
Matt Ellis
40ffddf5ef Push toggle option validation into ':set' command 2023-03-10 10:17:45 +02:00
Matt Ellis
bd28c9da23 Push more ':set' command validation into command 2023-03-10 10:17:45 +02:00
Matt Ellis
11ef024779 Move ':set' command validation out of interface
Moves functions that require validation parameters to extension functions. Core interface should not require additional user facing paramter
2023-03-10 10:17:45 +02:00
Matt Ellis
40d9a201ea Use bundle for exception messages 2023-03-10 10:17:45 +02:00
Matt Ellis
6e2ac21fab Refactor getDefaultValue into property 2023-03-10 10:17:45 +02:00
Matt Ellis
7858cf57c6 Fix number operations for set command 2023-03-10 10:17:45 +02:00
Matt Ellis
91c8e7ebda Rename getOptionByNameOrAbbrev 2023-03-10 10:17:45 +02:00
Matt Ellis
6332ee6955 Remove unnecessary argument text 2023-03-10 10:17:45 +02:00
Matt Ellis
3c3014fdc6 Remove unused getAbbrevs function 2023-03-10 10:17:45 +02:00
Matt Ellis
d97e4c44ee Rename "token" and remove default argument 2023-03-10 10:17:45 +02:00
Matt Ellis
96c1094a61 Replace OptionService with VimOptionGroup
Leaves a skeleton, deprecated implementation of OptionService for existing external use by plugins
2023-03-10 10:17:45 +02:00
Matt Ellis
b3551b4ee5 Remove empty file 2023-03-10 10:17:45 +02:00
Matt Ellis
73b64c19ff Move OptionValueAccessor to options package 2023-03-10 10:17:45 +02:00
Matt Ellis
418067b077 Remove unused deprecated method
No external usages
2023-03-10 10:17:45 +02:00
Matt Ellis
88b29d1a14 Isolate and remove deprecated code
Moves ToggleOption to the proper package, leaving behind a skeleton class to keep ideavim-sneak and IdeaVim-EasyMotion happy.

Removes NumberOption and related number OptionsManager properties which are only used by which-key 0.6.2, because this plugin is already broken due to a separate API change. (The plugin is expecting the command trie to use `CommandPartNode<ActionBeanClass>`, but it's actually using `CommandPartNode<VimActionsInitiator>`). Also removes `ToggleOption.value`, used by which-key
2023-03-10 10:17:45 +02:00
Matt Ellis
4540d216cb Move StrictMode out of options package 2023-03-10 10:17:45 +02:00
Alex Plate
181d76ae7b
Improvements for octopus handler 2023-03-09 16:45:06 +02:00
filipp
72be9845fa Fix(VIM-2885): "v:searchforward" does't work for IdeaVim 2023-03-09 15:56:34 +02:00
filipp
a6a4e50479 Add ` mark to jumplist 2023-03-09 15:29:13 +02:00
filipp
8303cafbc9 Fix(VIM-2244): nnoremap mapping doesn't work correctly 2023-03-09 14:01:35 +02:00
filipp
21aaf06a63 Add split function 2023-03-08 19:21:02 +02:00
Alex Plate
0e96819e86
Update creation of execution context 2023-03-08 11:35:01 +02:00
filipp
b94b4eea04 Better per caret register storage 2023-03-07 22:31:08 +02:00
filipp
2c9aa8e30e FIX(VIM-2881): ReplaceRegister does no longer worker with MultiCursor 2023-03-07 17:24:19 +02:00
Alex Plate
5b636b2b5e
Perform code cleanup 2023-03-03 17:57:42 +02:00
Alex Plate
e788ea6d7f
Remove unused deprecated field 2023-03-03 17:57:41 +02:00
Dominic Palmer
dd69d0fad2 Prevent viewport displacement on undo 2023-03-01 17:41:59 +02:00
filipp
8fe6c8bde7 Jumps refactoring 2023-02-28 13:11:08 +02:00
Alex Plate
6e854eb889 Update formatting 2023-02-26 00:19:08 +00:00
filipp
aaf957a3c2 Fix(VIM-44): Unify navigation history between ideavim and idea 2023-02-24 14:44:53 +02:00
Alex Plate
b4764a230a
Fix small bug 2023-02-23 08:58:29 +02:00
Alex Plate
87083e03a8 Update formatting 2023-02-19 00:18:26 +00:00
Alex Plate
d49052660f
Fix(VIM-2315): Fix overlapping mappings execution 2023-02-15 10:09:37 +02:00
Alex Plate
f5299d4b75
Extract processing of the mappings into the separate file 2023-02-15 09:39:30 +02:00
Alex Plate
35b366640f
Fix compilation 2023-02-15 09:23:44 +02:00
filipp
933070fc32 Update formatting 2023-02-13 13:06:31 +02:00
filipp
ec80a20146 Rename method 2023-02-13 13:05:34 +02:00
filipp
cd46497829 Fix(VIM-282): Cursor line wrapping support (whichwrap) 2023-02-13 13:04:53 +02:00
Alex Plate
cb51a78509 Update formatting 2023-02-12 00:18:06 +00:00
filipp
6a52d0c83a Fix visual marks if put text with multiple carets 2023-02-07 19:28:37 +02:00
filipp
0accfbd65f Fix(VIM-1768): Delete surrounding character while in multiple cursors mode 2023-02-01 23:06:25 +02:00
filipp
6016aac675 Fix(VIM-2804): IdeaVim multiple-cursors copy and paste issue when "set clipboard+=unnamed" 2023-02-01 21:08:55 +02:00
Alex Plate
007a1694d7
Remove useless parameter 2023-02-01 19:50:48 +02:00
Alex Plate
cbf450425e
Add some docs 2023-02-01 19:45:19 +02:00
filipp
d577411e72 Fix(VIM-2850) 2023-01-27 00:20:40 +02:00
filipp
052fe75183 Fix dropLastJump 2023-01-23 13:02:35 +02:00
dependabot[bot]
5c7190710b Bump junit-jupiter-api from 5.8.1 to 5.9.2
Bumps [junit-jupiter-api](https://github.com/junit-team/junit5) from 5.8.1 to 5.9.2.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.8.1...r5.9.2)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-23 10:01:10 +02:00
Alex Plate
dd76de2066
Source vimrc in template only if it exists 2023-01-23 09:34:18 +02:00
Alex Plate
1a7e3ed658
Add some fixes 2023-01-23 08:53:24 +02:00
Alex Plate
484a1f264b Update formatting 2023-01-22 00:18:31 +00:00
filipp
e79821385d Remove caret from method signatures in CaretRegisterStorage 2023-01-20 17:24:28 +02:00
filipp
46f0309171 VIM-2840 Replace with register does not work with count 2023-01-20 16:33:16 +02:00
Matt Ellis
308e8bfbc3 Replace default interface methods with extensions 2023-01-18 17:47:32 +02:00
Matt Ellis
11fcb17c29 Replace appendValue with :set in tests 2023-01-18 17:47:32 +02:00
Matt Ellis
9c54fbe733 Migrate isSet to option value accessor API 2023-01-18 17:47:32 +02:00
Matt Ellis
9cc206d548 Introduce friendly API for consuming options 2023-01-18 17:47:32 +02:00
Matt Ellis
8d44afc8e6 Sort option name constants 2023-01-18 17:47:32 +02:00
Matt Ellis
62ed3bd7f2 Rename option name constants 2023-01-18 17:47:32 +02:00
Matt Ellis
89889924fc Tidy up imports 2023-01-18 17:47:32 +02:00
Matt Ellis
dda592cb39 Small refactor 2023-01-18 17:47:32 +02:00
Matt Ellis
bb44044956 Move IJ specific options out of engine 2023-01-18 17:47:32 +02:00
Matt Ellis
d95810f6e5 Sort options 2023-01-18 17:47:32 +02:00
Matt Ellis
26c275b0f5 Introduce UnsignedNumberOption 2023-01-18 17:47:32 +02:00
filipp
341dc6c58b Post-merge fixes 2023-01-17 16:15:34 +02:00
filipp
a2364b7512 Pull request polishing 2023-01-16 19:23:13 +02:00
filipp
d2c849fceb Post-merge fixes 2023-01-16 19:21:10 +02:00
filipp
c4e9d5d14f Multiple carets support for marks 2023-01-16 19:19:46 +02:00
filipp
9ab9d88eb5 VimJumpService implementation 2023-01-16 18:51:11 +02:00
filipp
75ff5feccd LastSelectionInfo now stores buffer positions instead of offset
Updating lastSelectionInfo after insertion & deletion
2023-01-16 18:51:11 +02:00
filipp
a4c7b38b7a Update formatting 2023-01-16 18:51:11 +02:00
filipp
ec86608aff Fix visual selection marks for the :move command 2023-01-16 18:51:11 +02:00
filipp
4010854075 Multicaret gv 2023-01-16 18:51:10 +02:00
filipp
fe1ae29fa3 Better selection marks 2023-01-16 18:40:31 +02:00
filipp
8c7d0b06d1 KeySorter for MarksCommand 2023-01-16 18:40:31 +02:00
filipp
af497e6906 Post-merge fixes 2023-01-16 18:40:30 +02:00
filipp
badb61aaea Move command no longer removes marks 2023-01-16 18:40:25 +02:00
filipp
5884919350 Fix mark order for marks command 2023-01-16 18:40:25 +02:00
filipp
ce77148a38 Multiple carets support for marks 2023-01-16 18:40:24 +02:00
Alex Plate
0ee6ce0a55
Remove some forEachCaret methods 2023-01-16 11:43:00 +02:00
Alex Plate
39f0e14fee
Remove one of the unused methods 2023-01-16 09:53:52 +02:00
Alex Plate
141af4f097
Remove one of for each methods 2023-01-12 10:19:11 +02:00
Alex Plate
35ef9c7e68
Update new .ideavimrc template 2023-01-12 09:27:07 +02:00
Alex Plate
908c978242
Global copyright update 2023-01-10 10:09:25 +02:00
Alex Plate
337c526e23
Fix(VIM-2833): Fix rare deadlock during put in insert mode from clipboard 2023-01-06 09:58:52 +02:00
Alex Plate
fb46993a05
Reformat sources 2023-01-06 09:26:05 +02:00
Alex Plate
ef2738838f
Update copyright rules 2023-01-06 09:26:05 +02:00
Alex Plate
6196417436
Fix minor issue with offsets 2023-01-06 09:26:04 +02:00
Matt Ellis
8d3ccdaf9c Extract scroll functionality into ScrollGroup 2023-01-06 09:22:08 +02:00
Matt Ellis
30d4b06393 Fix dangling doc comment 2023-01-06 09:22:08 +02:00
Alex Plate
e28ec93c80
Reformat project 2023-01-04 08:44:28 +02:00
Alex Plate
72ae18557b
Fix broken link in the code 2022-12-28 09:03:19 +02:00
Alex Plate
7f626005a5
Fix for the dd on last line in the notebook 2022-12-27 18:22:24 +02:00
Alex Plate
654a443d4b
Fix compatibility with plugins 2022-12-21 10:59:23 +02:00
Alex Plate
b154e31a28 Update formatting 2022-12-04 00:16:36 +00:00
Alex Plate
322b888dc5
Add update to the evolution 2022-12-02 12:03:58 +02:00
Alex Plate
42eefb763b
Add an editor to the action executor 2022-12-02 11:52:39 +02:00
Alex Plate
27be351636
Adopt immutable caret around the source code 2022-12-02 11:36:46 +02:00
Alex Plate
8b20287f93
Use immutable caret during put 2022-12-01 19:15:33 +02:00
Alex Plate
dcac3be0da
Pass editor to the message service 2022-12-01 14:29:54 +02:00
Alex Plate
ec121fb327
Adapt to immutable caret 2022-12-01 14:17:29 +02:00
Alex Plate
ccb260b6a7
Make showmode on by default as in vim 2022-12-01 14:14:57 +02:00
Alex Plate
c994511ea5
Add dashes to showcmd 2022-12-01 11:01:23 +02:00
Alex Plate
fb5177633a
More uses of ImmutableVimCaret 2022-12-01 08:38:52 +02:00
Alex Plate
743b978e6f
Update engine 2022-11-30 13:11:16 +02:00
Alex Plate
cbabd8b76e
Add new mapping mode set 2022-11-30 12:00:10 +02:00
Alex Plate
1fd877c597
Small refactoring of vim caret 2022-11-30 11:49:09 +02:00
Alex Plate
8db23fba43
Extract ImmutableVimCaret interface 2022-11-29 20:02:26 +02:00
Alex Plate
0451487549
Update engine to support immutable caret 2022-11-29 20:02:25 +02:00
Runinho
ceaf290f5e check offset, add test for put before guard 2022-11-29 08:44:13 +02:00
Runinho
5df9ae57ce Fix(VIM-2577) paste not working at end of notebook cell 2022-11-29 08:44:13 +02:00
Alex Plate
8ae35160e7
Move method to a different file 2022-11-28 18:25:11 +02:00
Alex Plate
650b925251
Refactor caret movement 2022-11-28 16:56:15 +02:00
Alex Plate
a8bebb88b1
Move vimLeadSelectionOffset to the engine 2022-11-28 13:19:16 +02:00
Alex Plate
3294a74979
Create vim engine evolution file 2022-11-25 17:06:45 +02:00
Alex Plate
db95804eeb
Move caret method now returns VimCaret instance
This is important for Fleet because the carets in Fleet are immutable
2022-11-25 16:53:19 +02:00
Alex Plate
98624d8701
Add method for carets 2022-11-25 13:39:38 +02:00
Alex Plate
9710a7bfc1
Small reformat of state machine 2022-11-25 13:35:29 +02:00
Alex Plate
34426ae32d
Pass editor to undo redo 2022-11-25 13:35:29 +02:00
Alex Plate
4df2abba82
Fix(VIM-758): Support d mappings 2022-11-25 13:11:13 +02:00
Alex Plate
4f6053f767
File cleanup 2022-11-25 09:31:34 +02:00
Matt Ellis
84a6c40e13 Fix incorrect normalising for trailing inlay 2022-11-23 12:02:55 +02:00
Alex Plate
368c840177
Supress warning 2022-11-22 09:54:36 +02:00
Alex Plate
7324ee5e8d Update formatting 2022-11-20 00:18:56 +00:00
Alex Plate
54c2299654
Remove several methods from VimCaret 2022-11-18 14:37:32 +01:00
Alex Plate
b2cfb6d6ed
Refactor visual mode entering 2022-11-18 13:08:27 +01:00
Alex Plate
e881bec45d
Move more change group methods to engine 2022-11-17 16:14:26 +01:00
Alex Plate
18eea7ca2d
Move change group methods to the engine 2022-11-17 16:03:41 +01:00
Alex Plate
316410a561
Move some methods from put group to the engine 2022-11-17 14:57:19 +01:00
Alex Plate
c243ae9cef
Add refactoring to simplify change group 2022-11-17 14:07:57 +01:00
Alex Plate
2722ee63cc
Move yank group to injector base 2022-11-17 14:07:57 +01:00
Matt Ellis
22e7fa1cf3 Add comments 2022-11-17 14:07:46 +01:00
Matt Ellis
101dc355ba Rename parameters in Mark and Jump 2022-11-17 14:07:46 +01:00
Matt Ellis
f5f3d0b827 Rename line parameters and variables
Buffer lines are just called "line", but visual lines (or where things are ambiguous) are explicitly named
2022-11-17 14:07:46 +01:00
Matt Ellis
53cb5d1fe9 Rename more logical position helper functions 2022-11-17 14:07:46 +01:00
Matt Ellis
0978ca616f Rename caret logical position helper functions 2022-11-17 14:07:46 +01:00
Matt Ellis
bbf42c0a28 Rename editor logical position helper functions 2022-11-17 14:07:46 +01:00
Matt Ellis
7df04c6e2e Rename VimLogicalPosition to BufferPosition 2022-11-17 14:07:46 +01:00
Alex Plate
309197781e
Fix some tests 2022-11-17 10:14:03 +01:00
Alex Plate
5a3ee970a0
Move editor helper functions to engine 2022-11-17 09:37:22 +01:00
Alex Plate
7cbe63e484
Move some editor functions to engine 2022-11-16 23:21:22 +01:00
Alex Plate
7eeca57135
A few fixes 2022-11-16 13:22:40 +01:00
Alex Plate
2162985e4a
Move more methods to engine 2022-11-16 13:05:59 +01:00
Alex Plate
5d53f4c13a
Move some methods from editor helper to engine 2022-11-16 12:37:03 +01:00
Alex Plate
b9fc58ec45
Move some methods to engine 2022-11-16 09:45:07 +01:00
Alex Plate
193a84dafd
Move method to engine 2022-11-16 09:43:53 +01:00
Alex Plate
3880a33208
Refactoring 2022-11-16 09:43:53 +01:00
Alex Plate
2edf897e39
Move getMotionRange to base method 2022-11-16 09:43:51 +01:00
Matt Ellis
27d1170c75 Move creating adjusted offset out of action 2022-11-16 09:41:59 +01:00
Matt Ellis
11c850a41e Remove unused property 2022-11-16 09:41:59 +01:00
Matt Ellis
ff4ee06a1f Remove unnecessary setting of vimLastColumn 2022-11-16 09:41:59 +01:00
Matt Ellis
0549f32d6e Remove unnecessary base class 2022-11-16 09:41:59 +01:00
Matt Ellis
c5ab3490b3 Remove preOffsetComputation hook
Cached intended column is invalidated and recalculated if the caret has moved (intentionally or outside IdeaVim's control)
2022-11-16 09:41:59 +01:00
Matt Ellis
50ba1a1c4e Simplify overloads 2022-11-16 09:41:59 +01:00
Matt Ellis
ee45d2fb38 Remove unused postMove hooks 2022-11-16 09:41:59 +01:00
Matt Ellis
a94822b79a Remove unused preMove hooks 2022-11-16 09:41:59 +01:00
Matt Ellis
b5aba454ae Remove more postMove overrides 2022-11-16 09:41:59 +01:00
Matt Ellis
a49631e986 Start to refactor postMove and intended column 2022-11-16 09:41:59 +01:00
Matt Ellis
bb31b5f2d3 Remove unused hooks for SingleExecution 2022-11-16 09:41:59 +01:00
Matt Ellis
8ad08d466e Refactor motion handler to combine caret move 2022-11-16 09:41:59 +01:00
Matt Ellis
ab31183a93 Regroup line motion functions 2022-11-15 10:34:12 +02:00
Matt Ellis
3257cc82dc Rename functions to indicate target motion
I.e. line number (currently buffer, should be Vim logical line), current line, or relative to current line
2022-11-15 10:34:12 +02:00
Matt Ellis
ef73733596 Remove unnecessary method from VimCaret 2022-11-15 10:34:12 +02:00
Matt Ellis
4b45d4cf09 Group VimCaret related functions and properties 2022-11-15 10:34:12 +02:00
Matt Ellis
e0b3e1db24 Move StrictMode to engine 2022-11-15 10:34:12 +02:00
Matt Ellis
e0b51d653a Move action to correct package 2022-11-15 10:34:12 +02:00
Matt Ellis
c17ebbf4d7 Rename various scroll functions 2022-11-15 10:34:12 +02:00
Matt Ellis
44a26d59a4 Rename screen line functions to "display" 2022-11-15 10:34:12 +02:00
Matt Ellis
6b8f81f7eb Rename screen column functions to "display"
Two reasons:
1. It is good if the engine uses Vim terminology. A "screen" in Vim includes all window/display lines from all windows in the terminal screen, including the status and command line. IntelliJ doesn't have this concept. A display line is most similar to IntelliJ's visual lines, but describes the window/display's character grid, not the buffer contents.
2. moveCaretToMiddleColumn needs renaming to indicate that it's for a display line, not a logical line, and to make way for an implementation of `gM`, which does work on logical lines
2022-11-15 10:34:12 +02:00
Matt Ellis
9a4b9419eb Rearrange VimMotionGroup to group related functions
No code changes
2022-11-15 10:34:12 +02:00
Alex Plate
7791c0b7be
Get rid of runForEachCaret in DeleteJoinLinesAction 2022-11-08 13:45:21 +02:00
Alex Plate
3df637b265
Remove macrodelay option 2022-11-08 09:42:11 +02:00
Alex Plate
ea220d2514 Update formatting 2022-11-06 00:20:06 +00:00
Alex Plate
2355435275
Update copyright 2022-11-04 09:24:03 +02:00
Alex Plate
05852b07c6
Refactor commands output 2022-11-01 19:47:27 +02:00
Alex Plate
19a6284023
Update kotlin version to 1.7.20 2022-10-28 08:16:10 +03:00
Matt Ellis
45908f2a84 Remove unnecessary scroll method 2022-10-28 08:15:32 +03:00
Alex Plate
013f7a42c2
[VIM-2774] Move visual toggle mode to another handler 2022-10-18 16:38:40 +03:00
Alex Plate
d03398f3e8
[VIM-2774] Move reset mode to another handler 2022-10-18 16:38:40 +03:00