Commit Graph
8566 Commits
Author SHA1 Message Date
Alex Plate 2fad8790a9 Reset key handler in property tests 2024-07-29 13:57:32 +02:00
Alex Plate 9719106a14 Fix incorrect assertions after migration to the new version of gradle plugin 2024-07-29 13:52:14 +02:00
Alex Plate 870a0da2a2 Update UI tests without octopus handler 2024-07-29 13:41:24 +02:00
Alex Plate d3c315d299 Update logs location in UI tests 2024-07-29 13:39:53 +02:00
Alex Plate 2583b6e792 Print the list of available keys for debugging 2024-07-29 13:27:15 +02:00
Alex Plate 89417eb4f6 Comment out compatibility check for copilot because it's broken for the moment 2024-07-29 13:16:50 +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 24514039e1 Fix(VIM-3376): Refactor the way IdeaVim executes actions
Now instead of a few hacks, we use a special function from the platform
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 VakhitovandAlex Pláte b001d63fd9 Do not fire VimInsertListener on every mode change 2024-07-26 17:30:08 +03:00
Filipp VakhitovandAlex Pláte 5db96bef28 Fix compilation with IdeaVimExtension 2024-07-26 17:30:08 +03:00
Filipp VakhitovandAlex Pláte 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 VakhitovandAlex Pláte 961173a93b Fix tests 2024-07-26 17:30:08 +03:00
Filipp VakhitovandAlex Pláte 92741c6356 Fix compilation 2024-07-26 17:30:08 +03:00
Filipp VakhitovandAlex Pláte 643eb2a85f Add context to MappingProcessor 2024-07-26 17:30:08 +03:00
filippandAlex Pláte 883744e4ee Move blockInsert to vim-engine 2024-07-26 17:30:08 +03:00
filippandAlex Pláte 66173e03be Move reformatCodeRange to vim-engine 2024-07-26 17:30:08 +03:00
filippandAlex Pláte e455722758 Move more methods to vim-engine 2024-07-26 17:30:08 +03:00
filippandAlex Pláte 823bdc1561 Replace VimYankGroup with implementation that works with VimListenersNotifier 2024-07-26 17:30:08 +03:00
filippandAlex Pláte f91fda2ca5 Remove VimInsertListener
It can be replaced by ModeChangeListener
2024-07-26 17:30:08 +03:00
filippandAlex Pláte 92abd76615 Move more methods to engine 2024-07-26 17:30:08 +03:00
filippandAlex Pláte 57c45ca153 Move more methods to engine 2024-07-26 17:30:08 +03:00
filippandAlex Pláte 7c623ae4b5 Move case change methods to engine 2024-07-26 17:30:08 +03:00
filippandAlex Pláte 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]andgithub-actions[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 Ellisandlippfi 13426915f4 Remove special case handling for macro recording 2024-07-23 23:08:24 +03:00
Matt Ellisandlippfi d766c3b8ee Add test for nested insert literal action 2024-07-23 23:08:24 +03:00
Matt Ellisandlippfi 844bc01537 Make functions protected 2024-07-23 23:08:24 +03:00
Matt Ellisandlippfi 3d2d32b022 Move special case code to actions 2024-07-23 23:08:24 +03:00
Matt Ellisandlippfi 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 Ellisandlippfi 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 Ellisandlippfi 0c867b3869 Make some CommandBuilder properties immutable 2024-07-23 23:08:24 +03:00
Matt Ellisandlippfi b3bcab4336 Refactor DigraphResult to sealed classes 2024-07-23 23:08:24 +03:00
Matt Ellisandlippfi fe1b48a9b3 Refactor digraph prompt handling 2024-07-23 23:08:24 +03:00
Matt Ellisandlippfi b5a0862520 The last command part is the current one 2024-07-23 23:08:24 +03:00
Matt Ellisandlippfi 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 Ellisandlippfi 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