Commit Graph
100 Commits
Author SHA1 Message Date
Alex Plate 75a417773f [VIM-547]: Turn off new undo for the next release as well 2024-07-05 12:14:10 +03:00
Alex Plate b0b944bbf3 Temporally get rid of the configuration cache 2024-07-03 19:39:31 +03:00
Alex Plate 89a3d74b93 Try not to use the configuration cache in gradle automations at the moment
This is done because the current implementation of the gradle commands is not correct and the cache fails on GitHub actions.
2024-07-03 19:32:10 +03:00
Alex Plate f4eef04750 Do not bundle kotlin-stdlib and kotlin-reflection to the plugin distribution
IJ has it's own kotlin libs, as well as fleet. So, let's use kotlin reflection library only to compile the project without bundling these jars into the resulting plugin
2024-07-03 19:32:10 +03:00
Alex Plate 23e1a3499f Do not update the YouTrack tickets in case of patch release
This is usually not needed. Also, if we create a new EAP for the next version, this task will close these tickets on patch release, what is incorrect.
2024-07-03 11:49:14 +03:00
Alex Plate a84c04ca08 Revert "Temporally comment out release branch reset"
This reverts commit e67c71e440.
2024-07-02 10:38:15 +03:00
Alex Plate e67c71e440 Temporally comment out release branch reset 2024-07-02 10:05:23 +03:00
Alex Plate 5078ff9c7a Disable check size for releases 2024-07-02 10:04:49 +03:00
Alex Plate 647510de5d Optimize imports for the project 2024-06-28 17:30:17 +03:00
Alex Plate 84e11e4236 Add useful .idea files to git
.name will show the correct name "IdeaVim" in IJ
`misc.xml` contains information about the annotations that should be considered as "EntryPoints" for the function. With this, they'll not be marked as unused
2024-06-28 17:25:56 +03:00
Alex Plate 9538714af1 Remove explicit API mode to enhance coding efficiency and maintain Kotlin's conciseness
Explicit API mode has been removed due to several reasons impacting developer productivity and the natural coding style in Kotlin.

Firstly, the mode was found to be more irritating than beneficial, as it forced unnecessary verbosity without enhancing thoughtfulness in coding. It often prompted automatic 'public' insertion reactions to red-highlighted code, which did not genuinely encourage more deliberate coding decisions.

Secondly, our aim is to form a robust API primarily through interfaces, which inherently define public scope and duty, rendering explicit API mode somewhat redundant.

Lastly, the additional verbosity caused by explicit API mode expanded code lines affecting code readability.

