filipp
6edfd8ed22
Remove deprecated showmode status bar text update that does not work with the new UI and will be replaced with widget
2024-02-23 15:09:45 +02:00
filipp
363db05db7
Macro recording state is no longer per editor
...
It will not only simplify VimStateMachine, but also help us to support multi-editor macros in future
2024-02-23 15:09:45 +02:00
filipp
3738012dd6
Listeners refactoring
...
1. Listeners now disposed after turning plugin off
2. Change widget listeners to be recreated on plugin toggle
3. Add CaretVisualAttributesListener
2024-02-23 15:09:45 +02:00
filipp
355cfe035d
Remove Editor from VimStateMachine
...
Rationale:
1. A much more experienced developer, whom I highly respect, suggested to empty VimStateMachineImpl constructor in his TODO comment.
2. I aim for VimStateMachine to be a data class rather than being a container for both data and complex logic.
3. From an architectural perspective, it is more correct. Editors do have state (or they may possess a single global state if the corresponding option is set), but a state does not own an editor.
2024-02-23 15:09:44 +02:00
Alex Plate
f696135f31
Now we execute beforeActionPerformedUpdate instead of lastUpdateAndCheckDumb right before action execution
...
This is done because of platform changes. Now the `lastUpdateAndCheckDumb` doesn't update an action that supposed to be updated on background.
The problem was detected with commentary tests. The test supposed to use the line comment in case the block comment is not available. However, the since the action was not updated, the presentation was not reset to false and the fallback to line action was not performed.
2024-02-23 11:26:45 +02:00
Alex Plate
52e0fcdc7d
Use the custom version of IntIterator.skip because it was removed from the library
2024-02-23 10:29:33 +02:00
chylex and Alex Pláte
6dd924b2b2
Implement motions to go to next/previous misspelled word
2024-02-23 10:17:25 +02:00
Matt Ellis and Alex Pláte
f439474b73
Fix set command tests
...
Also hides more feature flags and diagnostic settings from users and unit tests. Shows them when in internal mode.
2024-02-23 10:04:23 +02:00
Matt Ellis and Alex Pláte
d6cd92e256
Migrate extensions to use operatorfunc option
2024-02-23 10:04:23 +02:00
Matt Ellis and Alex Pláte
3a294268d9
Introduce operatorfunc option
...
Allows creating custom operators in script, as shown in JetBrains/ideavim#702
2024-02-23 10:04:23 +02:00
Alex Plate
d3d93b898f
Unregister NotificationService project service
...
It's not registered as a light service and doesn't need to be registered in xml files
2024-02-20 16:46:07 +02:00
chylex and Alex Pláte
f4782630d4
Add Matchit support for Java statements
2024-02-20 16:41:34 +02:00
Alex Plate
73c3c9f7fe
Replace Enum.values() with Enum.entries, as suggested since 1.9
2024-02-20 16:12:34 +02:00
Alex Plate
67ef0a75d5
Update capitalization
2024-02-20 16:12:11 +02:00
Alex Plate
328bc5e95a
Convert some services to light services
2024-02-20 16:10:07 +02:00
Alex Plate
7a52c6fec9
Cleanup tests
2024-02-20 14:51:13 +02:00
Alex Plate
fc61e369fb
Fix some deprecated calls
2024-02-20 13:11:10 +02:00
Alex Plate
0cc17a0791
Make a correct service level for VimProjectService
2024-02-20 12:12:50 +02:00
Alex Plate
1bd005adc1
Fix the name of the compatibility function
2024-02-20 10:39:34 +02:00
Alex Plate
cf09d66be6
Prototype for vimscript inspection
2024-02-20 06:13:26 +02:00
Alex Plate
76cd127a8a
Bring back function to fix compatibility
2024-02-20 05:25:22 +02:00
Alex Plate
f6dd2a9968
Do not call for setCaretVisible in tests as this causes project leak
2024-02-20 05:20:05 +02:00
Alex Plate
86bf8dcc60
Fix the compatibility with platform
2024-02-17 08:56:17 +02:00
Alex Plate
d37898b6d3
Fix(VIM-3234): The space character won't mix in the tab chars after >> and << commands
...
Because of some reason, the visual position function from the platform starts to return an incorrect column for offsets with tabs. Maybe this is a correct behaviour for the platform, but for IdeaVim it breaks the calculation of the current caret position.
The visual position for calculating the shift was used since 2003, but there is no specific reason to use it and not the buffer (logical) position. So, since it started to cause issues, it's replaced with the buffer position.
2024-02-17 08:54:42 +02:00
Alex Plate
1edd6a9002
Fix the compatibility with the new version of the platform
2024-02-17 08:15:11 +02:00
Alex Plate
4f0a95a803
Bring back setCompletionPhase as this incompatibility was fixed in the latest EAP of the IntelliJ platform
2024-02-17 08:15:11 +02:00
Alex Plate
6fa228ee08
Fix(VIM-3291): Remove sync of editor selection between different opened editors
...
This is an old feature implemented by Rick Maddy in 2004, taken from Vim.
c294063223
If several buffers for the same file are opened, the selection is synchronized between buffers.
This doesn't happen in IJ natively and I don't see a reason to keep it like that.
This behaviour is removed because it causes issues now, but if we'll figure out the usage, we can bring it back.
2024-02-15 20:34:57 +02:00
Alex Plate
12d0d2613f
Allow sneak plugin to be registered with the original mappings from the sneak plugin
2024-02-13 19:20:41 +02:00
Alex Plate
3244dd52eb
The line with compilation error is disabled
...
In 2024.1 EAP this line causes compilation error due to platform conversion from java to kotlin
The fix is landed in the platform and it should work fine with the new EAP.
However, since our tests are fail now, I'll comment out this line and bring it back in one week.
2024-02-08 09:39:54 +02:00
Alex Plate
63c81d67f2
Extract java tests for IdeaVim to a separate gradle subproject
2024-02-07 16:04:10 +02:00
Alex Plate
04f821e3e1
Create a testFixtures for the project
...
This will be needed for extracting the java tests into a separate subproject
Also, cleaned up the ordering of dependencies in build.gradle.kts
2024-02-07 10:05:56 +02:00
Filipp Vakhitov
2a1c4b3a1c
Better widget order
2024-02-06 00:32:25 +02:00
Alex Plate
aae0d825e7
Move the ideavim-sneak plugin into IdeaVim
...
The author of the original plugin announced the deprecation of the plugin.
However, we've got an approval to move the sources into IdeaVim and continue the development.
Original repo: https://github.com/Mishkun/ideavim-sneak
Approval: https://twitter.com/ideavim/status/1754512214344478939
2024-02-05 19:28:36 +02:00
Filipp Vakhitov and lippfi
7062d9b8f8
Enable new regex engine by default
2024-02-05 16:29:49 +02:00
Filipp Vakhitov and lippfi
ede62f5c75
Fix compilation
2024-02-05 16:29:49 +02:00
filipp and lippfi
9bea5bf5f7
Remove deprecated code
2024-02-05 16:29:49 +02:00
filipp and lippfi
9fbc990493
Fix visual matching
2024-02-05 16:29:49 +02:00
filipp and lippfi
807457c718
Hide method and add Deprecated annotation
2024-02-05 16:29:49 +02:00
Emanuel Gestosa and lippfi
022b196d6a
adding comments and small refactors
2024-02-05 16:29:49 +02:00
Emanuel Gestosa and lippfi
bf7d2bd465
marking classes as deprecated
2024-02-05 16:29:49 +02:00
Emanuel Gestosa and lippfi
fc7c470966
fixing nohlsearch command
2024-02-05 16:29:49 +02:00
Emanuel Gestosa and lippfi
51492ca121
moving seach methods back to VimSearchGroup base
2024-02-05 16:29:49 +02:00
Emanuel Gestosa and lippfi
ce1df84330
creating new IjVimSearchGroup class
2024-02-05 16:29:49 +02:00
Emanuel Gestosa and lippfi
9b43e2a715
working on kotlin implementation of SearchGroup class
2024-02-05 16:29:49 +02:00
Emanuel Gestosa and lippfi
732cabd6aa
working on processSearchCommand
2024-02-05 16:29:49 +02:00
Emanuel Gestosa and lippfi
7c14801d5c
deprecating most of SearchHelper
2024-02-05 16:29:49 +02:00
Emanuel Gestosa and lippfi
66df09c065
use injector for IjVimSearchHelper calls
2024-02-05 16:29:49 +02:00
Emanuel Gestosa and lippfi
8fd6985316
deprecating SearchHelper find and findAll
2024-02-05 16:29:49 +02:00
Emanuel Gestosa and lippfi
feac001499
substitute command working with new engine
2024-02-05 16:29:49 +02:00
Emanuel Gestosa and lippfi
4c47e3a8eb
integrating new regex into global command
2024-02-05 16:29:49 +02:00