Filipp Vakhitov
b001d63fd9
Do not fire VimInsertListener on every mode change
2024-07-26 17:30:08 +03:00
Filipp Vakhitov
5db96bef28
Fix compilation with IdeaVimExtension
2024-07-26 17:30:08 +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
Filipp Vakhitov
e8e6eabe97
Fix tests
...
See https://youtrack.jetbrains.com/issue/VIM-3566/Unit-Tests-Test-UI-Caret-Attributes for more details.
2024-07-26 16:31:47 +03:00
Filipp Vakhitov
ef1c915264
Fix visual mode not being removed.
...
Steps to reproduce:
1. Select some text inside diff editor
2. Open 'Find in Files' window and search for file
3. Open the found file
Result: current mode is VISUAL
2024-07-26 14:24:01 +03:00
Filipp Vakhitov
a5e2168f7f
Fix(VIM-3540): Caret icon is stuck in incorrect mode when having two or more simultaneous instances running
...
Some of the text input fields where Vim should not work at all had block carets.
It did not happen before, because previously we had a unique VimStateMachine for each editor and for newly created editors it was in INSERT mode. And we did call the updateSecondaryCaretsVisualAttributes method for editors that have nothing to do with Vim, but because of the INSERT mode it was looking OK.
However, now the VimStateMachine is global, and we can't rely on local INSERT anymore.
This commit forbids updating caret visual attributes for editors that do not support Vim.
NOTE: `isIdeaVimDisabledHere` is broken during editor creation handling, it always returns true. However, we do not trigger carets redraws on editor creation and do it on focus events, so it should work.
2024-07-26 00:44:35 +03:00
Filipp Vakhitov
83e5470b3a
Fix(VIM-3563): Can't exit insert mode in Readonly File
2024-07-25 22:54:39 +03:00
dependabot[bot]
c446de8979
Bump org.jetbrains.kotlin:kotlin-stdlib from 1.9.24 to 1.9.25
...
Bumps [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin ) from 1.9.24 to 1.9.25.
- [Release notes](https://github.com/JetBrains/kotlin/releases )
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.9.25/ChangeLog.md )
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.9.24...v1.9.25 )
---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-07-24 19:02:14 +03:00
Matt Ellis
13426915f4
Remove special case handling for macro recording
2024-07-23 23:08:24 +03:00
Matt Ellis
d766c3b8ee
Add test for nested insert literal action
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
Filipp Vakhitov
2aa71a0008
Add "Dracula" theme to mode widget
2024-07-23 19:36:07 +03:00
Filipp Vakhitov
c2c0c2aba2
Fix(VIM-3552): Undo undoes paste and insert in one keypress
2024-07-22 23:08:56 +03:00
Alex Plate
6a10cf5e0d
Update the configuration for PY UI tests
2024-07-22 10:08:56 +03:00
Alex Plate
90474a3a4f
Fix the mouse button issue
2024-07-19 20:25:45 +03:00
Alex Plate
be43f74bc6
Get rid of deprecated execute method in UI tests
2024-07-19 19:36:11 +03:00
Alex Plate
5916c42cd1
Disable cache for gradle UI tests
2024-07-19 18:52:58 +03:00
Alex Plate
a43c7ece32
Remove deprecated execute function in UI tests
2024-07-19 18:37:14 +03:00
Alex Plate
40c1070b1a
Update path to logs in UI tests one more time
2024-07-19 17:52:54 +03:00
Alex Plate
75ccdb2a4d
Update qodana after moving the vimscript to the engine
2024-07-19 17:47:49 +03:00
Alex Plate
3de7b0ca78
Disable configuration cache for gradle release task
2024-07-19 17:43:26 +03:00
Alex Plate
448e32a6cc
Update AceJump dependency to the latest one
2024-07-19 17:27:02 +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
7e28deb328
Better logic
...
In case that user will unsubscribe via setting UI and won't call IdeaVim's action
2024-07-19 16:29:15 +03:00
filipp
f3767b53b7
Subscribe IDE EAP users to IdeaVim EAP
2024-07-19 16:12:33 +03:00
Alex Plate
1026e27e64
Bring back the old version of AceJump dependency because the new one breaks the compilation
2024-07-19 14:58:20 +03:00
Alex Plate
18d653a9ae
Update AceJump dependency to the latest one
2024-07-19 14:32:11 +03:00
Alex Plate
fcf4b44443
Save the whole sandbox after the UI test
2024-07-19 09:35:39 +03:00
Alex Plate
907e44b1d7
Change the gradle task for the UI tests
2024-07-19 09:05:11 +03:00