The compatibility with the existing plugins is verified via the compatibility checker, so no JetBrains plugins will be affected
2024-06-28 17:11:16 +03:00
Alex Plate ffd832d990 Get rid of RegExp class 2024-06-28 17:01:30 +03:00
Alex Plate 736cb219ca Remove the use of RegExp from ExEntryPanel 2024-06-28 16:47:32 +03:00
Alex Plate fb30e4e387 Adapt the code to the new search helper functions 2024-06-28 16:17:45 +03:00
Alex Plate 74550ffa16 Refactor countWords function 2024-06-28 16:17:45 +03:00
Alex Plate d0a0672282 Rename .java to .kt 2024-06-28 16:17:45 +03:00
Alex Plate 16e92ddf60 Move SearchHelper classes to kotlin file 2024-06-28 16:17:45 +03:00
Alex Plate 4d8e68d800 Get rid of many unused search functions 2024-06-28 16:17:45 +03:00
Alex Plate bbebfaf32a Remove some obsolete and deprecated code 2024-06-28 16:17:44 +03:00
Alex Plate 6421a6face Update java version to 17 on github actions 2024-06-24 12:53:55 +03:00
Alex Plate c5346fbece Update NERDTree documentation with newly added commands 2024-06-21 16:56:04 +03:00
Alex PláteandGitHub fe8e8ccc3e Merge pull request #912 from kun-codes/create-files-and-directories
add NERDTree action to create new files and directories
2024-06-21 16:53:01 +03:00
Alex PláteandGitHub eae111bc2c Merge branch 'master' into create-files-and-directories 2024-06-21 16:52:46 +03:00
Alex PláteandGitHub 86bbb282ab Merge pull request #879 from citizenmatt/feature/gradle-intellij-plugin-v2
Migrate to IntelliJ Platform Gradle Plugin 2.0
2024-06-21 16:31:56 +03:00
Alex PláteandGitHub 28aa156cb7 Merge branch 'master' into feature/gradle-intellij-plugin-v2 2024-06-21 16:30:25 +03:00
Alex Plate d795d70041 Disable some tests due to VIM-3376 2024-05-29 18:33:31 +03:00
aleksei.plate@jetbrains.comandteamcity 1320034e7e TeamCity change in 'Ideavim / IdeaVim releases' project: VCS roots of 'EXP: Publish EAP Build from branch' build configuration were updated 2024-05-29 12:45:26 +00:00
Alex Plate 79a216043f Use a ReleasesVcsRoot for the ReleaseEapFromBranch configuration 2024-05-29 15:42:24 +03:00
Alex Plate c508a3cc32 Add a build configuration that creates a EAP release from the release branch 2024-05-29 15:40:25 +03:00
Alex Plate d40d8f34c5 Apply patches for TeamCity configs 2024-05-29 15:18:15 +03:00
Alex PláteandGitHub b561a13e7c Merge pull request #893 from JetBrains/fleet
Moving away from Swing TextAction to KeyHandler
2024-05-29 14:16:44 +03:00
aleksei.plate@jetbrains.comandteamcity 71bcee2a07 TeamCity change in 'Ideavim / IdeaVim releases' project: VCS roots of 'EXP: Print release branch' build configuration were updated 2024-05-28 20:40:30 +00:00
aleksei.plate@jetbrains.comandteamcity 6c490b1baa TeamCity change in 'Ideavim / IdeaVim releases' project: VCS roots of 'EXP: Print release branch' build configuration were updated 2024-05-28 20:40:09 +00:00
aleksei.plate@jetbrains.comandteamcity 4ab6a36aca TeamCity change in 'Ideavim / IdeaVim releases' project: VCS roots of 'EXP: Print release branch' build configuration were updated 2024-05-28 20:39:01 +00:00
aleksei.plate@jetbrains.comandteamcity c4355841ad TeamCity change in 'Ideavim / IdeaVim releases' project: VCS roots of 'EXP: Print release branch' build configuration were updated 2024-05-28 20:38:13 +00:00
aleksei.plate@jetbrains.comandteamcity f163946e38 TeamCity change in 'Ideavim / IdeaVim releases' project: VCS roots of 'EXP: Print release branch' build configuration were updated 2024-05-28 20:37:43 +00:00
aleksei.plate@jetbrains.comandteamcity f78d3387a5 TeamCity change in 'Ideavim / IdeaVim releases' project: VCS roots of 'EXP: Print release branch' build configuration were updated 2024-05-28 20:35:10 +00:00
aleksei.plate@jetbrains.comandteamcity 69e2e3c047 TeamCity change in 'Ideavim' project: 'IdeaVim Releases' VCS root was updated 2024-05-28 20:34:19 +00:00
aleksei.plate@jetbrains.comandteamcity 52832cbe22 TeamCity change in 'Ideavim' project: 'IdeaVim Releases' VCS root was updated 2024-05-28 20:32:36 +00:00
aleksei.plate@jetbrains.comandteamcity 82ca2be51c TeamCity change in 'Ideavim' project: 'IdeaVim Releases' VCS root was updated 2024-05-28 20:30:53 +00:00
aleksei.plate@jetbrains.comandteamcity 8552bb8a17 TeamCity change in 'Ideavim' project: 'IdeaVim Releases' VCS root was updated 2024-05-28 20:30:05 +00:00
Alex Plate b49a38b6d0 Rename ReleasesVcsRoot 2024-05-28 23:24:03 +03:00
Alex Plate ad0751677a Add a special VCS root for releases 2024-05-28 23:18:45 +03:00
aleksei.plate@jetbrains.comandteamcity dd8bb20ba9 TeamCity change in 'Ideavim / IdeaVim releases' project: VCS roots of 'EXP: Print release branch' build configuration were updated 2024-05-28 20:13:24 +00:00
Alex Plate 03f5f27901 Experiment: print release branch in TC 2024-05-28 23:08:02 +03:00
Alex Plate ba50fcf85e Add ssh agent for the configuration 2024-05-28 19:19:06 +03:00
Alex Plate 24c0db563c Use releases prefix instead of release 2024-05-28 19:10:40 +03:00
Alex Plate 33c4905dcb Add testing TC job for calculating new version of the release 2024-05-28 19:05:37 +03:00
Alex Plate 9296c3f9a0 Bring back tests before the release 2024-05-28 14:50:11 +03:00
Alex Plate 7ecc566169 Temporally skip tests for this release
As this is considered as a VERY bad practice, it makes sense in this particular case. Generally, we need an updated release process so such things don’t happen
2024-05-28 14:31:46 +03:00
Alex Plate a918da36d3 Bring back the old value of the release constant 2024-05-28 14:27:29 +03:00
Alex Plate 91ff5fdb02 Temporally change the release constant to make the last release based on 2023.3.2 2024-05-28 14:15:49 +03:00
Alex Plate 4481631547 Disable RedrawListener if the plugin is not enabled 2024-05-28 13:55:47 +03:00
Alex Plate 73fd25773a Add test for VimIndentObject
For PR https://github.com/JetBrains/ideavim/pull/884
2024-05-24 16:20:36 +03:00
Alex Plate 1a7e90c7d7 Bump the minimal version of IJ to 241
There are a lot of incompatibilities with IdeaVim on 241 if it's built on 233

