Commit Graph
100 Commits
Author SHA1 Message Date
Alex Plate 58a8b96c3c Revert "Stop IdeaVim actions flowing into JB Client"
This reverts commit bd192561ae.

This commit reverts the fix for VIM-3283 because it causes VIM-3346 and VIM-3347
2024-03-20 13:08:04 +02:00
Alex Plate a9ddfac782 Add test that shows an issue when deleting a line at the end of file 2024-03-12 21:21:15 +02:00
Alex Plate 79437df894 Fix(VIM-3330): Use Z backward visual search in sneak plugin 2024-03-12 20:01:35 +02:00
Alex Plate b5a04af089 Switch to a stable version of the plugin verifier because the latest version is broken.
Broken version: https://github.com/JetBrains/intellij-plugin-verifier/releases/tag/1.364

Internal discussion: https://jetbrains.slack.com/archives/C03RHGR7J/p1710229884548179
2024-03-12 12:02:21 +02:00
Alex Plate 52372ae3d3 Disable plugin verifier for tests 2024-03-12 09:34:55 +02:00
Alex Plate 65d755d9b2 Bring back the getMappingMode function for binary compatibility with the which-key plugin 2024-03-12 09:31:59 +02:00
Alex Plate 1f1a8f3395 Avoid generation of the huge amount of sets during regex search
The tests shows that the depth of `epsilonVisited` is usually around 0-3, so there is no need to use the set. However, when the set is used, we have to make a new copy everytime we create a new `SimulationStackFrame`.
Now, the previous stack is reused.
2024-03-11 18:51:46 +02:00
Alex Plate 629e4e7053 Fix(VIM-3336): Improve the performance of n in large files
The git history shows that the force update of the search highlights was accidentally enabled during the refactorings
2024-03-11 18:49:38 +02:00
Alex Plate c50a299cfd Remove the unused import 2024-03-11 18:48:27 +02:00
Alex Plate 4bad129caf Do not register clipboard option change listener for caret registers
Register groups for the caret do not use some fields from the base class, however the listener for these fiels is still registered. Now we don't register this listener.
Generally it looks like a bigger refactoring can be performed in order to separate the common registers logic from caret registers logic.

This change should improve the performance of the IjVimCaret initialization because now we won't register a new disposable on each instance of IjVimCaret

This is a part of VIM-3336
2024-03-11 17:41:54 +02:00
Alex Plate 1ffb28e21b Wait for some checks in UI tests instead of immediate verification 2024-03-11 14:29:08 +02:00
Alex Plate 051296c2aa UI tests: make sure the text appear in the editor before running tests 2024-02-28 09:37:05 +02:00
Alex Plate 90f2d2ff29 Small update of the minimal version of IJ 2024-02-27 14:43:23 +02:00
Alex Plate 4c2edab406 Run optimize imports 2024-02-27 13:17:02 +02:00
Alex Plate 76e8fd69bf Increase timeout in UI tests 2024-02-27 11:30:51 +02:00
Alex Plate 31bbc60325 Fix all reports of the inspection that prohibits the use of companion objects
This is a requirement from the platform, as a huge amount of companion objects leads to a higher level of classloading
2024-02-23 18:55:01 +02:00
Alex Plate fec6e5c189 Remove the last argument in EventLogGroup as the compatibility was fixed on the platform side 2024-02-23 18:35:21 +02:00
Alex Plate 23c1493f17 Fix(VIM-3306): Vim paragraph motion won't make mappings if there is already such mapping defined by user 2024-02-23 18:26:50 +02:00
Alex Plate 2a3c4cc441 Use a link to changelog 2024-02-23 16:02:38 +02:00
Alex Plate 8094e6711a Update qodana baseline 2024-02-23 15:38:33 +02:00
Alex Plate 10edccc1d6 Add matchit test for jump from try to catch and to finally
From PR https://github.com/JetBrains/ideavim/pull/802
2024-02-23 15:36:38 +02:00
Alex Plate 247aaed188 Use the property to change the state of the octopus handler 2024-02-23 15:32:35 +02:00
Alex Plate 6d01b5be77 Stop maintaining the changelog file
We have quite a fucntionality to maintain the changelof in actual state
However, since we switched to release from the latest EAP, we can't just update the changelog on master because it will contains also unreleased changes since the latest EAP.
The proper support for such change will require a lot of coding that will take a lot of time to implement and will eventually break.
So, it was decided to keep the changelog on YouTrack only and not to maintain the changes file.

