Matt Ellis
c7fbce675b
Update comment
2024-08-30 16:36:24 +03:00
Matt Ellis
d7e68488c8
Make Command.rawCount immutable
2024-08-30 16:36:24 +03:00
Matt Ellis
69d13a74e6
Remove unnecessary copy method
2024-08-30 16:36:24 +03:00
Matt Ellis
5a83df34a7
Replace var properties with read only
2024-08-30 16:36:24 +03:00
Matt Ellis
0a18c388e0
Simplify CommandBuilder
...
Fixes selecting last register if multiple registers are used in a command
2024-08-30 16:36:24 +03:00
Matt Ellis
1a3409e7df
Remove count from motion argument
...
Only Command has a count. The motion argument is now a sealed class hierarchy, and consists only of the motion action and optional argument. This is to reduce confusion over which count to use, and potential incorrect calculation of the count
2024-08-30 16:36:24 +03:00
Matt Ellis
e93db961a0
Wrap offsets argument as an external action
2024-08-30 16:36:24 +03:00
Matt Ellis
8fd76bd08f
Refactor properties for sealed Argument classes
2024-08-30 16:36:24 +03:00
Matt Ellis
0eea4a5b2c
Introduce sealed classes to represent an argument
2024-08-30 16:36:24 +03:00
Matt Ellis
18a0c533e2
Remove unused OperatedRange type
2024-08-30 16:36:24 +03:00
Matt Ellis
0bd8d8f4d2
Remove unused digraph command flag
2024-08-30 16:36:24 +03:00
Filipp Vakhitov
5b17d7740e
Update generated files after merging PRs
2024-08-25 21:51:14 +03:00
filipp
9bbeab8062
VIM-2074 Backspace behaviour is incorrect in Replace mode
2024-08-23 14:22:48 +03:00
filipp
373bfc4eab
Add endOffset to LiveRange
2024-08-23 14:22:48 +03:00
filipp
050f2f7b97
Respect emojis and don't assume that every character is a single offset
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
e30bc14843
Make closing command line safer
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
76d590be11
Support more flexible command line restrictions for Fleet
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
b005328b4a
Exclude generated files from .gitignore
...
I've also added sorting to be more confident that the generated file will be persistent across different machines
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
0f7aef3f15
Fix tests
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
f352b84922
Move some Executor logic to its base class
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
789faa7cb2
Add entry to history on <Esc> in COMMAND mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
a338f5768a
Better reset
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
010e8a7541
Support <C-U> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
46c6778b3a
Support <Down>, <S-Down>, <C-N>, <PageDown> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
0977bd4400
Support <Up>, <S-Up>, <C-P>, <PageUp> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
db092e9b0a
Support history in VimCommandLine
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
3a95b62885
Support <Insert> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
93e6adf5a9
Support <C-W> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
37204398ff
Support <C-Right>, <S-Right> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
b2f450d14d
Support <C-Left>, <S-Left> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
61da888571
Fix failing tests
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
fcda97cfb8
Update methods to support searching in any text, not just Editor content
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
7b0482ed94
Fix unwanted beep when can't perform an action
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
1c79b0d59a
Support <Right> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
ff4eb31418
Support <Left> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
cb1078cf70
Support <C-H> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
da3e40eaf6
Support <C-E>, <End> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
17f77a9639
Support <C-B>, <Home> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
3d03494354
Support <DEL> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
642caddda7
Support <BS> in command mode
2024-08-23 14:18:03 +03:00
Filipp Vakhitov
1d97c43e30
Make ExEntryAction public
...
Fleet registers commands manually, so commands must be accessible
2024-08-23 14:18:03 +03:00
The1xDeveloper
3ba14d05b4
VIM-566: Add za motion support for toggling folds
2024-08-16 12:28:18 +03:00
Filipp Vakhitov
2189b70b87
Fix(VIM-3601): The escape characters in IdeaVim's configuration file are invalid
2024-08-14 18:18:55 +03:00
Filipp Vakhitov
8c9ff9465f
Fix(VIM-3584): com.maddyhome.idea.vim.KeyHandler
requests com.maddyhome.idea.vim.api.VimKeyGroup
instance. Class initialization must not depend on services
2024-08-11 01:12:59 +03:00
dependabot[bot]
fbbd1ebc0d
Bump org.antlr:antlr4 from 4.13.1 to 4.13.2
...
Bumps [org.antlr:antlr4](https://github.com/antlr/antlr4 ) from 4.13.1 to 4.13.2.
- [Release notes](https://github.com/antlr/antlr4/releases )
- [Changelog](https://github.com/antlr/antlr4/blob/dev/CHANGES.txt )
- [Commits](https://github.com/antlr/antlr4/compare/4.13.1...4.13.2 )
---
updated-dependencies:
- dependency-name: org.antlr:antlr4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-08-07 18:46:09 +03:00
Filipp Vakhitov
5dc860f61e
Fix(VIM-3569): Pipe-symbol can no longer be used in remaps
2024-07-30 18:02:12 +03:00
Alex Plate
bd53a895c0
Return nullability of editor in action
2024-07-29 16:54:02 +02:00
Alex Plate
9fb614e16c
Pass editor to the "execute" method of the NativeAction
2024-07-29 16:36:01 +02:00
Alex Plate
560700c9aa
Pass editor to the execution of the action
...
Related: VIM-3376
2024-07-29 12:49:16 +02:00
Alex Plate
ff44596c1a
Migrate to gradle plugin 2.0.0-rc1
2024-07-26 19:00:31 +03:00
Filipp Vakhitov
39c615cddd
Do not cast VimStateMachine classes in vim-engine
...
It will break if we change implementation in Fleet
2024-07-26 17:30:08 +03:00
Filipp Vakhitov
961173a93b
Fix tests
2024-07-26 17:30:08 +03:00
Filipp Vakhitov
92741c6356
Fix compilation
2024-07-26 17:30:08 +03:00
Filipp Vakhitov
643eb2a85f
Add context to MappingProcessor
2024-07-26 17:30:08 +03:00
filipp
883744e4ee
Move blockInsert to vim-engine
2024-07-26 17:30:08 +03:00
filipp
66173e03be
Move reformatCodeRange to vim-engine
2024-07-26 17:30:08 +03:00
filipp
e455722758
Move more methods to vim-engine
2024-07-26 17:30:08 +03:00
filipp
823bdc1561
Replace VimYankGroup with implementation that works with VimListenersNotifier
2024-07-26 17:30:08 +03:00
filipp
f91fda2ca5
Remove VimInsertListener
...
It can be replaced by ModeChangeListener
2024-07-26 17:30:08 +03:00
filipp
92abd76615
Move more methods to engine
2024-07-26 17:30:08 +03:00
filipp
57c45ca153
Move more methods to engine
2024-07-26 17:30:08 +03:00
filipp
7c623ae4b5
Move case change methods to engine
2024-07-26 17:30:08 +03:00
filipp
f2ef92cdef
Remove unused method
2024-07-26 17:30:08 +03:00
Matt Ellis
13426915f4
Remove special case handling for macro recording
2024-07-23 23:08:24 +03:00
Matt Ellis
844bc01537
Make functions protected
2024-07-23 23:08:24 +03:00
Matt Ellis
3d2d32b022
Move special case code to actions
2024-07-23 23:08:24 +03:00
Matt Ellis
a8677d3dd7
Refactor expected argument type
...
We no longer need to track a previous fallback argument type, since we don't support nested commands inside a command builder. We can just return the current argument type, or its fallback
2024-07-23 23:08:24 +03:00
Matt Ellis
7217fdf734
Remove unused special case check
...
This was to handle nested commands, e.g. inserting a digraph inside a search `d/foo<C-K>OK<CR>`. The command line now has its own command builder, so this check is no longer needed
2024-07-23 23:08:24 +03:00
Matt Ellis
0c867b3869
Make some CommandBuilder properties immutable
2024-07-23 23:08:24 +03:00
Matt Ellis
b3bcab4336
Refactor DigraphResult to sealed classes
2024-07-23 23:08:24 +03:00
Matt Ellis
fe1b48a9b3
Refactor digraph prompt handling
2024-07-23 23:08:24 +03:00
Matt Ellis
b5a0862520
The last command part is the current one
2024-07-23 23:08:24 +03:00
Matt Ellis
babc1f54e5
Return the last valid register if it exists
...
The last command part is not guaranteed to be a "select register" part. The user might have selected a register then typed an operator, and we might be waiting for a motion.
2024-07-23 23:08:24 +03:00
Matt Ellis
32b910a65b
Remove unused functions and properties
2024-07-23 23:08:24 +03:00
Alex Plate
4a85058ba2
Start using kotlin 2.0
...
Originally this is needed to update the dependency on AceJump, which uses the kotlin 2.0 compiler, and its classes are not compatible with the old compiler
2024-07-19 17:13:59 +03:00
Filipp Vakhitov
5588c27037
Attempt to fix VIM-3540
...
I'm not sure what causes the issue, but everything was working when we were updating visual attributes per each caret and... let update them per each caret
2024-07-17 14:45:50 +03:00
Filipp Vakhitov
d46102ccaf
Remove deprecated method from vim-engine
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
bf6517e58f
Add comment
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
aec2f4c435
Remove isCancel argument
...
It was not used anywhere
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
8f905758d5
Remove typing in ModalInput
...
Typing is more suitable for command lines than a modal input, and most likely it should be used instead
It is still possible to support typing by properly implementing the handleKey method
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
80cc236f48
Remove modal input on click
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
e432a02a45
Remove confirmChoice method
...
It used secondary loop
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
d7894fa7f4
ProcessSubstituteCommand refactoring part 9
...
Finally, moved confirmation dialog to modal input
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
853d7032f0
ProcessSubstituteCommand refactoring part 8
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
5f9f57e1c0
ProcessSubstituteCommand refactoring part 7
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
f4381c8216
ProcessSubstituteCommand refactoring part 6
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
20eee7cae7
ProcessSubstituteCommand refactoring part 5
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
33392c2148
ProcessSubstituteCommand refactoring part 4
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
bb67564fbe
ProcessSubstituteCommand refactoring part 3
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
61ccbcd788
ProcessSubstituteCommand refactoring part 2
...
We do not need the `doAll` condition (because the next code block with `doAll` adjusts line and column for the next match to be correct),
And the line2 can't be >= editor.lineCount()
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
1dbaa3be6d
ProcessSubstituteCommand refactoring part 1
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
872bc22830
Remove shouldRecord from KeyConsumer
...
shouldRecord value was only updated in ModeInputConsumer when the key was not handled. But when the key is not handled, it is not passed to finishedCommandPreparation and the shouldRecord value is not used
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
ce23ed814c
Move command line key handling logic to KeyConsumer
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
82cd534756
Remove startExEntry method
...
We may create a command line via the VimCommandLineService and forget (or do not know) about calling startExEntry necessary. So we move its logic inside the creation of the command line
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
673809d6b9
Move lastCommand to CmdFilterCommand
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
cdbaf73b1e
Remove unused fields from VimProcessGroup
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
7f911b7e72
Fix VisualAreaMatcher
...
It looks for the last selection info in all conditions, not the ones that were specified
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
75935ce4d1
Add readInputAndProcess to replace inputString and save us from using secondary loop
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
f0b203409e
Replace cancelExEntry with close method in VimCommandLine
2024-07-17 13:30:54 +03:00
Filipp Vakhitov
b3b369eb59
Remove unnecessary write action
...
`insertRegister` is self synchronized
2024-07-17 13:30:54 +03:00