Also, this time the special branch for the IJ version won't be created. Previously on bumping the version of IJ, we've created the branch to keep the reference to the moment when it happened. However, IJ version bumps are easy to trace anyway by git.
2024-05-24 15:37:05 +03:00
Alex Plate 16cd05fc76 Fix incorrect use of visual position instead of buffer position
We should calculate the line above based on logical position rather than visual position.

This issue was detected thanks to newly introduced soft wraps and proprty tests
2024-05-24 11:39:45 +03:00
Alex Plate 1616aff5a1 Update version of TC config 2024-05-10 16:06:28 +03:00
Alex Plate 5a82f05be8 Update version of IJ in TC tests 2024-05-10 15:46:31 +03:00
Alex Plate 3020504cdc Rename kotlin TC config to avoid compilation issues 2024-05-10 15:36:41 +03:00
Alex Plate 8d873c0bf1 Fix(VIM-3418): Restore mappings after plugin disable/enable
There is no need to clean up the requiredShortcuts after turning off the plugin. Also, previously this set was not populated properly and keys that were added by ideavimrc or by user were not restored
2024-05-09 08:57:12 +03:00
Alex Plate 955676ed9e Add comments about structures for testing
Also, there is no need to clear these structures during plugin disabling
2024-05-09 08:30:47 +03:00
Alex Plate a2439a37e4 Make RequiredShortcut as a data class
This will simplify reading the data during the debug
2024-05-09 08:21:26 +03:00
Alex Plate 598bcc7edd Do not notify slack about the new release 2024-05-07 14:18:31 +03:00
Alex Plate b86ec03dc4 Update UI tests for python. Open tool window by calling API 2024-04-26 19:13:53 +03:00
Alex Plate ae75498f8a Update the UI test to search for the new name of the copy dialog 2024-04-26 18:44:31 +03:00
Alex Plate 9d0b68b0f8 Use the correct context after executing the ex command
With the incorrect context the action EditorSelectWord didn't make any effect because it worked on the ex-entry panel editor
2024-04-26 18:22:53 +03:00
Alex Plate eeb5939e59 Use brew to install ffmpeg on GitHub actions
After GitHub updated macos from version 12 to version 14, the existing action stopped working
2024-04-26 17:37:21 +03:00
Alex Plate ef235a47bf Try to install ffmpeg on GitHub actions using homebrew
After GitHub updated macos from version 12 to version 14, the existing action stopped working
2024-04-26 17:25:54 +03:00
Alex Plate b66da76880 VIM-3376: Remove usages of the EditorDataContext
EditorDataContext cannot be used because the platform cannot convert it to the async data context. Taking the fact that it's not clear why this custom context exists, I decided to get rid of it at all.