This change still may be reverted, so the code around the changelog is note removed, but only commented out
2024-02-23 14:05:12 +02:00
Alex Plate 4938957483 Add a comment line with LATEST-EAP-SNAPSHOT 2024-02-23 13:37:36 +02:00
Alex Plate 46f4fa7cdd Make tests about join notification more stable
Now we track only new notifications instead of just taking the last one
2024-02-23 11:27:15 +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
Alex Plate ac17518a23 Update the changelog 2024-02-23 10:19:39 +02:00
Alex Plate 9b81c7e650 Update junit version 2024-02-23 10:03:30 +02:00
Alex Plate e229fb3ad7 Add new plugin that depends on IdeaVim 2024-02-23 09:26:46 +02:00
Alex Plate 720eae63fa Fix the incorrect condition in UI tests 2024-02-23 09:23:42 +02:00
Alex Plate 0df96a24bd Add a missing @BeforeEach in tests 2024-02-22 09:19:24 +02:00
Alex Plate 21a1588ede Increase wait timeout for UI tests 2024-02-22 09:02:03 +02:00
Alex Plate 7970006e8c Log the base commit during dev version calculation 2024-02-22 09:02:02 +02:00
Alex Plate 3d2db56f63 Use sets during plugin detection to avoid sorting problems 2024-02-21 10:43:44 +02:00
Alex Plate e9c7cb8670 Update logic of calculation of dev version 2024-02-21 10:40:20 +02:00
Alex Plate b68865587e Wait up to 5 mins for initialization of PyCharm 2024-02-20 17:06:32 +02:00
Alex Plate 57ad4c70d1 Do not analyze test fixtures by qodana 2024-02-20 16:46:43 +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
Alex Plate 7d8973edb2 Add tests for new java matchit functionality
From PR https://github.com/JetBrains/ideavim/pull/802
2024-02-20 16:42:28 +02:00
Alex Plate a381a1cacc Wait till all toolwindows initialziation 2024-02-20 16:19:29 +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 7f8021e37e Update the function that waits for smart mode 2024-02-20 15:49:42 +02:00
Alex Plate 9701b7e79b Add test reports to artifacts 2024-02-20 15:10:15 +02:00
Alex Plate 7a52c6fec9 Cleanup tests 2024-02-20 14:51:13 +02:00
Alex Plate 1503639d4b Remove generated lexing from qodana analyze 2024-02-20 14:51:06 +02:00
Alex Plate e82f19c852 Add test for checking an issue that
was caught by property tests
2024-02-20 13:52:17 +02:00
Alex Plate edd69c9c25 Apply patch for qodata TC config 2024-02-20 13:12:14 +02:00
Alex Plate fc61e369fb Fix some deprecated calls 2024-02-20 13:11:10 +02:00
aleksei.plate@jetbrains.comandteamcity 113586b59b TeamCity change in 'Ideavim' project: runners of 'Qodana checks' build configuration were updated 2024-02-20 10:53:37 +00:00
Alex Plate 5dbd5e1c89 Update the changelog 2024-02-20 12:47:06 +02:00
Alex Plate 5f2743176a Update qodana configuration on TC 2024-02-20 12:18:24 +02:00
aleksei.plate@jetbrains.comandteamcity 3723488617 TeamCity change in 'Ideavim' project: runners of 'Qodana checks' build configuration were updated 2024-02-20 10:16:06 +00:00
Alex Plate 0cc17a0791 Make a correct service level for VimProjectService 2024-02-20 12:12:50 +02:00
aleksei.plate@jetbrains.comandteamcity 05a21e6091 TeamCity change in 'Ideavim' project: 'Qodana checks' build configuration settings were updated 2024-02-20 08:58:47 +00:00
Alex Plate fc06bc7c6f Update the qodana baseline 2024-02-20 10:58:08 +02:00
Alex Plate 1bd005adc1 Fix the name of the compatibility function 2024-02-20 10:39:34 +02:00
Alex Plate 4f208d1577 Add new plugin to the list 2024-02-20 10:37:10 +02:00
aleksei.plate@jetbrains.comandteamcity eb6e0557a7 TeamCity change in 'Ideavim' project: runners of 'Qodana checks' build configuration were updated 2024-02-20 08:23:51 +00: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
aleksei.plate@jetbrains.comandteamcity ae05a33e14 TeamCity change in 'Ideavim' project: general settings of 'Tests for IntelliJ Latest EAP' build configuration were updated 2024-02-19 07:13:35 +00:00
aleksei.plate@jetbrains.comandteamcity b38fad323b TeamCity change in 'Ideavim' project: general settings of 'Tests for IntelliJ Latest EAP' build configuration were updated 2024-02-19 07:12:50 +00:00
Alex Plate c6027fcf0f Add new plugin for compatibility checks 2024-02-19 09:01:10 +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 f7fa0dcbd1 Update YouTrack query for updating the release status after the release 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 fb9bfbaeeb Do not check the compatibility of the sneak plugin 2024-02-14 18:05:56 +02:00
Alex Plate 09668f4fcb Update gradle wrapper to version 8.6 2024-02-14 17:07:20 +02:00
Alex Plate 4c7a6165ed Fix incorrect logs location in UI tests 2024-02-13 19:26:58 +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 42ee78cd3d Disable runIde task for test subprojects 2024-02-13 19:18:18 +02:00
Alex Plate 58d308c1ed Fix the logging reporting for UI tests 2024-02-13 18:02:55 +02:00
Alex Plate 29e1bcc53d Wait longer for the python console to intialize 2024-02-13 14:56:14 +02:00
Alex Plate 3531574e5e Remove intellij plugin dependency for UI tests 2024-02-13 12:59:13 +02:00
Alex Plate b9721218ab Enable PyCharm for python UI tests 2024-02-13 12:42:33 +02:00
Alex Plate a119ea6a29 Fix octopus UI test 2024-02-13 12:34:56 +02:00
Alex Plate 95ef5f5f32 Fix incorrect configuration for UI tests 2024-02-13 08:43:12 +02:00
Alex Plate b81b18645b Disable publishPlugin task for tests 2024-02-13 08:34:51 +02:00
Alex Plate ce591f1b43 Configure UI robot for the root project 2024-02-12 14:49:38 +02:00
Alex Plate 28afa4b3ce Change the gradle config for UI tests 2024-02-12 13:37:10 +02:00
Alex Plate a2d34a883b Fix verifyPlugin task 2024-02-09 16:45:57 +02:00
Alex Plate 5c79b887d8 Do not ask for license for py tests 2024-02-09 16:31:25 +02:00
Alex Plate d0475bf659 Explicitly specify jupyter version 2024-02-09 16:27:22 +02:00
Alex Plate 85c9576699 Extract common UI test fixtures 2024-02-09 16:22:22 +02:00
Alex Plate 2483450a1f Rename ui tests for better consistency 2024-02-09 16:11:14 +02:00
Alex Plate 519d5eed06 Set up PyCharm UI test 2024-02-09 16:03:31 +02:00
Alex Plate d87965775a Update version of robot 2024-02-08 16:48:03 +02:00
Alex Plate 8c6f81aa00 Fix incorrect location of the video 2024-02-08 16:46:03 +02:00
Alex Plate 6ea0ab0968 Print if neovim testing is enabled or not 2024-02-08 15:22:54 +02:00
Alex Plate 70ab3ecdbe Make a custom expand function for UI tests 2024-02-08 15:10:47 +02:00
Alex Plate a24ae616df Fix the creation of the video for the UI tests 2024-02-08 15:10:36 +02:00
Alex Plate cc838f614f Remove the testWithNeovim task
Now you can just run `gradlew test -Dnvim`
2024-02-08 14:53:43 +02:00
Alex Plate ae62a9f378 Fix the incorrect test 2024-02-08 14:35:52 +02:00