```
Cannot convert to AsyncDataContext at 'keyboard shortcut' DataContextWrapper(CaretSpecificDataContext(com.maddyhome.idea.vim.helper.EditorDataContext)). Please use CustomizedDataContext or its inheritors like SimpleDataContext
```

Class EditorDataContext cannot be removed because it's used in github.zgqq.intellij-enhance plugin
2024-04-26 14:52:47 +03:00
Alex Plate 54d6119784 VIM-3376: Working on removing EditorDataContext. Remove it from ReplaceWithRegister
EditorDataContext cannot be used because the platform cannot convert it to the async data context. Taking the fact that it's not clear why this custom context exists, I decided to get rid of it at all.

```
Cannot convert to AsyncDataContext at 'keyboard shortcut' DataContextWrapper(CaretSpecificDataContext(com.maddyhome.idea.vim.helper.EditorDataContext)). Please use CustomizedDataContext or its inheritors like SimpleDataContext
```
2024-04-26 14:19:47 +03:00
Alex Plate 0b8c081425 VIM-3376: Working on removing EditorDataContext. Remove it from multiple places
EditorDataContext cannot be used because the platform cannot convert it to the async data context. Taking the fact that it's not clear why this custom context exists, I decided to get rid of it at all.

```
Cannot convert to AsyncDataContext at 'keyboard shortcut' DataContextWrapper(CaretSpecificDataContext(com.maddyhome.idea.vim.helper.EditorDataContext)). Please use CustomizedDataContext or its inheritors like SimpleDataContext
```
2024-04-26 14:16:52 +03:00
Alex Plate 209052ffa6 Create a function to get the execution context from the editor
This is a part of VIM-3376. This context will not be a custom EditorDataContext, but some context created by the platform.
In some places we don't have any kind of "current context", but we have to use it for the function. However, such context can be simply retrieved from the editor.
2024-04-26 14:03:37 +03:00
Alex Plate fe9a6b5cfb Remove context argument when creating a pad for the string
It's unclear why it was needed to get the project from the context, but it's easy to get the project from the existing editor
2024-04-26 13:56:10 +03:00
Alex Plate 9c0f74369f VIM-3376: Working on removing EditorDataContext. Remove from ExEditorKit
This one was added after the implementation of cmap in 5c9faba7f4

EditorDataContext cannot be used because the platform cannot convert it to the async data context. Taking the fact that it's not clear why this custom context exists, I decided to get rid of it at all.

```
Cannot convert to AsyncDataContext at 'keyboard shortcut' DataContextWrapper(CaretSpecificDataContext(com.maddyhome.idea.vim.helper.EditorDataContext)). Please use CustomizedDataContext or its inheritors like SimpleDataContext
```
2024-04-26 13:49:59 +03:00
Alex Plate cd27e5229b VIM-3376: Working on removing EditorDataContext. Remove from CommandLineHelper
EditorDataContext cannot be used because the platform cannot convert it to the async data context. Taking the fact that it's not clear why this custom context exists, I decided to get rid of it at all.

```
Cannot convert to AsyncDataContext at 'keyboard shortcut' DataContextWrapper(CaretSpecificDataContext(com.maddyhome.idea.vim.helper.EditorDataContext)). Please use CustomizedDataContext or its inheritors like SimpleDataContext
```
2024-04-26 13:40:18 +03:00
Alex Plate 472732905c VIM-3376: Get rid of IjCaretAndEditorExecutionContext
This context was added long ago, but I wasn't able to find specific reasons for that. Currently, such custom contexts cannot work with the intellij platform and should be refactored or removed. The issues with this context are that it cannot be converted to the async data context by the platform.
Taking the fact that the reason for this context was not found, I decided to get rid of it.

The issue from the platform looks like this

```
Cannot convert to AsyncDataContext at 'keyboard shortcut' DataContextWrapper(CaretSpecificDataContext(com.maddyhome.idea.vim.helper.EditorDataContext)). Please use CustomizedDataContext or its inheritors like SimpleDataContext
```
Here the EditorDataContext is mentioned instead of CaretAndEditorData context, however, I'll clean up both contexts during this refactoring

It was used in the action system for mapping to the `<Action>` keyword and in commit 256f5fcd0e it's mentioned that the EditorActionHandler was not working without this context. However, currently both cases work fine without addition wrapping.
2024-04-26 13:27:56 +03:00
Alex Plate 485d9f81cd VIM-3376: Use SimpleDataContext in tests 2024-04-26 12:25:56 +03:00
Alex Plate 8cf136ce4c Add toString representations for IjNativeAction and ActionEnableStatus 2024-04-26 10:22:50 +03:00
Alex Plate 116a8ac9d2 Reformat test code 2024-04-26 09:58:27 +03:00
Alex Plate fda310bda6 Create a configuration for 2024.1 tests 2024-04-26 09:44:46 +03:00
Alex Plate c4d92ebe73 VIM-308 In intellij 2024.1+ the caret movement won't be detected as a separate undo action 2024-04-05 17:50:42 +03:00
Alex Plate 9869b8a34e Add new UI tests for the actions
NewElementSamePlace
CopyReferencePopupGroup
2024-04-03 18:01:45 +03:00
Alex Plate 60fbf88322 Add UI test for generate action 2024-04-03 17:36:22 +03:00
Alex Plate fae3924062 Update a version of IJ for tests 2024-04-02 11:56:59 +03:00
Alex Plate dc2ce64823 Revert changes in action processing to fix VIM-3351 2024-04-02 11:52:56 +03:00
Alex Plate d0d86d9178 Print the exceptin in logger.warn instead of just a message 2024-03-29 16:53:22 +02:00
Alex Plate f417af6148 Specify ActionUpdateThread for FindActionIdAction 2024-03-29 15:38:05 +02:00
Alex Plate 2fe2860a09 Remove Offset and Pointer and switch to the regular Ints
Details on that can be found here: VIM-3368
2024-03-29 15:38:05 +02:00
Alex Plate bfcf706ca7 Change the logic for detecting new dependencies on IdeaVim plugin 2024-03-29 09:27:09 +02:00
Alex Plate 8c1103c461 Add comment about the fix for project leak in tests 2024-03-28 10:30:19 +02:00
Alex Plate ab75ace8db Fix(VIM-3331): Support custom registers in replaceWithRegister plugin 2024-03-25 09:40:45 +02:00
Alex Plate 4a58e6a282 Add test with custom register for textObjEntire extension 2024-03-25 09:34:58 +02:00
Alex Plate ac9e4f69b4 Remove affectedRate related automation 2024-03-22 20:04:13 +02:00
Alex Plate 581edba7fd Remove the specification of the plugin verifier
The latest version of the verified was broken at some moment, so I specified the static version. Now these issues are fixed.
2024-03-22 13:53:55 +02:00
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