Compare commits

...
5393 Commits
Author SHA1 Message Date
chylex 8bcb0d116d Set plugin version to chylex-16 2023-09-29 01:39:49 +02:00
chylex d9ae9fa40d Remove update checker 2023-09-29 01:39:48 +02:00
chylex c19f88e5c0 [VIM-696] Restore visual mode after undo/redo, and disable incompatible actions 2023-09-29 01:39:48 +02:00
chylex 03f4fb288d Change matchit plugin to use HTML patterns in unrecognized files 2023-09-29 01:39:48 +02:00
chylex ef27579277 Fix vim-surround not working with multiple cursors
Fixes multiple cursors with vim-surround commands `cs, ds, S` (but not `ys`).
2023-09-29 01:39:48 +02:00
chylex a8a822b58e Add VimScript 'renaming()' function 2023-09-29 01:39:48 +02:00
chylex 9752bd5bbb Add support for repeatable actions with ':raction' 2023-09-29 01:39:48 +02:00
chylex 240d9e0be4 Disable taking over arrow keys and Home/End 2023-09-29 01:39:48 +02:00
chylex 328442544d Set custom plugin version 2023-09-29 01:39:48 +02:00
aleksei.plate@jetbrains.comandteamcity 7d4981639a TeamCity change in 'Ideavim / IdeaVim releases' project: parameters of 'Publish patch release' build configuration were updated 2023-09-15 11:49:05 +00:00
Alex Plate 967538767a Push only a specific tag on EAP 2023-09-15 14:20:21 +03:00
Alex Plate 4731eb9db8 Bring back removed functions 2023-09-14 16:50:52 +03:00
Alex Plate 337f5ade59 Get rid of deprecated method 2023-09-14 16:31:26 +03:00
Alex Plate fe8bbcb11a Bring back a method to keep the compatibility 2023-09-14 16:26:14 +03:00
Alex Plate b1b6b0bf80 Add links to the new page about modes 2023-09-14 15:44:00 +03:00
Alex Plate 1c28c138e0 Add post about modes in vim 2023-09-14 15:41:23 +03:00
dependabot[bot]andgithub-actions[bot] cb73111779 Bump io.ktor:ktor-client-cio from 2.3.3 to 2.3.4
Bumps [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor) from 2.3.3 to 2.3.4.
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/2.3.4/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/compare/2.3.3...2.3.4)

---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-cio
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-13 15:47:28 +00:00
dependabot[bot]andgithub-actions[bot] 6250678f61 Bump io.ktor:ktor-serialization-kotlinx-json from 2.3.3 to 2.3.4
Bumps [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) from 2.3.3 to 2.3.4.
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/2.3.4/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/compare/2.3.3...2.3.4)

---
updated-dependencies:
- dependency-name: io.ktor:ktor-serialization-kotlinx-json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-13 18:35:41 +03:00
Alex Plate 1821f01ef1 Fix detecting the commit by tag 2023-09-13 16:33:16 +03:00
Alex Plate 350f084156 Update changeslog 2023-09-12 14:41:13 +03:00
Alex Plate a6c2babafb Fix issue with GitHub CI changes pushing 2023-09-12 14:40:08 +03:00
IdeaVim Bot f566aed1fe Update changelog. Action id - 6158816999 2023-09-12 11:34:46 +00:00
Alex Plate 10fb54224c Use a deploy key to pull the changes 2023-09-12 14:29:20 +03:00
Matt EllisandAlex Pláte 585b815472 Only notify changes if the value is different
This is primarily to avoid instantiating inactive extensions when
resetting all options back to default values, which sets extensions
inactive.
It applies to global and local options, but not to global-local. The
notifications for global-local options are already complex, as they can
be reacting to changes to both the global and local value, and only
notifying editors that are affected.
2023-09-11 11:04:09 +03:00
Matt EllisandAlex Pláte c37e2f4176 Update fallback window when all windows close 2023-09-11 11:04:09 +03:00
Matt EllisandAlex Pláte 626d59d3fc Only use fallback for first initialisation
Subsequent initialisation will be treated like EDIT
2023-09-11 11:04:09 +03:00
Matt EllisandAlex Pláte ddd058a26f Fix name of usage statistic 2023-09-11 11:04:09 +03:00
Matt EllisandAlex Pláte 32b8d03c5e Improve modifying string and string list options 2023-09-11 11:04:09 +03:00
Matt EllisandAlex Pláte 71f3e1b4f1 Support per-window global values
For local-to-window options
2023-09-11 11:04:09 +03:00
Matt EllisandAlex Pláte aa6f53fa68 Require editor when getting/setting global option 2023-09-11 11:04:09 +03:00
Matt EllisandAlex Pláte 1335e9f7f2 Improve detection of editor open scenarios 2023-09-11 11:04:09 +03:00
Matt EllisandAlex Pláte c75599b6a0 Refactor editor options initialisation 2023-09-11 11:04:09 +03:00
Matt EllisandAlex Pláte 2efdfbd988 Remove unnecessary calls from tests 2023-09-11 11:04:09 +03:00
Matt EllisandAlex Pláte 700198d8bc Remove test only vimscript execute method 2023-09-11 11:04:09 +03:00
Matt EllisandAlex Pláte 3efab5928e Evaluate ideavimrc in the fallback window context 2023-09-11 11:04:09 +03:00
Matt EllisandAlex Pláte 93037b6866 Add fallback window to capture local option state 2023-09-11 11:04:09 +03:00
Matt EllisandAlex Pláte 0f19e50c69 Improve hierarchy of option accessors
Getting the effective IJ options would allow access to Vim global and IJ global, but not Vim effective. IntelliJ specific options are now a separate hierarchy, so the Vim effective and IJ effective accessors now simply access all Vim or all IJ options.
2023-09-11 11:04:09 +03:00
Matt EllisandAlex Pláte 66ea6ad3d4 Rename OptionScope to OptionAccessScope 2023-09-11 11:04:09 +03:00
Alex Plate b6dc1f0e61 Add new harpoon plugin as a dependent plugin 2023-09-11 10:42:39 +03:00
filipp 0c1dc51db4 Fix(VIM-3060): Clipboard interaction stopped working
Fix for Windows
2023-09-07 14:42:00 +03:00
filipp 74a710c5e8 VIM-3060 Clipboard interaction stopped working
Fixed issue and tests (for Linux)
2023-09-07 02:39:23 +03:00
dependabot[bot]andgithub-actions[bot] c4a773e72d Bump io.ktor:ktor-client-auth from 2.3.3 to 2.3.4
Bumps [io.ktor:ktor-client-auth](https://github.com/ktorio/ktor) from 2.3.3 to 2.3.4.
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/2.3.4/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/compare/2.3.3...2.3.4)

---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-auth
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-06 16:15:12 +00:00
dependabot[bot]andgithub-actions[bot] ad43fc37ab Bump io.ktor:ktor-client-content-negotiation from 2.3.3 to 2.3.4
Bumps [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) from 2.3.3 to 2.3.4.
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/2.3.4/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/compare/2.3.3...2.3.4)

---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-content-negotiation
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-06 19:00:07 +03:00
dependabot[bot]andgithub-actions[bot] 8011c048a2 Bump io.ktor:ktor-client-core from 2.3.3 to 2.3.4
Bumps [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) from 2.3.3 to 2.3.4.
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/2.3.4/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/compare/2.3.3...2.3.4)

---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-06 15:48:02 +00:00
dependabot[bot]andgithub-actions[bot] c4ee9987bf Bump org.eclipse.jgit:org.eclipse.jgit.ssh.apache
Bumps org.eclipse.jgit:org.eclipse.jgit.ssh.apache from 6.6.0.202305301015-r to 6.7.0.202309050840-r.

---
updated-dependencies:
- dependency-name: org.eclipse.jgit:org.eclipse.jgit.ssh.apache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-06 15:47:47 +00:00
Alex PláteandGitHub f70decddd1 Update README.md
Fix type
2023-09-06 08:29:54 +03:00
Alex Plate 79a0aea065 Remove bunny plugin 2023-09-04 09:38:37 +03:00
Alex Plate fe87e86721 Fix typo in wiki 2023-09-01 19:09:14 +03:00
Alex Plate 456055bcf0 Do not run multiple carets from ChangeEditorActionHandler and instead pass this information to EditorActionHandlerBase
This is needed for the new way we register handlers. As we can't be sure that this commands won't be called from the `runForEachCaret` context, we have to avoid this method
2023-09-01 17:25:14 +03:00
Alex Plate 5ebe290424 Check if the caret if valid 2023-09-01 15:27:27 +03:00
Alex Plate 4532d68743 Convert change group to kotlin 2023-09-01 14:29:51 +03:00
Alex Plate 1903e18397 Rename .java to .kt 2023-09-01 14:13:57 +03:00
Alex Plate a705bf7053 Get rid of the exception suppression
This suppression existed for a very long time. Now it hid one of the exceptions I expected.
2023-09-01 13:58:11 +03:00
Alex Plate 26e9bf5197 Detect if we run the action in runForEachCaret scope or not 2023-09-01 13:25:15 +03:00
Alex Plate 64007b3634 Update changelog to version 2.5.0 2023-09-01 13:04:48 +03:00
Alex Plate 80f099220c Add pushing the branch 2023-09-01 13:03:53 +03:00
Alex Plate 08615f2295 Remove deprecated release workflow 2023-09-01 12:49:47 +03:00
Alex Plate 5c02bb4f91 Use bash script in release workflow 2023-09-01 12:48:44 +03:00
Alex Plate ad6aee55f9 Add comment 2023-09-01 12:41:25 +03:00
Alex Plate aac4fd8e5e Use shell to push 2023-09-01 12:29:23 +03:00
Alex Plate c013ae7dab Fix incorrect gradle config 2023-09-01 11:45:24 +03:00
Alex Plate 57ab4b0849 Cleanup push code 2023-09-01 11:41:23 +03:00
Alex Plate 24a762504f Do not push release branch on EAP or patch release 2023-09-01 11:40:34 +03:00
Alex Plate 838bcc07a4 Update usages of jgit in repository 2023-09-01 11:40:32 +03:00
Alex Plate 0f0c996b54 Update usages of jgit in repository 2023-09-01 11:31:22 +03:00
dependabot[bot]andgithub-actions[bot] b1ad67a354 Bump com.google.devtools.ksp:symbol-processing-api
Bumps [com.google.devtools.ksp:symbol-processing-api](https://github.com/google/ksp) from 1.9.0-1.0.13 to 1.9.10-1.0.13.
- [Release notes](https://github.com/google/ksp/releases)
- [Commits](https://github.com/google/ksp/compare/1.9.0-1.0.13...1.9.10-1.0.13)

---
updated-dependencies:
- dependency-name: com.google.devtools.ksp:symbol-processing-api
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-30 15:50:58 +00:00
dependabot[bot]andgithub-actions[bot] c7a64c0c7c Bump org.jetbrains.changelog from 2.1.2 to 2.2.0
Bumps org.jetbrains.changelog from 2.1.2 to 2.2.0.

---
updated-dependencies:
- dependency-name: org.jetbrains.changelog
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-30 15:40:47 +00:00
dependabot[bot]andgithub-actions[bot] 5da87dbe0a Bump org.jetbrains.kotlin:kotlin-stdlib from 1.8.21 to 1.9.10
Bumps [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) from 1.8.21 to 1.9.10.
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.9.10/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.8.21...v1.9.10)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-30 15:37:36 +00:00
dependabot[bot]andgithub-actions[bot] 38e1a62f19 Bump org.jetbrains.kotlinx:kotlinx-serialization-json-jvm
Bumps [org.jetbrains.kotlinx:kotlinx-serialization-json-jvm](https://github.com/Kotlin/kotlinx.serialization) from 1.5.1 to 1.6.0.
- [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Kotlin/kotlinx.serialization/compare/v1.5.1...v1.6.0)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-json-jvm
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-30 18:36:38 +03:00
Alex Plate 5174a26719 Comment out TC requirements because they don't override 2023-08-25 19:05:42 +03:00
Alex PláteandGitHub 98886cb269 Update README.md
Add reference to stackoverflow answer about names of VIsual mode
2023-08-25 11:48:26 +03:00
Alex Plate e7a8b45c10 [VIM-3051] Refactor the way we store modes in IdeaVim
Now we have a single variable with current mode instead of stack of modes.
2023-08-25 11:38:21 +03:00
Alex Plate 2e0ec73d77 Remove some deprecated methods 2023-08-25 11:17:28 +03:00
dependabot[bot]andgithub-actions[bot] b8b324cdf3 Bump io.ktor:ktor-serialization-kotlinx-json from 2.3.0 to 2.3.3
Bumps [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) from 2.3.0 to 2.3.3.
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/compare/2.3.0...2.3.3)

---
updated-dependencies:
- dependency-name: io.ktor:ktor-serialization-kotlinx-json
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-23 19:08:49 +03:00
dependabot[bot]andgithub-actions[bot] 12600d8404 Bump org.mockito.kotlin:mockito-kotlin from 4.1.0 to 5.1.0
Bumps [org.mockito.kotlin:mockito-kotlin](https://github.com/mockito/mockito-kotlin) from 4.1.0 to 5.1.0.
- [Release notes](https://github.com/mockito/mockito-kotlin/releases)
- [Commits](https://github.com/mockito/mockito-kotlin/compare/4.1.0...5.1.0)

---
updated-dependencies:
- dependency-name: org.mockito.kotlin:mockito-kotlin
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-23 18:56:25 +03:00
dependabot[bot]andgithub-actions[bot] d9dfdb7e68 Bump org.jetbrains.intellij from 1.14.2 to 1.15.0
Bumps org.jetbrains.intellij from 1.14.2 to 1.15.0.

---
updated-dependencies:
- dependency-name: org.jetbrains.intellij
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-23 18:55:44 +03:00
dependabot[bot]andgithub-actions[bot] 07f8b2c47b Bump io.ktor:ktor-client-cio from 2.2.4 to 2.3.3
Bumps [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor) from 2.2.4 to 2.3.3.
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/compare/2.2.4...2.3.3)

---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-cio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-23 15:55:25 +00:00
Alex Plate b9c4ae2fbb Update the external Vim license
RIP Bram Moolenaar
https://twitter.com/ideavim/status/1688541894979051520

This change follows the update of the original Vim license: https://github.com/vim/vim/commit/e978b4534a5e10471108259118c0ef791106fd92
2023-08-18 17:04:58 +03:00
filipp.vakhitovandteamcity 2b2d78edc0 TeamCity change in 'Ideavim' project: requirements of 'Tests for IntelliJ Latest EAP With Xorg' build configuration were updated 2023-08-18 08:46:59 +00:00
filipp.vakhitovandteamcity 2ad78c722a TeamCity change in 'Ideavim' project: requirements of 'Tests for IntelliJ Latest EAP With Xorg' build configuration were updated 2023-08-18 08:46:45 +00:00
filipp.vakhitovandteamcity 99771babba TeamCity change in 'Ideavim' project: requirements of 'Tests for IntelliJ Latest EAP With Xorg' build configuration were updated 2023-08-18 08:46:12 +00:00
filipp.vakhitovandteamcity 1b0ba48b9d TeamCity change in 'Ideavim' project: requirements of 'Tests for IntelliJ Latest EAP With Xorg' build configuration were updated 2023-08-18 08:39:02 +00:00
filipp 95cf32c70a Add build configuration 2023-08-18 11:34:43 +03:00
dependabot[bot]andAlex Pláte 14469d1a2e Bump org.jetbrains.changelog from 2.0.0 to 2.1.2
Bumps org.jetbrains.changelog from 2.0.0 to 2.1.2.

---
updated-dependencies:
- dependency-name: org.jetbrains.changelog
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-17 09:11:54 +03:00
dependabot[bot]andgithub-actions[bot] 336f1c3b80 Bump org.jetbrains.kotlinx:kotlinx-serialization-json-jvm
Bumps [org.jetbrains.kotlinx:kotlinx-serialization-json-jvm](https://github.com/Kotlin/kotlinx.serialization) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/Kotlin/kotlinx.serialization/releases)
- [Changelog](https://github.com/Kotlin/kotlinx.serialization/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Kotlin/kotlinx.serialization/compare/v1.5.0...v1.5.1)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlinx:kotlinx-serialization-json-jvm
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-16 16:21:36 +00:00
dependabot[bot]andgithub-actions[bot] 055fd4379a Bump com.google.devtools.ksp:symbol-processing-api
Bumps [com.google.devtools.ksp:symbol-processing-api](https://github.com/google/ksp) from 1.8.21-1.0.11 to 1.9.0-1.0.13.
- [Release notes](https://github.com/google/ksp/releases)
- [Commits](https://github.com/google/ksp/compare/1.8.21-1.0.11...1.9.0-1.0.13)

---
updated-dependencies:
- dependency-name: com.google.devtools.ksp:symbol-processing-api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-16 16:04:23 +00:00
dependabot[bot]andgithub-actions[bot] f6b5cfe1d4 Bump io.ktor:ktor-client-core from 2.2.4 to 2.3.3
Bumps [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) from 2.2.4 to 2.3.3.
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/compare/2.2.4...2.3.3)

---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-16 16:04:09 +00:00
dependabot[bot]andgithub-actions[bot] df744fe48b Bump com.squareup.okhttp3:okhttp from 4.10.0 to 4.11.0
Bumps [com.squareup.okhttp3:okhttp](https://github.com/square/okhttp) from 4.10.0 to 4.11.0.
- [Changelog](https://github.com/square/okhttp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/square/okhttp/compare/parent-4.10.0...parent-4.11.0)

---
updated-dependencies:
- dependency-name: com.squareup.okhttp3:okhttp
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-16 19:02:17 +03:00
Alex Plate 9f10a4a0b7 Revert "Temporally disable some tests"
This reverts commit bf6a8a71
2023-08-14 16:17:47 +03:00
Alex Plate 22ca74a1a3 Use a different approach for switching to visual mode. The previous way caused "recursive runForEachCaret exception" 2023-08-14 16:17:47 +03:00
Alex Plate 3093c9212c Add note about visual type in text objects 2023-08-14 16:17:46 +03:00
dependabot[bot]andgithub-actions[bot] 6b8a4e6e63 Bump org.junit.jupiter:junit-jupiter-engine from 5.9.2 to 5.10.0
Bumps [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit5) from 5.9.2 to 5.10.0.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.9.2...r5.10.0)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 11:28:23 +03:00
dependabot[bot]andgithub-actions[bot] d256870953 Bump org.junit.jupiter:junit-jupiter-api from 5.9.2 to 5.10.0
Bumps [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit5) from 5.9.2 to 5.10.0.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.9.2...r5.10.0)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 08:16:59 +00:00
dependabot[bot]andAlex Pláte 8fd8cceadb Bump io.ktor:ktor-client-auth from 2.2.4 to 2.3.3
Bumps [io.ktor:ktor-client-auth](https://github.com/ktorio/ktor) from 2.2.4 to 2.3.3.
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/compare/2.2.4...2.3.3)

---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 11:09:38 +03:00
dependabot[bot]andgithub-actions[bot] 402b532311 Bump org.junit.jupiter:junit-jupiter-params from 5.9.2 to 5.10.0
Bumps [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit5) from 5.9.2 to 5.10.0.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.9.2...r5.10.0)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-params
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 11:05:11 +03:00
Alex Plate 8e85d35d8f Disable the failed test again 2023-08-14 10:53:17 +03:00
Alex Plate 6b6794a367 Check if test will fail on server 2023-08-14 10:36:44 +03:00
Alex Plate 14a726b5af Add a note 2023-08-14 10:35:54 +03:00
dependabot[bot]andAlex Pláte 3e937d234b Bump io.ktor:ktor-client-content-negotiation from 2.2.4 to 2.3.3
Bumps [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) from 2.2.4 to 2.3.3.
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/compare/2.2.4...2.3.3)

---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-content-negotiation
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-14 10:29:17 +03:00
Alex Plate bf6a8a713b Temporally disable some tests 2023-08-14 10:08:36 +03:00
IdeaVim Bot b8c5e7aaba Update changelog after merging PR 2023-08-14 06:07:23 +00:00
Ludwig Valda VasquezandAlex Pláte 068d610e3a Add grapheme cluster handling tests
GraphemeBreakTest.txt was downloaded from the Unicode Character Database [0].

Changes to build.gradle.kts were required to stop `gradlew test` from
regenerating the resources with empty JSON objects. And adding a
dependency.

[0]: https://www.unicode.org/Public/UCD/latest/ucd/auxiliary/GraphemeBreakTest.txt
2023-08-14 09:04:41 +03:00
Ludwig Valda VasquezandAlex Pláte 41177b91be Handle unicode grapheme clusters
Some characters that render as a single symbol can span over a sequence
of several unicode code points (e.g., flag emojis, combination of a
letter and a diacritic, Hangul syllables, etc.).

Such composites are called grapheme clusters in the unicode standard,
and this patch introduces recognition of extended grapheme cluster
boundaries, allowing to iterate over rendered characters. Without this,
user may observe the cursor being "stuck" inside a character for several
keystrokes, while it's making its way through each code point in the
grapheme cluster.

The implementation follows the boundaries search algorithm outlined in
the technical report 29 of the Unicode standard[1]. The implementation was
tested against the set of test cases provided by the unicode character
database[2].

Additionally to the grapheme cluster boundaries search itself, this
patch adds `isExtendedPictographic` function, that answers whether the
given code point has a unicode "Extended_Pictographic" property, which
is required to correctly determine grapheme cluster boundaries. This
method is implemented natively in the JDK 21 and can be removed once we
start targeting that version.

Extended_Pictographic property is stored as a bitmap. I was considering
making a similar map for the code point classification in the grapheme
cluster boundary search implementation, which could yield better
performance, but that would require adding another half a megabyte (at
least) of data into the JAR and I've settled for the bunch of `if`s way.

That is something that can be reconsidered and shouldn't be difficult to
change if the impact on performance would be noticeable (in my simple
tests it didn't show).

A few functions in the vim-engine were adjusted to handle grapheme
clusters (such as getting the horizontal offset and adjusting the cursor
to not reach over the end of the line).

[1]: https://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries
[2]: https://www.unicode.org/Public/UCD/latest/ucd/auxiliary/GraphemeBreakTest.txt
2023-08-14 09:04:41 +03:00
Filipp Vakhitov c2ebacdfb3 Better annotations 2023-08-11 15:57:09 +03:00
Alex Plate 5d4996c085 Optimize imports on the project 2023-08-11 11:54:38 +03:00
Alex Plate dbafbbf66d Add a small interesting facts about undolevels 2023-08-11 11:47:36 +03:00
Filipp Vakhitov a46200ca17 Introduce TestForLinux annotation 2023-08-11 00:22:43 +03:00
filipp 1fe64e69ca Support running tests if headless 2023-08-04 19:00:47 +03:00
IdeaVim Bot a017ec9bfd Update changelog after merging PR 2023-08-03 12:03:00 +00:00
Matt EllisandAlex Pláte cb8385a092 Fix issue adding back hidden status bar widget 2023-08-03 15:00:28 +03:00
Matt EllisandAlex Pláte d4aa1f87e0 Fix read-only stdin when running application 2023-08-03 14:58:47 +03:00
filipp 41df06a48b Fix failing tests second attempt
(please please)
2023-08-03 14:00:03 +03:00
filipp 4188e636f3 Fix failing tests
(please)
2023-08-03 13:39:33 +03:00
filipp e2c0d59e3a Fix default register for unnamedplus without X 2023-08-03 11:24:29 +03:00
Alex Plate 6a8c210a23 Fix incorrect tic in docs 2023-08-02 16:43:53 +03:00
Alex Plate a62cc3618c Fix an issue with disposed caret when moving up
There was an issue that when we enter visual block, move up, then try to switch to the visual line, we get a disposed caret issue.
This was caused by the fact that we get the list of carets, then process them one by one. However, as we update the first caret, the second gets disposed.
2023-08-01 16:17:39 +03:00
Alex Plate a703afbef9 Update changelog 2023-08-01 12:25:38 +03:00
Alex Plate 5ce8445d5c Update GH jobs to use the IdeaVim Bot git account 2023-08-01 12:25:38 +03:00
Matt EllisandAlex Pláte d112030a8e Add explanatory comment about InsertExitModeAction 2023-08-01 12:22:26 +03:00
Matt EllisandAlex Pláte 98ca4080dd Do not enter INSERT mode for read-only editors
It's not enough that the document is writable, the editor needs to be non-read-only, too.

Fixes VIM-2313, fixes VIM-2318, fixes VIM-2666, fixes VIM-2951
2023-08-01 12:22:26 +03:00
Alex Plate 3b9c63e781 Update changelog after merging PR 2023-07-31 08:31:19 +00:00
Matt EllisandAlex Pláte dd24ebf184 Rename OptionsScope.AUTO to EFFECTIVE 2023-07-31 11:28:32 +03:00
Matt EllisandAlex Pláte 7ef2be625f Refactor parseOptionLine for readability 2023-07-31 11:28:32 +03:00
Matt EllisandAlex Pláte e3957d2207 Minor updates from code review 2023-07-31 11:28:32 +03:00
Matt EllisandAlex Pláte 8ce1307d51 Fix tests under latest SDK 2023-07-31 11:28:32 +03:00
Matt EllisandAlex Pláte e1141dcd1c Remove old option listener API 2023-07-31 11:28:32 +03:00
Matt EllisandAlex Pláte 4e33b5f351 Migrate to effective value change listeners 2023-07-31 11:28:32 +03:00
Matt EllisandAlex Pláte 54dc184dd0 Introduce option effective value change listener 2023-07-31 11:28:32 +03:00
Matt EllisandAlex Pláte 1977ce3ea5 Add simple one to many collection 2023-07-31 11:28:32 +03:00
Matt EllisandAlex Pláte c8c9d1729e Introduce listener for global option changes 2023-07-31 11:28:32 +03:00
Matt EllisandAlex Pláte e6e4b81f3b Simplify guicursor caret attributes cache 2023-07-31 11:28:32 +03:00
Matt EllisandAlex Pláte 1c465f028e Fix option scopes for :let command 2023-07-31 11:28:32 +03:00
Matt EllisandAlex Pláte 12824c22c4 Add :setglobal command 2023-07-31 11:28:32 +03:00
Matt EllisandAlex Pláte 64c5ad72a3 Use accessor API to set global-local value 2023-07-31 11:28:32 +03:00
Matt EllisandAlex Pláte 080c2059ee Format unset global-local toggle options 2023-07-31 11:28:32 +03:00
Matt EllisandAlex Pláte a288850010 Add support for resetting option to global value 2023-07-31 11:28:32 +03:00
Matt EllisandAlex Pláte 16811602d2 Support global-local options 2023-07-31 11:28:32 +03:00
Matt EllisandAlex Pláte 6d94d719e3 Only notify change if option has changed 2023-07-31 11:28:32 +03:00
Matt EllisandAlex Pláte 749d111e89 Reset options for current editor only
Matches Vim behaviour for `:set all&`
2023-07-31 11:28:32 +03:00
Matt EllisandAlex Pláte 365d8d34ce Introduce AUTO scope for effective option values 2023-07-31 11:28:32 +03:00
Matt EllisandAlex Pláte ced25bbf28 Initialise options when opening windows/buffers
Note that this temporarily changes the semantics of `:set` to always set the local option, instead of setting the global option (because we now eagerly initialise local values). Neither is correct, but we don't yet have a way to support the proper behaviour.
2023-07-31 11:28:32 +03:00
Matt EllisandAlex Pláte 7e1ce5a203 Use Vim terminology in storage service 2023-07-31 11:28:32 +03:00
Matt EllisandAlex Pláte aeec754f7e Override IjVimEditor.toString for better debugging 2023-07-31 11:28:32 +03:00
Matt EllisandAlex Pláte 9a3fcb56a1 Support local-to-buffer options
Previously, all local options were treated as local-to-window
2023-07-31 11:28:32 +03:00
Matt EllisandAlex Pláte aff956f4c8 Update parsed value cache for declared scope 2023-07-31 11:28:32 +03:00
Matt EllisandAlex Pláte 0f49fd6406 Introduce declared scope for all options 2023-07-31 11:28:32 +03:00
IdeaVim Bot 1111770033 Update changelog. Action id - 5699821393 2023-07-29 10:07:18 +00:00
Filipp Vakhitov 6d313fc456 Update gradle plugin 2023-07-28 20:14:03 +03:00
Filipp Vakhitov 0201acb5f7 Fix test 2023-07-28 20:09:09 +03:00
Filipp Vakhitov dfbefe96da Fix(VIM-802): IdeaVim vs. Vim: discrepancies in using registers 2023-07-28 19:58:51 +03:00
filipp a71b35097f Fix(VIM-2246): X11/Xorg Primary selection register "* not supported 2023-07-28 19:56:42 +03:00
Alex Plate acd0cf5245 [TC] Smart checkout of the branch 2023-07-27 14:32:27 +03:00
Alex Plate 393b9b2f3d [TC] Create branch when checkout 2023-07-27 14:16:21 +03:00
Alex Plate f66bad1810 Revert "[TC] Enable stack trace for all gradle tasks"
This reverts commit 386a81454b.
2023-07-27 14:05:42 +03:00
Alex Plate 386a81454b [TC] Enable stack trace for all gradle tasks 2023-07-27 14:00:24 +03:00
Alex Plate deb2b7a36f [TC] Update name on the job 2023-07-27 13:58:01 +03:00
Alex Plate a3901c7b1c [TC] Enable other build steps and disable old release job 2023-07-27 13:43:45 +03:00
Alex Plate 631ee109f5 [TC] Add unshallow fetch for other builds 2023-07-27 13:35:36 +03:00
Alex Plate 25570e2135 [TC] Change git pull to fetch 2023-07-27 13:31:15 +03:00
Alex Plate 6d70044b15 [TC] Pull git history 2023-07-27 13:24:22 +03:00
Alex Plate b064f94172 [TC] Print the log size 2023-07-27 13:05:43 +03:00
Alex Plate 721124e8c5 [TC] Add git pull for dev task 2023-07-27 13:01:32 +03:00
Alex Plate 85333e03a4 [TC] Add additional git pull 2023-07-27 12:57:01 +03:00
Alex Plate bef928a20c [TC] Add some logging 2023-07-27 12:49:40 +03:00
Alex Plate 6967416207 [TC] Print the last version 2023-07-27 12:40:41 +03:00
Alex Plate e968b3f26b [TC] Add SSH agent to dev release 2023-07-27 12:33:10 +03:00
Alex Plate be6d8e23c8 [TC] Set teamcity build number from job 2023-07-27 12:29:54 +03:00
Alex Plate 397effacd4 [TC] Remove dev_version constant 2023-07-27 12:26:08 +03:00
Alex Plate a35738d99b [TC] Make tagging available for any job 2023-07-27 12:24:46 +03:00
Alex Plate 03aafdeae2 [TC] Update dev version of job 2023-07-27 11:55:00 +03:00
Alex Plate f5529b6cce [TC] Add function to calculate dev version 2023-07-27 11:52:23 +03:00
Alex Plate 0bd39c2826 [TC] Update release EAP job 2023-07-27 11:40:25 +03:00
Alex Plate d335745010 [TC] Add task to calculate new EAP version 2023-07-27 11:36:52 +03:00
Alex Plate 0d59843f40 [TC] Reformat version calculation 2023-07-27 11:28:09 +03:00
Alex Plate 011d0a15a9 [TC] Clean up release process 2023-07-27 11:17:41 +03:00
Alex Plate c72b968f9b [TC] Add other job types 2023-07-27 11:12:47 +03:00
Alex Plate 4e7cef9402 [TC] Prepare to other types of release 2023-07-27 11:08:36 +03:00
Alex Plate 1868d5a202 [TC] Move steps to release package 2023-07-27 11:03:57 +03:00
Alex Plate 423fcfbda3 [TC] Update pushing step to work with any branch 2023-07-27 11:02:40 +03:00
Alex Plate be5d17457f [TC] Add more release steps 2023-07-27 11:00:11 +03:00
Alex Plate 5033b0332e [TC] Add step with updating release branch 2023-07-27 10:42:15 +03:00
Alex Plate a1cf4cc46d [TC] Add function to add release tag 2023-07-27 09:54:48 +03:00
Alex Plate 838f494a85 [TC] Commit changes before release 2023-07-27 09:37:23 +03:00
Alex Plate d55f5b1e39 [TC] Set up job with release type 2023-07-27 09:12:26 +03:00
Alex Plate c98768dd52 [TC] Add release type to the config 2023-07-27 09:05:46 +03:00
filipp 0058f81e76 VIM-3022 Search is broken in folded regions 2023-07-27 01:03:12 +03:00
Alex Plate b79c384c3f [TC] Set the version for the next task 2023-07-26 17:08:43 +03:00
Alex Plate a11dae821e [TC] Add task to update the changelog 2023-07-26 17:02:31 +03:00
aleksei.plate@jetbrains.comandteamcity b08deb518c TeamCity change in 'Ideavim / IdeaVim releases' project: build features of 'Publish Minor Release' build configuration were updated 2023-07-26 13:33:51 +00:00
aleksei.plate@jetbrains.comandteamcity 7ad0a8c400 TeamCity change in 'Ideavim / IdeaVim releases' project: runners of 'Publish Minor Release' build configuration were updated 2023-07-26 13:19:44 +00:00
aleksei.plate@jetbrains.comandteamcity 4bb33ec101 TeamCity change in 'Ideavim / IdeaVim releases' project: runners of 'Publish Minor Release' build configuration were updated 2023-07-26 13:19:31 +00:00
Alex Plate 856baec94d [TC] Try to find reason why this doesn't work on TC 2023-07-26 16:14:45 +03:00
Alex Plate 09600db5f2 [TC] Remove additional pull for the job 2023-07-26 16:09:54 +03:00
aleksei.plate@jetbrains.comandteamcity 810a1e252d TeamCity change in 'Ideavim / IdeaVim releases' project: VCS roots of 'Publish Minor Release' build configuration were updated 2023-07-26 13:09:46 +00:00
Alex Plate 10b3fcdfcc [TC] Add additional pull for the job 2023-07-26 16:04:20 +03:00
Alex Plate 652e6eb9e8 [TC] Do not specify build number pattern for job 2023-07-26 15:59:09 +03:00
Alex Plate eea2b5f6fb [TC] Calculate the rootDir of the root project 2023-07-26 15:56:26 +03:00
Alex Plate b4eb0df689 [TC] Add "ReleaseMinor" job that prints the version of the next minor release 2023-07-26 15:46:50 +03:00
Alex Plate 2b26c6a5b6 Use XLarge agents for releases
We'll use them as usualy we make releases manually and need to wait till it finishes
2023-07-26 15:06:29 +03:00
Alex Plate 79e2134ca8 Apply TeamCity patch 2023-07-26 15:02:10 +03:00
aleksei.plate@jetbrains.comandteamcity 6efa30152f TeamCity change in 'Ideavim' project: 'Qodana checks' build configuration settings were updated 2023-07-24 13:13:53 +00:00
aleksei.plate@jetbrains.comandteamcity 781fb476e7 TeamCity change in 'Ideavim' project: 'Qodana checks' build configuration settings were updated 2023-07-21 09:46:26 +00:00
aleksei.plate@jetbrains.comandteamcity f2ed4eba3b TeamCity change in 'Ideavim / IdeaVim releases' project: parameters of 'Publish vim-engine' build configuration were updated 2023-07-20 14:06:10 +00:00
aleksei.plate@jetbrains.comandteamcity d2b1cd511d TeamCity change in 'Ideavim / IdeaVim releases' project: parameters of 'Publish vim-engine' build configuration were updated 2023-07-20 14:04:12 +00:00
aleksei.plate@jetbrains.comandteamcity 1c9df39afe TeamCity change in 'Ideavim / IdeaVim releases' project: parameters of 'Publish vim-engine' build configuration were updated 2023-07-20 14:03:48 +00:00
aleksei.plate@jetbrains.comandteamcity f124f45604 TeamCity change in 'Ideavim / IdeaVim releases' project: parameters of 'Publish vim-engine' build configuration were updated 2023-07-20 14:03:06 +00:00
Alex Plate d3660892ae Move publishing to a TC job 2023-07-20 17:00:40 +03:00
Alex Plate 78ea4e4e30 Set up publishing of the vim-engine library 2023-07-20 16:50:14 +03:00
Alex Plate 5ab985a7cc Update changelog after merging PR 2023-07-19 15:06:47 +00:00
Matt EllisandAlex Pláte 6bd1782c4b Fix OS specific values in tests 2023-07-19 18:04:02 +03:00
Matt EllisandAlex Pláte 2f5d402c61 Support :set! to output as a single column 2023-07-19 18:04:02 +03:00
Matt EllisandAlex Pláte 8fb2ea5845 Output options in column order, not row order
This means that the last column might not be full, rather than the last row. Same as Vim.
2023-07-19 18:04:02 +03:00
Matt EllisandAlex Pláte a78e21a167 Use soft wraps instead of hard wraps in ex output
Hard wraps require figuring out the width of the panel, and all we have is the width of the associated editor, which excludes gutter, etc. Easier to let the UI toolkit handle it
2023-07-19 18:04:02 +03:00
Matt EllisandAlex Pláte 2e9b626523 Fix formatting of value pair options 2023-07-19 18:04:02 +03:00
Matt EllisandAlex Pláte 4487b8904c Sort options output before formatting
Sorts on option name, not including "no" prefix for toggle options
2023-07-19 18:04:02 +03:00
Matt EllisandAlex Pláte 1f01f915dc Remove trailing padding from options list 2023-07-19 18:04:02 +03:00
Filipp Vakhitov 4222c71a69 Pre-release tasks 2023-07-18 11:48:56 +03:00
IdeaVim Bot 1d463cde90 Update changelog. Action id - 5561661508 2023-07-15 10:07:05 +00:00
Alex Plate 834d1476ce Replace VimDataContext with a dataContextWrapper
This should fix some issues like
https://jb-web.exa.aws.intellij.net/report/16130069
https://jb-web.exa.aws.intellij.net/report/16092668
2023-07-14 16:58:26 +03:00
filipp a769a8d1a4 Fix(VIM-2818): Wrong caret position after multicaret paste 2023-07-14 16:24:36 +03:00
filipp ece8c3821d Add test for VIM-481 2023-07-14 16:00:54 +03:00
filipp 2bc0c4c41b Better buffer storage 2023-07-14 15:06:03 +03:00
filipp 9e203898b6 Support more registers for secondary carets 2023-07-14 13:42:43 +03:00
filipp 58ad8417e5 Fix vim logger 2023-07-14 13:22:32 +03:00
Alex Plate 9c00927089 Use different commit format 2023-07-07 13:41:11 +03:00
Alex Plate 7c6964c6ef Use different commit format 2023-07-07 13:40:47 +03:00
Alex Plate 31a5104205 Remove incorrect item in changelog 2023-07-07 13:36:12 +03:00
Alex Plate 7bcf3858e8 Add ludwig-jb to contributors list 2023-07-07 10:31:44 +00:00
Alex Plate fb3eb0da8a Use tags for workflows 2023-07-07 13:28:01 +03:00
Alex Plate 0e6d92dea7 Update changelog job 2023-07-07 13:23:46 +03:00
Alex Plate c00ffe7fc3 Try to use tags to get last commit 2023-07-07 13:15:26 +03:00
Alex Plate 02b3f8bf02 Disable changelog update 2023-07-07 13:03:00 +03:00
Alex Plate fe7afb0141 Try to use tags in the workflow 2023-07-07 12:56:31 +03:00
Alex Plate 1ec810b981 Switch to custom last-successful-commit-action 2023-07-07 12:36:59 +03:00
Alex Plate 3a2187ebad Try to use modified action 2023-07-07 12:24:42 +03:00
Alex Plate fef6a1b090 Bring back the plugin in devendencies check 2023-07-07 12:24:42 +03:00
Alex Plate 2f5b39af54 Update changelog after merging PR 2023-07-07 08:49:32 +00:00
samabcdeandAlex Pláte d3f942aebc VIM-2920 fix select block expansion when enclose boundary is line break 2023-07-07 11:46:41 +03:00
Alex Plate 5df0db8845 Update changelog after merging PR 2023-07-07 08:01:10 +00:00
Ludwig Valda VasquezandAlex Pláte 28887c1da2 Update VimMessages#updateStatusBar to accept VimEditor
This is required for vim support in Fleet.
2023-07-07 10:57:56 +03:00
Alex Plate 7053a225b8 Update the branch name 2023-06-30 14:25:58 +03:00
Alex Plate 54422801c3 Try to migrate to a different way to get last successful action 2023-06-30 14:22:53 +03:00
Alex Plate 56c464ba79 Update changelog 2023-06-30 10:07:38 +00:00
filipp 2582f1e907 Fix(VIM-1294): unvoluntary unfolding when using ideavim 2023-06-30 12:32:41 +03:00
Alex Plate 13139966ea Implement UserDataHolder for out VimDataContext
This is needed for fix Rider issues with put: https://youtrack.jetbrains.com/issue/RIDER-94213/StackOverflowError-when-using-GotoDeclaration-action-or-gd-with-IdeaVIM-plugin-in-Rider-2023.2#focus=Comments-27-7617177.0-0
2023-06-30 10:50:38 +03:00
Alex Plate 011bb78f69 Update changelog 2023-06-28 10:08:02 +00:00
Alex PláteandGitHub 2446ed20a6 Update README.md 2023-06-28 12:51:22 +03:00
filipp c376feb4d8 Fix(VIM-2685): Register command outputs different values for same registers 2023-06-27 17:40:56 +03:00
filipp fa0bcfa37a Remove duplicate file 2023-06-23 17:19:37 +03:00
filipp 6b70b11ffc Focus active tab after :tabclose 2023-06-23 17:05:09 +03:00
filipp e474075778 Basic support for commands that were not added to grammar 2023-06-23 15:18:57 +03:00
filipp 1205bb67f2 VIM-2973 Multiline editing like "ciw" doesn't work well when have remappings to stop c and d from using the default register 2023-06-21 01:20:46 +03:00
filipp 10bcd20cd8 Retire obsolete commands
With all the gratefulness for 20 years of service. Thank you, pioneers of our plugin's legacy.
2023-06-20 15:59:09 +03:00
filipp 3a2e6e018d Add missing command tests 2023-06-20 15:59:09 +03:00
filipp 1b1680f7b0 Fix typo 2023-06-20 15:59:09 +03:00
filipp 6cc52570ac Add missing ExCommand annotations 2023-06-20 15:59:09 +03:00
filipp 6425791ed9 Attempt to avoid broken jsons after partial compilation 2023-06-20 15:59:09 +03:00
Alex Plate 4c7a720447 Update changelog 2023-06-17 10:07:41 +00:00
Alex Plate 23ac9f3faf Update changelog 2023-06-16 10:08:08 +00:00
Alex Plate 0192009482 Fix(VIM-2975): Fix the offset after the rendered docs 2023-06-15 14:25:09 +03:00
Alex Plate 2468c359a4 Disable test warning 2023-06-15 13:23:00 +03:00
Alex Plate ae1ad9fd2e Update changelog 2023-06-14 10:07:36 +00:00
Alex Plate 3596748059 Prepare to 2.3.0 release 2023-06-14 09:25:02 +03:00
Alex Plate 407806e84c Update changelog 2023-06-14 09:25:02 +03:00
Alex Plate b83909da9c Update changelog after merging PR 2023-06-12 07:42:26 +00:00
Martin YzeiriandAlex Pláte dd490967d3 Add Matchit PHP patterns 2023-06-12 10:39:45 +03:00
Martin YzeiriandAlex Pláte 391202877a Extract tagNamePattern to an argument
Providing a custom tagNamePattern makes it easier to interop with
languages like PHP.
2023-06-12 10:39:45 +03:00
Martin YzeiriandAlex Pláte c48acd8fb7 Simplify JavaScript PSI checks
The less than/greater than operators are the only binary expressions in
the JS patterns, so the extra PSI checks are redundant.
2023-06-12 10:39:45 +03:00
Martin YzeiriandAlex Pláte c8428258fe Switch to linkedMapOf
mapOf happens to give us LinkedHashMaps, but we'll use the explicit
constructor since insertion order matters for PatternsTables.
2023-06-12 10:39:45 +03:00
Alex Plate fc4feaa78c Update changelog 2023-06-07 10:07:42 +00:00
Alex Plate 1855f3b43f Disable detection of the java OOM on TeamCity
With the new version of gradle intellij plugin, it started to print a message that some configuration may cause OOM exception
Funny thing is that TeamCity has an automatic detection of OOM based on the text output.
So, the builds started to fail because TC used to thing that the OOM happened
2023-06-06 17:33:35 +03:00
aleksei.plate@jetbrains.comandteamcity 50b848027c TeamCity change in 'Ideavim' project: general settings of 'Plugin verification' build configuration were updated 2023-06-06 14:29:49 +00:00
Alex Plate 7b71af9e1d Fix(VIM-2964): Fix an issue with leaking caret instance
Now I use the subscription to the disposer, but I think we can update it to the flow
2023-06-06 16:12:54 +03:00
Alex Plate 4814f0c895 Switch to the previous version of intellij gradle plugin
I've got a lot of OOM, trying to find a culprit
2023-06-06 14:53:32 +03:00
Alex Plate 192307ad52 Update verion of TC config 2023-06-06 14:42:23 +03:00
Alex Plate e28c57432d Set stable IJ for releases as the current EAP frezes with the buildSearchableOption task 2023-06-06 14:39:31 +03:00
Alex Plate 911915266a Inline the writeFile function 2023-06-06 12:16:14 +03:00
Alex Plate 51c464f8d2 Fix out of bounds exception 2023-06-06 12:07:33 +03:00
filipp 30069564a7 Remove class 2023-06-06 10:42:42 +03:00
filipp 460553d8ae Avoid dependency to annotation-processors 2023-06-06 10:42:42 +03:00
filipp cc2de42415 Moving from gorgeous YAML to good old JSON 2023-06-06 10:42:42 +03:00
filipp b31aa57d81 build.gradle.kts cleanup 2023-06-06 10:42:42 +03:00
filipp c9b9bb6cf8 Remove generated files for tests 2023-06-06 10:42:42 +03:00
filipp 89e74b2011 Remove unused import 2023-06-06 10:42:42 +03:00
filipp 434d882314 Add vimscriptfunctionannotation option 2023-06-06 10:42:42 +03:00
filipp 617d9d90ed Add excommandannotation option 2023-06-06 10:42:42 +03:00
filipp f456e0a8dd Fix tests 2023-06-06 10:42:42 +03:00
filipp 2716255e22 Better paths 2023-06-06 10:42:42 +03:00
filipp 4d907213c3 Split ex-commands in YAML 2023-06-06 10:42:42 +03:00
filipp ee704f53c7 Support lazy ex command classloading 2023-06-06 10:42:42 +03:00
filipp 74237365f1 Fix LazyVimscriptFunction 2023-06-06 10:42:42 +03:00
filipp 8aeab29303 Annotate ex-commands 2023-06-06 10:42:42 +03:00
filipp ff945e7b8a Add ExCommand annotation 2023-06-06 10:42:42 +03:00
filipp 9707704f57 Minor refactoring 2023-06-06 10:42:42 +03:00
filipp 7491d19309 Add yaml files 2023-06-06 10:42:42 +03:00
filipp fb74e5e731 Fix tests 2023-06-06 10:42:42 +03:00
filipp 627c8a6eca Move some functions to engine 2023-06-06 10:42:42 +03:00
filipp 8094758a82 Add function providers 2023-06-06 10:42:42 +03:00
filipp f143b6ee9f Rename KSP options 2023-06-06 10:42:42 +03:00
filipp 77cef909fb Add comment to YAML 2023-06-06 10:42:42 +03:00
filipp 063d3949cf Better YAML 2023-06-06 10:42:42 +03:00
filipp c1b87eba03 Annotate functions 2023-06-06 10:42:42 +03:00
filipp bae52964cd Add VimscriptFunction annotation 2023-06-06 10:42:42 +03:00
Alex Plate 06021c1b79 Update changelog after merging PR 2023-06-01 07:39:37 +00:00
samabcdeandAlex Pláte 437932cd57 VIM-1990 fix repeat delete find or till wrong MotionType 2023-06-01 10:36:28 +03:00
Alex Plate 6cc16aa72b Update changelog 2023-05-31 10:08:03 +00:00
Alex Plate b48950ff3a Fix(VIM-2953): The previous fix for :q command caused weird behavior of tab closing
The initial change was caused by VIM-2912 in a8f0145333, but when I took the old function back, it seems that both issues are fixed.
2023-05-31 11:41:25 +03:00
Alex Plate c397c77809 Add Sam Ng to contributors list 2023-05-30 09:03:46 +00:00
Alex Plate e8f31bc2bd Update changelog after merging PR 2023-05-29 11:43:45 +00:00
samabcdeandAlex Pláte 4e7149c945 VIM-2615 add support to sort u command, fix natural sort issue when both string not contain number 2023-05-29 14:41:06 +03:00
Alex Plate 064379b9e0 Add names of run confugrations so they can be started right from IJ 2023-05-19 18:03:09 +03:00
Alex Plate 48b18da953 Get text object parameters from the operatorArguments 2023-05-19 10:21:18 +03:00
Alex Plate 904ca5d529 Remove argument argument from text object 2023-05-19 10:16:23 +03:00
Alex Plate 05986d017d Remove deprecated function 2023-05-19 09:52:06 +03:00
Alex Plate aabe56e8b3 Disable alternative context resolve during copy because of binary incompatibility with the newer version of EAP 2023-05-17 13:08:07 +03:00
Alex Plate fc07ec3db3 Fix compilation for the new version of EAP 2023-05-17 12:39:39 +03:00
Alex Plate 2e8454907d Fix esc for replace in octopus mode
VIM-2938
2023-05-17 12:39:39 +03:00
Alex Plate 72ed659833 Update changelog after merging PR 2023-05-17 08:56:53 +00:00
Matt EllisandAlex Pláte 94ef9692f2 Fix typo in ideajoin notification 2023-05-17 10:54:13 +02:00
Matt EllisandAlex Pláte 798750bf95 Use options API for more cached values 2023-05-17 10:54:13 +02:00
Matt EllisandAlex Pláte e8d9bd551f Add helper functions to storage service 2023-05-17 10:54:13 +02:00
Matt EllisandAlex Pláte d08ea2ee9b Introduce simple cache for parsed option values 2023-05-17 10:54:13 +02:00
Matt EllisandAlex Pláte 52dcb2d290 Treat 'iskeyword' as a local-to-buffer option 2023-05-17 10:54:13 +02:00
Matt EllisandAlex Pláte 4cc883f174 Refactor search helper companion to interface
Helper functions now take the editor rather than the text, ready for search to rely on per-editor options (i.e. '`iskeyword'`). Also standardises on `Int` for search parameters. While the file size is a `Long`, the editor returns a `CharSequence`, which is indexed by `Int`.
2023-05-17 10:54:13 +02:00
Matt EllisandAlex Pláte 5a3c5bd761 Treat 'virtualedit' as a global-local option 2023-05-17 10:54:13 +02:00
Matt EllisandAlex Pláte 66830b7cb3 Treat 'idearefactor' as a global-local option 2023-05-17 10:54:13 +02:00
Matt EllisandAlex Pláte b742865e8a Treat 'ideajoin' as a global-local option 2023-05-17 10:54:13 +02:00
Matt EllisandAlex Pláte fd314a3288 Treat 'matchpairs' as a local option 2023-05-17 10:54:13 +02:00
Alex Plate 87a52d9592 Update changelog 2023-05-14 10:08:42 +00:00
filipp 527b321ee0 Fix(VIM-2945): %-movement mismatches braces 2023-05-14 00:09:00 +03:00
Alex Plate 5122a33f30 Update changelog 2023-05-08 10:08:22 +00:00
filipp d89fbeea62 Fix(VIM-2930): vim-multiple-cursors + ReplaceWithRegister issue 2023-05-07 23:51:05 +03:00
filipp e4f7700044 Refactoring
Update method signatures and return types:
- Getting rid of "magic constants" (e.g. -1) and replacing them with nullable
- Replacing direction Int with Enum
- JetBrains annotations
2023-05-05 09:41:27 +03:00
filipp a1d0c3ebf4 Remove println 2023-05-05 09:41:27 +03:00
filipp 2088c1ce00 Move more methods to engine 2023-05-05 09:41:27 +03:00
Alex Plate ec164daf0e Update codeql version 2023-05-02 09:17:05 +03:00
Alex Plate 94c38cefac Remove bunny plugin from compatibility checks 2023-05-02 09:09:26 +03:00
Alex Plate 2a5d218a94 Update changelog after merging PR 2023-04-26 08:17:39 +00:00
Martin YzeiriandAlex Pláte bcf10a0b8e Matchit: Ignore JS comparison operators
In files that mix HTML and JavaScript, arrow functions or forms like (x > y)
conflict with the brackets on HTML tags. We can ignore those JS elements
using PSI checks like we do for some Ruby keywords.
2023-04-26 11:14:06 +03:00
Martin YzeiriandAlex Pláte 546137c0f5 Matchit: Correct HTML regex
A final closing > is required on the search pair, otherwise tags with a
shared prefix in their names will conflict.
2023-04-26 11:14:06 +03:00
Martin YzeiriandAlex Pláte 92bc691e1f Matchit: Improve comment handling
Since the cursor can come before the start of the matching pair, we need
to check the PSI element at the first match offset, not the caret offset,
when deciding if we need to skip comments.

This fix makes the special isHtmlAttribute check unnecessary. If the caret
is in an HTML attribute, the first match offset will point to the start
of the tag.
2023-04-26 11:14:06 +03:00
Martin YzeiriandAlex Pláte d834d0fdd9 Move a unit test 2023-04-26 11:14:06 +03:00
dependabot[bot]andAlex Pláte 74b88d07a0 Bump org.mockito.kotlin:mockito-kotlin from 4.0.0 to 4.1.0
Bumps [org.mockito.kotlin:mockito-kotlin](https://github.com/mockito/mockito-kotlin) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/mockito/mockito-kotlin/releases)
- [Commits](https://github.com/mockito/mockito-kotlin/compare/4.0.0...4.1.0)

---
updated-dependencies:
- dependency-name: org.mockito.kotlin:mockito-kotlin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-26 11:11:04 +03:00
Alex Plate 57f5d3310a Update gradle version to 8 2023-04-26 11:09:39 +03:00
Alex Plate a5495b1d92 Update intellij gradle plugin version 2023-04-26 10:59:05 +03:00
Alex Plate fb623be741 Remove ktlint baseline 2023-04-26 10:57:55 +03:00
Alex Plate 30e69e13fd Update kotlin version to 1.8.21 2023-04-26 10:57:54 +03:00
dependabot[bot]andAlex Pláte 17346c255e Bump org.jetbrains:annotations from 23.0.0 to 24.0.1
Bumps [org.jetbrains:annotations](https://github.com/JetBrains/java-annotations) from 23.0.0 to 24.0.1.
- [Release notes](https://github.com/JetBrains/java-annotations/releases)
- [Changelog](https://github.com/JetBrains/java-annotations/blob/master/CHANGELOG.md)
- [Commits](https://github.com/JetBrains/java-annotations/compare/23.0.0...24.0.1)

---
updated-dependencies:
- dependency-name: org.jetbrains:annotations
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-26 10:46:14 +03:00
dependabot[bot]andAlex Pláte 6fc83b8245 Bump io.ktor:ktor-serialization-kotlinx-json from 2.1.3 to 2.3.0
Bumps [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) from 2.1.3 to 2.3.0.
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/commits)

---
updated-dependencies:
- dependency-name: io.ktor:ktor-serialization-kotlinx-json
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-26 10:46:00 +03:00
Alex Plate b9fb6cacbe Update changelog after merging PR 2023-04-26 07:27:50 +00:00
Matt EllisandAlex Pláte 29bd7cbe6e Update note to include how to add an option 2023-04-26 10:26:06 +03:00
Matt EllisandAlex Pláte a51fc9c612 Add extra notes about the history of refactorings 2023-04-26 10:26:06 +03:00
Matt EllisandAlex Pláte 77ad9deeba Use interface for IJ specific options 2023-04-26 10:26:06 +03:00
Matt EllisandAlex Pláte ffa6c45b62 Reset test injector after each test 2023-04-26 10:26:06 +03:00
Matt EllisandAlex Pláte 957874ce2b Remove unused @JvmField annotations 2023-04-26 10:26:06 +03:00
Matt EllisandAlex Pláte 330d92116c Refine inheritance of IJ specific option classes 2023-04-26 10:26:06 +03:00
Matt EllisandAlex Pláte 899adfc1b0 More refactoring to use new API 2023-04-26 10:26:06 +03:00
Matt EllisandAlex Pláte 23535a6ad5 Remove OptionValueAccessor 2023-04-26 10:26:06 +03:00
Matt EllisandAlex Pláte e8b7f00370 Remove accessor from new API 2023-04-26 10:26:06 +03:00
Matt EllisandAlex Pláte 3f2c5070ee Migrate local option access to new API 2023-04-26 10:26:06 +03:00
Matt EllisandAlex Pláte a2352525c5 Migrate global option access to new API
Also fixes some incorrect usages of local options as global, e.g. 'ideajoin' and 'scroll'. There are some options that should be local that are only ever accessed at global scope. These need fixing in the future, e.g. 'iskeyword', 'matchpairs' and 'virtualedit'
2023-04-26 10:26:06 +03:00
Matt EllisandAlex Pláte 50384a526b Introduce option accessor delegated properties
Also migrates tests to use new properties
2023-04-26 10:26:06 +03:00
Matt EllisandAlex Pláte 9ade3365ff Extract StringListOption
While it is conceptually very similar to StringOption, the implementation of list vs not-list operations are very different, and having a separate type will allow us to do more interesting things with overloading when we introduce delegate properties
2023-04-26 10:26:06 +03:00
Alex Plate a6932cd5be Remove XML configurations 2023-04-25 10:23:20 +03:00
aleksei.plate@jetbrains.comandteamcity 81d5c06ca3 TeamCity change in 'Ideavim' project: Synchronization with own VCS root is enabled 2023-04-25 07:20:11 +00:00
Alex Plate 95d2adb8b8 Update changelog 2023-04-20 10:06:32 +00:00
Alex Plate c91355a1e4 Dumb change: add new line 2023-04-20 11:52:05 +03:00
Alex Plate a9b16ca2c0 Add to be released section 2023-04-20 11:49:27 +03:00
Alex Plate 0fc04c3ff6 Preparations for 2.2.0 release 2023-04-20 09:43:22 +03:00
filipp 6473ad02a0 Add test for next paragraph motion 2023-04-19 15:25:44 +03:00
filipp 8107f669cd Fix ReplaceWithRegister with single caret 2023-04-19 15:22:49 +03:00
filipp 2f55d92d83 Move more methods to engine 2023-04-19 15:07:06 +03:00
Alex Plate 722ec7f8fb Update configurations 2023-04-15 00:00:52 +03:00
aleksei.plate@jetbrains.comandteamcity 63442a93e7 TeamCity change in 'Ideavim' project: copy of 'IdeaVim Repository' VCS root was created 2023-04-14 20:58:08 +00:00
aleksei.plate@jetbrains.comandteamcity 1ce594fa64 TeamCity change in 'Ideavim' project: 'IdeaVim Pull Requests' VCS root was updated 2023-04-14 20:57:04 +00:00
Alex Plate 197b8d7850 Use correct GH publisher 2023-04-14 23:40:51 +03:00
Alex Plate d51aec080b Use old github configuration 2023-04-14 23:39:37 +03:00
Alex Plate 0239f78889 Update GH configuration 2023-04-14 23:36:19 +03:00
Alex Plate 651cefca30 Update .teamcity dsl 2023-04-14 23:34:00 +03:00
Alex Plate f4be162aea Fix issue with missing key-repeat dialog on new mac machine 2023-04-14 23:14:01 +03:00
Alex Plate 85636d91dc Update changelog 2023-04-14 10:06:44 +00:00
aleksei.plate@jetbrains.comandteamcity 7b643430d1 TeamCity change in 'Ideavim / Pull Requests checks' project: triggers of 'GitHub Pull Requests Tests' build configuration were updated 2023-04-13 13:33:25 +00:00
aleksei.plate@jetbrains.comandteamcity 499033947c TeamCity change in 'Ideavim / Pull Requests checks' project: build features of 'GitHub Pull Requests Tests' build configuration were updated 2023-04-13 13:19:58 +00:00
Alex Plate 7489abc56d Update GH configuration 2023-04-13 16:17:03 +03:00
Alex Plate c64810509f Fix(VIM-2909): Fix incorrect file detection while closing diff window 2023-04-13 15:58:56 +03:00
Alex Plate 32ccaabaa7 Update changelog 2023-04-12 10:06:44 +00:00
Alex Plate a8f0145333 Fix(VIM-2912): Fix focus after :q 2023-04-12 11:01:03 +03:00
Alex Plate 6e6fc8d998 Update links to TeamCity 2023-04-05 23:05:27 +03:00
Alex Plate 646e34a5c7 Use better name for tests 2023-04-05 22:57:48 +03:00
Alex Plate 8d43329b6e Another character vanish 2023-04-05 22:48:15 +03:00
Alex Plate 38aca96472 Vanish build ids 2023-04-05 22:46:32 +03:00
Alex Plate 4cd06076c7 Fix incorrect test names 2023-04-05 22:43:35 +03:00
Alex Plate b485a1406e Define ids for tests 2023-04-05 22:36:32 +03:00
Alex Plate cc0aa08d91 Another refactoring 2023-04-05 22:31:39 +03:00
Alex Plate 4dd958a538 Cleanup testing configurations 2023-04-05 22:20:13 +03:00
Alex Plate 83d2d1da4f Use medium agents for all build configurations 2023-04-05 22:03:30 +03:00
Alex Plate 24e69bec2b Make abstract build type 2023-04-05 21:58:35 +03:00
Alex Plate ca337dcca2 Define agent requirements on the project level 2023-04-05 21:52:06 +03:00
Alex Plate 2944c48744 Remove name requirement 2023-04-05 21:42:48 +03:00
Alex Plate 278e7d1a4d Add CPU requirement 2023-04-05 21:39:15 +03:00
Alex Plate 22e090a0f4 Update agent requirement 2023-04-05 21:33:32 +03:00
Alex Plate ac918eff16 Use correct requirement 2023-04-05 21:26:39 +03:00
Alex Plate e8aaeac7dc Use different agent name 2023-04-05 21:20:19 +03:00
Alex Plate 1769c1006c Try to use different param 2023-04-05 21:18:21 +03:00
Alex Plate 920a6fe74c Specify medium agents for dev builds 2023-04-05 21:14:17 +03:00
Alex Plate bc41ce46a7 Fix incorrect branch for dev builds 2023-04-05 20:57:27 +03:00
Alex Plate 8c2b5671f1 Cleanup vcs source roots for TC 2023-04-05 20:52:30 +03:00
Alex Plate d0d53d7d20 Update TC configurations 2023-04-05 20:13:04 +03:00
Alex Plate 902272f08c Update changelog 2023-04-04 09:06:47 +03:00
Alex Plate a8b8b56a7e Update GH actions to avoid conflicts 2023-04-04 09:04:26 +03:00
Alex Plate d628db1dcc Add Silence Tai to contributors list 2023-04-04 05:03:35 +00:00
StzxandAlex Pláte 26ed6670d5 Fix dispose operation 2023-04-04 08:02:03 +03:00
Alex PláteandGitHub 0aa4ea7bc8 Update updateAffectedRate.yml 2023-04-04 07:59:34 +03:00
dependabot[bot]andAlex Pláte 34fdd71f37 Bump com.dorongold.task-tree from 2.1.0 to 2.1.1
Bumps com.dorongold.task-tree from 2.1.0 to 2.1.1.

---
updated-dependencies:
- dependency-name: com.dorongold.task-tree
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-03 19:40:50 +03:00
Alex PláteandGitHub 4a134783b4 Update updateAffectedRate.yml 2023-04-01 16:34:22 +03:00
Alex Plate bf5ce1f6a5 Try to use different token to youtrack 2023-04-01 10:57:08 +03:00
Alex Plate 00193891fa Add missing youtrack token 2023-04-01 10:51:04 +03:00
Alex Plate 4640c347c7 Set affected rate field on YouTrack automatically 2023-04-01 10:47:59 +03:00
Alex Plate 260bb47434 Different approach for getting editor during bookmarks initialization in order to get rid of slow operations exception 2023-04-01 09:01:19 +03:00
Alex Plate 9d7872e64e Update initialization instructions 2023-03-31 17:39:06 +03:00
filipp 31bdc23b3c Add support for variables in exists function 2023-03-31 17:37:57 +03:00
Matt EllisandAlex Pláte f803c0aa72 Add deterministic initialisation of options 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte 531b0e3537 Provide an API to override option default value
This is specifically to support ideaput in 'clipboard'
2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte cbf6c30be6 Make option value accessor more strongly typed 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte a6f62dd837 Remove unnecessary assert
checkIfValueValid will check datatype is correct
2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte 18d52c2459 Make addListener more strongly typed 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte ee55cfd2dd Improve handling of variance with setOptionValue
With the `out` modifier, the compiler won't report a problem trying to assign `VimInt` to an `Option<VimString>`
2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte 3ab5fc1120 Improve handling of variance 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte f7f60f5079 Fix warnings 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte b7dcff79ae Improve modifyOptionValue 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte c857b9d6dd Make functions private to SetCommand 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte 8f8c05e451 Remove string based option helper functions 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte af3ebe60f4 Use strongly typed options instead of constants 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte be64d24c00 Introduce strongly typed properties for options 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte 8f04575efd Extract IJ specific options to own file 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte 4e1b8f3ec4 Extract IJ specific options to own class 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte c8ca6671ab Remove unused functions 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte 88f0d2e532 Replace constants with strongly typed properties 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte 76a4499c9f Introduce properties for option definitions 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte e1bd790294 Add tests to ensure ideaput is added or required 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte 6d193ca1f8 Extract option definitions to own file 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte d932172e70 Extract option definitions to own class 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte 9bbf5824fe Use lazy property delegate 2023-03-31 17:37:48 +03:00
Matt EllisandAlex Pláte d042ee3058 Move octopushandler option out of vim-engine 2023-03-31 17:37:48 +03:00
Alex Plate fe598b14a1 Modify update authors job 2023-03-31 17:14:28 +03:00
Alex Plate 24df3be8f1 Print more logging in case the vim shortcut is disabled 2023-03-31 17:13:25 +03:00
filipp.vakhitovandtcuser 2cce67bc27 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: 'Merge Dependabot PR' build configuration was removed 2023-03-31 13:26:44 +00:00
filipp.vakhitovandtcuser ae6003d000 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: triggers of 'Merge Dependabot PR' build configuration were updated 2023-03-31 13:09:03 +00:00
filipp.vakhitovandtcuser fe8b03dc1c TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: general settings of 'Merge Dependabot PR' build configuration were updated 2023-03-31 12:55:28 +00:00
filipp.vakhitovandtcuser 977b27de90 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: 1 build step(s) were added to 'Merge Dependabot PR' build configuration 2023-03-31 12:49:58 +00:00
filipp.vakhitovandtcuser 570cf14fe8 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: build configuration was created from URL 2023-03-31 12:48:32 +00:00
dependabot[bot]andgithub-actions[bot] 7c369900ce Bump io.ktor:ktor-client-cio from 2.1.3 to 2.2.4
Bumps [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor) from 2.1.3 to 2.2.4.
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/compare/2.1.3...2.2.4)

---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-cio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-31 09:49:32 +00:00
Alex Plate 8464711b89 Update changelog 2023-03-31 09:47:27 +00:00
Alex Plate 0f07e4bdc3 Fix(VIM-2896): Correct ordering of handlers 2023-03-31 12:45:54 +03:00
dependabot[bot]andgithub-actions[bot] de7736ec76 Bump io.ktor:ktor-client-core from 2.1.3 to 2.2.4
Bumps [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) from 2.1.3 to 2.2.4.
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/compare/2.1.3...2.2.4)

---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-31 09:45:37 +00:00
dependabot[bot]andgithub-actions[bot] 4568db387a Bump io.ktor:ktor-client-auth from 2.1.3 to 2.2.4
Bumps [io.ktor:ktor-client-auth](https://github.com/ktorio/ktor) from 2.1.3 to 2.2.4.
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/compare/2.1.3...2.2.4)

---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-auth
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-31 09:45:16 +00:00
dependabot[bot]andgithub-actions[bot] 3661cfd4c9 Bump io.ktor:ktor-client-content-negotiation from 2.1.3 to 2.2.4
Bumps [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) from 2.1.3 to 2.2.4.
- [Release notes](https://github.com/ktorio/ktor/releases)
- [Changelog](https://github.com/ktorio/ktor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ktorio/ktor/compare/2.1.3...2.2.4)

---
updated-dependencies:
- dependency-name: io.ktor:ktor-client-content-negotiation
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-31 09:44:21 +00:00
filipp f9ac515d3d Replace merge with rebase 2023-03-31 12:42:44 +03:00
filipp b7f1394357 Add action to automatically merge Dependabot PR 2023-03-31 12:38:18 +03:00
Alex Plate 25872ccf84 Remove ktlint from build configuration 2023-03-31 11:26:38 +03:00
Alex Plate 0efd81142d Remove ktlint from configurations 2023-03-31 11:22:41 +03:00
Alex Plate 1699e8521d Add new plugin that has a dependency on IdeaVim 2023-03-31 11:22:41 +03:00
filipp f4068301ff Add information about text range in original script for executable 2023-03-31 11:00:39 +03:00
aleksei.plateandtcuser 2a6b6f89f4 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: project parameters were changed 2023-03-30 04:55:46 +00:00
aleksei.plateandtcuser ca459bef0d TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: project parameters were changed 2023-03-30 04:55:10 +00:00
aleksei.plateandtcuser 9980ef7db9 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: project parameters were changed 2023-03-30 04:53:54 +00:00
Alex Plate d6b2cdb66a Add plugin sign variables 2023-03-30 07:50:56 +03:00
Alex Plate 832c1c0be3 Revert "Update formatting"
This reverts commit bf0fba9c58.
2023-03-27 11:32:59 +03:00
Alex Plate bf0fba9c58 Update formatting 2023-03-27 08:27:13 +00:00
Alex Plate ae5678128b Fix an incorrect version of github action 2023-03-27 11:24:58 +03:00
Alex Plate 6395a4cefc Fix an incorrect version of github action 2023-03-27 11:23:13 +03:00
Alex Plate 1a3491a50f Try to use IJ formatter instead of ktlint 2023-03-27 11:21:10 +03:00
Alex Plate 0f8b67e6ce Reformat files 2023-03-27 11:14:00 +03:00
Alex Plate 1e17db6d21 Add lorem ipsum tests to dictionary 2023-03-20 17:42:28 +02:00
Alex Plate 03bd4bbeed Use Lorem Ipsum for tests 2023-03-20 17:31:31 +02:00
Alex PláteandGitHub ff907893d0 Update README.md 2023-03-20 15:50:46 +02:00
Alex Plate d104eef064 Update changelog 2023-03-17 11:28:14 +00:00
Alex Plate f0505b8919 Fix(VIM-2433): Do not clear clipboard after inserting with ideaput 2023-03-17 13:26:13 +02:00
Alex Plate db12fbe725 Get rid of test clipboard manager 2023-03-17 11:56:50 +02:00
Alex Plate f88580eb88 Get rid of editor setup function 2023-03-17 10:21:10 +02:00
Alex Plate dbfce696b9 Make some multicaret tests more stable 2023-03-16 18:05:39 +02:00
Alex Plate bca5af9c23 Enable some tests with missing @Test annotation 2023-03-16 14:55:05 +02:00
Alex Plate 381abf7c40 Simple fix for the code 2023-03-16 13:36:09 +02:00
Alex Plate 1a2112daf9 Fix code compilation 2023-03-16 13:18:47 +02:00
Alex Plate e30e194b91 Code cleanup 2023-03-16 13:05:37 +02:00
Alex Plate edf9962abf Introduce new mechanizm for options testing 2023-03-16 13:01:42 +02:00
Alex Plate fd896c4af6 Pass testInfo to tear down 2023-03-16 10:52:53 +02:00
Alex Plate 0ae57af270 Do not track action ids for vim actions 2023-03-16 10:52:53 +02:00
Alex Plate 123c8ded11 Rename product function 2023-03-16 10:52:53 +02:00
Alex Plate 0510fe8530 Ktlint format 2023-03-16 10:52:52 +02:00
Alex Plate 3ebaf38486 Fix bug in nerdtree 2023-03-16 10:52:51 +02:00
filipp 84fc962bb0 ReplaceWithRegister 2023-03-15 18:42:22 +02:00
filipp 814bc20cf7 Add more VimScript tests 2023-03-15 14:20:33 +02:00
Alex Plate 6b76270d51 Reformat code 2023-03-15 07:59:25 +02:00
dependabot[bot]andAlex Pláte 35142e5204 Bump junit-jupiter-engine from 5.8.1 to 5.9.2
Bumps [junit-jupiter-engine](https://github.com/junit-team/junit5) from 5.8.1 to 5.9.2.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.8.1...r5.9.2)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-engine
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-14 18:28:02 +02:00
Alex Plate d313845c84 Update changelog 2023-03-14 13:26:22 +00:00
filipp 21162ba34e Fix(VIM-2286): Set surround not working for me as expected 2023-03-14 15:24:11 +02:00
Alex Plate e162dc44d1 Enable JUnit5 in all types of tests 2023-03-14 14:33:06 +02:00
Alex Plate 153a36d4e9 Rename method 2023-03-14 14:08:39 +02:00
Alex Plate 9271ca082c Migration of tests to JUnit 5 2023-03-14 14:05:35 +02:00
Alex Plate 0389ea803d Update changelog 2023-03-13 23:16:52 +00:00
filipp 0fea44f735 Fix(VIM-1750): Surround with tag wrong position 2023-03-14 01:14:35 +02:00
Alex Plate c01cad1c9d Update changelog 2023-03-13 22:25:37 +00:00
filipp b383706bfb Fix(VIM-1746): IdeaVim Surround removes unwanted characters 2023-03-14 00:23:45 +02:00
filipp a78f66fd36 Better multiple caret support for surround 2023-03-14 00:23:44 +02:00
Alex Plate bef57f75c0 Update changelog 2023-03-13 21:55:49 +00:00
filipp 48ec19d9bf Fix(VIM-1551): Surround: line surround not working 2023-03-13 23:45:05 +02:00
filipp f4198a0409 Add Oskar Persson to contributors list 2023-03-13 19:57:56 +02:00
filipp 9454ebcb35 Move some methods to engine 2023-03-13 19:34:14 +02:00
Alex Plate 441721b63f Reformat source code 2023-03-13 11:44:02 +02:00
Alex Plate 0eda85c95e Enable explicitApiMode for vim-engine 2023-03-13 11:39:50 +02:00
Alex Plate 01e4c80adb Remove traces of the experimental API 2023-03-13 10:29:09 +02:00
Alex Plate 0e8ec4d445 Set visibility for classes in vim-engine 2023-03-13 10:22:53 +02:00
Alex Plate ae18ccb8cd Add new word to the doc 2023-03-13 09:35:24 +02:00
Alex Plate ad63afc242 Add more info to the issue report 2023-03-13 09:35:24 +02:00
Alex Plate f48f8a9643 Add Dani Sevastianov to contributors list 2023-03-13 07:08:20 +00:00
Alex Plate eae65b6512 Update changelog after merging PR 2023-03-13 07:05:21 +00:00
Dani SevastianovandAlex Pláte 02ff5cb24b Fix quick-scope setup documentation 2023-03-13 09:03:37 +02:00
Alex Plate 8210b122bc Update version of kt lint and reformat files 2023-03-13 09:01:38 +02:00
Alex Plate a0d3cf561b Apply ktlint reformat 2023-03-13 08:43:52 +02:00
Alex Plate d7c1c77861 Update changelog 2023-03-11 22:22:11 +00:00
filipp f385c3fa21 Fix(VIM-795): Ctrl-w + h doesn't alway work (window navigation to the left window) 2023-03-12 00:20:08 +02:00
Alex Plate e07a077da9 Update changelog 2023-03-11 18:03:45 +00:00
filipp 7768c9147d Fix(VIM-2819): Move command works incorrectly 2023-03-11 20:01:55 +02:00
Alex Plate c5c9877b40 Update changelog 2023-03-10 21:48:13 +00:00
filipp 3ddd4a1a58 Fix(VIM-2868): Pasting in visual mode with P should not replace yank register like when pasting with p 2023-03-10 23:30:35 +02:00
Alex Plate 3c85215011 Update changelog 2023-03-10 20:50:08 +00:00
filipp 2369814092 Fix(VIM-2884): Moving multiple lines in visual mode is not working 2023-03-10 22:48:16 +02:00
Alex Plate 6970a764c4 Update changelog 2023-03-10 19:22:34 +00:00
filipp 4c7c3dba00 Fix(VIM-2733): vim-surround emulation interacts incorrectly with unmatched quotes on previous lines 2023-03-10 21:20:18 +02:00
filipp aebad12bbe Add some useful methods to work with strings 2023-03-10 20:39:13 +02:00
Alex Plate 8593e7a6ac Small reformat of kotlin script 2023-03-10 19:03:35 +02:00
Alex Plate 119975c313 Remove experimental API 2023-03-10 18:30:07 +02:00
Alex Plate 27c3a95ec6 Provide visibility for some classes 2023-03-10 18:15:48 +02:00
Alex Plate d5eaf85473 Better support for esc in octopus mode 2023-03-10 14:33:31 +02:00
Alex Plate 7f4c967a20 Fix compilation in tests 2023-03-10 13:34:19 +02:00
Alex Plate 8066ac2819 Enable explicit api mode for vim-engine
But without fixes as there are 3000 violations
2023-03-10 13:23:24 +02:00
Alex Plate 66172c843d Enable explicit api mode for IdeaVim 2023-03-10 13:20:29 +02:00
Alex Plate 88b3373e5c Add option to enable octopus handler 2023-03-10 12:11:17 +02:00
Alex Plate 320d91d639 Add esc to octopus handler 2023-03-10 12:00:41 +02:00
Alex Plate 24d118e225 Update changelog after merging PR 2023-03-10 08:19:21 +00:00
Matt Ellisandlippfi c192f319d1 Simplify setting known options a little 2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi 097dfa06a6 Add a couple of convenience functions 2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi 90ca544d0a Move getter helpers out of the options interface
The interface now has a simple setter and getter, as well as other functions for managing options. More friendly functions for getting and setting values are available as extension functions
2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi 2bc9640b88 Remove last of 'set' validation code 2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi 40ffddf5ef Push toggle option validation into ':set' command 2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi bd28c9da23 Push more ':set' command validation into command 2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi 11ef024779 Move ':set' command validation out of interface
Moves functions that require validation parameters to extension functions. Core interface should not require additional user facing paramter
2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi 40d9a201ea Use bundle for exception messages 2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi 6e2ac21fab Refactor getDefaultValue into property 2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi 7858cf57c6 Fix number operations for set command 2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi 91c8e7ebda Rename getOptionByNameOrAbbrev 2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi 6332ee6955 Remove unnecessary argument text 2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi 3c3014fdc6 Remove unused getAbbrevs function 2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi d97e4c44ee Rename "token" and remove default argument 2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi 1b88c514da Move IjVimOptionGroup to correct package & rename 2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi 96c1094a61 Replace OptionService with VimOptionGroup
Leaves a skeleton, deprecated implementation of OptionService for existing external use by plugins
2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi b3551b4ee5 Remove empty file 2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi 4232d3d8a2 Remove unused local options types 2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi 73b64c19ff Move OptionValueAccessor to options package 2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi 15ccdb2055 Remove unnecessary getOptionServiceImpl 2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi 418067b077 Remove unused deprecated method
No external usages
2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi 88b29d1a14 Isolate and remove deprecated code
Moves ToggleOption to the proper package, leaving behind a skeleton class to keep ideavim-sneak and IdeaVim-EasyMotion happy.

Removes NumberOption and related number OptionsManager properties which are only used by which-key 0.6.2, because this plugin is already broken due to a separate API change. (The plugin is expecting the command trie to use `CommandPartNode<ActionBeanClass>`, but it's actually using `CommandPartNode<VimActionsInitiator>`). Also removes `ToggleOption.value`, used by which-key
2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi b831aa8eca Fix incorrect type parameter in cast
Cast succeeds, but only due to erasure
2023-03-10 10:17:45 +02:00
Matt Ellisandlippfi 4540d216cb Move StrictMode out of options package 2023-03-10 10:17:45 +02:00
Alex Plate b345ebb366 Add test for escaped pairs 2023-03-10 09:42:49 +02:00
Alex Plate 7a8ed2db32 Add kawagh to contributors list 2023-03-10 07:39:23 +00:00
kawaghandAlex Pláte 9f5ed99b79 Add tests to secure % motion behavior with escaped parentheses 2023-03-10 09:37:46 +02:00
kawaghandAlex Pláte 1bd6defc84 Include escaped character in search target 2023-03-10 09:37:46 +02:00
Alex Plate 181d76ae7b Improvements for octopus handler 2023-03-09 16:45:06 +02:00
Alex Plate 31d37c218a Update changelog 2023-03-09 13:58:42 +00:00
filipp 72be9845fa Fix(VIM-2885): "v:searchforward" does't work for IdeaVim 2023-03-09 15:56:34 +02:00
filipp a6a4e50479 Add ` mark to jumplist 2023-03-09 15:29:13 +02:00
Alex Plate 1f88ead837 Update changelog 2023-03-09 12:03:39 +00:00
filipp 8303cafbc9 Fix(VIM-2244): nnoremap mapping doesn't work correctly 2023-03-09 14:01:35 +02:00
filipp 00901f60dc Add get() function 2023-03-08 20:06:43 +02:00
filipp 21aaf06a63 Add split function 2023-03-08 19:21:02 +02:00
Alex Plate d81774c9a7 Add octopus connector that attaches IdeaVim to IJ using EditorActionHandlers 2023-03-08 13:56:31 +02:00
Alex Plate 2cb6fb041e Use injector to create execution context 2023-03-08 13:06:36 +02:00
Alex Plate b7d5ee9a75 Add doc why we can move to project activity at the moment 2023-03-08 12:59:48 +02:00
Alex Plate 24dd84b31c Revert "Migrate to project activity"
This reverts commit fc7efd5484.
2023-03-08 12:57:13 +02:00
Alex Plate 0e96819e86 Update creation of execution context 2023-03-08 11:35:01 +02:00
Alex Plate 897d393342 Add delay in UI test 2023-03-08 09:45:25 +02:00
Alex Plate fc7efd5484 Migrate to project activity 2023-03-08 09:30:33 +02:00
Alex Plate 834695420d Update UI tests 2023-03-08 09:18:45 +02:00
Alex Plate c4025c0cc1 Set larget expand timeout for UI tests 2023-03-08 08:44:42 +02:00
Alex Plate c80ef82f2a Remove unnecessary curly braces 2023-03-08 08:34:11 +02:00
filipp b94b4eea04 Better per caret register storage 2023-03-07 22:31:08 +02:00
Alex Plate 116c813988 Update changelog 2023-03-07 15:26:26 +00:00
filipp 2c9aa8e30e FIX(VIM-2881): ReplaceRegister does no longer worker with MultiCursor 2023-03-07 17:24:19 +02:00
Alex Plate 376c84c46e Update changelog 2023-03-07 07:46:14 +00:00
Alex Plate a3039e05d4 Fix(VIM-1735): Fix enabling mulple carets after line selection 2023-03-07 09:44:01 +02:00
Alex Plate bed078213b Fix some qodana issues 2023-03-07 09:44:01 +02:00
Alex Plate b413c8e715 Update formatting 2023-03-05 00:20:18 +00:00
Alex Plate 299890c737 Update gradle plugin 2023-03-03 18:17:59 +02:00
Alex Plate e977bee8cc Remove unused task from configuration 2023-03-03 18:08:09 +02:00
Alex Plate 5b636b2b5e Perform code cleanup 2023-03-03 17:57:42 +02:00
Alex Plate 6db4874acd Migrate NerdTree to new startup activity 2023-03-03 17:57:41 +02:00
Alex Plate e788ea6d7f Remove unused deprecated field 2023-03-03 17:57:41 +02:00
Alex Plate c5f8eaf1cf Run ktlinter 2023-03-03 17:57:41 +02:00
Alex Plate c9568b4301 Switch to AnActionWrapper instead of deprecated EmptyAction 2023-03-03 17:57:41 +02:00
Alex Plate e1c712abb7 Include the original editor context into our custom editor context
Bug reference: https://youtrack.jetbrains.com/issue/VIM-2315/Bug-in-leader-key-handling-in-ideavim#focus=Comments-27-6918383.0-0
2023-03-03 17:57:41 +02:00
filipp 81e8a28cc3 Marketplace plugin mapping tutorial 2023-03-03 16:47:46 +02:00
Alex Plate e45a2b4517 Update changelog after merging PR 2023-03-01 15:44:18 +00:00
Dominic PalmerandAlex Pláte dd69d0fad2 Prevent viewport displacement on undo 2023-03-01 17:41:59 +02:00
filipp 4f680c881c Fix deprecated method in Changelog plugin 2023-03-01 11:25:51 +02:00
filipp 1932d7102b Fix typo 2023-03-01 11:17:25 +02:00
Alex Plate 58ba9ed4be Fix qodana inspections 2023-02-28 17:41:48 +02:00
filipp 8fe6c8bde7 Jumps refactoring 2023-02-28 13:11:08 +02:00
Alex Plate ec4684c336 Fix qodana inspections 2023-02-28 10:10:24 +02:00
Alex Plate ec05ca11ba Fix possible NPE 2023-02-28 10:00:42 +02:00
Alex Plate 164e3cedd6 Add Dominic Palmer to contributors list 2023-02-28 07:57:55 +00:00
Alex Plate 0d4d610b3a Update changelog after merging PR 2023-02-28 07:54:03 +00:00
Dominic PalmerandAlex Pláte 7ebd604390 Include empty lines in the selection when dragging backwards from EOL 2023-02-28 09:52:23 +02:00
Alex Plate 7bc50df300 Fix possible npe 2023-02-28 09:31:38 +02:00
aleksei.plateandtcuser 3f3eb0f878 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: triggers of 'Qodana checks' build configuration were updated 2023-02-28 07:09:26 +00:00
Alex Plate 6e854eb889 Update formatting 2023-02-26 00:19:08 +00:00
filipp d009ece391 Fix jumps 2023-02-24 15:22:31 +02:00
Alex Plate ffa7909f9f Update changelog 2023-02-24 12:51:35 +00:00
filipp 266d164a34 Add option to turn off using IDE jumps by JumpService 2023-02-24 14:48:50 +02:00
filipp aaf957a3c2 Fix(VIM-44): Unify navigation history between ideavim and idea 2023-02-24 14:44:53 +02:00
Alex Plate dd35c4907e Update minimal version of IJ
Build based on 231 has tons of incompatibilities with 223
2023-02-23 10:26:30 +02:00
Alex Plate 993986c1cf Add mark test 2023-02-23 09:59:55 +02:00
Alex Plate 8d47d9c015 Cleanup broken tests 2023-02-23 09:37:18 +02:00
Alex Plate b4764a230a Fix small bug 2023-02-23 08:58:29 +02:00
Alex Plate 2c703a7468 Use more stable YouTrack tests 2023-02-23 08:29:58 +02:00
Alex Plate 87083e03a8 Update formatting 2023-02-19 00:18:26 +00:00
Alex Plate 1d22fbfae0 Update qodana baseline 2023-02-15 10:17:30 +02:00
Alex Plate cfee63d716 Update changelog 2023-02-15 08:11:24 +00:00
Alex Plate d49052660f Fix(VIM-2315): Fix overlapping mappings execution 2023-02-15 10:09:37 +02:00
Alex Plate f5299d4b75 Extract processing of the mappings into the separate file 2023-02-15 09:39:30 +02:00
Alex Plate 35b366640f Fix compilation 2023-02-15 09:23:44 +02:00
aleksei.plateandtcuser 1dc3809a34 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: 'Qodana checks' build configuration settings were updated 2023-02-13 15:29:22 +00:00
aleksei.plateandtcuser 82c883acdb TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'Qodana checks' build configuration were updated 2023-02-13 14:12:19 +00:00
Alex Plate 8333751482 Update changelog 2023-02-13 11:09:48 +00:00
filipp 933070fc32 Update formatting 2023-02-13 13:06:31 +02:00
filipp ec80a20146 Rename method 2023-02-13 13:05:34 +02:00
filipp cd46497829 Fix(VIM-282): Cursor line wrapping support (whichwrap) 2023-02-13 13:04:53 +02:00
Alex Plate cb51a78509 Update formatting 2023-02-12 00:18:06 +00:00
filipp 6a52d0c83a Fix visual marks if put text with multiple carets 2023-02-07 19:28:37 +02:00
Alex Plate 138dc7082e Update formatting 2023-02-05 00:18:21 +00:00
Alex Plate 944c66c366 Update changelog 2023-02-01 21:08:38 +00:00
filipp 0accfbd65f Fix(VIM-1768): Delete surrounding character while in multiple cursors mode 2023-02-01 23:06:25 +02:00
Alex Plate 86498ba317 Update changelog 2023-02-01 19:11:39 +00:00
filipp 6016aac675 Fix(VIM-2804): IdeaVim multiple-cursors copy and paste issue when "set clipboard+=unnamed" 2023-02-01 21:08:55 +02:00
filipp 80f8c88532 Update changelog 2023-02-01 21:08:54 +02:00
filipp e112d87e28 Register FunctionStorage as service 2023-02-01 21:08:35 +02:00
Alex Plate 718d73f7cc Update changelog 2023-02-01 18:49:33 +00:00
Alex Plate d01e804b24 Fix(VIM-658): Stop macro on error 2023-02-01 20:47:15 +02:00
Alex Plate 72ca9a2297 Reuse potemkin progress for internal macros 2023-02-01 20:26:06 +02:00
Alex Plate 007a1694d7 Remove useless parameter 2023-02-01 19:50:48 +02:00
Alex Plate 74dd307318 Convert macro group to kotlin 2023-02-01 19:46:09 +02:00
Alex Plate 4bf5f6dcc1 Rename .java to .kt 2023-02-01 19:46:08 +02:00
Alex Plate cbf450425e Add some docs 2023-02-01 19:45:19 +02:00
Alex Plate 9b56fbc3ed Convert more tests from java to kotlin 2023-01-28 08:48:23 +02:00
Alex Plate bdcdfda8c4 Rename .java to .kt 2023-01-28 08:48:22 +02:00
Alex Plate 53b2108252 Convert some tests to java 2023-01-28 08:28:40 +02:00
Alex Plate ab87a86e9d Rename .java to .kt 2023-01-28 08:28:39 +02:00
Alex Plate 17c248eda0 Fix(VIM-2787): Save ideavimrc loading 2023-01-27 10:55:51 +02:00
Alex Plate bee82a1941 Adding experimental inspection 2023-01-27 10:55:49 +02:00
filipp 772c574149 VimMarkServiceImpl refactoring 2023-01-27 00:20:40 +02:00
filipp d577411e72 Fix(VIM-2850) 2023-01-27 00:20:40 +02:00
Alex Plate f901d9d3b0 Use stable version of IJ for build 2023-01-25 08:28:44 +02:00
filipp da75da6791 Fix easymotion compatibility 2023-01-23 14:36:31 +02:00
filipp 052fe75183 Fix dropLastJump 2023-01-23 13:02:35 +02:00
filipp d50daad918 Fix easymotion compatibility 2023-01-23 12:57:44 +02:00
Alex PláteandGitHub 2834e25945 Update README.md 2023-01-23 10:07:12 +02:00
dependabot[bot]andAlex Pláte 5c7190710b Bump junit-jupiter-api from 5.8.1 to 5.9.2
Bumps [junit-jupiter-api](https://github.com/junit-team/junit5) from 5.8.1 to 5.9.2.
- [Release notes](https://github.com/junit-team/junit5/releases)
- [Commits](https://github.com/junit-team/junit5/compare/r5.8.1...r5.9.2)

---
updated-dependencies:
- dependency-name: org.junit.jupiter:junit-jupiter-api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-23 10:01:10 +02:00
Alex Plate dd76de2066 Source vimrc in template only if it exists 2023-01-23 09:34:18 +02:00
Alex Plate 1a7e3ed658 Add some fixes 2023-01-23 08:53:24 +02:00
Alex Plate 956339115c Rename .java to .kt 2023-01-23 08:53:23 +02:00
Alex Plate 484a1f264b Update formatting 2023-01-22 00:18:31 +00:00
nikita.koshcheevandtcuser 0f739ffb50 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: Updated cloud profile 'amazon-48' in project 'project55' 2023-01-20 17:29:32 +00:00
filipp e79821385d Remove caret from method signatures in CaretRegisterStorage 2023-01-20 17:24:28 +02:00
Alex Plate e742d089d6 Include vim-engine sources to IdeaVim distribution 2023-01-20 17:16:37 +02:00
filipp 44336460c5 Fix IDEA compatibility 2023-01-20 16:50:58 +02:00
filipp 46f0309171 VIM-2840 Replace with register does not work with count 2023-01-20 16:33:16 +02:00
filipp 1ed38ec92b Fix mark fixes version 2023-01-20 15:53:20 +02:00
Alex Plate 04dca831e3 Update changelog after merging PR 2023-01-18 15:49:21 +00:00
Matt EllisandAlex Pláte 308e8bfbc3 Replace default interface methods with extensions 2023-01-18 17:47:32 +02:00
Matt EllisandAlex Pláte 62ecddb719 Replace setOptionValue with :set in tests 2023-01-18 17:47:32 +02:00
Matt EllisandAlex Pláte a852b0efbc Replace unsetOption with :set in tests 2023-01-18 17:47:32 +02:00
Matt EllisandAlex Pláte 3dd6a55727 Replace setOption with :set in tests 2023-01-18 17:47:32 +02:00
Matt EllisandAlex Pláte 3993e3b9c0 Migrate getOptionValue to new API in tests 2023-01-18 17:47:32 +02:00
Matt EllisandAlex Pláte 42b8b5814f Simplify check for option existence 2023-01-18 17:47:32 +02:00
Matt EllisandAlex Pláte 60de6f57fd Replace isDefault calls in tests 2023-01-18 17:47:32 +02:00
Matt EllisandAlex Pláte 11fcb17c29 Replace appendValue with :set in tests 2023-01-18 17:47:32 +02:00
Matt EllisandAlex Pláte 98246e23dd Introduce options value accessor to VimTestCase 2023-01-18 17:47:32 +02:00
Matt EllisandAlex Pláte 61e2e81719 Avoid race condition initialising OptionService 2023-01-18 17:47:32 +02:00
Matt EllisandAlex Pláte 62e600443e Remove unnecessary options reset in tests 2023-01-18 17:47:32 +02:00
Matt EllisandAlex Pláte 5bde4d75ce Remove test option after tests finish 2023-01-18 17:47:32 +02:00
Matt EllisandAlex Pláte 9c54fbe733 Migrate isSet to option value accessor API 2023-01-18 17:47:32 +02:00
Matt EllisandAlex Pláte 9cc206d548 Introduce friendly API for consuming options 2023-01-18 17:47:32 +02:00
Matt EllisandAlex Pláte a97cf8a3ec Remove unnecessarily cached list field 2023-01-18 17:47:32 +02:00
Matt EllisandAlex Pláte f0ea5f3968 Extract IDEA specific option constants 2023-01-18 17:47:32 +02:00
Matt EllisandAlex Pláte 8d44afc8e6 Sort option name constants 2023-01-18 17:47:32 +02:00
Matt EllisandAlex Pláte 62ed3bd7f2 Rename option name constants 2023-01-18 17:47:32 +02:00
Matt EllisandAlex Pláte 89889924fc Tidy up imports 2023-01-18 17:47:32 +02:00
Matt EllisandAlex Pláte dda592cb39 Small refactor 2023-01-18 17:47:32 +02:00
Matt EllisandAlex Pláte bb44044956 Move IJ specific options out of engine 2023-01-18 17:47:32 +02:00
Matt EllisandAlex Pláte d95810f6e5 Sort options 2023-01-18 17:47:32 +02:00
Matt EllisandAlex Pláte 26c275b0f5 Introduce UnsignedNumberOption 2023-01-18 17:47:32 +02:00
filipp 341dc6c58b Post-merge fixes 2023-01-17 16:15:34 +02:00
filipp a2364b7512 Pull request polishing 2023-01-16 19:23:13 +02:00
filipp 350e1c08d0 Add loading marks and jumps states to VimPlugin 2023-01-16 19:23:00 +02:00
filipp 724dc42a59 Update changelog 2023-01-16 19:22:58 +02:00
filipp 79a62e9d37 Move command tests 2023-01-16 19:22:35 +02:00
filipp f73ba63133 Add test for marks with multiple carets 2023-01-16 19:22:35 +02:00
filipp d2c849fceb Post-merge fixes 2023-01-16 19:21:10 +02:00
filipp c4e9d5d14f Multiple carets support for marks 2023-01-16 19:19:46 +02:00
filipp 76a7d1ee69 Visual marks tests 2023-01-16 18:51:11 +02:00
filipp a8d225f812 Save jumps after IDE close 2023-01-16 18:51:11 +02:00
filipp bdfb8c7ee4 Fix exchange 2023-01-16 18:51:11 +02:00
filipp 9ab9d88eb5 VimJumpService implementation 2023-01-16 18:51:11 +02:00
filipp 75ff5feccd LastSelectionInfo now stores buffer positions instead of offset
Updating lastSelectionInfo after insertion & deletion
2023-01-16 18:51:11 +02:00
filipp a4c7b38b7a Update formatting 2023-01-16 18:51:11 +02:00
filipp ec86608aff Fix visual selection marks for the :move command 2023-01-16 18:51:11 +02:00
filipp 4010854075 Multicaret gv 2023-01-16 18:51:10 +02:00
filipp fe1ae29fa3 Better selection marks 2023-01-16 18:40:31 +02:00
filipp 8c7d0b06d1 KeySorter for MarksCommand 2023-01-16 18:40:31 +02:00
filipp af497e6906 Post-merge fixes 2023-01-16 18:40:30 +02:00
filipp badb61aaea Move command no longer removes marks 2023-01-16 18:40:25 +02:00
filipp 5884919350 Fix mark order for marks command 2023-01-16 18:40:25 +02:00
filipp ce77148a38 Multiple carets support for marks 2023-01-16 18:40:24 +02:00
Alex Plate 0ee6ce0a55 Remove some forEachCaret methods 2023-01-16 11:43:00 +02:00
Alex Plate 39f0e14fee Remove one of the unused methods 2023-01-16 09:53:52 +02:00
Alex Plate dc09907f93 Remove dynamic loader stopper 2023-01-16 09:38:38 +02:00
Alex Plate dcec97b9b4 Update formatting 2023-01-15 00:22:05 +00:00
Alex Plate 0eb8615db4 Update support guide 2023-01-13 10:19:40 +02:00
Alex Plate e674d8ac3a Remove more usages of runForEachNative 2023-01-12 10:31:14 +02:00
Alex Plate 141af4f097 Remove one of for each methods 2023-01-12 10:19:11 +02:00
Alex Plate 35ef9c7e68 Update new .ideavimrc template 2023-01-12 09:27:07 +02:00
Alex Plate 67e8b3e988 Add support guide 2023-01-12 09:00:24 +02:00
Alex Plate 896508d1fd Update copyright notice 2023-01-12 08:11:15 +02:00
Alex Plate 908c978242 Global copyright update 2023-01-10 10:09:25 +02:00
Alex Plate 6419279514 Prepare to 2.1.0 release 2023-01-10 09:59:51 +02:00
Alex Plate 0ecfdc5cf3 Fix issue with incorrect position of the caret after put 2023-01-09 10:52:29 +02:00
Alex Plate a357f989ad Update changelog after merging PR 2023-01-09 08:19:13 +00:00
Patrick ElmquistandAlex Pláte 831e335b5d Fixed typos in Tutor 2023-01-09 10:17:31 +02:00
Alex Plate 5e4afd4a7b Update changelog 2023-01-06 08:00:34 +00:00
Alex Plate 337c526e23 Fix(VIM-2833): Fix rare deadlock during put in insert mode from clipboard 2023-01-06 09:58:52 +02:00
Alex Plate 5f25db231f Update copyright rules 2023-01-06 09:26:05 +02:00
Alex Plate fb46993a05 Reformat sources 2023-01-06 09:26:05 +02:00
Alex Plate ef2738838f Update copyright rules 2023-01-06 09:26:05 +02:00
Alex Plate b9669e452c Add some information to issue template 2023-01-06 09:26:04 +02:00
Alex Plate 6196417436 Fix minor issue with offsets 2023-01-06 09:26:04 +02:00
Alex Plate 5d797f397d Update changelog after merging PR 2023-01-06 07:23:51 +00:00
Matt EllisandAlex Pláte 3be6acf5b5 Restore type qualifiers for some static methods 2023-01-06 09:22:08 +02:00
Matt EllisandAlex Pláte b5619adf45 Cleanup MotionGroup.kt 2023-01-06 09:22:08 +02:00
Matt EllisandAlex Pláte 62540fe1b2 Reformat MotionGroup.kt 2023-01-06 09:22:08 +02:00
Matt EllisandAlex Pláte fd85fdf0ac Convert MotionGroup to Kotlin 2023-01-06 09:22:08 +02:00
Matt EllisandAlex Pláte e09208c757 Rename MotionGroup.java to MotionGroup.kt 2023-01-06 09:22:08 +02:00
Matt EllisandAlex Pláte 753f2110c6 Clean up ScrollGroup.kt 2023-01-06 09:22:08 +02:00
Matt EllisandAlex Pláte 7917e8417b Import EditorHelper methods 2023-01-06 09:22:08 +02:00
Matt EllisandAlex Pláte a0447b4840 Convert ScrollGroup from Java to Kotlin 2023-01-06 09:22:08 +02:00
Matt EllisandAlex Pláte 2e561a2af4 Rename ScrollGroup.java to ScrollGroup.kt 2023-01-06 09:22:08 +02:00
Matt EllisandAlex Pláte a330a3e472 Make editor converter property accessors inline 2023-01-06 09:22:08 +02:00
Matt EllisandAlex Pláte 229d64fcf8 Add ScrollViewHelper.kt to ThirdPartyLicenses.md 2023-01-06 09:22:08 +02:00
Matt EllisandAlex Pláte 6df695f650 Cleanup ScrollViewHelper.kt 2023-01-06 09:22:08 +02:00
Matt EllisandAlex Pláte d77edaa056 Convert ScrollViewHelper to Kotlin 2023-01-06 09:22:08 +02:00
Matt EllisandAlex Pláte 4f78246c7f Rename ScrollViewHelper.java to .kt 2023-01-06 09:22:08 +02:00
Matt EllisandAlex Pláte 8d3ccdaf9c Extract scroll functionality into ScrollGroup 2023-01-06 09:22:08 +02:00
Matt EllisandAlex Pláte 17e1061866 Extract scrollCaretIntoView to helper class
This file is licensed under the Vim license, so that scrolling the caret into view can be based on the Vim implementation
2023-01-06 09:22:08 +02:00
Matt EllisandAlex Pláte 30d4b06393 Fix dangling doc comment 2023-01-06 09:22:08 +02:00
Alex Plate 893bf452fb Update changelog after merging PR 2023-01-04 06:58:40 +00:00
Martin YzeiriandAlex Pláte bb67584cba Matchit: Add more Rider file types 2023-01-04 08:56:41 +02:00
Alex Plate e28ec93c80 Reformat project 2023-01-04 08:44:28 +02:00
Alex Plate ca37019427 Move some functions to script 2023-01-04 08:42:20 +02:00
Alex Plate 3d452015ee Small refactoring of scripts 2023-01-04 08:42:19 +02:00
Alex PláteandGitHub 57a3d82649 Update integrationsTest.yml 2023-01-04 08:21:44 +02:00
Alex Plate 2845beaf8a Better use of Ktor 2022-12-29 09:33:28 +02:00
Alex Plate 1e58ead126 Move scripts into the separate module 2022-12-29 09:26:45 +02:00
Alex Plate fafa7572d0 Extract plugin dependencies check into the separate file 2022-12-29 08:27:12 +02:00
Alex Plate 4ddeb72bfe Update changelog after merging PR 2022-12-29 05:53:35 +00:00
Martin YzeiriandAlex Pláte 28ba36dddb Matchit: Support cshtml files
Enables HTML jumps in Razor (.cshtml) templates.
2022-12-29 07:51:59 +02:00
Alex Plate b6c501311c Another workflow update 2022-12-28 18:11:13 +02:00
Alex Plate 01d4ebe254 Update workflow 2022-12-28 18:09:21 +02:00
Alex Plate 34dd332f0b Create an entry point for kotlin scripts 2022-12-28 18:04:36 +02:00
Alex Plate 596d0c7115 Add new job to check new plugins in marketplace that depend on IdeaVim 2022-12-28 17:06:34 +02:00
Alex Plate 672601b028 Do not check updates for dev version of the plugin 2022-12-28 14:41:10 +02:00
Alex Plate e5045f28ab Update tutor a bit 2022-12-28 12:21:36 +02:00
Alex Plate 12ba067db3 Use either name or login for GH merge job 2022-12-28 09:09:08 +02:00
Alex Plate 5413606425 Fix 2022-12-28 09:04:06 +02:00
Alex Plate 72ae18557b Fix broken link in the code 2022-12-28 09:03:19 +02:00
Alex Plate 99bd119ed6 Update changelog after merging PR 2022-12-28 06:59:55 +00:00
RuninhoandAlex Pláte faebf66065 improve formating 2022-12-28 08:58:14 +02:00
RuninhoandAlex Pláte dc030d6895 Fix(VIM-2760) notebookCommandMode detection 2022-12-28 08:58:14 +02:00
Alex Plate 7f626005a5 Fix for the dd on last line in the notebook 2022-12-27 18:22:24 +02:00
Alex Plate 28d0741e14 Update changelog after merging PR 2022-12-27 13:56:25 +00:00
Matt EllisandAlex Pláte c0e17a6c61 Fix issue with lastColumn not being invalidated 2022-12-27 15:45:18 +02:00
Matt EllisandAlex Pláte b5046b089e Fix incsearch not scrolling to current match 2022-12-27 15:45:18 +02:00
Alex Plate 1075112bfa Add IdeaVim tutor 2022-12-27 10:48:58 +02:00
Alex Plate 37fddacf8e Update GH CI jobs 2022-12-22 17:34:41 +02:00
Alex Plate 2091a59897 Temp fix for VIM-2808: disable formatting after paste for rider 2022-12-22 15:49:04 +02:00
Alex Plate d2a427b38f Use different type of action on github merge 2022-12-22 09:28:58 +02:00
Alex Plate c069719c1c Add quick scope plugin to the list 2022-12-21 14:24:04 +02:00
Alex Plate 654a443d4b Fix compatibility with plugins 2022-12-21 10:59:23 +02:00
Alex Plate a6ec2d5ed7 Update changelog 2022-12-21 10:34:55 +02:00
Alex Plate 02ac083175 Add new line 2022-12-21 10:18:56 +02:00
Alex Plate 561fce5d40 Update links to vim plugins 2022-12-21 10:18:23 +02:00
Alex Plate a88263874a Do not check for updates if the plugin is disabled 2022-12-21 10:06:46 +02:00
filipp 943ddeb5ab Update gradle plugin 2022-12-19 17:43:38 +02:00
Alex PláteandGitHub 216a3fedd0 Update IdeaVim Plugins.md 2022-12-19 12:36:13 +02:00
Alex Plate 7b8c335a5b Update changelog 2022-12-19 08:08:58 +00:00
Alex Plate 8e8efe4862 Fix(VIM-2813): Migrate update checker to VimStandalonePluginUpdateChecker 2022-12-19 10:06:52 +02:00
Alex Plate e64dc3cc1c Update changelog 2022-12-19 09:08:18 +02:00
Alex Plate c833691cf6 Add Ada to contributors list 2022-12-19 07:01:17 +00:00
AdaandAlex Pláte ba5e2e8613 Remove the redundant quotation mark at the end of "packadd matchit" command 2022-12-19 08:59:35 +02:00
Alex Plate b154e31a28 Update formatting 2022-12-04 00:16:36 +00:00
Alex Plate 322b888dc5 Add update to the evolution 2022-12-02 12:03:58 +02:00
Alex Plate 42eefb763b Add an editor to the action executor 2022-12-02 11:52:39 +02:00
Alex Plate 27be351636 Adopt immutable caret around the source code 2022-12-02 11:36:46 +02:00
Alex Plate 8b20287f93 Use immutable caret during put 2022-12-01 19:15:33 +02:00
Alex Plate 50a7bdb34d Update some tests 2022-12-01 19:12:30 +02:00
Alex Plate dcac3be0da Pass editor to the message service 2022-12-01 14:29:54 +02:00
Alex Plate ec121fb327 Adapt to immutable caret 2022-12-01 14:17:29 +02:00
Alex Plate ccb260b6a7 Make showmode on by default as in vim 2022-12-01 14:14:57 +02:00
Alex Plate c994511ea5 Add dashes to showcmd 2022-12-01 11:01:23 +02:00
Alex Plate fb5177633a More uses of ImmutableVimCaret 2022-12-01 08:38:52 +02:00
Alex Plate b15fde59d1 Fix UI test 2022-11-30 18:20:29 +02:00
Alex Plate 1958974c73 Remove experimental CI test 2022-11-30 17:55:55 +02:00
Alex Plate 00b1b0fea4 Add delay to UI test 2022-11-30 17:47:58 +02:00
Alex Plate 743b978e6f Update engine 2022-11-30 13:11:16 +02:00
Alex Plate cbabd8b76e Add new mapping mode set 2022-11-30 12:00:10 +02:00
Alex Plate 1fd877c597 Small refactoring of vim caret 2022-11-30 11:49:09 +02:00
Alex Plate 4f64ed07b1 Update docs 2022-11-30 08:54:36 +02:00
Alex Plate 4e537b0466 Create a job that syncs documentation 2022-11-30 08:32:34 +02:00
Alex Plate 2b1198dfd9 Rename extensions to plugins to be more consistent 2022-11-30 08:11:39 +02:00
Alex Plate 8db23fba43 Extract ImmutableVimCaret interface 2022-11-29 20:02:26 +02:00
Alex Plate 0451487549 Update engine to support immutable caret 2022-11-29 20:02:25 +02:00
aleksei.plateandtcuser a16faa97ec TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: 'Qodana checks' build configuration settings were updated 2022-11-29 10:24:50 +00:00
aleksei.plateandtcuser dbf626a53e TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: 'Qodana checks' build configuration settings were updated 2022-11-29 10:24:36 +00:00
Alex Plate 27cc767ec4 Update UI test 2022-11-29 10:20:53 +02:00
Alex Plate 8d2d08a12b Remove changes after testing 2022-11-29 10:18:06 +02:00
Alex Plate 7c91d97440 Update changelog after merging PR 2022-11-29 08:14:17 +00:00
Alex PlateandAlex Pláte 0eb7b53801 Useless commit 2022-11-29 10:09:13 +02:00
Alex Plate 510e31584e Fix incorrect env 2022-11-29 09:57:12 +02:00
Alex Plate 0efedd7fa5 Try a different GH login method 2022-11-29 09:46:34 +02:00
Alex Plate 01a32705e4 Try a different GH login method 2022-11-29 09:22:16 +02:00
Alex Plate 05c1b82bcf Add update PR to the integration tests 2022-11-29 08:55:57 +02:00
Alex Plate cf04796010 Update changelog 2022-11-29 08:55:57 +02:00
Alex Plate fd7e66e144 Add Runinho to contributors list 2022-11-29 06:52:48 +00:00
RuninhoandAlex Pláte ceaf290f5e check offset, add test for put before guard 2022-11-29 08:44:13 +02:00
RuninhoandAlex Pláte 5df9ae57ce Fix(VIM-2577) paste not working at end of notebook cell 2022-11-29 08:44:13 +02:00
Alex PláteandGitHub 04ed7d413f Update and rename Emulated-plugins.md to IdeaVim Plugins.md 2022-11-28 21:48:20 +02:00
Alex Plate f543835921 Update UI test 2022-11-28 18:27:56 +02:00
Alex Plate 8ae35160e7 Move method to a different file 2022-11-28 18:25:11 +02:00
Alex Plate 75516a7217 Fix track action ids 2022-11-28 18:06:20 +02:00
Alex Plate 8783fc89e6 Make a longer delay in UI test 2022-11-28 17:47:06 +02:00
Alex Plate fd0819ca30 Add link to plugins 2022-11-28 17:36:57 +02:00
Alex Plate 650b925251 Refactor caret movement 2022-11-28 16:56:15 +02:00
Alex Plate fd3e32eaa8 Move some calls to vim engine 2022-11-28 13:29:41 +02:00
Alex Plate a8bebb88b1 Move vimLeadSelectionOffset to the engine 2022-11-28 13:19:16 +02:00
Alex Plate 3294a74979 Create vim engine evolution file 2022-11-25 17:06:45 +02:00
Alex Plate db95804eeb Move caret method now returns VimCaret instance
This is important for Fleet because the carets in Fleet are immutable
2022-11-25 16:53:19 +02:00
Alex Plate 15bfc00ddb Update CI job name 2022-11-25 13:45:56 +02:00
Alex Plate 18580e431f Add integration tests for experiments 2022-11-25 13:42:52 +02:00
Alex Plate 98624d8701 Add method for carets 2022-11-25 13:39:38 +02:00
Alex Plate 3c03a15831 Fix test with modifiers 2022-11-25 13:35:30 +02:00
Alex Plate 9710a7bfc1 Small reformat of state machine 2022-11-25 13:35:29 +02:00
Alex Plate 34426ae32d Pass editor to undo redo 2022-11-25 13:35:29 +02:00
Alex Plate c2f98ee317 Update changelog 2022-11-25 11:13:14 +00:00
Alex Plate 4df2abba82 Fix(VIM-758): Support d mappings 2022-11-25 13:11:13 +02:00
Alex Plate c3cd207b2b Add some logging 2022-11-25 09:40:48 +02:00
Alex Plate 4f6053f767 File cleanup 2022-11-25 09:31:34 +02:00
Alex Plate 5578fbdd4f Update changelog 2022-11-23 12:04:42 +02:00
Matt EllisandAlex Pláte 84a6c40e13 Fix incorrect normalising for trailing inlay 2022-11-23 12:02:55 +02:00
Alex Plate 3e91004660 Update changelog 2022-11-23 09:47:50 +00:00
Alex Plate ac1d334bf1 Fix(VIM-2797): Introduce variable to mute default argtextobj mappings 2022-11-23 11:44:47 +02:00
Alex Plate 368c840177 Supress warning 2022-11-22 09:54:36 +02:00
Alex Plate c3a2fd736c Reorder badges 2022-11-21 20:26:29 +02:00
Alex Plate 741987f40b Add codecov badge 2022-11-21 20:24:32 +02:00
Alex Plate 375b025e22 Add kover report 2022-11-21 20:06:40 +02:00
Alex Plate 7324ee5e8d Update formatting 2022-11-20 00:18:56 +00:00
Alex Plate 54c2299654 Remove several methods from VimCaret 2022-11-18 14:37:32 +01:00
Alex Plate b2cfb6d6ed Refactor visual mode entering 2022-11-18 13:08:27 +01:00
Alex Plate e8a11b8f79 Remove unused method 2022-11-18 12:28:42 +01:00
Alex Plate f16890f9a7 Remove unused method 2022-11-17 16:35:33 +01:00
Alex Plate e881bec45d Move more change group methods to engine 2022-11-17 16:14:26 +01:00
Alex Plate 18eea7ca2d Move change group methods to the engine 2022-11-17 16:03:41 +01:00
Alex Plate 316410a561 Move some methods from put group to the engine 2022-11-17 14:57:19 +01:00
Alex Plate 76a1a190f6 Refactor change group 2022-11-17 14:08:07 +01:00
Alex Plate c243ae9cef Add refactoring to simplify change group 2022-11-17 14:07:57 +01:00
Alex Plate 2722ee63cc Move yank group to injector base 2022-11-17 14:07:57 +01:00
Matt EllisandAlex Pláte 22e7fa1cf3 Add comments 2022-11-17 14:07:46 +01:00
Matt EllisandAlex Pláte 101dc355ba Rename parameters in Mark and Jump 2022-11-17 14:07:46 +01:00
Matt EllisandAlex Pláte f5f3d0b827 Rename line parameters and variables
Buffer lines are just called "line", but visual lines (or where things are ambiguous) are explicitly named
2022-11-17 14:07:46 +01:00
Matt EllisandAlex Pláte 53cb5d1fe9 Rename more logical position helper functions 2022-11-17 14:07:46 +01:00
Matt EllisandAlex Pláte 0978ca616f Rename caret logical position helper functions 2022-11-17 14:07:46 +01:00
Matt EllisandAlex Pláte bbf42c0a28 Rename editor logical position helper functions 2022-11-17 14:07:46 +01:00
Matt EllisandAlex Pláte 7df04c6e2e Rename VimLogicalPosition to BufferPosition 2022-11-17 14:07:46 +01:00
Matt EllisandAlex Pláte d3386c8097 Fix Gradle warning 2022-11-17 14:07:46 +01:00
Alex Plate 309197781e Fix some tests 2022-11-17 10:14:03 +01:00
Alex Plate 5a3ee970a0 Move editor helper functions to engine 2022-11-17 09:37:22 +01:00
Alex Plate 7cbe63e484 Move some editor functions to engine 2022-11-16 23:21:22 +01:00
filipp 5342b02091 Converted MacOS chars to ASCII for statistics 2022-11-16 21:26:41 +02:00
Alex Plate 7eeca57135 A few fixes 2022-11-16 13:22:40 +01:00
Alex Plate 2162985e4a Move more methods to engine 2022-11-16 13:05:59 +01:00
Alex Plate 5d53f4c13a Move some methods from editor helper to engine 2022-11-16 12:37:03 +01:00
Alex Plate 7de2c2692d Update changelog 2022-11-16 09:47:06 +01:00
Alex Plate 1b9df35a1d Take back contributions from Marquis Wang 2022-11-16 09:45:09 +01:00
Alex Plate d5d39797bb Take back contributions from Piotr Mikulski 2022-11-16 09:45:09 +01:00
Alex Plate 829a228d79 Revert "Remove contributions of Piotr Mikulski <piotr@near.org>"
This reverts commit 860592291f.
2022-11-16 09:45:08 +01:00
Alex Plate 4c589c9610 Revert "Refactor commands output"
This reverts commit 05852b07
2022-11-16 09:45:08 +01:00
Alex Plate b9fc58ec45 Move some methods to engine 2022-11-16 09:45:07 +01:00
Alex Plate 193a84dafd Move method to engine 2022-11-16 09:43:53 +01:00
Alex Plate 3880a33208 Refactoring 2022-11-16 09:43:53 +01:00
Alex Plate 2edf897e39 Move getMotionRange to base method 2022-11-16 09:43:51 +01:00
Matt EllisandAlex Pláte 27d1170c75 Move creating adjusted offset out of action 2022-11-16 09:41:59 +01:00
Matt EllisandAlex Pláte 11c850a41e Remove unused property 2022-11-16 09:41:59 +01:00
Matt EllisandAlex Pláte ff4ee06a1f Remove unnecessary setting of vimLastColumn 2022-11-16 09:41:59 +01:00
Matt EllisandAlex Pláte 0549f32d6e Remove unnecessary base class 2022-11-16 09:41:59 +01:00
Matt EllisandAlex Pláte c5ab3490b3 Remove preOffsetComputation hook
Cached intended column is invalidated and recalculated if the caret has moved (intentionally or outside IdeaVim's control)
2022-11-16 09:41:59 +01:00
Matt EllisandAlex Pláte 50ba1a1c4e Simplify overloads 2022-11-16 09:41:59 +01:00
Matt EllisandAlex Pláte ee45d2fb38 Remove unused postMove hooks 2022-11-16 09:41:59 +01:00
Matt EllisandAlex Pláte a94822b79a Remove unused preMove hooks 2022-11-16 09:41:59 +01:00
Matt EllisandAlex Pláte b5aba454ae Remove more postMove overrides 2022-11-16 09:41:59 +01:00
Matt EllisandAlex Pláte a49631e986 Start to refactor postMove and intended column 2022-11-16 09:41:59 +01:00
Matt EllisandAlex Pláte bb31b5f2d3 Remove unused hooks for SingleExecution 2022-11-16 09:41:59 +01:00
Matt EllisandAlex Pláte 8ad08d466e Refactor motion handler to combine caret move 2022-11-16 09:41:59 +01:00
Matt EllisandAlex Pláte ab31183a93 Regroup line motion functions 2022-11-15 10:34:12 +02:00
Matt EllisandAlex Pláte 3257cc82dc Rename functions to indicate target motion
I.e. line number (currently buffer, should be Vim logical line), current line, or relative to current line
2022-11-15 10:34:12 +02:00
Matt EllisandAlex Pláte ef73733596 Remove unnecessary method from VimCaret 2022-11-15 10:34:12 +02:00
Matt EllisandAlex Pláte 4b45d4cf09 Group VimCaret related functions and properties 2022-11-15 10:34:12 +02:00
Matt EllisandAlex Pláte e0b3e1db24 Move StrictMode to engine 2022-11-15 10:34:12 +02:00
Matt EllisandAlex Pláte e0b51d653a Move action to correct package 2022-11-15 10:34:12 +02:00
Matt EllisandAlex Pláte c17ebbf4d7 Rename various scroll functions 2022-11-15 10:34:12 +02:00
Matt EllisandAlex Pláte 44a26d59a4 Rename screen line functions to "display" 2022-11-15 10:34:12 +02:00
Matt EllisandAlex Pláte 6b8f81f7eb Rename screen column functions to "display"
Two reasons:
1. It is good if the engine uses Vim terminology. A "screen" in Vim includes all window/display lines from all windows in the terminal screen, including the status and command line. IntelliJ doesn't have this concept. A display line is most similar to IntelliJ's visual lines, but describes the window/display's character grid, not the buffer contents.
2. moveCaretToMiddleColumn needs renaming to indicate that it's for a display line, not a logical line, and to make way for an implementation of `gM`, which does work on logical lines
2022-11-15 10:34:12 +02:00
Matt EllisandAlex Pláte 9a4b9419eb Rearrange VimMotionGroup to group related functions
No code changes
2022-11-15 10:34:12 +02:00
Matt EllisandAlex Pláte 89548d132a Remove obsolete helper method 2022-11-15 10:34:12 +02:00
Matt EllisandAlex Pláte 45dbb2cd3b Remove JavaVimTestCase base class
Can also now apply @TestWithoutNeovim to an entire class
2022-11-15 10:34:12 +02:00
Matt EllisandAlex Pláte a95203e2c9 Fix Gradle warning for missing task dependency 2022-11-15 10:34:12 +02:00
Matt EllisandAlex Pláte a79fc4980e Fix Gradle warning from verifyPluginConfiguration 2022-11-15 10:34:12 +02:00
aleksei.plateandtcuser 1240781503 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: VCS roots of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-11-10 18:38:50 +00:00
aleksei.plateandtcuser 0875c61bc9 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: build features of 'Qodana checks' build configuration were updated 2022-11-10 13:52:57 +00:00
Alex Plate da60a1c393 Add some excludes to license analysis 2022-11-10 14:35:29 +02:00
Alex Plate 785f29abf8 Fix some qodana inspections 2022-11-10 13:38:18 +02:00
Alex Plate 2a3e96b891 Turn off unused declaration inspection because it's flacky 2022-11-10 12:12:47 +02:00
Alex Plate f1f6dd4c60 Turn off magic constant inspection 2022-11-10 11:31:49 +02:00
Alex Plate b8a8403dc3 Add links to youtrack issues 2022-11-10 11:25:42 +02:00
Alex Plate ab5eb9c401 Fix test 2022-11-10 11:25:41 +02:00
aleksei.plateandtcuser 74b7fc9f77 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-11-10 08:28:42 +00:00
aleksei.plateandtcuser ca87316691 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-11-10 08:28:29 +00:00
aleksei.plateandtcuser cae61587da TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-11-10 08:28:11 +00:00
aleksei.plateandtcuser 0238d0bf2e TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-11-10 08:25:52 +00:00
Alex Plate 5be575a078 Remove plugin verifier from the repository 2022-11-10 10:25:30 +02:00
aleksei.plateandtcuser 36fbbbf4ae TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-11-10 08:07:47 +00:00
aleksei.plateandtcuser a87ab3c558 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: 'IdeaVim compatibility with external plugins' build configuration settings were updated 2022-11-10 07:58:43 +00:00
aleksei.plateandtcuser 75e22a2080 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-11-10 07:58:30 +00:00
aleksei.plateandtcuser 6c89799bfb TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-11-10 07:58:25 +00:00
aleksei.plateandtcuser e0d9a8d0db TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-11-10 07:47:17 +00:00
aleksei.plateandtcuser 3208f6a1bd TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-11-10 07:47:02 +00:00
aleksei.plateandtcuser d525be33cf TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-11-10 07:46:55 +00:00
aleksei.plateandtcuser 64136f0b93 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-11-10 07:46:34 +00:00
aleksei.plateandtcuser 238203cf35 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-11-10 07:45:48 +00:00
aleksei.plateandtcuser 6b354467ab TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-11-10 07:45:05 +00:00
aleksei.plateandtcuser 10444e5995 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-11-10 07:44:52 +00:00
aleksei.plateandtcuser 42f6ca11db TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-11-10 07:33:48 +00:00
aleksei.plateandtcuser eed094103d TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-11-10 07:00:06 +00:00
aleksei.plateandtcuser 5051bcd607 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-11-10 06:55:47 +00:00
aleksei.plateandtcuser 74e2bb2d87 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-11-10 06:40:12 +00:00
Alex Plate a4a6331935 Exclude full generated path from qodana 2022-11-09 09:23:54 +02:00
Alex Plate 3939144128 Update UI tests 2022-11-09 09:13:01 +02:00
Alex Plate 7791c0b7be Get rid of runForEachCaret in DeleteJoinLinesAction 2022-11-08 13:45:21 +02:00
Alex Plate 2cfbff5cf6 Move nerdtree action to background thread 2022-11-08 10:02:47 +02:00
Alex Plate b734153253 Add vim sneak to the list of plugins 2022-11-08 09:42:11 +02:00
Alex Plate 3df637b265 Remove macrodelay option 2022-11-08 09:42:11 +02:00
Alex Plate ea220d2514 Update formatting 2022-11-06 00:20:06 +00:00
Alex Plate 8bb75fc376 Add ThirdPartyLicenses.md file 2022-11-04 10:15:42 +02:00
Alex Plate d461fe555d Refactor status bar icon 2022-11-04 09:55:34 +02:00
Alex Plate 0bd25f2506 Update wording 2022-11-04 09:27:14 +02:00
Alex Plate 2355435275 Update copyright 2022-11-04 09:24:03 +02:00
Alex Plate cc04ef5869 Add some logging to gradle tasks 2022-11-03 19:45:21 +02:00
aleksei.plateandtcuser 521d8a605d TeamCity change in 'IntelliJ IDEA plugins / IdeaVim / IdeaVim releases' project: 'Publish Release' build configuration settings were updated 2022-11-03 11:44:19 +00:00
aleksei.plateandtcuser 3bff1b1ba5 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim / IdeaVim releases' project: 'Publish Release' build configuration settings were updated 2022-11-03 11:44:06 +00:00
Alex Plate 15192652f0 Move releaseActions to a group 2022-11-03 13:21:27 +02:00
aleksei.plateandtcuser 85873202ca TeamCity change in 'IntelliJ IDEA plugins / IdeaVim / IdeaVim releases' project: runners of 'Publish Release' build configuration were updated 2022-11-03 11:15:37 +00:00
aleksei.plateandtcuser 706bde03f9 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim / IdeaVim releases' project: parameters of 'Publish Release' build configuration were updated 2022-11-03 11:14:43 +00:00
aleksei.plateandtcuser f855f5f429 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim / IdeaVim releases' project: parameters of 'Publish Release' build configuration were updated 2022-11-03 11:13:52 +00:00
aleksei.plateandtcuser cce557e82a TeamCity change in 'IntelliJ IDEA plugins / IdeaVim / IdeaVim releases' project: parameters of 'Publish Release' build configuration were updated 2022-11-03 11:13:29 +00:00
Alex Plate 7f7d8bd771 Get already existing version in CI 2022-11-03 13:12:06 +02:00
Alex Plate 9a95093b44 Add automation to marks released tickets as Fixed 2022-11-03 13:07:34 +02:00
aleksei.plateandtcuser ddf7bbdd31 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim / IdeaVim releases' project: 'Publish Release' build configuration settings were updated 2022-11-03 11:05:03 +00:00
aleksei.plateandtcuser 994a811efa TeamCity change in 'IntelliJ IDEA plugins / IdeaVim / IdeaVim releases' project: 'Publish Release' build configuration settings were updated 2022-11-03 11:04:49 +00:00
aleksei.plateandtcuser 06efa46f32 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim / IdeaVim releases' project: runners of 'Publish Release' build configuration were updated 2022-11-03 11:04:45 +00:00
aleksei.plateandtcuser 66778a060c TeamCity change in 'IntelliJ IDEA plugins / IdeaVim / IdeaVim releases' project: runners of 'Publish Release' build configuration were updated 2022-11-03 11:04:28 +00:00
aleksei.plateandtcuser c9697d6cc8 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim / IdeaVim releases' project: runners of 'Publish Release' build configuration were updated 2022-11-03 10:59:57 +00:00
aleksei.plateandtcuser b801daa240 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim / IdeaVim releases' project: runners of 'Publish Release' build configuration were updated 2022-11-03 10:58:43 +00:00
Alex Plate d2f42d67c7 Change test approach a bit 2022-11-02 21:18:01 +02:00
Alex Plate cb9d750db9 Update list of unchecked emails 2022-11-02 15:41:09 +02:00
Alex Plate 0b966c4497 Use env token if ours is empty 2022-11-02 14:09:15 +02:00
Alex Plate 0774a822aa Add comments to integration tests 2022-11-02 13:37:57 +02:00
Alex Plate 7e0cdce7ea Add GH actions 2022-11-02 13:32:33 +02:00
Alex Plate e2ed963af5 Automation to update youtrack ticket status on commit 2022-11-02 13:25:18 +02:00
Alex Plate 4781d29d67 Prepare to 2.0.0 version 2022-11-01 20:08:27 +02:00
Alex Plate f5b6ca50f4 Update IdeaVim license to MIT
VIM-2782
2022-11-01 20:00:07 +02:00
Alex Plate 05852b07c6 Refactor commands output 2022-11-01 19:47:27 +02:00
Alex Plate 689aa4cf95 [VIM-570] Fix for chinese characters 2022-11-01 19:47:27 +02:00
Alex Plate 56aad9200a Add some links to GitHu 2022-11-01 19:47:27 +02:00
Alex Plate ac69c0d9c6 Fix search with offset 2022-11-01 19:47:27 +02:00
Alex Plate 860592291f Remove contributions of Piotr Mikulski <piotr@near.org>
6a4bb7395b
9b4825db77
2022-11-01 19:47:26 +02:00
Alex Plate 113597333c Remove contributions of kk <kevinz@weghst.com>
4849992ca9
2022-11-01 19:47:26 +02:00
Alex Plate a83d71aa39 Remove contributions of Marquis Wang <marquis@marquiswang.com> 2022-11-01 19:47:26 +02:00
Alex Plate 93299ae843 Remove contributions of Marcel Hild <hild@b4mad.net> 2022-11-01 19:47:25 +02:00
Alex Plate 4300cf5330 Prepare to 1.12.0 release 2022-11-01 19:11:28 +02:00
Alex Plate 92d08377ce Update changelog 2022-10-28 08:18:21 +03:00
Alex Plate 19a6284023 Update kotlin version to 1.7.20 2022-10-28 08:16:10 +03:00
Matt EllisandAlex Pláte 45908f2a84 Remove unnecessary scroll method 2022-10-28 08:15:32 +03:00
Matt EllisandAlex Pláte 8648220e21 Fix(VIM-2778) Remove override of editor scroll setting
Let user decide how editor scrolls when IntelliJ performs navigation, e.g. go to file member
2022-10-28 08:15:32 +03:00
Alex Plate 68e285b514 Update plugin.xml 2022-10-27 11:25:43 +03:00
Alex Plate 5153a42b69 Remove agent requirement 2022-10-27 11:20:54 +03:00
TeamCityandtcuser 42feed710c TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: project settings were updated on disk 2022-10-27 08:09:50 +00:00
Alex Plate 9d049b06c3 Use java pattern matching in the code 2022-10-27 10:58:14 +03:00
Alex Plate 1105529e91 Update minimal IJ version to 223 2022-10-27 10:29:58 +03:00
Alex Plate 49c1f11503 Update changelog 2022-10-25 06:49:32 +00:00
Alex Plate f54fd84de3 Fix(VIM-2776): Use filename index for file search 2022-10-25 09:47:50 +03:00
Alex Plate da3d83ecc6 Update formatting 2022-10-23 00:26:59 +00:00
filipp 4af8e574c4 Log keystrokes only in ASCII 2022-10-19 14:59:09 +03:00
Alex Plate bdcb5c4f33 Update colors 2022-10-18 16:56:43 +03:00
Alex Plate 013f7a42c2 [VIM-2774] Move visual toggle mode to another handler 2022-10-18 16:38:40 +03:00
Alex Plate d03398f3e8 [VIM-2774] Move reset mode to another handler 2022-10-18 16:38:40 +03:00
Alex Plate 7a26307a2b [VIM-2774] Move caret swap to runForEachCaret 2022-10-18 16:38:40 +03:00
Alex Plate fa6a0369b8 [VIM-2774] Remove runforEachCaret for other method 2022-10-18 16:38:40 +03:00
Alex Plate ad8cb0ba09 [VIM-2774] Add conditional multicaret handler 2022-10-18 16:38:39 +03:00
Alex Plate 8125ce5072 Update changelog 2022-10-18 08:34:00 +00:00
Alex Plate 6c0cc7285f Fix(VIM-2766): Move NERDTree update to background thread 2022-10-18 11:31:15 +03:00
Alex Plate d3424021c8 Fix(VIM-2768): Refactor listeners 2022-10-17 17:39:40 +03:00
Alex Plate 623aa40acd Update to java 17 2022-10-17 15:45:15 +03:00
Alex Plate c131cb338e Update description in plugin.xml 2022-10-17 15:45:14 +03:00
filipp 14d242a233 Disable logging undefined handlers 2022-10-17 14:56:16 +03:00
Alex Plate a131b7d29a Update IdeaVim motto 2022-10-17 12:35:05 +03:00
Alex Plate 85a1fbe89e Update links to github accounts 2022-10-11 09:23:07 +03:00
Alex Plate 142550a1f8 Use 2022.2.2 version of IJ by default 2022-10-04 09:48:35 +03:00
Alex Plate e3d3b73903 Fix incompatiility with futur versions of IJ 2022-10-04 09:48:18 +03:00
Alex Plate 45f18ff91c Update formatting 2022-10-02 00:26:29 +00:00
Alex PláteandGitHub 2103163207 Update AUTHORS information 2022-09-29 09:10:19 +03:00
filipp 19dd49670c Statistic 2022-09-26 11:51:56 +03:00
Alex Plate e738a1a821 Update formatting 2022-09-25 00:20:49 +00:00
filipp 6e0f301fb8 Fix(VIM-2757) Wrong gv behavior 2022-09-22 04:08:39 +03:00
filipp c76b8db293 Fix(VIM-2718) Copied value is not inserted 2022-09-21 03:00:53 +03:00
Alex Plate 9fa4ca8fb3 Update formatting 2022-09-18 00:20:25 +00:00
Alex Plate 871b60fe8d Revert "[New Typing Handler]: Switch j command to new typing handler"
This reverts commit 43a79dba
2022-09-12 09:30:22 +03:00
Alex Plate 6715a5b61f Revert "[New Typing Handler]: Support d"
This reverts commit c32c62ea
2022-09-12 09:29:46 +03:00
Alex Plate d7d91f1cc5 Add some tests for dd 2022-09-12 09:28:27 +03:00
Alex Plate 9f00dbd6f4 Update formatting 2022-09-11 00:19:01 +00:00
Alex Plate f95cf3d671 Update changelog 2022-09-10 21:26:01 +00:00
filipp 7fbc17624f Fix(VIM-2718): Fixed case where the primary caret was changed 2022-09-11 00:24:06 +03:00
Alex Plate b9c2ea37cb Update changelog 2022-09-09 14:21:51 +00:00
Alex Plate ca0db15e01 Fix(VIM-2749): Fix :tabn and :tabN commands 2022-09-09 17:20:09 +03:00
Alex Plate c32c62eacc [New Typing Handler]: Support d 2022-09-06 13:13:31 +03:00
Alex Plate 43a79dbad4 [New Typing Handler]: Switch j command to new typing handler 2022-09-05 15:22:10 +03:00
Alex Plate 2829a13187 Update gradle plugin 2022-09-05 12:32:08 +03:00
Alex Plate efc8c9207d Update changelog 2022-08-29 06:37:12 +00:00
Alex Plate 183ed10592 Fix(VIM-2744): Fix undo from ex line 2022-08-29 09:31:55 +03:00
Alex Plate 926b47a31e Update gradle plugin 2022-08-29 09:31:34 +03:00
Alex Plate d272c919ea Fill missing authors 2022-08-25 11:59:16 +03:00
Alex Plate f6e7d04fd5 Fix accessing bookmarks
Tests were failing because IdeaVim group is created by default by project name
2022-08-25 11:59:05 +03:00
Alex Plate ccdff4f087 TC: Fix missing import 2022-08-25 11:23:22 +03:00
Alex Plate ff14303e88 TC: add tests for stable version of idea 2022-08-25 11:12:50 +03:00
Alex Plate 48a592340b Update test fixture 2022-08-23 15:27:00 +03:00
Alex Plate da8f5f3231 Fix handler call from put command 2022-08-23 15:26:58 +03:00
Alex Plate f8fa8b73fa Move some methods to vim engine 2022-08-23 15:26:55 +03:00
Alex Plate aee126b625 Formatting 2022-08-23 15:26:53 +03:00
Alex Plate 396ac86939 Fix strange issue on ideavimrc reload 2022-08-23 15:26:50 +03:00
Alex Plate 81816f903f Update formatting 2022-08-21 00:17:52 +00:00
Alex Plate 06a85b784b Update changelog 2022-08-17 07:14:42 +00:00
Alex Plate 7f1e3bb155 Fix(VIM-1758): Commentary plugin in rider 2022-08-17 10:13:04 +03:00
Alex Plate 241f554133 Fix(VIM-1903): Autoindent now works in rider 2022-08-17 10:11:19 +03:00
Alex Plate 9498d0779c Revert "Refactoring IdeaVim to use editor actions instead of registering shortcuts in the editor"
This reverts commit b12fd5100f.
2022-08-15 18:59:35 +03:00
Alex Plate b12fd5100f Refactoring IdeaVim to use editor actions instead of registering shortcuts in the editor 2022-08-15 18:42:32 +03:00
Alex Plate 92f622430d Revert "Add a hidden gem"
This reverts commit 362b9a5c3a.
2022-08-15 17:22:31 +03:00
Alex Plate ef518f5b23 Revert "Rename hidden gem to neovim"
This reverts commit 4fd1a25557.
2022-08-15 17:22:31 +03:00
Alex Plate 7acb17ebdb Small update 2022-08-15 17:22:31 +03:00
Alex Plate 479a7dbbaf Update formatting 2022-08-14 00:17:52 +00:00
Alex Plate 4fd1a25557 Rename hidden gem to neovim 2022-08-12 12:14:17 +03:00
Alex Plate f32d42e625 Nice knowledge popup 2022-08-12 12:10:57 +03:00
Alex Plate 362b9a5c3a Add a hidden gem 2022-08-12 10:49:55 +03:00
Alex Plate e42b4d0ea3 Fix regex for changelog plugin 2022-08-12 10:14:31 +03:00
Alex Plate 43767b8500 Print error 2022-08-12 09:55:29 +03:00
Alex Plate d05098c870 Update changelog 2022-08-12 06:47:15 +00:00
Alex Plate 505f485568 Update release version 2022-08-12 09:45:30 +03:00
Alex Plate 86f512fb91 Update for slack notification 2022-08-12 09:45:08 +03:00
Alex Plate 12903066b9 Workaround for VIM-2487 2022-08-12 09:45:07 +03:00
Alex Plate 118d0433cb Fix(VIM-2728): Give access to global variables 2022-08-12 09:45:07 +03:00
filipp eb781c3679 An attempt to avoid "No tests found" emails 2022-08-11 03:50:07 +03:00
filipp 3c6bffba03 Fix(VIM-749) 2022-08-11 03:27:19 +03:00
Alex Plate 89623b04d6 Update changelog 2022-08-09 10:25:14 +03:00
Alex Plate 444a96132c Comment out test 2022-08-09 10:10:17 +03:00
Alex Plate c008553127 Update TC constants 2022-08-09 09:51:25 +03:00
Alex Plate 162d7b021f Update reference to changes 2022-08-09 09:50:02 +03:00
Alex Plate c82364c1dd Update changelog 2022-08-09 09:49:29 +03:00
Alex Plate 977402c6b0 Update changelog 2022-08-09 09:49:28 +03:00
Alex Plate b14e59ab5b Disable removing selection after undo 2022-08-09 09:49:28 +03:00
Alex Plate 47dcefcfbf Update formatting 2022-08-07 00:20:00 +00:00
Alex Plate 2b299cb422 Cut white edges on the gif 2022-08-05 08:47:50 +03:00
Alex Plate d0ccbb4620 Use correct git for dark mode 2022-08-05 08:44:21 +03:00
Alex Plate 187b207271 Use gif instead of mp4 2022-08-05 08:37:05 +03:00
Alex Plate a3e22c844c Different gif in readme 2022-08-05 08:34:59 +03:00
Alex Plate f8384b2732 Create dark screenshot for contributing 2022-08-05 08:16:38 +03:00
Alex Plate 2dae43258c Skip unsupported arguments in command
VIM-2720
2022-08-04 20:08:13 +03:00
Alex Plate 48033ecb85 Update changelog 2022-08-04 19:45:52 +03:00
Alex Plate ad8df027ac Skip neovim check in extensions and multicaret tests 2022-08-04 19:44:58 +03:00
Alex Plate 91f580771d Fix test with closing buffer 2022-08-04 19:18:26 +03:00
Matt EllisandAlex Pláte 9c6f0981f5 Consolidate doTest methods 2022-08-04 19:17:59 +03:00
Alex Plate 2212569688 Update changelog 2022-08-02 15:07:49 +00:00
Alex Plate 6711f1dbab Specify update thread for actions 2022-08-01 13:09:23 +03:00
Alex Plate 0b7a883efb Fix(VIM-2723): Move focus to editor after :q 2022-08-01 09:29:44 +03:00
Alex Plate 8ae84c62c0 Update changelog 2022-07-26 09:39:51 +03:00
Alex Plate 0d168c8115 Update formatting 2022-07-24 00:20:23 +00:00
chylexandAlex Pláte c7b51b7fa5 Implement partial code completion support in macros
Works ok with insertions (Enter, Ctrl+Enter) but not with replacements (Tab)
2022-07-22 10:02:23 +03:00
aleksei.plateandtcuser 86bf723791 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'Qodana checks' build configuration were updated 2022-07-20 11:36:12 +00:00
Alex Plate 71f2e9de4a Update changelog 2022-07-20 08:20:43 +00:00
Alex Plate 33d3f270a3 Fix(VIM-2710): Show options value on set opt 2022-07-20 09:56:23 +03:00
filipp da94edd386 Fix(VIM-2703) 2022-07-20 02:51:45 +06:00
Alex Plate 90dfaefd11 Update formatting 2022-07-17 00:17:41 +00:00
Alex Plate 8bc616cc55 New vim behaviour: ci( searches for brackets
Change in vim:
https://github.com/vim/vim/commit/b9115da4bec5e6cfff69da85cc47c42dd67e42e4
https://github.com/vim/vim/pull/8670

VIM-2699
2022-07-14 12:08:26 +03:00
aleksei.plateandtcuser a9e79d62c5 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'Qodana checks' build configuration were updated 2022-07-13 11:55:31 +00:00
Alex Plate 1998221a0b Remove useless @NotNull annotations 2022-07-13 10:26:57 +03:00
Alex Plate a9b1625749 Update deprecated action listeners 2022-07-13 10:26:16 +03:00
Alex Plate b411836570 Hide macos notification during UI testing 2022-07-13 09:23:35 +03:00
Alex Plate df7e0221a8 Update qodana baseline 2022-07-11 14:10:08 +03:00
aleksei.plateandtcuser 8ff8f2b685 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'Qodana checks' build configuration were updated 2022-07-11 10:00:37 +00:00
aleksei.plateandtcuser 65dea7e3f7 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'Qodana checks' build configuration were updated 2022-07-11 09:45:28 +00:00
aleksei.plateandtcuser 1942f86633 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim / IdeaVim releases' project: build features of 'Publish EAP Build' build configuration were updated 2022-07-11 08:29:56 +00:00
Alex Plate ee4ce5033a Fix tests 2022-07-11 11:09:43 +03:00
Alex Plate 040fe806c8 Update release versions of IJ 2022-07-11 09:28:39 +03:00
Alex Plate 97f5c9225e Cleanup the sources 2022-07-08 11:24:10 +03:00
Alex Plate 09b86c15f9 Fix missing space 2022-07-08 10:59:02 +03:00
Alex Plate 8f34285d8c Fix issues with notations 2022-07-08 10:55:21 +03:00
Alex Plate d3c3b71e3e Remove unnecessary libraries from the distribution 2022-07-08 10:29:51 +03:00
Alex Plate aa6f49c9b1 Reformat code 2022-07-08 10:00:00 +03:00
Alex Plate c011628420 Reformat code 2022-07-08 09:14:43 +03:00
Alex Plate 1c9fa9d662 Skip one test in multicaret 2022-07-07 16:32:14 +03:00
Alex Plate 7b9bc64364 Fix multicaret insert 2022-07-07 14:54:41 +03:00
Alex Plate 729062bfdd Turn on ideadelaymacro by default 2022-07-07 14:36:04 +03:00
Alex Plate bc6c726a45 Fix macro with count execution 2022-07-07 14:35:49 +03:00
Alex Plate dfc3df713e Update changelog 2022-07-07 12:22:46 +03:00
Alex Plate 42eca1d5f2 Apply TC patches 2022-07-07 11:20:10 +03:00
Alex Plate 66245e2730 Change secret for the merge PR action 2022-07-07 10:42:27 +03:00
aleksei.plateandtcuser d44b82c1d1 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: 'Plugin verification' build configuration settings were updated 2022-07-07 07:12:38 +00:00
aleksei.plateandtcuser 5440e48fa3 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: 'Tests for IntelliJ 2021.3' build configuration was moved to 'IntelliJ IDEA plugins / IdeaVim / Old IdeaVim tests' project 2022-07-07 07:11:51 +00:00
aleksei.plateandtcuser 1c513cf8aa TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: VCS roots of 'Tests for IntelliJ 2021.3' build configuration were updated 2022-07-07 07:11:26 +00:00
aleksei.plateandtcuser a17c4b8d43 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: VCS roots of 'Tests for IntelliJ 2021.3' build configuration were updated 2022-07-07 07:11:07 +00:00
aleksei.plateandtcuser 15eb4ac278 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: 'https://github.com/JetBrains/ideavim (branch 213-221)' VCS root was created 2022-07-07 07:06:47 +00:00
Alex Plate 0d9b81eab3 Update minimal version of IJ 2022-07-07 10:02:14 +03:00
Alex Plate f02e1a20c7 Create test update job 2022-07-06 21:23:48 +03:00
Alex Plate a11991dad7 Create test token 2022-07-06 21:21:51 +03:00
Alex Plate 1238828bfd Update token name 2022-07-06 21:18:27 +03:00
Alex Plate ba409cb24c Add some logging to update after PR job 2022-07-06 21:06:00 +03:00
Alex Plate d597670275 Update changelog after merging PR 2022-07-06 17:58:16 +00:00
Alex PláteandAlex Pláte d8540e95f8 Create gradle.properties 2022-07-06 20:56:49 +03:00
Alex Plate d35ebf00dd Add qodana baseline to the project (I guess) 2022-07-06 20:43:40 +03:00
Alex Plate 2b32cb26b1 Set since version in config 2022-07-06 20:39:30 +03:00
aleksei.plateandtcuser ca95fcb658 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'Tests with nvim' build configuration were updated 2022-07-06 17:32:40 +00:00
aleksei.plateandtcuser cc18bbd168 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: 'Tests with nvim' build configuration settings were updated 2022-07-06 17:09:16 +00:00
Alex Plate 8c8ea800cb Update neovim tests 2022-07-06 20:06:02 +03:00
Alex Plate 0746dcc686 Fix some neovim tests 2022-07-06 19:41:05 +03:00
Alex Plate 930650be9d Add lippfi to contributors list 2022-07-06 07:36:26 +00:00
Alex Plate 4e3a9ffa40 Add unchecked email 2022-07-06 10:34:31 +03:00
filipp 3bf68a2bb8 Update formatting 2022-07-06 13:11:11 +06:00
Alex Plate a80f6feab0 Update changelog 2022-07-06 09:30:25 +03:00
Alex Plate 3cf8ae52ed Add link to the docs 2022-07-06 09:30:25 +03:00
Matt EllisandAlex Pláte 62632a4514 Improve handling of fractional width fonts 2022-07-06 09:29:36 +03:00
Alex Plate 249bd3778a Add a note about refactoring 2022-07-06 09:14:52 +03:00
filipp ab9e5d7a4a Fix selection issue with oldundo set 2022-07-06 12:12:55 +06:00
filipp 083b7dc952 Fix(VIM-2698) Undo causes confirmation dialog to reappear forever 2022-07-06 11:35:29 +06:00
Alex Plate 1791692d92 Use java boolean 2022-07-05 12:26:16 +03:00
Alex Plate ba23c9ab5e Rename variable service 2022-07-05 11:27:53 +03:00
Alex Plate f96ab37bcb Rename Scope 2022-07-05 11:04:08 +03:00
Alex Plate 0da34bbb34 Compatibility of toggleOption 2022-07-05 10:56:45 +03:00
Alex Plate 51e7c745ea Move number option to a different package 2022-07-05 10:26:14 +03:00
aleksei.plateandtcuser 8347251572 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: triggers of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-07-05 07:13:58 +00:00
aleksei.plateandtcuser ce8512f4e0 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: triggers of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-07-05 07:13:22 +00:00
aleksei.plateandtcuser a724a19d00 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: triggers of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-07-05 07:13:00 +00:00
Alex Plate 7eae7a98e8 Command state compatibility 2022-07-05 10:05:02 +03:00
Alex Plate fe9566eebd Convert helper to kt 2022-07-04 10:59:24 +03:00
Alex Plate b69756730f Rename .java to .kt 2022-07-04 10:59:23 +03:00
Alex Plate 6cd1a60b53 More compatibility 2022-07-04 10:33:31 +03:00
Alex Plate 9d935e47b5 Move compatibility 2022-07-04 09:49:50 +03:00
Alex Plate a7d5372d06 Move classes to a different package 2022-07-04 09:49:50 +03:00
Alex Plate a575942c81 Compatibility 2022-07-04 09:49:50 +03:00
aleksei.plateandtcuser 3cf6c53a8e TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-07-04 06:40:47 +00:00
aleksei.plateandtcuser 91d86680de TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-07-04 06:22:54 +00:00
aleksei.plateandtcuser d1d082fb99 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-07-04 06:15:19 +00:00
aleksei.plateandtcuser 2c634d1bf0 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-07-04 06:06:43 +00:00
aleksei.plateandtcuser 02a6fe4dc9 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-07-04 06:03:46 +00:00
aleksei.plateandtcuser 223d681526 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: VCS roots of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-07-04 06:03:33 +00:00
aleksei.plateandtcuser f42ef1c2fc TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: VCS roots of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-07-04 06:03:27 +00:00
Alex Plate f4817b2111 Add compatibility verifier to the repo 2022-07-04 08:59:31 +03:00
Alex Plate 6f5def0abf Update formatting 2022-07-03 00:19:25 +00:00
filipp f0fcd7f133 Better offset for multiple carets with surround 2022-07-02 18:59:21 +06:00
filipp 6115adb72e Add registers to carets 2022-07-02 18:51:10 +06:00
filipp bfd0b5fd91 Merge remote-tracking branch 'origin/master' 2022-07-02 11:21:33 +06:00
Alex Plate 6c0a52155b Add compatibility method 2022-07-01 16:36:30 +03:00
Alex Plate c7ebce39bf Make options compatible 2022-07-01 16:10:13 +03:00
Alex Plate a0dc7a792f Add more compatibility methods 2022-07-01 15:55:07 +03:00
Alex Plate fdb09a8f1f Use vim-engine kotlin settings 2022-07-01 12:18:53 +03:00
Alex Plate 4ac2aa2339 Apply kotlin options to all projects 2022-07-01 11:29:15 +03:00
Alex Plate ebbc20692a Add JVM compatibility option to the compiler 2022-07-01 10:58:32 +03:00
Alex Plate 5c82d112c9 More compatibility methods 2022-07-01 10:05:13 +03:00
Alex Plate 40fd50d7f1 Add midding import 2022-07-01 09:27:07 +03:00
Alex Plate f7b948fee2 Add CommandState compatibility layer and rename our main CommandState to VimStateMachine 2022-07-01 09:04:27 +03:00
Alex Plate 6cdcf133bb Use snapshot version of gradle plugin 2022-06-30 09:14:29 +03:00
filipp f3025757b6 Merge remote-tracking branch 'origin/master' 2022-06-30 11:02:41 +06:00
nikita.koshcheevandtcuser a49811a3f9 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: Updated cloud profile 'amazon-48' in project 'project55' 2022-06-29 15:16:26 +00:00
Alex Plate 2ac4b265d1 Add compatibility method 2022-06-29 16:30:26 +03:00
Alex Plate 46e994b563 Fix incorrect inheritance 2022-06-29 11:42:21 +03:00
Alex Plate 81482bd298 Add more compatibility changes 2022-06-29 11:25:11 +03:00
Alex Plate f1a239c085 Make compatibility function public 2022-06-29 10:42:04 +03:00
Alex Plate a48e38de7b Make function static 2022-06-29 10:25:41 +03:00
Alex Plate 0aaacee117 Add more classes for compatibility 2022-06-29 09:54:50 +03:00
Alex Plate b8373af69f Move MappingMode to a different package 2022-06-29 09:54:49 +03:00
Alex Plate e99b2ee73d Add new method for compatibility 2022-06-29 09:54:49 +03:00
aleksei.plateandtcuser 705022331a TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: general settings of 'IdeaVim compatibility with external plugins' build configuration were updated 2022-06-28 08:48:58 +00:00
aleksei.plateandtcuser bf62d444bf TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: general settings of 'IdeaVim compatibility with external plugin' build configuration were updated 2022-06-28 08:47:35 +00:00
aleksei.plateandtcuser 5dcff5657b TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: general settings of 'IdeaVim compativility with external plugin' build configuration were updated 2022-06-28 08:47:11 +00:00
Alex Plate 7e79d5a960 Add method for compatibility 2022-06-28 11:13:54 +03:00
Alex Plate c1b480976d Include source files into distribution 2022-06-28 11:13:54 +03:00
Alex Plate ddabbe6891 Use vim-engine as API instead of implementation 2022-06-28 11:13:54 +03:00
Alex Plate ffa3052b50 Update build version of IJ 2022-06-28 11:13:54 +03:00
Alex Plate 654ea88851 Add collecting of sources to the resulting jar 2022-06-28 11:13:54 +03:00
filipp 4dc7982baa (EA-480768) Better exception message 2022-06-27 16:19:45 +06:00
aleksei.plateandtcuser ae2fc1cd85 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'Build' build configuration were updated 2022-06-27 06:17:38 +00:00
aleksei.plateandtcuser 78bc8666e6 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: build features of 'Build' build configuration were updated 2022-06-27 06:16:33 +00:00
aleksei.plateandtcuser 9c2de2cfc7 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: build configuration was created from URL 2022-06-27 06:16:18 +00:00
aleksei.plateandtcuser 71e81465f3 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: 'IdeaVimCompatibility' VCS root was created 2022-06-27 06:15:35 +00:00
Alex Plate 885031e086 Fix test class without test methods 2022-06-27 07:59:22 +03:00
Alex Plate d77c5bb5cf Update formatting 2022-06-26 00:20:17 +00:00
Alex Plate 781bce0000 Update changelog 2022-06-24 05:27:52 +00:00
Alex Plate a3ca1b965b Fix(VIM-2691): Save file on :w 2022-06-24 08:26:02 +03:00
Alex Plate dd20b480a7 Update changelog 2022-06-24 08:26:02 +03:00
filipp 38292e97af Fix context for function argument evaluation 2022-06-24 03:13:07 +06:00
filipp 46ea752164 Add tolower(), toupper(), join() 2022-06-24 02:58:41 +06:00
Alex Plate 194b744361 Update changelog 2022-06-23 15:29:40 +00:00
chylexandAlex Pláte b50197f7ce Fix(VIM-2227): Wrong behavior when deleting / changing surround with invalid character 2022-06-23 18:19:28 +03:00
Alex Plate c00703d1d0 Manually define excluded from qodana files 2022-06-23 13:50:35 +03:00
Alex Plate 6e12377116 Remove generated code from qodana 2022-06-23 13:08:53 +03:00
Alex Plate b0c4391ad8 Remove some files from qodana inspection 2022-06-22 20:30:14 +03:00
Alex Plate f43ac2538a Enable dependency checker in qodana 2022-06-22 18:36:08 +03:00
Alex Plate 9eaf8b5d2d Move some other methods to vim-engine 2022-06-22 18:36:08 +03:00
filipp e365d0b07c Unsubscribe document listener in UndoRedoHelper 2022-06-20 03:26:40 +06:00
filipp 69c273c4a5 Track more actions 2022-06-19 01:07:18 +06:00
filipp f7950e7adb Fix(VIM-2683) Pasting from system clipboard multiple lines freezes the main thread 2022-06-18 07:31:44 +06:00
filipp 7c1ae9812e Update formatting 2022-06-18 06:26:11 +06:00
filipp 5c794ac40e Fix(VIM-749) Support for :let command 2022-06-18 06:21:26 +06:00
filipp 9dbe3c3363 Fix(VIM-308) Undo requires one more step if the cursor is not at the position where it was after undo 2022-06-16 18:50:42 +06:00
filipp 8a98f46235 Move mapDepth to MappingState 2022-06-15 16:22:31 +06:00
filipp 9ed8db4d4a Add oldundo option 2022-06-15 16:06:47 +06:00
Alex Plate 5b94276836 Move more methods to vim-engine 2022-06-15 12:58:15 +03:00
filipp f1e427e2ff Fix command history 2022-06-14 22:10:04 +06:00
filipp a112cfe35f Add count to undo/redo 2022-06-14 18:47:16 +06:00
filipp 412b60d6b4 Fix selection after undo 2022-06-14 18:36:14 +06:00
Alex Plate 11d9ef7507 Partially move change group to vim-engine 2022-06-14 10:31:23 +03:00
Alex Plate ca143272f3 Update changelog 2022-06-13 09:54:32 +00:00
Alex Plate 072449825c Fix(VIM-2675): Fix numbering register in visual mode 2022-06-13 12:53:05 +03:00
Alex Plate 38ed9c206a Fix compilation 2022-06-13 12:53:05 +03:00
Alex Plate 8235a649a1 Move VisualMotionGroup to vim-engine 2022-06-13 12:53:05 +03:00
Alex Plate 09efdd076e Remove unused method 2022-06-13 12:53:05 +03:00
Alex Plate da9b6ea762 Update formatting 2022-06-12 00:17:39 +00:00
Alex Plate 437450a93b Fix long running test 2022-06-10 16:01:13 +03:00
Alex Plate 50fff8871e Update changelog 2022-06-10 12:28:35 +00:00
Alex Plate 350e9cfca2 Fix(VIM-2595): Support plugins in macro execution 2022-06-10 15:27:03 +03:00
Alex Plate 5639edf173 Refactor mapping stack 2022-06-10 15:27:03 +03:00
Alex Plate f72313df9c Fix(VIM-2671): Fix using plugins from mappings 2022-06-10 15:27:03 +03:00
filipp f52eb5e124 Update formatting 2022-06-10 00:07:27 +06:00
filipp 5da9c5e1cd Move variableService logic to base class 2022-06-09 23:54:43 +06:00
filipp 53fdd891fb Move optionService logic to base class 2022-06-09 02:17:40 +06:00
filipp 94820d7a83 Update formatting 2022-06-08 20:04:50 +06:00
Alex Plate fe66d06ce2 Move VimMark to vim-injector 2022-06-08 12:06:45 +03:00
Alex Plate b6e917a2d7 Get rid of DialogDataContext
Actually, it was removed for some time already.
Caused this exception: https://web.ea.pages.jetbrains.team/#/issue/533401
2022-06-07 16:40:38 +03:00
Alex Plate a6a39d249b Move key group to vim-engine 2022-06-07 15:53:31 +03:00
Alex Plate 518784c371 Use ShortcutOwnerInfo in savedShortcuts 2022-06-07 15:53:30 +03:00
filipp 51c50cb902 Update formatting 2022-06-07 04:00:06 +06:00
filipp 6355d7765e Add documentation to OptionService.kt and fix some exception messages 2022-06-07 03:59:23 +06:00
filipp c083631590 Undo changing ideaVersion 2022-06-07 01:13:07 +06:00
filipp f62575c870 Fix bugs with appending/prepending/removing value from string option 2022-06-07 01:09:19 +06:00
filipp 01e367cadf Delete deprecated OptionsManager.kt 2022-06-07 01:08:10 +06:00
Alex Plate e248bb5565 Update formatting 2022-06-05 00:23:42 +00:00
filipp 1744ec74c7 Add some info to the Map command 2022-06-05 00:12:09 +06:00
filipp 905f8003da Fix repeating the @@ command 2022-06-04 01:02:01 +06:00
filipp 3b3a036806 Remove StringHelper.kt & CommonStringHelper.kt 2022-06-03 22:22:49 +06:00
Alex Plate ccf48d1e53 Add some more notes to injector about it's status 2022-06-01 13:59:51 +03:00
Alex Plate d7a74fdf5e Mark the states of the injector 2022-05-31 10:44:00 +03:00
Alex Plate 462c1bc75e Fix resetting the modes to empty state 2022-05-31 10:20:31 +03:00
Alex Plate 96b05dcc94 Mute some neovim tests 2022-05-31 09:54:34 +03:00
Alex Plate ceafe9d4e7 Rename base for property tests 2022-05-31 09:31:00 +03:00
Alex Plate fc9b09cf72 Update ij plugin to 1.6.0 2022-05-31 09:29:40 +03:00
filipp 11c80b2ea9 Fix cast :action mappings to <Action> 2022-05-30 16:22:40 +06:00
filipp eb536766db Fix exception during parsing of empty stings 2022-05-30 15:34:17 +06:00
Alex Plate f3b6687d79 Update kotlin version 2022-05-30 11:22:24 +03:00
Alex Plate adf483a748 Enable property based and long running tests 2022-05-30 09:52:12 +03:00
Alex Plate 7332cd1ed1 Start implementing Troubleshooter 2022-05-30 09:52:11 +03:00
Alex Plate 7726f4347b Unmap removed mappings after using ReloadVimRc action 2022-05-30 09:52:11 +03:00
Alex Plate ee092d988b Update formatting 2022-05-29 00:17:16 +00:00
Alex Plate b3db3bb940 Add a note that :action should not be used in mappings 2022-05-26 11:05:00 +03:00
Alex Plate edcb17a436 Update changes 2022-05-26 11:05:00 +03:00
filipp f3b4933ef2 Fix number options 2022-05-25 19:33:40 +06:00
Alex Plate c6fdf9cdf4 [VIM-2643]: Implement a redo-register feature 2022-05-25 11:30:55 +03:00
Alex Plate 2244d0f776 Downgrade intellij-plugin due to https://github.com/JetBrains/gradle-intellij-plugin/issues/998 2022-05-25 11:30:54 +03:00
Matt EllisandAlex Pláte d7c4e4a8dd Add support for "-Command" flag for powershell
Fixes VIM-2622
2022-05-25 11:30:36 +03:00
Matt EllisandAlex Pláte b7c54d02cb Fix minor scroll bug
If caret is less than 'sidescrolloff' columns from the left of the screen, moving down one line will animate. Greater than 'sidescrolloff' does not animate. This is because the scroll model tries to scroll to a negative horizontal offset, to try and put the caret in the middle of the screen. This isn't possible, but the scroll model sees a large enough distance to trigger an animation.
2022-05-25 11:30:36 +03:00
Alex Plate 620eca3a0d Correctly fix the test 2022-05-24 15:16:45 +03:00
Alex Plate aa3b2e988f Update TC constant 2022-05-24 15:14:36 +03:00
Alex Plate 753f589ea5 Mark a test as VimBehDiffers 2022-05-24 14:34:34 +03:00
Alex Plate 831e4e8c42 Fix services initialization in VimInjectorBase 2022-05-24 13:49:01 +03:00
Alex Plate 329722f338 Turn off experimental api 2022-05-24 13:05:12 +03:00
filipp 2ff429cc76 Update changelog 2022-05-23 22:54:51 +06:00
filipp 47d4aee986 Support return without expression 2022-05-23 22:47:47 +06:00
filipp 938325b93e Update formatting 2022-05-23 21:02:39 +06:00
filipp 12d0a2ffb7 Update gradle & gradle wrapper 2022-05-23 21:00:52 +06:00
filipp 4ff7e9aefa Move some logic to base classes 2022-05-23 21:00:32 +06:00
filipp f52792e7f0 Move Regexp from engine 2022-05-23 00:10:57 +06:00
filipp cbc6662ef7 Update formatting 2022-05-08 21:10:40 +06:00
filipp 26ffc2ad32 Move some classes to vim-engine 2022-05-08 21:09:52 +06:00
filipp df32e573b0 Move some classes to vim-engine 2022-05-08 15:49:53 +06:00
filipp 19647d96b2 Move some classes to vim-engine 2022-05-08 12:23:14 +06:00
Alex Plate b1714a2fc1 Update formatting 2022-05-08 00:16:10 +00:00
filipp 83199d5475 Move some classes to vim-engine 2022-05-07 22:45:52 +06:00
Alex Plate 4c0af66dff Update formatting 2022-05-01 00:20:06 +00:00
Alex Plate ccd7204b21 Update changelog 2022-04-27 10:56:37 +03:00
Alex Plate b82f1e6602 Move more classes to vim-engine 2022-04-27 10:40:44 +03:00
Alex Plate 4104258219 Move playbackregister to vim-engine 2022-04-26 14:21:10 +03:00
Alex Plate 11054f908b Move some classes from file package to vim-engine 2022-04-26 10:02:23 +03:00
Alex Plate e0dc6f7214 Update changelog 2022-04-25 11:44:22 +00:00
Alex Plate 735686c415 Update TC constant 2022-04-25 14:42:24 +03:00
Alex Plate 385bcbc383 fix(VIM-2604): Update action execution rules 2022-04-25 14:41:32 +03:00
aleksei.plateandtcuser f273620466 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'Qodana checks' build configuration were updated 2022-04-25 07:11:28 +00:00
Alex Plate acb27d5ccc [TC] Update qodana configs 2022-04-25 09:45:49 +03:00
Alex Plate 62c79e1470 Move yank package to vim-engine 2022-04-25 09:45:48 +03:00
Alex Plate 1a99918819 Move some put actions to vim-engine 2022-04-25 09:45:48 +03:00
Alex Plate 7e3a9e0b38 Move window actions to vim-engine 2022-04-25 09:45:48 +03:00
Alex Plate f51d74f2b8 Use correct name of notifications toolwindow for Track Action Ids 2022-04-25 09:45:24 +03:00
Alex Plate 987cba6072 Change implementation of configurable for lazy loading 2022-04-25 09:45:24 +03:00
Alex Plate 770e6371df Rename .java to .kt 2022-04-25 09:45:24 +03:00
Alex Plate 30e660cf19 Update changelog 2022-04-25 09:45:24 +03:00
Alex Plate 8ccf0b5364 Update changelog 2022-04-25 09:45:23 +03:00
filipp 3ef86186eb Fix parsing strings with \r in the end 2022-04-25 00:30:56 +06:00
filipp b8b3669b04 Fix antlr4 and antlr4-runtime dependency version conflict 2022-04-24 19:33:21 +06:00
Alex Plate ac41890759 Update formatting 2022-04-24 00:15:29 +00:00
dependabot[bot]andAlex Pláte cf85e0f25e Bump github-api from 1.303 to 1.305
Bumps [github-api](https://github.com/hub4j/github-api) from 1.303 to 1.305.
- [Release notes](https://github.com/hub4j/github-api/releases)
- [Changelog](https://github.com/hub4j/github-api/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hub4j/github-api/compare/github-api-1.303...github-api-1.305)

---
updated-dependencies:
- dependency-name: org.kohsuke:github-api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-21 10:45:24 +03:00
dependabot[bot]andAlex Pláte a4b52be833 Bump antlr4-runtime from 4.9.3 to 4.10.1
Bumps [antlr4-runtime](https://github.com/antlr/antlr4) from 4.9.3 to 4.10.1.
- [Release notes](https://github.com/antlr/antlr4/releases)
- [Changelog](https://github.com/antlr/antlr4/blob/master/CHANGES.txt)
- [Commits](https://github.com/antlr/antlr4/compare/4.9.3...4.10.1)

---
updated-dependencies:
- dependency-name: org.antlr:antlr4-runtime
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-21 10:45:13 +03:00
dependabot[bot]andAlex Pláte 4cb8f27ca5 Bump org.jetbrains.intellij from 1.5.2 to 1.5.3
Bumps org.jetbrains.intellij from 1.5.2 to 1.5.3.

---
updated-dependencies:
- dependency-name: org.jetbrains.intellij
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-21 10:44:59 +03:00
Matt EllisandAlex Pláte 9a06ee97c4 Refactor CaretVisualAttributesHelper 2022-04-21 10:36:15 +03:00
Matt EllisandAlex Pláte d7dfc6dc05 Remove pre-212 caret attribute helpers 2022-04-21 10:36:15 +03:00
Alex PláteandGitHub 5a6de3afaa Merge pull request #493 from citizenmatt/feature/commentary
Improvements to Commentary extension
2022-04-21 10:28:30 +03:00
Matt Ellis cd242511a8 Fallback to line comment if block is unavailable
Fixes VIM-2381
2022-04-20 12:37:11 +01:00
Matt Ellis 745ae6caa4 Migrate Commentary tests to VimTestCase 2022-04-20 12:23:17 +01:00
Matt Ellis acc7d0954d Maintain old mappings for compatibility 2022-04-20 00:16:22 +01:00
Alex Plate 330d64c7cb Move mark package to vim-engine 2022-04-19 18:43:33 +03:00
Alex Plate 673e43dd77 Move scroll package to vim-engine 2022-04-19 10:20:15 +03:00
Alex Plate c2c5c60899 Move select package to vim-engine 2022-04-19 09:56:38 +03:00
Matt Ellis 7d5176829b Merge branch 'master' into feature/commentary 2022-04-18 17:12:02 +01:00
Matt Ellis fd0dc0d445 Remove unnecessary setting of sub mode 2022-04-15 13:36:44 +01:00
Matt Ellis be11317667 Use comment actions instead of low level handlers 2022-04-13 10:53:25 +01:00
Matt Ellis 22fce51640 Fix Exchange tests after operator changes
OperatorAction no longer normalises linewise ranges, but Exchange doesn't need this
2022-04-12 23:47:46 +01:00
Matt Ellis 4223da47d6 Refactor and simplify Commentary objects
Also introduces Visual support for the `g@` operator action
2022-04-12 22:05:48 +01:00
Matt Ellis 64100fea59 Add Commentary command 2022-04-12 16:53:21 +01:00
Matt Ellis 2244c65233 Reposition caret after commenting 2022-04-12 16:26:28 +01:00
Matt Ellis e08bffd7ba Add gcu mapping 2022-04-12 15:33:24 +01:00
Matt Ellis 0d5aa52af2 Add gc text object
Fixes VIM-2589
2022-04-12 15:33:23 +01:00
filipp e617fc4c34 Move some classes from vimscript package to engine 2022-04-10 15:57:46 +06:00
Alex Plate c34a7f123d Update formatting 2022-04-10 00:15:21 +00:00
Matt Ellis cc029fc98e Implement gcc as gc_ motion
gcc now respects count

Fixes VIM-1687
2022-04-08 16:50:10 +01:00
Matt Ellis feae15c48c Use same mapping as Commentary plugin 2022-04-08 16:47:54 +01:00
Matt Ellis 07485727c4 Use Kotlin helper functions 2022-04-08 16:46:08 +01:00
Matt Ellis 8b0ad7680b Rearrange code 2022-04-08 16:44:04 +01:00
Matt Ellis 43d70cd467 Convert to Kotlin 2022-04-08 16:35:03 +01:00
Matt Ellis d73b605ef0 Rename Java to Kotlin 2022-04-08 16:32:59 +01:00
aleksei.plateandtcuser 5afd4df69a TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: 'Tests with nvim' build configuration settings were updated 2022-04-08 07:08:06 +00:00
aleksei.plateandtcuser 323c611f87 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: 'Qodana checks' build configuration settings were updated 2022-04-08 07:07:47 +00:00
aleksei.plateandtcuser 0dd0a4976b TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: 'Plugin verification' build configuration settings were updated 2022-04-08 06:58:58 +00:00
Alex Plate 48820d4dff Fix compilation 2022-04-08 09:54:52 +03:00
Alex Plate 2fbab395f1 Fix incorrect code 2022-04-08 09:54:43 +03:00
filipp a9fd32f64e Move some actions from change.insert 2022-04-07 23:49:18 +06:00
filipp da7a2226d4 Move actions from change.shift 2022-04-07 23:49:18 +06:00
filipp 44b37339dc Moved actions from change.delete 2022-04-07 23:49:18 +06:00
Alex Plate db1ec29470 Update plugin verifier version 2022-04-07 15:44:23 +03:00
filipp 713c3f0a3c Moved some actions from change.change package 2022-04-07 17:50:10 +06:00
Alex Plate c6c2bc5e74 Update changelog 2022-04-07 12:03:25 +03:00
Alex Plate c8352158b8 Add a note about the refactoring 2022-04-07 12:03:24 +03:00
dependabot[bot]andAlex Pláte 8927c0acfa Bump github-api from 1.301 to 1.303
Bumps [github-api](https://github.com/hub4j/github-api) from 1.301 to 1.303.
- [Release notes](https://github.com/hub4j/github-api/releases)
- [Changelog](https://github.com/hub4j/github-api/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hub4j/github-api/compare/github-api-1.301...github-api-1.303)

---
updated-dependencies:
- dependency-name: org.kohsuke:github-api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-07 12:03:18 +03:00
dependabot[bot]andAlex Pláte 02dfac8a34 Bump markdown from 0.2.4 to 0.3.1
Bumps [markdown](https://github.com/JetBrains/markdown) from 0.2.4 to 0.3.1.
- [Release notes](https://github.com/JetBrains/markdown/releases)
- [Commits](https://github.com/JetBrains/markdown/commits)

---
updated-dependencies:
- dependency-name: org.jetbrains:markdown
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-07 11:57:50 +03:00
Martin YzeiriandAlex Pláte 8ab3664992 Matchit: Add CMake Patterns 2022-04-07 11:55:31 +03:00
Martin YzeiriandAlex Pláte 03e6101747 Matchit: Add GNU Make Patterns 2022-04-07 11:55:31 +03:00
Martin YzeiriandAlex Pláte 9f47995c10 Matchit: Add C patterns 2022-04-07 11:55:31 +03:00
Martin YzeiriandAlex Pláte d58f36ea1a Matchit: Enhance pattern creation
The new LanguagePatterns class lets us easily configure the patterns for
a language in a similar way to the original plugin. Most language
features can be configured by passing strings to the alternate
constructor. And the overloaded + operator makes combining patterns easy.

findMatchingPair() was refactored to work with the new class.

In addition, the concept of prefixes was removed. The cursor should jump
if it's anywhere inside or before an extended pair (excluding the
default pairs). Instead of appending a prefix to each regex, we simply
check in findMatchingPair() what the closest pair to the cursor is. The
original plugin behaves the same way.

We prefer matches containing the cursor over matches after the cursor.
If the cursor in inside multiple patterns, we pick the smaller one. And
a default pair after the cursor is preferred over any extended pairs
after the cursor.
2022-04-07 11:55:31 +03:00
Martin YzeiriandAlex Pláte 442970a986 Matchit: Refactor parsePatternAtOffset()
The ending offset of the initial match isn't enough information for some
language features. For example, if the cursor is on "i" in the "else if"
of a Makefile, the previous implementation would jump to the "else" on a
reverse jump instead of treating "else if" as a single structure.

parsePatternAtOffset() needs to return both the match start and end for
us to correctly handle such a distinction.
2022-04-07 11:55:31 +03:00
Martin YzeiriandAlex Pláte fcc6c8a3c5 Matchit: Simplify findClosingPair() and findOpeningPair()
findClosingPair() always moves forward and findOpeningPair() always
moves backwards. That fact lets us simplify both implementations.

Using a stack of Pairs to track the match starts and ends is unnecessary 
since we know ahead of time whether the jump needs to go to the start or
end of the target pair.

findOpeningPair() can be further simplified since it doesn't need to
check the isInOpPending flag -- the distinction between operator pending
mode and regular jumps only matters when moving forward in the buffer.
2022-04-07 11:55:31 +03:00
Martin YzeiriandAlex Pláte 1dbd4b4391 Matchit: Use setOf for sets 2022-04-07 11:55:31 +03:00
dependabot[bot]andAlex Pláte 1943c72c1c Bump org.eclipse.jgit from 6.0.0.202111291000-r to 6.1.0.202203080745-r
Bumps org.eclipse.jgit from 6.0.0.202111291000-r to 6.1.0.202203080745-r.

---
updated-dependencies:
- dependency-name: org.eclipse.jgit:org.eclipse.jgit
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-07 11:39:05 +03:00
dependabot[bot]andAlex Pláte 7816da3f2d Bump org.jetbrains.changelog from 1.3.0 to 1.3.1
Bumps org.jetbrains.changelog from 1.3.0 to 1.3.1.

---
updated-dependencies:
- dependency-name: org.jetbrains.changelog
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-07 11:38:33 +03:00
Alex Plate b25d7e358d Update gradle plugin 2022-04-05 12:36:31 +03:00
filipp 04b62e6392 Update changelog 2022-04-05 14:20:05 +06:00
Alex Plate 4ecfb796d4 Move some classes of scroll package to vim-engine 2022-04-04 23:53:14 +03:00
Alex Plate de9fa81da3 Move objects to vim-engine 2022-04-04 23:53:14 +03:00
Alex Plate be484d381c Update changelog 2022-04-04 19:50:19 +00:00
Alex Plate 351e3b15ea Move leftright package to vim-engine 2022-04-04 22:48:41 +03:00
Alex Plate 2b9b48ac2f Split PutGroup into base class 2022-04-03 23:48:21 +03:00
Alex Plate 7c4ac5f561 Move toggle recording to vim-engine 2022-04-03 23:39:41 +03:00
Alex Plate def09b0be8 Update formatting 2022-04-03 00:15:00 +00:00
Alex Plate 2415b167fb Add Simon Rainer to contributors list 2022-04-02 07:54:35 +00:00
Simon Rainerandlippfi dfc7aef07d Fix(VIM-2553): Substitute consecutive matches
We need to set newend after the content of match is final, otherwise we
can end up in an endless loop. This allows us to remove the
startoff != latestOff check that previously prevented this endless
loop and caused this bug.
2022-04-02 13:52:58 +06:00
Alex Plate 276ad276ec Move few more classes to vim-engine 2022-03-30 18:44:38 +03:00
Alex Plate 83da2d304e Move some actions to vim-engine 2022-03-30 18:36:32 +03:00
Alex Plate 6ddc40d080 Move folder actions to vim-engine 2022-03-30 13:52:27 +03:00
Alex Plate 42fb5487e5 Move gn package to vim-engine 2022-03-30 13:48:06 +03:00
Alex Plate 1ce35ac233 Move updown package to vim-engine 2022-03-30 13:20:40 +03:00
Alex Plate 2734202e12 Move visual package to vim-engine 2022-03-29 19:10:19 +03:00
Alex Plate 6a31fd2732 Move text package to vim-engine 2022-03-29 17:54:17 +03:00
Alex Plate 5d84aa6939 Move some actions to engine 2022-03-29 17:43:43 +03:00
Alex Plate 7173b7960d Move MotionSentenceEndAction to vim-engine 2022-03-29 16:17:14 +03:00
Alex Plate bb1c30d6c8 Move paragraph action to vim-engine 2022-03-29 15:01:11 +03:00
Alex Plate d70abf6e27 Move an action to a different module 2022-03-29 14:48:43 +03:00
Alex Plate 8931fdf82a Fix incorrect tests 2022-03-29 12:45:17 +03:00
Alex Plate 25ba72e46b Reformat code 2022-03-29 12:25:37 +03:00
Alex Plate ebd71d41dc Update TC constant 2022-03-29 12:23:08 +03:00
Alex Plate 4b49bb4737 Fix ]] and ][ commands
Discussion: 486
2022-03-29 12:12:48 +03:00
Alex Plate eeac47e522 Fix neovim tests 2022-03-29 12:12:34 +03:00
Alex Plate 335267c0af Update gradle wrapper 2022-03-29 12:12:19 +03:00
Alex Plate c4254dc6dd Refactor history group 2022-03-29 11:08:21 +03:00
Alex Plate 12cb359967 Update changelog 2022-03-28 15:07:36 +00:00
Alex Plate d73cb274b4 Refactoring of some methods 2022-03-28 18:06:05 +03:00
Alex Plate 6cb6afe032 Fix(VIM-2590): Fix caret shape in PyCharm 2022-03-28 17:01:49 +03:00
Alex Plate 3686f0eb24 Update some usages 2022-03-28 16:10:58 +03:00
Alex Plate 6cc24fe99e Convert VimActionHandler to using VimEditor 2022-03-28 16:10:58 +03:00
Alex Plate 3784f1957f Some refactoring of change group 2022-03-28 16:09:25 +03:00
Alex Plate 69fd8d68af Small refactoring of change group 2022-03-28 16:09:25 +03:00
Alex Plate 301d72c169 Refactor Direction class 2022-03-28 16:09:24 +03:00
Alex Plate ca11974b12 Move all methods to the base class 2022-03-28 16:09:24 +03:00
Alex Plate 8917dbf4bb Update formatting 2022-03-27 00:15:32 +00:00
Alex Plate 56afa6d564 Move some methods of marks group to engine 2022-03-26 01:38:03 +03:00
Alex Plate 8ecac1a8cf Start moving mark group to vim-engine 2022-03-26 01:05:05 +03:00
Alex Plate f742e414e6 Extract vim mark constants into the separate file 2022-03-25 16:44:10 +03:00
Alex Plate c462af2d10 Small refactoring 2022-03-25 16:22:39 +03:00
Alex Plate 66ede93d95 Close some fields of VimRegisterGroupBase.kt 2022-03-25 16:21:50 +03:00
Alex Plate c97f5be3fa Small refactoring of VimRegisterGroupBase.kt 2022-03-25 16:11:08 +03:00
Alex Plate c4d35849fd Move listener to base 2022-03-25 15:30:45 +03:00
Alex Plate 88c191bc61 Move some methods from RegisterGroup to clipboard 2022-03-24 18:07:13 +03:00
Alex Plate a1e6318bce Move register classes into the separate package 2022-03-24 17:42:03 +03:00
Alex Plate 3606f5ea14 Move a lot of methods to RegisterBase 2022-03-24 17:07:23 +03:00
Alex Plate 38c3b206e2 Move a method to RegisterGroupBase 2022-03-24 16:21:04 +03:00
Alex Plate e69bf9760d Move a method to RegisterGroupBase 2022-03-24 16:08:21 +03:00
Alex Plate 0b763e23cf Move Register to vim-engine 2022-03-24 14:39:13 +03:00
Alex Plate 311cb0bada Get rid of TransferableData 2022-03-24 14:25:40 +03:00
Alex Plate a78782b73a Extract VimClipboardManager 2022-03-24 14:17:10 +03:00
Alex Plate 54df803ee1 Move some code from register group to base class 2022-03-23 19:32:03 +03:00
Alex Plate 2819b782c9 Move isCloseKeyStroke to extension method 2022-03-23 19:00:37 +03:00
Alex Plate 38c12660b0 Update usages of vimLogger 2022-03-23 18:40:48 +03:00
Alex Plate 3917a8c5e3 Move KeyHandler to vim-engine 2022-03-22 19:20:17 +03:00
Alex Plate 17c642d5ed Move some classes to vim-engine 2022-03-22 19:17:31 +03:00
Alex Plate 2d84e2d788 Move argument capturing to vim engine 2022-03-22 19:09:09 +03:00
Alex Plate ca19d2bfd5 Move injector fully to vim-engine 2022-03-22 16:20:28 +03:00
Alex Plate cd56fb87d0 Rename .java to .kt 2022-03-22 16:20:27 +03:00
Alex Plate 7290edd3ae Move all members of injector to vim-engine 2022-03-22 15:47:34 +03:00
Alex Plate 8d4e9b8514 Move VimChangeGroup to vim-engine 2022-03-22 15:46:20 +03:00
Alex Plate db87b51784 Move some base classes to vim-engine 2022-03-22 15:44:33 +03:00
Alex Plate 96dc9af1e3 Move NativeActionManager to injectorBasfe 2022-03-22 12:36:32 +03:00
Alex Plate a453cb2582 Move DigraphSequence to vim-engine 2022-03-21 19:04:33 +03:00
Alex Plate b0d53330bb Move some classes to vim-engine 2022-03-21 19:04:33 +03:00
Alex Plate 99ebcacf31 Extract injector base for easier refactoring 2022-03-21 19:04:33 +03:00
Alex Plate 3ec90194d7 Move VimStringParser.kt to a different package 2022-03-21 19:04:33 +03:00
Alex Plate 5ce52f7189 Update changelog 2022-03-21 14:36:04 +00:00
Alex Plate d163837d8d fix(VIM-2587): Use ctrl-6 as ctrl-^ 2022-03-21 17:31:39 +03:00
Alex Plate 81811530de Extract StringParser from IJ API 2022-02-28 12:00:05 +03:00
Alex Plate 7276bc49a7 Move runWrite/Read actions to VimApplication 2022-02-28 12:00:05 +03:00
Alex Plate 90cff7e574 Unbind concrete actions from keyHandler 2022-02-28 12:00:05 +03:00
Alex Plate c673550901 Initialize injector in VimPlugin 2022-02-28 12:00:05 +03:00
Alex Plate 5b360b6de2 Move ExException to vim-engine 2022-02-28 12:00:05 +03:00
Alex Plate 8e2783962f Move OptionService to vim-engine 2022-02-28 12:00:04 +03:00
Alex Plate 866b319c5b Move VimDataType to vim-engine 2022-02-28 12:00:04 +03:00
Alex Plate 6eb47567e8 Unbind VimDataType from Variable 2022-02-28 12:00:04 +03:00
Alex Plate d27f87fbb8 Push down addOption 2022-02-28 12:00:03 +03:00
Alex Plate b2a2299347 Move OptionListener to vim-engine 2022-02-28 11:59:36 +03:00
Alex Plate 905862ab9f Move some classes to vim-engine 2022-02-28 11:58:44 +03:00
Alex Plate 5c307fd22c Rename .java to .kt 2022-02-28 11:58:43 +03:00
Alex Plate e92b69ad3f Update formatting 2022-02-27 00:16:40 +00:00
Alex Plate c6a5f9c268 Update changelog 2022-02-24 11:53:36 +03:00
Alex Plate 54f91f2a64 Add Thomas Schouten to contributors list 2022-02-24 07:40:28 +00:00
Thomas SchoutenandAlex Pláte 4b2ed33cdd Implement UserDataHolder for EditorDataContext, so that handlers like AutoHardWrapHandler can store user data in the context delegate. 2022-02-24 10:38:33 +03:00
Alex Plate 5fa48fc7dd Extract KeyMappingLayer and MappingInfoLayer 2022-02-22 18:45:38 +03:00
Alex Plate e028c269b7 Move VimRegisterGroup to vim-engine 2022-02-22 18:11:05 +03:00
Alex Plate 9798c7aca2 Rename .java to .kt 2022-02-22 17:58:14 +03:00
Alex Plate b5bca78ef4 Move register group to vim-engine 2022-02-22 17:12:15 +03:00
Alex Plate 1c619cfc74 Rename .java to .kt 2022-02-22 17:12:14 +03:00
Alex Plate dc5832a44c Convert TextObjectAction to new API 2022-02-22 16:40:57 +03:00
Alex Plate 8fd64afc90 Move CommandFlags to vim-engine 2022-02-22 15:45:04 +03:00
Alex Plate 1484f4e370 Use VimCaret api in MotionActionHandler 2022-02-22 15:44:05 +03:00
Alex Plate 32df1597c4 Move noneOfEnum to engine 2022-02-22 14:44:22 +03:00
Alex Plate 707b750ff1 Unbind VimSelection from IJ 2022-02-22 12:39:11 +03:00
Alex Plate 3388c8517b Remove unused OptionService import 2022-02-22 12:39:11 +03:00
Alex Plate 60a8e0d5f5 Rename Scope to OptionsScope and move it to vim-engine 2022-02-22 12:39:10 +03:00
Alex Plate 5a757a58b5 Move OptionConstants.kt to vim-engine 2022-02-22 12:39:10 +03:00
Alex Plate 2e555b6eaa Move CommandState.kt to injector 2022-02-22 12:39:10 +03:00
Alex Plate c57277cc15 Move Nodes.kt to vim-engine 2022-02-22 12:39:09 +03:00
Alex Plate bf035d42af Add some methods to VimEditor 2022-02-22 12:39:09 +03:00
Alex Plate 8cb6f9b65f Move MessageHelper to injector 2022-02-22 12:39:09 +03:00
Alex Plate fcbc4a0688 Rename some methods in messages 2022-02-22 12:39:09 +03:00
Alex Plate 42bc15c8ea Remove VimPlugin from DigraphSequence 2022-02-22 12:39:09 +03:00
Alex Plate 992231bcad Use services in vim injector 2022-02-22 12:39:09 +03:00
Alex Plate 6d494c99e3 Use vimlogger and injector in MappingState 2022-02-22 12:39:08 +03:00
Alex Plate a848f2175a Move CurrentCommandState to vim-engine 2022-02-22 12:39:08 +03:00
Alex Plate 4e6a2f951b Move MappingMode to vim-engine 2022-02-22 12:39:08 +03:00
Alex Plate 5a41bbe806 Update usage of toUpperCase 2022-02-22 12:39:08 +03:00
lippfi 066e6619af Fix ActionTracker rule 2022-02-21 18:53:00 +03:00
Alex Plate f0dbabd20f Update formatting 2022-02-21 11:56:52 +03:00
Alex Plate 35c0e33ec4 Upgrade API to kotlin 1.5 2022-02-21 11:56:26 +03:00
Alex Plate a5715dac7d Inline capitalize function 2022-02-21 11:56:26 +03:00
Alex Plate cdb9af5ab6 Convert StringHelper to kotlin 2022-02-21 11:56:25 +03:00
Alex Plate 19c05c23f3 Rename .java to .kt 2022-02-21 11:56:25 +03:00
Alex Plate 12c744c1ba Update formatting 2022-02-20 00:15:01 +00:00
Alex Plate 604a6a5140 Convert DigraphSequence.kt to kotlin 2022-02-18 19:21:50 +03:00
Alex Plate 62aae7b7c4 Rename .java to .kt 2022-02-18 19:21:50 +03:00
Alex Plate 2ea899330c Move DigraphResult.kt to vim-engine 2022-02-18 19:12:29 +03:00
Alex Plate 3574db020f Convert DigraphResult.kt to kotlin 2022-02-18 19:10:19 +03:00
Alex Plate b2ae2a38ec Rename .java to .kt 2022-02-18 19:10:19 +03:00
Alex Plate 04ebb6077a Move some classes to vim engine 2022-02-18 19:08:07 +03:00
Alex Plate d5062944d0 Rename vim-engin folder to kotlin and change VimEditor package 2022-02-18 18:21:49 +03:00
Alex Plate dc181ce0ce Exclude kotlin runtime from IdeaVim builds 2022-02-18 13:09:53 +03:00
Alex Plate 042e3388b0 Move VimEditor to vim-engine 2022-02-17 19:00:35 +03:00
Alex Plate d4a1ffa9a9 Update package structure 2022-02-17 19:00:35 +03:00
Alex Plate 54927d0af7 Move VimLogger to vim-engine 2022-02-17 19:00:35 +03:00
Alex Plate d26765e217 Create vim-engine module 2022-02-17 19:00:35 +03:00
Alex Plate 277b4e63c3 Introduce ActionInitiator 2022-02-17 19:00:34 +03:00
Alex Plate 848514405b Remove usages of VimPlugin from keyHandler 2022-02-17 19:00:34 +03:00
Alex Plate 7b8fd0ee55 Extract vim messages into a separate service 2022-02-17 19:00:34 +03:00
Alex Plate d373ebac58 Use optionService from injector 2022-02-17 19:00:34 +03:00
lippfi 370ccc5254 Hardcode extension names 2022-02-17 14:31:25 +03:00
lippfi 9272fc8cd7 Fix parseKeys 2022-02-17 14:24:57 +03:00
dependabot[bot]andlippfi 22cfdbae0a Bump mockito-kotlin from 3.2.0 to 4.0.0
Bumps [mockito-kotlin](https://github.com/mockito/mockito-kotlin) from 3.2.0 to 4.0.0.
- [Release notes](https://github.com/mockito/mockito-kotlin/releases)
- [Commits](https://github.com/mockito/mockito-kotlin/compare/3.2.0...4.0.0)

---
updated-dependencies:
- dependency-name: org.mockito.kotlin:mockito-kotlin
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-17 12:56:36 +03:00
Alex Plate f49f5e5d25 Roll back working version of changelog plugin 2022-02-17 12:45:09 +03:00
Alex Plate 118c12e7fe Prepare to 1.10.0 release 2022-02-17 11:44:55 +03:00
Alex Plate 02a7eb34ee [TC]: Update version 2022-02-17 11:42:00 +03:00
Alex Plate 739390739e [TC]: Register VCS root 2022-02-17 10:56:57 +03:00
Alex Plate 6b2ead0d4e [TC]: Remove old tests from TC build 2022-02-17 10:52:51 +03:00
Alex Plate 1eaf9e7b17 [TC]: Apply patches 2022-02-17 10:45:12 +03:00
Alex Plate 954e1a9099 Remove IJ api from MotionActionHandler 2022-02-16 18:28:38 +03:00
Alex Plate 5aeff6f914 Remove IJ api from EditorActionHandlerBase 2022-02-16 17:16:01 +03:00
Alex Plate fb15049fbf Include forEachCaret to VimEditor 2022-02-16 16:39:31 +03:00
Alex Plate 6f3a9c210e Convert Argument to new API 2022-02-16 14:21:17 +03:00
Alex Plate 6fdd6d839e Remove IJ API from CommandBuilder 2022-02-16 14:00:03 +03:00
Alex Plate ac1101a410 Update wrapInsertedTextWithVisualMarks code 2022-02-16 12:53:40 +03:00
Alex Plate 2fd33e6ec2 Unbind command state from IJ api 2022-02-15 21:46:20 +03:00
Alex Plate 779c69a982 Abstract action executor 2022-02-15 21:46:20 +03:00
Alex Plate 3494286e66 Rename .java to .kt 2022-02-15 21:46:20 +03:00
Alex Plate 139b78d7f4 Add a protection from an accidental usage of equals in VimCaret and VimEditor 2022-02-15 21:46:19 +03:00
Alex Plate daee2f615c Remove IjVimEditor usages from KeyHandler 2022-02-15 21:46:19 +03:00
Alex Plate 710825ec28 Fix incorrect usage of template presentation 2022-02-15 21:46:19 +03:00
Alex Plate 478539911b Update MappingInfo to use new api 2022-02-15 21:46:19 +03:00
Alex Plate b21d984cf8 Switch from application service to singleton 2022-02-15 21:46:19 +03:00
Alex Plate 1a92cebf6b Reformat KeyHandler 2022-02-15 21:46:18 +03:00
Alex Plate fd3f939526 Remove few dependencies to IJ API 2022-02-15 21:46:18 +03:00
Alex Plate 7d28760fa1 Inline several methods into beforHandleKey 2022-02-15 21:46:18 +03:00
Alex Plate 4a0a1c95a9 Remove a few IJ classes from KeyHandler 2022-02-15 21:46:18 +03:00
Alex Plate 9da0c10141 Remove Ref from KeyHandler 2022-02-15 21:46:18 +03:00
Alex Plate 43b9ecdf3c Get rid of Editor in KeyHandler.kt 2022-02-15 21:46:18 +03:00
Alex Plate 987952a2f2 Get rid of DataContext in KeyHandler.kt 2022-02-15 21:46:17 +03:00
Alex Plate 92f6ac57ad Remove usages of flushDelayedKeyEvents
I'm not sure about this commit, but currently it seems like this method does nothing because of fixes in JBR

See 39265c4773de6a8e26e7ac376428687e1332dffe in IJ repository
2022-02-15 21:46:17 +03:00
Alex Plate b4af51f3cc Add vim implementation of logger 2022-02-15 21:46:17 +03:00
lippfi 4ba6e62ada Fix gv 2022-02-15 13:42:40 +03:00
Alex Plate 58d5924e80 Update changelist 2022-02-14 14:31:59 +03:00
lippfi 8f55551339 Mocked tests for tabmove 2022-02-14 13:11:58 +03:00
Alex Plate 9229497be8 Add David Dadon to contributors list 2022-02-14 08:25:42 +00:00
Alex Pláte 99e77cd8ed Update ideajoin-examples.md 2022-02-14 11:24:12 +03:00
David DadonandAlex Pláte 8d8809238c Add shortcut to ideajoin example 2022-02-14 11:24:12 +03:00
Alex Plate f03d574e86 Update formatting 2022-02-13 00:12:41 +00:00
lippfi cbb5fbe92e Add vimscript statistic 2022-02-11 14:54:34 +03:00
lippfi 6a376ad62c Add shortcut conflict statistic 2022-02-11 14:53:09 +03:00
lippfi 8e61853459 Add PluginState statistic 2022-02-11 14:51:44 +03:00
lippfi b17bc1bb3e Add ActionTracker statistic 2022-02-11 14:48:15 +03:00
lippfi 1343c7603b Rename VimStatistic to OptionState 2022-02-11 14:46:18 +03:00
Alex Plate 5b5a4b1347 Fix tests 2022-02-11 11:26:12 +03:00
Alex Plate 62fb3f9c5a Make IdeaVim compatible with 213+ only 2022-02-11 10:58:38 +03:00
Alex Plate 986378db42 Comment out two incompatipable tests 2022-02-11 10:21:58 +03:00
Alex Plate ce99c26c03 Introduce ExecutionContext - abstract context holder 2022-02-10 18:03:40 +03:00
Alex Plate 3571595838 Use VimEditor in Local scope of options 2022-02-10 17:10:30 +03:00
Alex Plate c0c450124f Fix test 2022-02-10 17:07:39 +03:00
Alex Plate aa62022218 Reorder functions 2022-02-10 16:26:36 +03:00
Alex Plate 71c27babfd Update tests 2022-02-10 16:24:13 +03:00
Alex Plate 2ff93270d7 Konvert keyHandler to kotlin 2022-02-10 16:17:59 +03:00
Alex Plate c07719dd3d Rename KeyHandler.java to KeyHandler.kt 2022-02-10 16:17:41 +03:00
Alex Plate 6b7ef88418 Fix test 2022-02-10 16:07:11 +03:00
Alex Plate ee9f12180d Extract VimActionExecutor 2022-02-10 13:18:23 +03:00
Alex Plate 8df3bc57c5 Execute action execution to a separate class 2022-02-10 13:15:54 +03:00
Alex Plate 0aabb2971e Support extension handlers with a callback
After the refactoring of AceJump, the current approach is not synchronous anymore.
So, it's needed to explicitly notify IdeaVim that the motion was finished and IdeaVim can continue the execution
2022-02-10 12:55:44 +03:00
Alex Plate e5740bf496 Add kotlin test as a dependency 2022-02-10 11:03:28 +03:00
Alex Plate e8f1dff61c Add some comments for handler injector 2022-02-09 11:46:04 +03:00
Alex Plate 267fc62865 Add TC tests for 213 2022-02-09 09:54:07 +03:00
Alex Plate 05a64f51f7 Update changelog 2022-02-08 15:23:00 +00:00
Alex Plate e5460d7a31 Extract keyHandlerKeeper 2022-02-08 18:20:12 +03:00
Alex Plate 1826a31e2f Update changelog 2022-02-08 14:20:35 +03:00
Alex Plate 2bb44c414f Refactoring for the new api 2022-02-08 14:20:35 +03:00
Alex Plate ef7442c488 Create carets() method in VimEditor 2022-02-08 14:20:34 +03:00
Alex Plate 775bde62c8 VimEditor update 2022-02-08 14:20:34 +03:00
Alex Plate c5a504bde3 Top level editor is hidden behind VimEditor 2022-02-08 14:20:34 +03:00
Alex Plate f7f7e010c4 Update dic 2022-02-08 14:20:34 +03:00
Alex Plate aa82f7ed64 Add Alex Pláte to contributors list 2022-02-08 11:15:12 +00:00
Alex Pláte 684d192b4b Remove unnecessary code update 2022-02-08 14:13:49 +03:00
Matt EllisandAlex Pláte aed2d1159d fix(VIM-2470): Fix incorrect reset of cursor shape 2022-02-08 14:13:49 +03:00
lippfi d2500df05e Better digraph support 2022-02-07 13:47:02 +03:00
lippfi 8922303a72 Fix paste 2022-02-07 13:45:11 +03:00
lippfi cea4de03cd Add tabmove command 2022-02-07 13:44:56 +03:00
Alex Plate 9529c19b9b Update formatting 2022-01-30 00:11:14 +00:00
Alex Plate b0f5c502d9 Inject VimEditor into keyHandler 2022-01-27 13:17:39 +03:00
Alex Plate c3fc369bc4 [VIM-1028] Support global state
Not yet documented and enabled
2022-01-27 12:34:28 +03:00
lippfi a5ef0d5edf Fix tab character for StringHelper.stringToKeys() 2022-01-26 21:37:10 +03:00
Alex Plate 26e9056f17 Fix multicaret test for o 2022-01-26 17:05:49 +03:00
Alex Plate 1553aa774b Add docs to VimPlugin 2022-01-26 17:01:36 +03:00
Alex Plate 2ebdbc5ac4 Do not update carets in notebook command mode 2022-01-26 16:57:46 +03:00
Alex Plate e3ca172101 Update changes in plugin.xml 2022-01-26 16:57:46 +03:00
lippfi 17d4ec6c29 Fix option listeners 2022-01-26 16:43:28 +03:00
lippfi bec317615d Better map <expr> context 2022-01-26 16:42:44 +03:00
Alex Plate d00fd767ff Add some docs regarding plugin initialization 2022-01-26 11:20:03 +03:00
Alex Plate 557652c526 Use executeNonCancelableSection for macro execution 2022-01-25 14:44:21 +03:00
Alex Plate e138541495 Enable experimental api by default 2022-01-25 11:06:10 +03:00
Alex Plate f6dfbcad0d Update changelog 2022-01-25 07:54:34 +00:00
Alex Plate 2518be2704 Fix(VIM-2504): Fix esc with using python notebooks 2022-01-25 10:52:39 +03:00
Alex Plate 42ec2b9dce Disable new api for o commands 2022-01-25 10:28:23 +03:00
Alex Plate 9484599bfd Remove duplicating copyright 2022-01-25 09:42:38 +03:00
Alex Plate 5e6d3ddae8 Update changes 2022-01-24 13:00:25 +03:00
Alex Plate 13cce3afcc Update changelog 2022-01-24 13:00:25 +03:00
Alex Plate 9743cb1424 Add Lonre Wang to contributors list 2022-01-24 09:59:09 +00:00
Lonre WangandAlex Pláte dbbcf3860a Update VimVisualTimer.kt 2022-01-24 12:57:37 +03:00
Lonre WangandAlex Pláte ae983be0a8 Update OptionsManager.kt 2022-01-24 12:57:37 +03:00
Lonre WangandAlex Pláte f8156fbbca Update NotificationService.kt 2022-01-24 12:57:37 +03:00
lippfi 1909547543 Make OptionConstants non-internal 2022-01-24 12:53:07 +03:00
lippfi e47c0c1914 Update changes 2022-01-24 12:32:20 +03:00
lippfi 1a122337fe Replace deprecated option data classes with constants 2022-01-24 02:27:33 +03:00
lippfi bcf2578da9 Replace hardcoded option names with string constants 2022-01-24 00:52:28 +03:00
lippfi 06cd41ba0e Make VimScriptGlobalEnvironment deprecated 2022-01-23 02:35:53 +03:00
lippfi 64ec421cfc Rename parent to vimContext 2022-01-23 02:28:35 +03:00
lippfi 86fcda5afc Fix beep in source command 2022-01-23 02:05:23 +03:00
lippfi e799d40803 Fix built-in functions with global context 2022-01-23 02:00:26 +03:00
lippfi c84325a37c Replace Executable with VimLContext 2022-01-23 01:53:07 +03:00
Alex Plate 3b6d57849c Add Piotr Mikulski to contributors list 2022-01-21 12:06:35 +00:00
Piotr MikulskiandAlex Pláte 9b4825db77 String colors that aren't supported properly 2022-01-21 15:04:51 +03:00
Piotr MikulskiandAlex Pláte 6a4bb7395b Print stderr when running a command just like vim does 2022-01-21 15:04:51 +03:00
Alex Plate c8463d9b3e Update dependencies and reformat 2022-01-21 14:17:13 +03:00
Alex Plate 376ca4e93b Add merge to changes 2022-01-21 14:17:13 +03:00
Alex Plate 6a43e558fd Add Michael Schertenleib to contributors list 2022-01-21 11:10:35 +00:00
Michael SchertenleibandAlex Pláte 05414276f2 Support custom element names in vim-surround 2022-01-21 14:05:27 +03:00
Alex Plate bec73749c2 [VIM-2494] Add logs for registers reading/writing 2022-01-21 11:50:26 +03:00
Alex Plate 0d4f9891c3 Fix(VIM-2471): Fix incorrectness 2022-01-19 17:24:19 +03:00
Alex Plate f082ab4b68 Update changelog 2022-01-19 13:28:45 +00:00
Alex Plate d4f4765ffd Fix(VIM-2471): Multiple [{ and ]} actions 2022-01-19 16:25:45 +03:00
Alex Plate 8902c0839c Write down the issues for o in new API 2022-01-19 09:56:17 +03:00
Alex Plate 66fc8034ba Correct indent for o command when the caret is in the middle of the indent 2022-01-18 11:22:39 +03:00
Alex Plate 109cb58d68 Cleanup saved shortcut conflicts after tests 2022-01-18 11:15:15 +03:00
Alex Plate a71916df84 Allow an accidental whitespace at the end of sethandler command 2022-01-18 10:06:53 +03:00
Alex Plate 5f10eb808e Fix the O command on the line top 2022-01-17 10:22:25 +03:00
Alex Plate 6c1e7b0b60 Write tests for status string 2022-01-17 10:22:24 +03:00
Alex Plate 792c22a90a Update formatting 2022-01-16 00:12:11 +00:00
lippfi eff2cd02f9 Add <C-char> support to VimL's double quoted strings 2022-01-15 12:40:34 +03:00
Alex PláteandGitHub 163e7751f2 Merge pull request #420 from JetBrains/dependabot/gradle/org.eclipse.jgit-org.eclipse.jgit-6.0.0.202111291000-r
Bump org.eclipse.jgit from 5.13.0.202109080827-r to 6.0.0.202111291000-r
2022-01-14 19:06:28 +03:00
Alex Plate 370c22b2f5 Add Kevin Suen to contributors list 2022-01-14 19:05:30 +03:00
Alex Plate a251ac55e5 Update changelog 2022-01-14 19:03:46 +03:00
Alex Plate 987df6958e Manually specify the list of IDEs to verify 2022-01-14 19:03:46 +03:00
Alex PláteandGitHub 60ae189442 Merge pull request #440 from ksrb/feat/matchitHandlebars
Add matchit support for handlebars
2022-01-14 19:01:58 +03:00
Alex PláteandGitHub ce734906d4 Merge branch 'master' into feat/matchitHandlebars 2022-01-14 19:01:30 +03:00
Alex Plate 3b26572731 Add DanEEStar to contributors list 2022-01-14 15:57:33 +00:00
Daniel EggerandAlex Pláte 4d9c606c79 Add Matchit support for Vue.js files 2022-01-14 18:56:00 +03:00
Alex Plate 22050fc16d Specify untilBuild 2022-01-14 18:16:34 +03:00
Alex Plate 2fb419253c Setup sinceBuild for plugin verifier 2022-01-14 17:45:16 +03:00
Alex Plate 3bb4fc67bf Update changelog 2022-01-14 13:41:29 +00:00
Alex Plate a0a009cb59 fix(VIM-2523): i command for the folder in the project tree 2022-01-14 15:45:29 +03:00
Alex Plate ce2bb85e18 Fix test for non-experimental api 2022-01-14 15:23:48 +03:00
Alex Plate 7ff8ac76fa Disable guarded tests for old api 2022-01-14 15:05:21 +03:00
Alex Plate 935c51c985 Support operations with python notebooks guarded blocks 2022-01-14 14:05:41 +03:00
Alex Plate a8d0e698eb New approach for folder processing in o command 2022-01-13 14:47:26 +03:00
Alex Plate 5b13ad6726 Allow guards creation in tests 2022-01-13 13:51:39 +03:00
Alex Plate e88d0d1493 Corrections for o command 2022-01-13 12:28:33 +03:00
Alex Plate 898af47f89 o command with repeat 2022-01-13 11:14:11 +03:00
Alex Plate 84868c0fb5 Move O to new API 2022-01-13 09:59:22 +03:00
Alex Plate 8e2b7d2089 Fix repeating after o command with count 2022-01-13 09:54:41 +03:00
Alex Plate f359ac49f3 Fix o command with folders 2022-01-13 09:18:19 +03:00
Alex Plate 37ce0925a5 Massive copyright data update 2022-01-13 08:59:49 +03:00
Alex Plate 23985aea7d Move experimental api to the separate package 2022-01-13 08:57:09 +03:00
Alex Plate 3bd5ab970f Use new api in o command 2022-01-13 08:52:37 +03:00
Kevin SuenandKevin Suen fbdcbdc626 Add matchit support for handlebars 2022-01-12 11:50:20 -08:00
Alex Plate f197ee54d1 Fix cc with indenting 2022-01-12 19:38:29 +03:00
Alex Plate efa0489f7b Introduce Pointer 2022-01-12 07:02:20 +03:00
Alex Plate 66dd90a090 Update some docs for experimental API 2022-01-11 21:15:38 +03:00
Alex Plate 68cfb12746 Rename line pointers 2022-01-11 19:50:56 +03:00
Alex Plate 4ad14f3404 Add docs about offsets 2022-01-11 17:55:50 +03:00
Alex Plate 4bcf44570b Use offsets in experimental api 2022-01-11 17:23:48 +03:00
lippfi 3637022890 Update changes 2022-01-10 15:02:09 +03:00
lippfi 5f3a78e7ce Add register support to let command 2022-01-10 14:56:07 +03:00
lippfi c7872ad841 Add an option way to track action ids 2022-01-10 13:05:28 +03:00
Alex Plate 9eeab756e4 Update formatting 2022-01-02 00:11:44 +00:00
Alex Plate ef971a1236 Support indenting after cc 2021-12-29 15:49:45 +03:00
Alex Plate 5ec851a120 Remove useless method 2021-12-28 09:27:57 +03:00
Alex Plate 2a94ff2ef6 Review experimental api 2021-12-27 12:10:31 +03:00
Alex Plate 1738892500 Fix test for non-experimental mode 2021-12-27 12:10:31 +03:00
Alex Plate 765d876a51 Use delete via the experimental API 2021-12-27 12:10:30 +03:00
Alex Plate a0c8e26b38 Update formatting 2021-12-26 00:12:11 +00:00
Alex Plate 4b4f4b3d8f Add draft of experimental API 2021-12-23 22:49:23 +03:00
Alex Plate 63fe7a88eb Pass keys via IDE in tests 2021-12-23 10:59:49 +03:00
Alex Plate 871ee1a6b6 Update release version 2021-12-21 12:51:23 +03:00
Alex Plate 6a36599a29 Revert "Revert "Update formatting""
This reverts commit 27fb36a6c5.
2021-12-21 12:51:10 +03:00
Alex Plate d11ab20617 Revert "Revert "Support new marks""
This reverts commit 932296af
2021-12-21 12:51:09 +03:00
Alex Plate ea713edfb5 Revert "Update remoteRobot version"
This reverts commit 4d49385529.
2021-12-21 12:08:56 +03:00
Alex Plate ff48a9dea2 Formatting 2021-12-21 11:57:08 +03:00
Alex Plate 0a1812ec8c Release preparation 2021-12-21 11:36:53 +03:00
Alex Plate 113d4ac078 Rollback changes regarding esc in normal mode 2021-12-21 11:36:53 +03:00
Alex Plate 4d49385529 Update remoteRobot version 2021-12-21 11:36:53 +03:00
Alex Plate 94a8455267 Update remoteRobot version 2021-12-21 11:36:53 +03:00
Alex Plate 406d2a054c Enable manual test scanning because of the gradle issue 2021-12-21 11:36:53 +03:00
Alex Plate 932296afb6 Revert "Support new marks"
This reverts commit 134c68c705.
2021-12-21 11:36:53 +03:00
Alex Plate 27fb36a6c5 Revert "Update formatting"
This reverts commit 4e37ccfff8.
2021-12-21 11:36:52 +03:00
Alex Plate f5e0f21869 Update formatting 2021-12-19 00:11:15 +00:00
lippfi 180c35d5c2 Fix toggle for set command 2021-12-16 18:15:32 +03:00
Alex Plate 4bd25f3220 Update changelog 2021-12-15 07:46:09 +00:00
Alex Plate 1299f107dd fix(VIM-2502): Fix the shape of new carets 2021-12-15 10:44:08 +03:00
Alex Plate 43ae40e077 Update remote robot version 2021-12-15 10:18:01 +03:00
Alex Plate 1af0b00892 Get rid of replace character submode 2021-12-14 12:42:55 +03:00
Alex Plate 36f7219964 Get rid of register pending submode 2021-12-14 12:08:41 +03:00
Alex Plate 529ad853ee Get rid of SINGLE_COMMAND submode and replace it with a regular mode 2021-12-14 04:18:55 +03:00
Alex Plate 4e37ccfff8 Update formatting 2021-12-12 00:13:09 +00:00
Alex Plate 134c68c705 Support new marks 2021-12-10 11:31:57 +03:00
Alex Plate ea61e87b31 Update changelog 2021-12-10 10:49:08 +03:00
Alex Plate 6e82008ffa Prepare to 1.9.0 release 2021-12-10 09:51:30 +03:00
Alex Plate 016bcc00d8 New jupyter notebook fixes 2021-12-09 11:23:58 +03:00
Alex Plate 936e7508e3 Ignore test for the moment 2021-12-09 10:20:23 +03:00
Alex Plate 34220ab759 Update gradle version to 7.3.1 2021-12-09 10:20:22 +03:00
lippfi 51ba63faae Fixed parent for execute and substitute command 2021-12-04 22:21:36 +03:00
lippfi f4f1e397cb Better strings 2021-12-04 21:47:27 +03:00
Alex Plate 721117ce1b Handle esc in all cases except normal mode 2021-12-02 22:55:17 +03:00
dependabot[bot]andGitHub b6128418be Bump org.eclipse.jgit from 5.13.0.202109080827-r to 6.0.0.202111291000-r
Bumps org.eclipse.jgit from 5.13.0.202109080827-r to 6.0.0.202111291000-r.

---
updated-dependencies:
- dependency-name: org.eclipse.jgit:org.eclipse.jgit
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-01 15:02:01 +00:00
Alex Plate 2da917add7 Update some documentation md files 2021-12-01 10:04:26 +03:00
Alex Plate 678c53dc39 Update changelog 2021-12-01 09:48:55 +03:00
Alex Plate d57359b2ff Add documentation as raw md files 2021-12-01 09:47:23 +03:00
Alex Plate 3796d9f8b4 Removed submodule doc 2021-12-01 09:44:00 +03:00
chylexandAlex Pláte b6d84e0e66 Fix compile errors in unit tests on Windows 2021-12-01 09:37:24 +03:00
Alex Plate 3dbdbefc58 Update changes 2021-11-30 10:56:10 +03:00
dependabot[bot]andAlex Pláte 23570c7270 Bump github-api from 1.135 to 1.301
Bumps [github-api](https://github.com/hub4j/github-api) from 1.135 to 1.301.
- [Release notes](https://github.com/hub4j/github-api/releases)
- [Changelog](https://github.com/hub4j/github-api/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hub4j/github-api/compare/github-api-1.135...github-api-1.301)

---
updated-dependencies:
- dependency-name: org.kohsuke:github-api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-30 09:29:20 +03:00
lippfi 4d5024f8b8 Fix test 2021-11-29 19:45:44 +03:00
lippfi ea8670702a Disable normal command 2021-11-29 19:23:55 +03:00
Alex Plate b8828f48c9 Update formatting 2021-11-28 00:11:06 +00:00
Alex Plate b468fef242 Fix track action id stopping 2021-11-26 18:57:50 +03:00
Alex Plate 358f8eeca3 Downgrade to kotlin 1.5 2021-11-26 18:57:50 +03:00
lippfi 150a70e69f Removed deprecated EditorDataContext constructor call 2021-11-26 18:33:37 +03:00
Alex Plate b9fb0f2bcd Fix dot repeat with count 2021-11-26 17:46:32 +03:00
lippfi d4a8b8e400 Optimise imports 2021-11-26 14:53:30 +03:00
lippfi 8009c9a5f9 Tests for substitute with expression 2021-11-26 14:34:46 +03:00
lippfi 177115e2fc Submatch function 2021-11-26 13:57:12 +03:00
lippfi 85bc12df59 Substitute with expressions 2021-11-26 13:33:36 +03:00
lippfi 1da818b0d5 Fix pattern in mappings 2021-11-25 10:45:16 +03:00
lippfi c23d3f1442 Test for macro with count 2021-11-24 14:30:59 +03:00
lippfi 6500ce9154 Long running tests 2021-11-24 13:00:24 +03:00
lippfi 63ecaff1bc Add long running tests 2021-11-24 09:52:17 +03:00
Alex Plate e29c268d0b Extract progress strings 2021-11-23 17:22:36 +03:00
Alex Plate 2758e89a51 Draft of a potemkin progress during macro execution 2021-11-22 20:40:56 +03:00
lippfi d0670d0244 Macro without invokeLater 2021-11-22 18:45:55 +03:00
Alex Plate 1e2005451c Update formatting 2021-11-21 00:10:37 +00:00
Alex Plate 29a95ca592 Fix missing import 2021-11-19 12:06:43 +03:00
Alex Plate 5bfff2a398 Prepare to the EAP 2021-11-19 11:55:42 +03:00
lippfi 4d26947208 Pre-EAP commit 2021-11-19 11:21:27 +03:00
lippfi f1de741bd5 Fix to prevent infinite loops 2021-11-19 06:14:37 +03:00
lippfi 3394d93b43 Fix register 2021-11-19 05:51:32 +03:00
lippfi 02c64feff8 Fix let command 2021-11-19 04:36:22 +03:00
lippfi f2ba162359 Fix parent in functions 2021-11-19 04:17:32 +03:00
Alex Plate 16c5d11ead Refactor editor holder in ExTextField 2021-11-18 18:14:29 +03:00
lippfi 3e97c5d5fc Replace service() by ServiceManager.getService() 2021-11-18 14:28:56 +03:00
Alex Plate cb5499f82f Update plugin.xml 2021-11-18 14:26:26 +03:00
lippfi 3d71c1bcbe Update changelog 2021-11-18 14:12:01 +03:00
lippfi a12793e67a Made CommandLineHelper a service 2021-11-18 13:42:48 +03:00
lippfi affec9bb61 Fix macro with count 2021-11-18 13:21:04 +03:00
lippfi fb62ec4c77 Fix float result in expression register 2021-11-18 12:32:24 +03:00
lippfi c48cf1a2f7 Update roadmap 2021-11-18 10:55:21 +03:00
lippfi cf5cc92258 Make source command to throw exceptions 2021-11-18 07:19:28 +03:00
lippfi ca934fe514 Fix set command 2021-11-18 07:18:44 +03:00
lippfi d6ca75006a Expression register 2021-11-18 06:52:00 +03:00
Alex Plate 51a9878363 Add oauth for mergeP 2021-11-17 20:15:12 +03:00
Alex Plate 7664c44697 Fix type in github auth 2021-11-17 20:09:58 +03:00
Alex Plate 5a8ee72622 Add github oauth token 2021-11-17 20:07:50 +03:00
Alex Plate 492b2de520 Add debug option to update authors 2021-11-17 19:49:06 +03:00
dependabot[bot]andAlex Pláte 900d3212a4 Bump antlr4 from 4.9.2 to 4.9.3
Bumps [antlr4](https://github.com/antlr/antlr4) from 4.9.2 to 4.9.3.
- [Release notes](https://github.com/antlr/antlr4/releases)
- [Changelog](https://github.com/antlr/antlr4/blob/master/CHANGES.txt)
- [Commits](https://github.com/antlr/antlr4/compare/4.9.2...4.9.3)

---
updated-dependencies:
- dependency-name: org.antlr:antlr4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-17 18:29:53 +03:00
Alex Plate d8997e1239 Update authors automation 2021-11-17 17:07:44 +03:00
Alex Plate e1001534e4 Enable automation 2021-11-17 16:18:38 +03:00
Alex Plate 59a69ed486 Fix automation 2021-11-17 16:04:25 +03:00
Alex Plate 437574328e Add workflow dispatch for update changelog task 2021-11-17 16:01:15 +03:00
Alex Plate 87af7ada40 Try to fix changelog automation 2021-11-17 15:56:16 +03:00
Alex Plate aa01730c13 Update changelog 2021-11-17 15:45:58 +03:00
Alex Plate 0803b401e7 Update kotlin and gradle 2021-11-17 14:44:30 +03:00
Alex Plate 6d974d799b Update intellij plugin version 2021-11-17 12:46:36 +03:00
lippfi 1fa779b21f Update changelog 2021-11-17 12:36:56 +03:00
lippfi 2c5442c044 Rename "delaymacro" to "ideadelaymacro" 2021-11-17 12:36:56 +03:00
Alex Plate db4324c478 Use a different method for getting option values 2021-11-17 12:25:48 +03:00
lippfi a8afca4ccf Normal command 2021-11-17 12:16:46 +03:00
Alex Plate 6849bab741 Add more options to the statistic 2021-11-17 12:15:24 +03:00
lippfi ff72f24433 Normal command 2021-11-17 12:02:25 +03:00
lippfi 19ea1b204c Set default path to project for CmdFilterCommand 2021-11-17 12:02:25 +03:00
Alex Plate a9e8dc7b9f Fix compilation issues 2021-11-17 10:49:06 +03:00
Alex Plate ee14eac009 Rewrite ctrl-^ to use a project service with saved last tab 2021-11-17 10:34:38 +03:00
Alex Plate 3c1bbd5a7f Add few statistic items 2021-11-17 10:34:38 +03:00
lippfi 218cfaca44 Add contains method to OptionService 2021-11-17 04:59:17 +03:00
lippfi 8a78d76a20 OptionService.Scope as a sealed class 2021-11-17 04:39:31 +03:00
lippfi 1ead9f1443 Format 2021-11-16 13:49:38 +03:00
lippfi c53dd48437 Fix adding options in VimExtensionRegistrar 2021-11-16 13:10:01 +03:00
lippfi 001a1d648c Fix merge 2021-11-16 12:41:27 +03:00
Alex Plateandlippfi 6bbd162c72 Fix AceJump issues 2021-11-16 12:18:25 +03:00
Alex Plateandlippfi 8fb8476994 Ignore bookmark test 2021-11-16 12:16:57 +03:00
Alex Plateandlippfi 8d7a2faf1b Update copyright info 2021-11-16 12:16:57 +03:00
Alex Plateandlippfi df946f8525 fix(VIM-2026): Intellij uses a different initialization approach during settings reading 2021-11-16 12:16:55 +03:00
Alex Plateandlippfi 58f8c315e6 Reformat code 2021-11-16 12:13:24 +03:00
lippfi c6a379048e Changed object in VariableService to applicationService 2021-11-16 12:13:23 +03:00
Alex Plateandlippfi 02dd52ccb9 Draft of statistic collector 2021-11-16 12:05:56 +03:00
Alex Plateandlippfi abb93af3fb Reformat files 2021-11-16 12:05:56 +03:00
lippfi 06b18b8fb9 Fix if statement 2021-11-16 12:05:56 +03:00
dependabot[bot]andlippfi 88772a0d8e Bump antlr4 from 4.9.2 to 4.9.3
Bumps [antlr4](https://github.com/antlr/antlr4) from 4.9.2 to 4.9.3.
- [Release notes](https://github.com/antlr/antlr4/releases)
- [Changelog](https://github.com/antlr/antlr4/blob/master/CHANGES.txt)
- [Commits](https://github.com/antlr/antlr4/compare/4.9.2...4.9.3)

---
updated-dependencies:
- dependency-name: org.antlr:antlr4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-16 12:05:56 +03:00
dependabot[bot]andlippfi 89c2bf0932 Bump annotations from 22.0.0 to 23.0.0
Bumps [annotations](https://github.com/JetBrains/java-annotations) from 22.0.0 to 23.0.0.
- [Release notes](https://github.com/JetBrains/java-annotations/releases)
- [Changelog](https://github.com/JetBrains/java-annotations/blob/master/CHANGELOG.md)
- [Commits](https://github.com/JetBrains/java-annotations/compare/22.0.0...23.0.0)

---
updated-dependencies:
- dependency-name: org.jetbrains:annotations
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-16 12:05:56 +03:00
Alex Plateandlippfi 9a0e6336b7 Update changelog 2021-11-16 12:05:56 +03:00
Alex Plateandlippfi 550a754fab Completely avoid esc handling in normal mode 2021-11-16 12:05:55 +03:00
Alex Plateandlippfi 5921f7f889 Remove redundant qualifier name 2021-11-16 12:03:51 +03:00
Alex Plateandlippfi e097880e95 Add an ability to enable matchit using packadd syntax 2021-11-16 12:03:48 +03:00
Alex Plateandlippfi 99a0dc6c53 Get rid of PlatformUtils usages
This class should not be used and replaced with ide-specific configurations
2021-11-16 12:02:25 +03:00
eugene.nizienkoandlippfi ef7e4a752d removing test fail 2021-11-16 12:00:10 +03:00
Alex Plateandlippfi cded8e54fb Update changelog 2021-11-16 12:00:10 +03:00
eugene.nizienkoandlippfi f17a903555 test video recording 2021-11-16 12:00:10 +03:00
lippfi 191aba1f95 Add packadd rule to grammar 2021-11-16 12:00:10 +03:00
lippfi e8d7a7f8bf Make OptionChangeListener an interface 2021-11-16 10:35:30 +03:00
lippfi 836c1084c4 Optimize MultikeyMap for options 2021-11-16 10:17:48 +03:00
lippfi 649bfdc220 Fix resetAllOptions 2021-11-16 10:11:10 +03:00
lippfi 8d6529ccf1 Better OptionChangeListener 2021-11-16 09:17:31 +03:00
lippfi c936692403 Moved show* method from OptionService to SetCommand 2021-11-16 08:43:26 +03:00
lippfi c3d3f2ab50 Fix SpecialKeyHandlers 2021-11-15 15:54:17 +03:00
Alex Plate f289b19310 Correct usage of option service 2021-11-15 15:51:35 +03:00
lippfi 9866231129 Replace object with applicationService in OptionServiceImpl 2021-11-15 13:04:28 +03:00
lippfi e0b5b54dda Add more methods to OptionService 2021-11-15 13:02:54 +03:00
lippfi 2687ecc02e Renamed methods 2021-11-15 12:45:01 +03:00
lippfi 3699920515 Add more methods to OptionService 2021-11-15 06:38:22 +03:00
lippfi 4481da75b7 OptionChangeListener 2021-11-15 06:32:04 +03:00
lippfi 037b636be9 Format 2021-11-14 01:20:30 +03:00
lippfi 12ded24cd4 Old and new options are compatible 2021-11-14 01:20:07 +03:00
lippfi 2b5c13e3da IdeaRefactorModeHelper 2021-11-13 23:32:37 +03:00
lippfi 043f07190c Replace older options with new ones 2021-11-13 23:21:24 +03:00
lippfi dc0758274e Support adding options from plugins 2021-11-11 02:50:48 +03:00
lippfi 0d9aa85a6a Add missing options 2021-11-11 02:24:29 +03:00
lippfi 810440abe7 Better addListener method 2021-11-11 02:17:06 +03:00
lippfi 177aaebaf8 Add scope to optionExpression 2021-11-11 02:02:58 +03:00
lippfi ba11c565d8 Mark old classes as deprecated 2021-11-11 01:58:43 +03:00
lippfi 5320d3a4fd Move GuiCursorOption subclasses to GuiCursorOptionHelper 2021-11-11 01:41:43 +03:00
lippfi 82f181b80b Temporarily returned OptionsManager to set command 2021-11-11 01:26:00 +03:00
lippfi eb43fa7c4c Update listeners 2021-11-11 01:08:31 +03:00
lippfi 86c0357725 Better options support in let command 2021-11-11 01:01:02 +03:00
lippfi 844dac6106 set and setlocal commands 2021-11-11 01:00:02 +03:00
lippfi 0a923e98ab Made parseNumber method public 2021-11-11 00:54:45 +03:00
lippfi a85a5bd055 Add helper classes for options 2021-11-11 00:54:13 +03:00
lippfi ca51798445 Add OptionService 2021-11-11 00:49:42 +03:00
lippfi 73146ea643 Fix augroup 2021-11-11 00:40:06 +03:00
Alex Plate f186f4aa5c fix(VIM-2449): Use state to check if the selection is block (instead of multiple ranges) 2021-11-10 19:16:26 +03:00
Alex Plate a4d89af418 Get back caret shape check disabling 2021-11-10 19:13:53 +03:00
Alex Plate 4eb755fed6 Get back stable version of IJ for development 2021-11-10 18:56:16 +03:00
Alex Plate 95837605b8 Remove unused argument 2021-11-10 18:56:00 +03:00
Alex Plate 3f4bf3f6fd Advertise using of Plug syntax for defining the plugins 2021-11-10 18:40:15 +03:00
Alex Plate adb71068e3 Add command for packadd 2021-11-10 18:08:58 +03:00
Alex Plate 68f898dbf8 Update changelog 2021-11-09 19:37:07 +03:00
Matt EllisandAlex Pláte 296b714282 fix(VIM-2462): reset caret when disabling plugin 2021-11-09 19:35:19 +03:00
Alex Plate d88f38cf2a Update release version to 1.8.1 2021-11-09 17:00:15 +03:00
Alex Plate a8098c2c4c fix(VIM-2461): Show action id before action execution 2021-11-08 13:19:31 +03:00
Alex Plate 1eb91889d4 Fix EA-402385
https://web.ea.pages.jetbrains.team/#/issue/402385
2021-11-08 11:45:28 +03:00
Alex Plate ac451d0fcd Update changelog 2021-11-08 11:06:44 +03:00
Alex Plate 5d7e0a1260 Add a note to the documentation 2021-11-08 11:06:44 +03:00
Matt EllisandAlex Pláte 8344207608 fix(VIM-2432): handle scrolloff with <C-D> and <C-U> 2021-11-08 11:03:58 +03:00
Alex Plate cc45168e25 Update formatting 2021-11-07 00:10:26 +00:00
Alex Plate 81c898dd9e [VIM-2456] Refactor command execution in a way that environment information is collected before running the command.
This also fixes VIM-2397
2021-11-04 13:26:56 +03:00
Alex Plate 87aa50c7be Reformat file 2021-11-04 13:26:45 +03:00
lippfi a080047632 Update changelog 2021-11-03 20:06:56 +03:00
lippfi bb4b3dfe61 Fix augroup 2021-11-03 17:31:59 +03:00
lippfi 55aaa6e2c6 Fix split command 2021-11-03 16:30:55 +03:00
lippfi 1fc866eeee Add 'se' abbrev to set command 2021-11-03 16:30:55 +03:00
Alex Plate 15e0692b41 Update changelog 2021-11-01 11:46:09 +03:00
Alex Plate 6db42dc736 [VIM-2199] Fix autocompletion for AppCode 2021-11-01 11:42:20 +03:00
Alex Plate c1d86a4238 Fix AppCode template detection 2021-11-01 11:34:20 +03:00
Alex Plate ec761dbe3d [VIM-2332] Make IdeaVim depending on com.intellij.modules.platform module
This should make IdeaVim compatible with CWM
2021-11-01 10:03:59 +03:00
Alex Plate 1328a314de Add exception for strange EA
https://web.ea.pages.jetbrains.team/#/issue/266279
2021-11-01 10:03:59 +03:00
lippfi 06b0a1292f Fix spaces between range units 2021-10-29 15:51:31 +03:00
Alex Plate 11a16a54fc Show the reload action if the IJ starts with the .ideavimrc file 2021-10-29 11:32:20 +03:00
Alex Plate 548cbb4bda Add chylex to contributors list 2021-10-29 10:12:38 +03:00
chylexandAlex Pláte 637ae21089 [VIM-2255] Missing reload icon in .ideavimrc on Windows 2021-10-29 10:09:48 +03:00
dependabot[bot]andAlex Pláte 6febc4d2fc Bump github-api from 1.133 to 1.135
Bumps [github-api](https://github.com/hub4j/github-api) from 1.133 to 1.135.
- [Release notes](https://github.com/hub4j/github-api/releases)
- [Changelog](https://github.com/hub4j/github-api/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hub4j/github-api/compare/github-api-1.133...github-api-1.135)

---
updated-dependencies:
- dependency-name: org.kohsuke:github-api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-29 10:06:04 +03:00
dependabot[bot]andAlex Pláte 8253db1486 Bump org.jetbrains.intellij from 1.2.0 to 1.2.1
Bumps org.jetbrains.intellij from 1.2.0 to 1.2.1.

---
updated-dependencies:
- dependency-name: org.jetbrains.intellij
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-29 10:05:55 +03:00
lippfi 8fe1b0891b Fix ! command 2021-10-27 13:42:46 +03:00
Alex Plate ff1d7f7f1c Add information about vim script into the README.md 2021-10-27 11:42:11 +03:00
Alex Plate c437a18288 Prepare for 1.8.0 release 2021-10-27 10:26:21 +03:00
Alex Plate 0992c39132 Change changelog ordering 2021-10-27 10:08:58 +03:00
lippfi 610f978c44 Update changelog 2021-10-26 20:21:34 +03:00
lippfi 84ea9266c2 Commands do not require space before argument anymore 2021-10-26 16:24:03 +03:00
lippfi 54abaebe17 Deleted rangesCount from Ranges.kt 2021-10-26 15:11:18 +03:00
lippfi a16c860ba8 Better marks support in commands 2021-10-26 15:06:03 +03:00
lippfi b1b7e3439f Underscores in substitute command 2021-10-26 12:49:04 +03:00
Alex Plate 1df75fe25c Fix selection with vim exchange
VIM-2359
https://github.com/JetBrains/ideavim/discussions/388
2021-10-26 11:16:02 +03:00
Alex Plate 4d0e0b8ef8 Fix VCS tagging after EAP release 2021-10-26 11:15:57 +03:00
Alex Plate 36002def70 Add Petar Guglev to contributors list 2021-10-25 11:09:56 +03:00
Petar GuglevandAlex Pláte 8247ac54a1 Update README.md link
Link was broken.
2021-10-25 11:07:20 +03:00
dependabot[bot]andAlex Pláte f4fe80b28a Bump org.jetbrains.changelog from 1.3.0 to 1.3.1
Bumps org.jetbrains.changelog from 1.3.0 to 1.3.1.

---
updated-dependencies:
- dependency-name: org.jetbrains.changelog
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-25 11:06:28 +03:00
lippfi 9e052d6e3a Update roadmap 2021-10-20 13:22:45 +03:00
lippfi 0da18b81b6 Variable locking 2021-10-20 13:22:08 +03:00
lippfi fc81c6329b Better ambiguous parsing with .
Added originalString field to Expression
2021-10-20 11:53:33 +03:00
Alex Plate 3d92b989ce Disable disposed check in order to find the stack trace of disposed project 2021-10-19 22:53:18 +03:00
Alex Plate b942e8a950 Do not use Disposer.isDiposed 2021-10-19 22:53:17 +03:00
lippfi 29131b4644 Fixed operator precedence 2021-10-19 20:52:23 +03:00
lippfi b897b118ca Added scope to for loop variable 2021-10-19 17:43:00 +03:00
lippfi 145af2b6ee Refactoring 2021-10-19 17:40:57 +03:00
lippfi 09a38a854c Comments are back 2021-10-19 17:28:14 +03:00
lippfi 995779a294 Better let command (list and dictionaries are passed by reference) 2021-10-19 14:32:16 +03:00
lippfi 67f38fc646 Fixed parents for Executable 2021-10-19 14:32:16 +03:00
lippfi 316f1fa925 added deepcopy() method to VimDataType 2021-10-19 14:32:16 +03:00
Alex Plate 21f5ad6c0a Lock selection suppressor only on selection starting 2021-10-19 09:51:53 +03:00
Alex Plate 6e6e52f316 Remove deprecated modifications 2021-10-18 09:55:32 +03:00
lippfi 71c19b3ef2 Added nerdtree abbrev to NERDTree option
(https://github.com/JetBrains/ideavim/discussions/378)
2021-10-15 14:18:43 +03:00
lippfi 0befc6385d Added more constructors to SimpleExpression class 2021-10-15 12:18:50 +03:00
lippfi 22371b4b07 Merge remote-tracking branch 'origin/master' 2021-10-15 12:03:49 +03:00
lippfi 913d711b80 Curly braces names 2021-10-15 12:03:30 +03:00
lippfi d17d12c805 Removed Variable class from plugins 2021-10-15 11:57:45 +03:00
lippfi 4d64109e2c Scope as function argument 2021-10-14 12:08:33 +03:00
Alex Plate d66d807cff Reset skip events on click 2021-10-14 11:39:10 +03:00
lippfi e7a68f06b3 Override toString() method for Scope class 2021-10-14 10:46:34 +03:00
lippfi fd49e86e17 Finish statement 2021-10-14 08:56:10 +03:00
lippfi 337621ca4a For loops with list 2021-10-14 08:54:52 +03:00
lippfi 0e38a4e4f0 Formatting 2021-10-14 07:47:49 +03:00
Alex Plate c19a160c9c Update notifications 2021-10-13 11:37:02 +03:00
Alex Plate c390e06e63 Use Path 2021-10-13 11:31:07 +03:00
Alex Plate 00d6a948d0 Update extension point listener 2021-10-13 11:12:47 +03:00
Alex Plate 6f1c2a1a81 Convert lookup listener to TOPIC subscription 2021-10-13 11:02:34 +03:00
Alex Plate 47ba907eb7 Update changenotes 2021-10-12 16:41:25 +03:00
Alex Plate a14252493f Use java v11 2021-10-12 15:41:37 +03:00
Alex Plate 328c4288c2 Fix since version in plugin.xml 2021-10-12 15:40:22 +03:00
Alex Plate b7c11ff852 Update minimal IJ version to 203+ 2021-10-12 15:26:35 +03:00
Alex Plate add1d6225d [TC] Move 202 to old tests 2021-10-12 15:14:41 +03:00
Alex Plate 182424ba05 And more tests compatibility changes 2021-10-12 14:58:40 +03:00
Alex Plate bf86cd2a51 Keep compatibility in tests 2021-10-12 14:34:29 +03:00
Alex Plate 2085e9cafd Make IJ compatible with older versions of ij (212<) 2021-10-12 13:26:22 +03:00
Alex Plate fb51236ae2 Add 2021.2 tests 2021-10-12 13:25:58 +03:00
lippfi 9509b5825c Fix icon 2021-10-11 17:35:52 +03:00
lippfi b8a8acdad7 Update roadmap 2021-10-11 01:37:30 +03:00
lippfi 898e5f8bda Standard project layout 2021-10-11 01:29:18 +03:00
lippfi 30a39497aa Update changelist 2021-10-11 00:06:20 +03:00
lippfi 852a220076 Update list of vimscript functions 2021-10-11 00:06:02 +03:00
lippfi a34d56b7df Fixed default values in functions 2021-10-11 00:05:09 +03:00
lippfi 13feaa7581 IdeaVim ignore comment's great return 2021-10-10 22:13:23 +03:00
lippfi 14df9ea705 Fix matches operator 2021-10-10 21:48:34 +03:00
lippfi 6bd2bb884a Faster parsing 2021-10-10 19:16:01 +03:00
lippfi 89cdaa611a VIM-2425 ExecuteCommand is a data class 2021-10-10 03:10:38 +03:00
lippfi cc476a26b4 has() function 2021-10-08 19:13:49 +03:00
lippfi 14d132638d ideaVim ignore comment no longer exists 2021-10-08 04:18:22 +03:00
lippfi 9e62636059 Optional function arguments 2021-10-08 04:13:24 +03:00
lippfi a3b2b4920a Comments are skipped during parsing 2021-10-08 00:05:54 +03:00
lippfi e7f128ee59 Anonymous functions 2021-10-08 00:04:54 +03:00
lippfi e1069c265e Fixed literal dictionary key pattern 2021-10-08 00:03:05 +03:00
lippfi e0b356c12d Dictionary functions 2021-10-08 00:02:36 +03:00
lippfi 769d900383 Formatting 2021-10-07 23:54:31 +03:00
lippfi 8d99100601 Redundant arguments in lambda functions are ignored 2021-10-07 23:44:15 +03:00
Alex Plate 0c1c8080a6 Update actions docs 2021-10-07 22:18:01 +03:00
Alex Plate 1742541b03 Add note about version update 2021-10-07 22:03:49 +03:00
Alex Plate d66e6967ee Add Martin Yzeiri to contributors list 2021-10-07 10:27:32 +03:00
Alex Plate 559879301d Add traces to suppressor locks and unlocks 2021-10-07 10:21:30 +03:00
Martin YzeiriandAlex Pláte c524c92062 Emulate matchit.vim 2021-10-07 10:21:19 +03:00
Alex Plate b329329333 Add settings for testing on latest eap 2021-10-06 12:07:19 +03:00
Alex Plate 5df8ef98a1 Add more logging for selection change 2021-10-06 10:54:55 +03:00
Alex Plate 55154b2996 Update changelog 2021-10-06 09:29:54 +03:00
lippfi 89aa6aecff Added self property to FunctionDeclarations 2021-10-05 13:25:18 +03:00
lippfi 970456e6b0 Added evaluateWithRange method to funcrefCalls 2021-10-05 13:25:18 +03:00
dependabot[bot]andAlex Pláte 97effae8dc Bump org.jetbrains.changelog from 1.2.0 to 1.3.0
Bumps org.jetbrains.changelog from 1.2.0 to 1.3.0.

---
updated-dependencies:
- dependency-name: org.jetbrains.changelog
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-05 09:29:43 +03:00
dependabot[bot]andAlex Pláte f26755045d Bump annotations from 21.0.1 to 22.0.0
Bumps [annotations](https://github.com/JetBrains/java-annotations) from 21.0.1 to 22.0.0.
- [Release notes](https://github.com/JetBrains/java-annotations/releases)
- [Changelog](https://github.com/JetBrains/java-annotations/blob/master/CHANGELOG.md)
- [Commits](https://github.com/JetBrains/java-annotations/compare/21.0.1...22.0.0)

---
updated-dependencies:
- dependency-name: org.jetbrains:annotations
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-05 09:29:34 +03:00
Alex PláteandGitHub 067af8356c Merge pull request #337 from citizenmatt/feature/guicursor
guicursor!
2021-10-05 09:28:26 +03:00
Alex Plate ee743674c2 Merge branch 'master' into feature/guicursor
# Conflicts:
#	src/com/maddyhome/idea/vim/helper/MessageHelper.kt
#	src/com/maddyhome/idea/vim/option/OptionsManager.kt
2021-10-05 09:27:32 +03:00
Alex Plate 362f8a3c99 Update gradle version 2021-10-05 09:24:14 +03:00
lippfi 9f0ecd7f73 Better function calls and call command 2021-10-05 03:24:16 +03:00
lippfi d01f582646 Dictionary function call 2021-10-05 02:51:24 +03:00
lippfi cdc8f159f5 Read-only variables 2021-10-04 21:33:16 +03:00
lippfi b481b6e1b5 Updated VIMSCRIPT_ROADMAP.md 2021-10-04 12:06:18 +03:00
lippfi 505aeff544 VIM-2417 fix bars in substitute command 2021-10-01 20:11:24 +03:00
lippfi dbf0444110 funcref() function 2021-10-01 19:13:54 +03:00
lippfi 07d753f413 function() function 2021-10-01 17:16:37 +03:00
lippfi f516e89a5f Better VimFuncref 2021-10-01 17:16:09 +03:00
lippfi 5f15bca561 Add name and scope fields to FunctionHandler 2021-10-01 17:14:06 +03:00
lippfi d98acd8c39 Moved tests 2021-10-01 17:11:25 +03:00
lippfi 97502a5bd5 Function as method call 2021-10-01 03:31:20 +03:00
lippfi 806184aa5d Lambda 2021-10-01 03:31:20 +03:00
lippfi d93fb1fdfc Funcref 2021-10-01 03:31:20 +03:00
lippfi 9cf922ae80 FunctionStorage refactoring 2021-10-01 03:31:20 +03:00
lippfi 2070efc35a Changed Executable to interface 2021-10-01 03:31:20 +03:00
lippfi 1dc4dbf7af Optional function arguments 2021-10-01 03:31:20 +03:00
lippfi c10634f1e3 Updated roadmap 2021-10-01 03:31:20 +03:00
lippfi c0f8fd8c6b call command 2021-10-01 03:31:20 +03:00
lippfi 95f89792d4 range function flag 2021-10-01 03:31:20 +03:00
lippfi a299abf18f abort function flag 2021-10-01 03:31:20 +03:00
lippfi 0cc15390a4 Getting dictionary value by dict.key 2021-10-01 03:31:20 +03:00
lippfi 379b23b42d Update formatting 2021-10-01 03:31:20 +03:00
lippfi 160b1b240a Falsy operator 2021-10-01 03:31:20 +03:00
lippfi 5af69377e5 Fixed test 2021-10-01 03:31:20 +03:00
lippfi bcee0a5964 Optimized imports 2021-10-01 03:31:20 +03:00
lippfi 804128c3d3 Deleted VimContext from Executable 2021-10-01 03:31:20 +03:00
lippfi 4e3ee024ac Deleted VimContext from commands 2021-10-01 03:31:20 +03:00
lippfi c300fdbfb1 Added closure flag and fixed scopes 2021-10-01 03:31:20 +03:00
lippfi 840ff11335 Deleted VimContext from expressions 2021-10-01 03:31:20 +03:00
lippfi 8d76b51683 ".." as concatenation operator 2021-10-01 03:31:20 +03:00
lippfi a78bb51831 Added function flags 2021-10-01 03:31:20 +03:00
lippfi db19d0819e Added "lambda" and "function as method" rules to grammar 2021-10-01 03:31:20 +03:00
lippfi 72b76221f7 Added len() function 2021-10-01 03:31:20 +03:00
lippfi 9eb32034b7 Added 'ide' option 2021-10-01 03:31:20 +03:00
lippfi 24f88b5ffe Added 'exists' function (works only with options for now) 2021-10-01 03:31:20 +03:00
Alex Plate d27ebad011 Prepare to the new release 2021-09-30 15:28:33 +03:00
Alex Plate 1cebd8551b Update gradle plugin to 1.2.0 2021-09-30 15:25:43 +03:00
Alex Plate 446d5aeb15 Replace AbstractBundle with DynamicBundle 2021-09-30 10:35:22 +03:00
lippfi 58f8ce605d Update changelog 2021-09-30 01:03:30 +03:00
Alex Plate 3fae2fdae5 isBlockCursor method doesn't work for UI tests at the moment 2021-09-29 12:58:30 +03:00
Alex Plate c268407ce3 Merge branch 'master' into feature/guicursor
# Conflicts:
#	src/com/maddyhome/idea/vim/listener/VimListenerManager.kt
2021-09-29 12:32:32 +03:00
Alex Plate cd435c5f41 Do not correct selection when the mouse is clicked 2021-09-29 12:30:47 +03:00
Alex Plate 74b0e3bded Merge branch 'master' into feature/guicursor
# Conflicts:
#	src/com/maddyhome/idea/vim/listener/VimListenerManager.kt
2021-09-29 11:08:30 +03:00
Alex Plate edc0a14ef1 Do not set selection locker on mouse press 2021-09-29 10:49:16 +03:00
Alex Plate 011be78b27 Add ui test for extend selection 2021-09-28 12:04:25 +03:00
Alex Plate 58008e6758 Improve vim selection suppressor 2021-09-28 11:51:43 +03:00
Matt Ellis ae21727c12 Merge branch 'master' into feature/guicursor 2021-09-27 15:21:41 +01:00
lippfi a480372d3d Added a colon after scope for variables in VimScriptGlobalEnvironment 2021-09-27 15:19:39 +03:00
lippfi 0bc298014d Fixed string rule 2021-09-27 14:31:39 +03:00
lippfi 63f85a8099 lua << END is skipped now 2021-09-26 19:10:38 +03:00
lippfi cc16d5ba15 VIM-2411. Added tabs to INLINE_SEPARATOR. Much better comments 2021-09-24 09:47:25 +03:00
lippfi fa3afe188e VIM-2409. Removed inline comment from SubstituteCommand's rule 2021-09-23 17:52:15 +03:00
lippfi 6df2db86c3 VIM-2406. Added patterns with omitted "/" or "?" at the end of the pattern to GoToLineCommand 2021-09-23 17:32:39 +03:00
lippfi 7791de490d Removed unnecessary spaces from grammar 2021-09-23 13:31:52 +03:00
lippfi 754a8c7250 global and vglobal commands with pipes 2021-09-22 16:23:23 +03:00
lippfi 88b0f31590 Emojis 2021-09-22 15:40:53 +03:00
lippfi b17dbb37e4 Updated formatting 2021-09-22 15:31:55 +03:00
Alex Plate 4ec360219a Fix UI tests 2021-09-21 17:29:47 +03:00
Alex Plate b4d4da7250 Refactor UI test 2021-09-21 11:20:33 +03:00
Alex Plate 8bf809a888 Improve mouse selection from the line end 2021-09-21 11:19:41 +03:00
Alex Plate 90e0cee86c Fix Ui test 2021-09-21 10:35:43 +03:00
lippfi 5b571362e3 VIM-2405. Fixed error message for v: scope. NotImplementedErrors are now also shown in status bar. 2021-09-20 21:21:48 +03:00
Alex Plate 9537003a6d Prepare to 1.7.1 release 2021-09-20 12:26:54 +03:00
Alex Plate bdc50283d2 Switch gradle to 2021.2.2 because of issues in gradle plugin 2021-09-20 12:20:44 +03:00
Alex Plate 85c8968d75 Fix multiple copy from unnamed clipboard 2021-09-20 12:18:45 +03:00
lippfi 1466ad9bef Update changelog 2021-09-20 12:09:55 +03:00
lippfi 0cda2241ed Deleted "lambda" and "function as method" rules 2021-09-20 00:11:10 +03:00
lippfi 3ac96d9ed4 Added tests 2021-09-20 00:11:10 +03:00
lippfi 9f7b6a281b Fixed comma at the end of a literal dictionary 2021-09-20 00:11:10 +03:00
lippfi 96bd5f8259 Fixed unnamed register 2021-09-20 00:11:10 +03:00
lippfi 62917c2a50 VIM-2401. ExException is shown for map <expr> 2021-09-20 00:11:10 +03:00
lippfi 10ea780cdc Better grammar 2021-09-20 00:11:10 +03:00
lippfi 19561bb1f1 Fixed comment rule 2021-09-20 00:11:10 +03:00
lippfi 8088789f51 Fixed augroup and autocmd 2021-09-20 00:11:10 +03:00
lippfi 5dec91caa3 Added lambdas and functions as methods to grammar 2021-09-20 00:11:10 +03:00
lippfi 0c28a9a79b More loyal grammar 2021-09-20 00:11:10 +03:00
Alex Plate 8c2b715f93 Update formatting 2021-09-19 00:09:17 +00:00
aleksei.plateandtcuser 0fe75031a9 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim / IdeaVim releases' project: VCS roots of 'Publish Release' build configuration were updated 2021-09-17 10:05:03 +00:00
aleksei.plateandtcuser 0ec01f8d6f TeamCity change in 'IntelliJ IDEA plugins / IdeaVim / IdeaVim releases' project: VCS roots of 'Publish Release' build configuration were updated 2021-09-17 10:04:50 +00:00
aleksei.plateandtcuser fbcb3f8cbc TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: 'https://github.com/JetBrains/ideavim (branch release)' VCS root was created 2021-09-17 10:04:25 +00:00
dependabot[bot]andAlex Pláte 3f6a454052 Bump github-api from 1.129 to 1.133
Bumps [github-api](https://github.com/hub4j/github-api) from 1.129 to 1.133.
- [Release notes](https://github.com/hub4j/github-api/releases)
- [Changelog](https://github.com/hub4j/github-api/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hub4j/github-api/compare/github-api-1.129...github-api-1.133)

---
updated-dependencies:
- dependency-name: org.kohsuke:github-api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-17 10:44:55 +03:00
dependabot[bot]andAlex Pláte 088fda12f8 Bump org.eclipse.jgit
Bumps org.eclipse.jgit from 5.12.0.202106070339-r to 5.13.0.202109080827-r.

---
updated-dependencies:
- dependency-name: org.eclipse.jgit:org.eclipse.jgit
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-17 10:44:00 +03:00
dependabot[bot]andAlex Pláte b207b30108 Bump org.jlleitschuh.gradle.ktlint from 10.0.0 to 10.2.0
Bumps org.jlleitschuh.gradle.ktlint from 10.0.0 to 10.2.0.

---
updated-dependencies:
- dependency-name: org.jlleitschuh.gradle.ktlint
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-17 10:43:46 +03:00
Alex Plate f12b67088f Remove incorrect changelog 2021-09-16 13:37:18 +03:00
Alex Plate 2643daf0b2 Exclude ktlint test source set check 2021-09-16 10:38:28 +03:00
Alex Plate 21188dad73 Update changelog settings 2021-09-16 10:17:39 +03:00
Alex Plate 0476854d7c Update changelog 2021-09-16 07:14:43 +00:00
Alex Plate b9ab4f6484 Prepare to 1.7.0 release 2021-09-16 10:08:47 +03:00
lippfi 759d92db4d Fixed checkboxes in VIMSCRIPT_ROADMAP.md 2021-09-15 17:48:37 +03:00
lippfi 263fea1c52 Moved vimscript-related .md files to vimscript-info folder 2021-09-15 17:46:09 +03:00
lippfi 949e9216ff Updated README.md 2021-09-15 17:32:14 +03:00
lippfi 547835f59d Added roadmap & list of implemented functions 2021-09-15 17:31:50 +03:00
Alex Plate 464ed17741 Update changelog 2021-09-15 08:45:49 +00:00
Alex Plate 1ca8b06d74 Fix(VIM-2387): Fix coping with unnamed and ideaput 2021-09-15 11:43:38 +03:00
Alex Plate 5312549db1 Update changelog 2021-09-13 07:47:14 +00:00
Alex Plate 21a8a0467f Update links to discord server 2021-09-10 09:57:49 +03:00
Alex Plate c5dfd43e48 fix(VIM-2392): Fix possible out of bounds exception 2021-09-10 09:54:06 +03:00
Alex Plate 879bc9bd98 Add some comments 2021-09-09 11:12:40 +03:00
Alex Plate 5a484c3952 Fix changelog formatting 2021-09-08 13:11:27 +03:00
Alex Plate a1dd917227 Update changelog 2021-09-08 08:53:09 +00:00
Alex Plate 6186fa7e1b fix(VIM-2368): Do not remove selection on right click 2021-09-08 11:50:28 +03:00
Alex Plate 2c227955c7 Remove extra white space in file name 2021-09-08 10:02:49 +03:00
Alex PláteandGitHub 1ac50714f5 Update README.md 2021-09-07 18:57:17 +03:00
lippfi fd1d6a98f1 Fixed sublist expression for lists 2021-08-17 15:10:16 +03:00
lippfi 43b5e7e644 Now all the exceptions are caught 2021-08-17 14:43:27 +03:00
lippfi 13ab68e5b1 Much better sublists 2021-08-17 14:30:32 +03:00
lippfi 165caab526 Fixed function scope (library functions do not modify vimContext anymore) 2021-08-17 14:03:43 +03:00
lippfi 187e5a752a Fixed operators precedence 2021-08-17 14:02:47 +03:00
lippfi dc81568c45 Fixed less binary operator 2021-08-17 13:59:15 +03:00
lippfi 9fe9d92e04 Updated changelog 2021-08-17 11:49:54 +03:00
lippfi 1e550ac0a3 Map <expr> with invalid expression test 2021-08-17 11:49:54 +03:00
lippfi 1190209409 We do not fix invalid commands or expressions anymore 2021-08-17 11:49:54 +03:00
Alex Plate c7cc6b54bf Support g:surround_no_mappings variable in vim-surround 2021-08-17 11:32:25 +03:00
Alex Plate c1afce2939 Use latest EAP to develop the plugin 2021-08-17 11:05:20 +03:00
lippfi aa40c04302 Added test with caret return symbol 2021-08-17 10:59:49 +03:00
lippfi bddf07efee Added E15 exception to map <expr> 2021-08-17 01:09:39 +03:00
lippfi c8a45cb085 Added 'map <expr>' 2021-08-17 00:59:51 +03:00
lippfi f6720b3d37 Made ranges great again 2021-08-16 22:26:07 +03:00
lippfi dc8f5e9b25 Fixed beep 2021-08-16 21:02:45 +03:00
lippfi 8a2d3e1aed "ideaVim ignore" comment 2021-08-16 20:22:24 +03:00
lippfi afeaf4444b 'parseExpression' and 'parseCommand' can return null now 2021-08-16 19:55:30 +03:00
lippfi f69a284b3f '\r' fix 2021-08-16 16:11:00 +03:00
lippfi 9f1bb44824 More loyal grammar with parametrized tests 2021-08-16 15:45:08 +03:00
lippfi 037a29551c Much safer parsing 2021-08-14 18:37:39 +03:00
Alex Plate b4ea970c29 Do not include empty Fixes changelog entry 2021-08-13 16:54:19 +03:00
lippfi 719b80baa1 Added function flags to grammar &
Added inline comment to let command &
Fixed parser (visitor is no longer called in scripts with errors)
2021-08-13 13:33:46 +03:00
Alex PláteandGitHub f6002f05e0 Delete GoToLineCommandTest.kt 2021-08-13 10:45:53 +03:00
Alex Plate 0867654347 Update changelog 2021-08-12 16:04:14 +00:00
Alex Plate 687a6d8693 Update changelog 2021-08-12 19:01:05 +03:00
lippfi 6fc362cae2 Removed @deprecated from VimScriptGlobalEnvironment 2021-08-12 16:59:09 +03:00
lippfi 5d03bae931 Log is cleared after each test 2021-08-12 14:39:27 +03:00
lippfi 408e51535d Script's lines with errors are now skipped by parser 2021-08-12 14:39:27 +03:00
lippfi d4749f4eb8 Lua code in .vimrc is skipped during parsing 2021-08-12 14:39:27 +03:00
lippfi 829501c1b1 Decreased distribution size 2021-08-12 14:39:27 +03:00
lippfi 88ef5a3467 More loyal to spaces and newlines grammar 2021-08-12 14:39:27 +03:00
lippfi e52948efcc Renamed and moved handler tests 2021-08-12 14:39:27 +03:00
lippfi 56466f889b Fixed map command names 2021-08-12 14:39:27 +03:00
lippfi 5ecfab65fa Added more command names 2021-08-12 14:39:27 +03:00
lippfi 98fc65ec43 Added comments to commands 2021-08-12 14:39:27 +03:00
lippfi 3e37e2cdc4 NotImplementedError and wrong ranges handling 2021-08-12 14:39:27 +03:00
lippfi 2efb08197f Parsing errors handling 2021-08-12 14:39:27 +03:00
lippfi dd7cb72a25 Fixed tests for delfunction command 2021-08-12 14:39:27 +03:00
lippfi b73fc88313 One-line statements can be written in multiline way 2021-08-12 14:39:27 +03:00
lippfi 465db2cd22 Options support in let command 2021-08-12 14:39:27 +03:00
lippfi 73c1dc8118 Added 'execute' command 2021-08-12 14:39:27 +03:00
lippfi 509a202f93 Fixed commands that do not support inline comments 2021-08-12 14:39:27 +03:00
lippfi 09a9884b9f UnknownCommand class and cleanup 2021-08-12 14:39:27 +03:00
lippfi 6afc5aa98e Better executor 2021-08-12 14:39:27 +03:00
lippfi 9e497fb5e8 Nonnull editor & dataContext in function handlers 2021-08-12 14:39:27 +03:00
lippfi 16476256c3 Replaced handlers with commands 2021-08-12 14:39:27 +03:00
lippfi 623430359a Execute method accepts only nonnull editor and dataContext 2021-08-12 14:39:27 +03:00
Matt Ellis 6ab53802df Add tests for caret attributes in nested modes
See VIM-1756
2021-08-10 17:29:00 +01:00
Alex Plate d5f877b83d Update github task to run UI tests 2021-08-04 16:11:05 +03:00
Alex Plate 0b33702712 Mute some nvim tests 2021-08-04 16:03:53 +03:00
Alex Plate 10fce45248 Include few delays in UI test 2021-08-04 15:53:49 +03:00
Alex Plate b39e5ba1d5 Exclude vim script tests from neovim testing 2021-08-04 15:41:04 +03:00
Alex Plate 700df030f0 Use different approach of setting defaults for nvim 2021-08-04 15:00:14 +03:00
Alex Plate a44fe15fea Update col and line functions 2021-08-04 13:47:39 +03:00
Alex Plate 12d1553f5a Remove double copyright note 2021-08-04 12:58:17 +03:00
lippfi 503c2580d7 Fixed last command register for ExCommands 2021-08-04 11:44:43 +03:00
lippfi 8ab9509ceb Last command register fix 2021-08-04 09:49:06 +03:00
Alex Plate 197eded6d0 Add test for storing ex command to : register 2021-08-04 03:02:18 +03:00
Alex Plate 1813ad400a Support line and col functions 2021-08-03 20:22:59 +03:00
Alex Plate a1b048a2f9 Add conversion from vimDataType to VimNumber 2021-08-03 19:59:15 +03:00
Alex Plate cb43ad3488 Create a helper method to get vim line 2021-08-03 17:57:33 +03:00
Alex Plate e8daf67276 Small refactoring of VimInt 2021-08-03 17:27:09 +03:00
Alex Plate 00ef191ad0 Define VimInt constants, add method to convert bool to VimInt 2021-08-03 17:24:16 +03:00
Alex Plate e8d559f6d0 Support empty function 2021-08-03 17:15:13 +03:00
lippfi 82ed892166 Grammar refactoring 2021-08-03 11:54:49 +03:00
Alex Plate 45bd4a72a4 Kotlin compilation now depends on grammar generation 2021-08-03 09:49:22 +03:00
lippfi 7196d83833 Formatting 2021-07-31 12:37:08 +03:00
lippfi 2b7c311a2b Removed "originalString" property from commands 2021-07-31 11:31:01 +03:00
lippfi 7ef4e45945 Better exception handling 2021-07-30 18:57:02 +03:00
Alex Plate db08ea1587 Add Filipp Vakhitov to contributors list 2021-07-30 18:22:15 +03:00
Alex Plate af3227684b Use user login on missing name 2021-07-30 18:21:57 +03:00
lippfi 46788cc6c6 Added vimScript package & antlr grammar 2021-07-30 17:33:29 +03:00
Matt Ellis 70a45f3dc8 Treat use block caret option as caret override 2021-07-29 21:20:28 +01:00
Matt Ellis d63e3dadbc Merge branch 'master' into feature/guicursor 2021-07-28 23:07:47 +01:00
Alex Plate 93109f1e19 Add additional logging for keys execution 2021-07-28 11:26:09 +03:00
Alex Plate c4e74ee8a5 Update qodana.yaml file 2021-07-26 19:29:12 +03:00
Alex Plate 534fbe1a6b Tests: reset repeat between tests 2021-07-26 19:07:46 +03:00
Alex Plate e9f0c032a4 UI test: update tests formatting 2021-07-26 18:57:37 +03:00
Alex Plate 293307e63d UI tests: fix reenable vim execution 2021-07-26 18:41:50 +03:00
Alex Plate 2701522605 UI tests: Take screenshots during test 2021-07-26 17:52:14 +03:00
Alex Plate 98666855ad UI tests: Add a step of closing all existing tabs 2021-07-26 14:22:17 +03:00
aleksei.plateandtcuser adca9cf292 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'Qodana checks' build configuration were updated 2021-07-26 10:28:07 +00:00
Alex Plate fc20acd8cb Fix compilation issue for older versions of IJ 2021-07-26 13:25:26 +03:00
Alex Plate 6744e86b62 Catch exceptions during screenshot catching 2021-07-26 11:24:24 +03:00
Alex Plate 5ad202f482 Run linter 2021-07-26 11:21:05 +03:00
Alex Plate 80edb3b8f2 Create UI test for wrapping with if 2021-07-26 03:42:02 +03:00
Alex Plate 3bc8c80422 Create a UI test for enabling and disabling emulator 2021-07-26 03:42:02 +03:00
Alex Plate 4ac19ef8da Run UI tests daily 2021-07-26 03:42:01 +03:00
Alex Plate 797bce2eac Update formatting 2021-07-25 00:08:49 +00:00
Alex Plate 807e80780d Update changelog 2021-07-23 13:01:55 +03:00
eugene.nizienkoandAlex Pláte a58ca80fc9 fixed Ide Fatal Errors
added UI tests reporting
2021-07-23 12:25:18 +03:00
Alex Plate 4158bf1663 Upload artifact from the correct directory 2021-07-23 11:40:47 +03:00
Alex Plate cd0c594efb Put some properties to gradle file 2021-07-23 11:20:36 +03:00
Alex Plate 648d4d961d Use correct gradle tasks names 2021-07-23 10:43:48 +03:00
Alex Plate 9bca6f77d6 Add ui tests job 2021-07-23 10:40:36 +03:00
Alex Plate c33718c39d Update gradle-changelog configurations 2021-07-23 09:35:45 +03:00
Alex Plate 19b51a4a69 Add docs for types of motion 2021-07-22 11:13:58 +03:00
dependabot[bot]andAlex Pláte f9e5bc43c6 Bump remote-robot from 0.11.5 to 0.11.6
Bumps remote-robot from 0.11.5 to 0.11.6.

---
updated-dependencies:
- dependency-name: com.intellij.remoterobot:remote-robot
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-22 09:52:22 +03:00
dependabot[bot]andAlex Pláte 42383948b7 Bump org.jetbrains.changelog from 1.1.2 to 1.2.0
Bumps org.jetbrains.changelog from 1.1.2 to 1.2.0.

---
updated-dependencies:
- dependency-name: org.jetbrains.changelog
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-22 09:51:31 +03:00
Alex Plate 5f8a1723ba Update changelog 2021-07-20 06:37:16 +00:00
Alex Plate b8086cb509 Prepare to the 0.69 release 2021-07-20 09:35:42 +03:00
Alex Plate e2cd0d1246 Update changelog 2021-07-19 14:44:51 +03:00
Alex Plate 9fbb9ac957 Update changelog 2021-07-02 10:27:59 +03:00
Alex Plate f64439dab9 Remove unused function 2021-07-01 22:24:39 +03:00
Alex Plate fe423d0b46 Log text after test 2021-07-01 20:13:19 +03:00
Alex Plate 5018b0e9ff Change action place for IdeaVim actions 2021-07-01 19:52:20 +03:00
Alex Plate 8b0a650631 Update qodana script 2021-07-01 19:31:20 +03:00
Alex Plate 81076d9c43 Several improvements 2021-07-01 19:30:37 +03:00
Alex Plate b610af30ab Fix flaky tests with mappings 2021-07-01 19:30:36 +03:00
aleksei.plateandtcuser bbc10cd3db TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: 'Qodana checks' build configuration settings were updated 2021-07-01 16:27:38 +00:00
aleksei.plateandtcuser 6690139c66 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: triggers of 'Qodana checks' build configuration were updated 2021-07-01 16:27:23 +00:00
Alex Plate df9d5bfe25 Fix GlobalHandlerTest 2021-07-01 18:13:01 +03:00
Alex Plate 4a0dd31b2c [TC] Exclude ktlint from checking 2021-07-01 17:36:54 +03:00
Alex Plate afbfacb462 Format code 2021-07-01 17:36:28 +03:00
Alex Plate 5d68e76b30 [TC] Remove linting checks on GH 2021-07-01 17:18:40 +03:00
Alex Plate 246cc1479a Update changelog 2021-07-01 13:44:40 +03:00
Michal PlacekandAlex Pláte 408cd0e037 vim-2335 Support for navigation to previous buffer with :b# 2021-07-01 13:41:15 +03:00
Alex Plate 43884c791f Add Michal Placek to contributors list 2021-07-01 10:34:32 +00:00
Michal PlacekandAlex Pláte c15eccf49a vim-1062 -fixes 2021-07-01 13:31:27 +03:00
Michal PlacekandAlex Pláte ddb159eec8 vim-1062 2021-07-01 13:31:27 +03:00
dependabot[bot]andAlex Pláte af8edae1d3 Bump remote-robot from 0.11.4 to 0.11.5
Bumps remote-robot from 0.11.4 to 0.11.5.

---
updated-dependencies:
- dependency-name: com.intellij.remoterobot:remote-robot
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-01 13:29:37 +03:00
Matt Ellis 91585e1059 Run linters 2021-06-30 21:41:59 +01:00
Matt Ellis d6a99d4354 Update to latest EAP 2021-06-30 21:10:49 +01:00
Matt Ellis 0d840b2c41 Merge branch 'master' into feature/guicursor 2021-06-30 18:39:03 +01:00
Matt Ellis 0288a0f2b5 Use insert caret for select mode 2021-06-30 17:26:44 +01:00
Matt Ellis fe7dc4902b Make ExShortcutKeyAction dumb aware 2021-06-30 17:17:55 +01:00
Matt Ellis 1caf380505 Improve caret painting in command line 2021-06-30 17:15:52 +01:00
Alex Plate 628ce16e99 [TC] Exclude linting check for jobs 2021-06-30 11:20:39 +03:00
Alex Plate f822b04a6f Trying to exclude settings.xml using gitignore 2021-06-30 10:49:09 +03:00
Alex Plate a61747cd94 Try to exclude settings.xml from the data 2021-06-30 10:45:53 +03:00
Alex Plate 86c97f5566 Change the name of the job 2021-06-30 10:42:57 +03:00
Alex Plate 31e633f55e Update formatting 2021-06-30 07:42:22 +00:00
Alex Plate e3aa3e24f5 Create a job for automatic formatting 2021-06-30 10:39:39 +03:00
Alex Plate b7396fdf8c Fix formatting 2021-06-30 10:31:27 +03:00
Alex Plate e8f0e31a27 Correct caret for selecting from the end for 212+ versions of IJ 2021-06-30 10:29:51 +03:00
Alex Plate d759c6bc24 Remove test file 2021-06-30 09:45:29 +03:00
Alex Plate f76d0d2f81 Search for the user by github commit 2021-06-30 09:40:20 +03:00
Alex Plate ec8b02e1c1 Do not add VIM-123 example 2021-06-30 09:25:00 +03:00
Alex Plate c27ac06f1b Update changelog 2021-06-30 06:21:48 +00:00
Alex Plate 24f8f9ca14 Update run configuration 2021-06-30 09:20:14 +03:00
Alex Plate 8b8bbba85d Get rid of last_processed_cache file 2021-06-30 09:17:31 +03:00
Matt Ellis 64be75142e Use guicursor options to draw ex caret 2021-06-29 17:05:11 +01:00
Alex Plate f2070bad08 Update changelog 2021-06-29 11:06:24 +00:00
Alex Plate 52a3b680a6 Remove incorrect changelog line 2021-06-29 14:04:35 +03:00
Alex Plate 735bfbae3b Update changelog 2021-06-29 11:03:57 +00:00
Alex Plate 9140234b2c [Automation] Include last_processed_hash to the commit 2021-06-29 14:02:16 +03:00
Alex Plate cbf35c276e Revert "Update changelog"
This reverts commit ab1b8572f3.
2021-06-29 14:00:54 +03:00
Alex Plate ab1b8572f3 Update changelog 2021-06-29 10:58:29 +00:00
Alex Plate 960de8647c Fix(VIM-123): This is not a fix, just testing the automation 2021-06-29 13:56:28 +03:00
Alex Plate acf80417d1 Automatically update changelog 2021-06-29 13:53:30 +03:00
Alex Plate 43a3db178f Refactor UpdateAuthors script 2021-06-29 12:57:35 +03:00
Matt Ellis f05123123c Use guicursor instead of editor cursor settings
This changes VIM-1475 and ignores IntelliJ's "use block cursor" setting in favour of guicursor. Also affects caret placement around inlays and handling of template hotspots via idearefactormode
2021-06-29 00:21:19 +01:00
Matt Ellis 2f73dac57a Force the caret visible when updating attributes
Changing EditorSettings.setBlockCursor does this via EditorImpl.updateCaretCursor
2021-06-28 23:48:27 +01:00
Matt Ellis a6087dd08f Use replace mode caret for change character action 2021-06-28 23:42:36 +01:00
Matt Ellis b4d40fae3b Rename assert method 2021-06-28 23:24:59 +01:00
Matt Ellis ad19dc0100 Use guicursor options to draw caret 2021-06-28 23:09:21 +01:00
Matt Ellis d19c776ec3 Minor refactor 2021-06-28 23:08:29 +01:00
Matt Ellis ccd792bf62 Provide hook for resetting cached values 2021-06-28 23:08:22 +01:00
Matt Ellis 8a55199d62 Add guicursor to dictionary 2021-06-28 23:08:14 +01:00
Matt Ellis 9cf0a1ac26 Report errors while parsing guicursor option 2021-06-28 23:06:49 +01:00
Matt Ellis 43620c280d Add guicursor option 2021-06-28 23:04:58 +01:00
Alex Plate 98ffb3bf9e [VIM-1672] IdeaVim correctly populates clipboard history 2021-06-28 11:48:09 +03:00
Alex Plate 4cc4fb4d3c [VIM-1192] Fix dollar motion from single-command 2021-06-28 09:21:32 +03:00
Alex Plate 1f9718a3c1 Add more tests for till character motions 2021-06-28 08:29:21 +03:00
Alex Plate 16d9a3ba8b Join till character motions into the single file 2021-06-28 08:19:27 +03:00
Alex Plate a01fc5d72c Remove useless condition 2021-06-28 07:24:30 +03:00
Alex Plate f4e777b8df [VIM-2336] Fix repeat for 'T' movement 2021-06-28 07:24:15 +03:00
Alex Plate e8b55881bd Update changelog 2021-06-24 10:48:45 +03:00
Alex Plate 232dd34717 [VIM-2317] Fix memory leak 2021-06-24 10:38:15 +03:00
Alex Plate e244109073 Use stable IJ release for development because EAP is broken 2021-06-24 10:37:27 +03:00
Alex Plate e6324a2182 Downgrade github dependency 2021-06-24 10:20:41 +03:00
Alex Plate 46bc66d08c Add some values to dic 2021-06-24 10:14:19 +03:00
Alex Plate 73fe85018e Update configuration script 2021-06-24 10:14:18 +03:00
Matt EllisandAlex Pláte 982d6921cb Fix formatting 2021-06-24 10:13:36 +03:00
Matt EllisandAlex Pláte bb28b76a5b Support % as shortcut for file name in filter 2021-06-24 10:13:36 +03:00
Matt EllisandAlex Pláte 67fed0da9e [VIM-1566] Use OS shell to execute filter command 2021-06-24 10:13:36 +03:00
Matt EllisandAlex Pláte e3cf50b4c9 [VIM-1357] Invoke shell filter commands with proper path and argument handling
Also moves the filter command out of a write action, and under a cancellable modal progress dialog. Any errors are substituted into the text, as per Vim.

Fixes #VIM-1357
2021-06-24 10:13:36 +03:00
Alex Plate f72bb31b8e Add some loggins to update authors script 2021-06-22 11:11:16 +03:00
Alex Plate 001f13398c Update jgit version 2021-06-22 11:03:34 +03:00
dependabot[bot]andAlex Pláte dcfe93e4a1 Bump github-api from 1.129 to 1.131
Bumps [github-api](https://github.com/hub4j/github-api) from 1.129 to 1.131.
- [Release notes](https://github.com/hub4j/github-api/releases)
- [Changelog](https://github.com/hub4j/github-api/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hub4j/github-api/compare/github-api-1.129...github-api-1.131)

---
updated-dependencies:
- dependency-name: org.kohsuke:github-api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-22 10:56:32 +03:00
Alex Plate d3e7b5838f [TC] Fix slack notification issues 2021-06-22 10:50:32 +03:00
Alex Plate 8788d109e3 [TC] Extract version constants 2021-06-22 09:54:56 +03:00
Alex Plate 8b1839ff1b Prepare to 0.68 release 2021-06-22 09:17:17 +03:00
Matt Ellis 9f46e1960e Fix typo 2021-06-10 13:51:43 +01:00
Matt Ellis e93a619859 Make ListOption generic + create StringListOption 2021-06-10 13:51:23 +01:00
Matt Ellis 287ba7055e Simplify BoundedListOption 2021-06-10 11:29:20 +01:00
Matt Ellis dfbec1f23a Rename "bound" options to "bounded" 2021-06-10 11:18:57 +01:00
Matt Ellis 55dedb4c4d Remove resetShape method
We should avoid setting the shape explicitly, and let it update when the mode changes.

Note that shape can affect the visual position of the caret around inlays (e.g. 'a' at the end of a rename hotspot with a trailing inlay for options will remain in between the text and the inlay, while 'l' in command mode will move after the inlay. Both positions are at the same text offset). We should still avoid explicitly setting shape before moving the caret. We can't guarantee the order of changing mode and moving the caret, so we update the visual position at the current offset when changing mode. (We're also currently using mode as an assumption of shape)
2021-06-10 11:05:41 +01:00
Matt Ellis 9c71b444c6 Update caret visual attributes when mode changes
Removes updateCaretState and unnecessary usages
2021-06-05 01:04:01 +01:00
Matt Ellis e859b1c131 Remove resetCaret 2021-06-05 00:33:04 +01:00
Matt Ellis 6c4bd9cc10 Refactor caret shape functions 2021-06-05 00:21:58 +01:00
Matt Ellis b50281f8d5 Extract caret shape methods to helper 2021-06-05 00:14:10 +01:00
Matt Ellis 2be0f5cedb Reset caret visual position after mode changes
Fixes an issue where the caret was incorrectly positioned because it was moved before the mode was changed. This wasn't visible in 211 because a couple of bugs in the platform combined to put the caret in the right place.

See #280, IDEA-262153 and KTIJ-3768
2021-06-04 17:05:03 +01:00
Matt Ellis 646a89d52a Refactor showMode update 2021-06-04 16:45:07 +01:00
Alex Plate fea71903de Fix global test 2021-06-04 09:39:10 +03:00
Alex Plate 0220d2b40f Suppress inspection 2021-06-04 09:39:09 +03:00
dependabot[bot]andAlex Pláte c751c51b25 Bump markdown from 0.2.3 to 0.2.4
Bumps [markdown](https://github.com/JetBrains/markdown) from 0.2.3 to 0.2.4.
- [Release notes](https://github.com/JetBrains/markdown/releases)
- [Commits](https://github.com/JetBrains/markdown/commits)

---
updated-dependencies:
- dependency-name: org.jetbrains:markdown
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-04 09:37:10 +03:00
Alex Plate 8fedf78e03 refactoring: update formatting 2021-06-03 11:57:27 +03:00
Alex Plate bd3c86e068 Update plugin.xml 2021-06-03 11:47:00 +03:00
Alex Plate 46d459bd73 Update changelog 2021-06-03 11:04:49 +03:00
Alex Plate d1feaad5a9 Update dependabot lock 2021-06-03 11:02:27 +03:00
Alex Plate b5b6c8f37a fix(sethandler): Correct presentation on settings page 2021-06-03 10:44:23 +03:00
Alex Plate 067aaa798d setHandler: fix parsing of a mapping 2021-06-03 10:12:38 +03:00
Alex Plate c85d7dcd7a Do not save the executed command to history 2021-06-02 10:54:11 +03:00
Alex Plate c1b1f1efd8 Add tests for nested global commands 2021-06-02 10:31:49 +03:00
Alex Plate 68dcd21c4e More muted neovim tests 2021-06-01 17:52:22 +03:00
Alex Plate 748484e129 Use more neovim in tests 2021-06-01 17:44:32 +03:00
Alex Plate 293e9988c7 Add 2021.1 to plugin verifier 2021-06-01 16:31:41 +03:00
Alex Plate c390a295cd Update gradle plugin to version 1.0 2021-06-01 16:31:41 +03:00
Alex Plate bdf1f3c33d Update gradle wrapper to 7.0.2 version 2021-06-01 16:31:40 +03:00
Alex Plate a0b8685f7d Update some tests to use neovim 2021-06-01 16:31:40 +03:00
Alex Plate 06fc25cf3b Remove TODO 2021-06-01 16:31:40 +03:00
Alex Plate 18e76c5f12 Do not update PR after dependabot 2021-06-01 16:31:40 +03:00
Alex Plate 53e1bc5b83 Update changelog after merging PR 2021-05-31 06:34:38 +00:00
dependabot[bot]andAlex Pláte f3b77663f8 Bump annotations from 20.1.0 to 21.0.1
Bumps [annotations](https://github.com/JetBrains/java-annotations) from 20.1.0 to 21.0.1.
- [Release notes](https://github.com/JetBrains/java-annotations/releases)
- [Changelog](https://github.com/JetBrains/java-annotations/blob/master/CHANGELOG.md)
- [Commits](https://github.com/JetBrains/java-annotations/compare/20.1.0...21.0.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-31 09:33:13 +03:00
dependabot[bot]andAlex Pláte fb25ea7cf9 Bump github-api from 1.128 to 1.129
Bumps [github-api](https://github.com/hub4j/github-api) from 1.128 to 1.129.
- [Release notes](https://github.com/hub4j/github-api/releases)
- [Changelog](https://github.com/hub4j/github-api/blob/main/CHANGELOG.md)
- [Commits](https://github.com/hub4j/github-api/compare/github-api-1.128...github-api-1.129)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-31 09:33:01 +03:00
Alex Plate 33dec9746a Fmt 2021-05-30 23:58:12 +03:00
Alex Plate 079006e3ce Add suppression of some neovim tests 2021-05-30 23:49:18 +03:00
Alex Plate b32befe5df Use wrapper functions around myFixture 2021-05-30 15:18:03 +03:00
Alex Plate 91139005dc Suppress some deprecated methods 2021-05-29 11:21:05 +03:00
Alex Plate 9c53f8608a Add SSR inspection to replace myFixture check result 2021-05-28 19:40:22 +03:00
Alex Plate 7144491d0c refactor: Replace myFixture.checkResult with assertState function
assertState function also performs neovim check
2021-05-28 19:39:32 +03:00
Alex Plate a9831ccf40 style: run ktlint 2021-05-28 19:22:08 +03:00
Alex Plate fa3e18fe58 test: Update global handler tests 2021-05-28 11:54:44 +03:00
Alex Plate 08f29bacfd feat: Support :print command 2021-05-28 11:51:54 +03:00
Alex Plate 5a6803551b Fix typo 2021-05-28 10:29:34 +03:00
Alex Plate a5f612c85a Use correct library for neovim testing 2021-05-28 10:09:31 +03:00
Alex Plate dab69249d0 Fix some neovim tests 2021-05-27 22:44:17 +03:00
Alex Plate e1f0098164 Add custom inspection to use vimRunForEachCaret 2021-05-27 22:33:05 +03:00
Alex Plate 14428aaf49 Formatting 2021-05-27 22:01:49 +03:00
Alex Plate f9ebfcc467 Use RangeMarker for marking lines 2021-05-27 12:50:48 +03:00
Alex Plate 07446309d3 Finish command even after an exception 2021-05-27 12:50:48 +03:00
Alex Plate d2de23481a Add clarification what is weird 2021-05-27 12:50:47 +03:00
Alex Plate d8ead10c0f Add gotInt variable 2021-05-27 12:50:47 +03:00
Alex Plate 6a38188602 Add tests for incorrect :g command 2021-05-27 12:50:47 +03:00
Alex Plate 13884e9524 Add error message about failed search command 2021-05-27 12:50:47 +03:00
Alex Plate 1ff629e257 Add tests for global command 2021-05-27 12:50:47 +03:00
Alex Plate 67649a1746 Extract search_regcomp function 2021-05-27 12:50:47 +03:00
Alex Plate 3a2f370c8c Show message on missing pattern in global command 2021-05-27 12:50:46 +03:00
Alex Plate 6380608fa2 Change approach of neovim testing 2021-05-27 12:50:46 +03:00
Alex Plate 4df53701a1 Print an amount of tests without nvim 2021-05-27 12:50:46 +03:00
Alex Plate 3050b19366 Move more tests to neovim 2021-05-27 12:50:46 +03:00
Alex Plate 4c0a9b3797 Move more tests to neovim 2021-05-27 12:50:46 +03:00
Alex Plate 7850508cfe Add global busy 2021-05-27 12:50:46 +03:00
aleksei.plateandtcuser dfbb36eb53 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'Qodana checks' build configuration were updated 2021-05-26 15:25:49 +00:00
Alex Plate e55fbe9159 Fix formatting 2021-05-26 13:47:32 +03:00
Alex Plate 8a3af47b35 Support vglobal and global! 2021-05-26 11:58:03 +03:00
Alex Plate 11dc8cf982 Execute global command 2021-05-26 10:58:27 +03:00
Alex Plate b91a3c16fc Move more tests to neovim 2021-05-26 09:35:58 +03:00
Alex Plate abfe2bbe37 Convert test to kt 2021-05-25 22:49:34 +03:00
Alex Plate f8bc330909 Rename .java to .kt 2021-05-25 22:49:34 +03:00
Alex Plate 999cf39aec Update a few tests to use neovim integration 2021-05-25 22:47:12 +03:00
Alex Plate 661a6563b0 Start implementing global handler to support :g command 2021-05-25 22:38:30 +03:00
Alex Plate e33cf5b4ed Update changelog 2021-05-24 11:08:26 +03:00
Alex Plate d401b6483c Set branch in mergePr.yml workflow 2021-05-24 11:06:59 +03:00
Alex PláteandGitHub 5a855659b0 Merge pull request #308 from citizenmatt/VIM-2308
Fix unnecessary caret movement when switching tabs
2021-05-24 11:03:08 +03:00
Alex Plate e21e1b0b3d Update docs 2021-05-24 10:55:42 +03:00
Alex Plate 232cb3ee7d Update changelog 2021-05-24 10:45:47 +03:00
Alex Plate 8bdefd85d4 Add Shrikant Sharat Kandula to contributors list 2021-05-24 10:42:15 +03:00
Alex Plate 1719775ffc Fix invalid workflow 2021-05-24 10:41:48 +03:00
Alex PláteandGitHub 86296e4066 Merge pull request #261 from sharat87/extension/textobjindent
New extension: Indentation based text objects
2021-05-24 10:35:21 +03:00
Alex PláteandGitHub 8c8c2ae271 Update README.md 2021-05-21 16:18:59 +03:00
Alex Plate 25f1674619 Add workflow to update changes after merged PR 2021-05-21 11:53:43 +03:00
Alex Plate 29b3d6de3f Revert correct position of authors 2021-05-21 10:48:52 +03:00
Alex Plate d6c76c9298 Add Alex Pláte to contributors list 2021-05-21 07:46:16 +00:00
Alex Plate b0168f46d7 Remove me from AUTHORS.md 2021-05-21 10:43:00 +03:00
Alex PlateandAlex Plate 117990cd46 Set authors to commit message 2021-05-21 10:36:29 +03:00
Alex Plate 6d238b382f Fix dependabot ignoring 2021-05-21 10:19:36 +03:00
dependabot[bot]andAlex Pláte 75fb384109 Bump markdown from 0.1.45 to 0.2.3
Bumps [markdown](https://github.com/JetBrains/markdown) from 0.1.45 to 0.2.3.
- [Release notes](https://github.com/JetBrains/markdown/releases)
- [Commits](https://github.com/JetBrains/markdown/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-21 10:17:38 +03:00
Alex Plate e2a7a3686b Get rid of detekt 2021-05-21 10:17:02 +03:00
Alex Plate e29b42c4b1 Exclude dependabot from authors updater 2021-05-21 10:07:30 +03:00
Alex Plate 717806e821 Update shortcuts of ideavim reload 2021-05-21 10:07:30 +03:00
dependabot[bot]andAlex Pláte 0a4f20b60c Bump io.gitlab.arturbosch.detekt from 1.15.0 to 1.17.0
Bumps io.gitlab.arturbosch.detekt from 1.15.0 to 1.17.0.

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-21 10:07:22 +03:00
dependabot[bot]andAlex Pláte 90de8f3900 Bump remote-robot from 0.11.2 to 0.11.4
Bumps remote-robot from 0.11.2 to 0.11.4.

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-20 11:45:49 +03:00
Alex Plate 09d4c727b1 Update doc 2021-05-20 10:37:12 +03:00
Alex Plate 5a88c982cb Update plugin.xml 2021-05-20 10:34:03 +03:00
Alex Plate 13a0e1d725 Prepare to 0.67 release 2021-05-20 10:28:56 +03:00
Alex Plate 7c06243d54 Prepare to 0.67 release 2021-05-20 10:28:51 +03:00
Alex Plate ecd3b90300 Refactor updateAuthors script 2021-05-19 12:33:02 +03:00
Alex Plate dc5a38ccba Remove TC job for updating authors 2021-05-17 23:16:14 +03:00
Alex Plate 406675f750 Revert "Update authors" 2021-05-17 23:14:25 +03:00
Alex Plate a5e0572600 Update contributors list 2021-05-17 20:11:34 +00:00
Alex Plate 3e5106525d Checkout with depth 2021-05-17 23:09:48 +03:00
Alex Plate 60b1e14e54 Use project dir variable 2021-05-17 23:06:05 +03:00
Alex Plate 31e667a421 Log email updates 2021-05-17 22:59:51 +03:00
Alex Plate 02428776a7 Commit only authors file 2021-05-17 22:47:50 +03:00
Alex Plate 7c1ab73f11 Revert "Update contributors list"
This reverts commit 8b5758fc37.
2021-05-17 22:43:50 +03:00
Alex Plate 8b5758fc37 Update contributors list 2021-05-17 19:38:12 +00:00
Alex Plate cb9eb8f67e Add update-authors right in build script 2021-05-17 22:36:24 +03:00
Alex Plate b496f13c3c Add token to GitHub action 2021-05-17 19:17:38 +03:00
Alex Plate f21a0622b0 Use new version of update-authors 2021-05-17 19:11:10 +03:00
Alex Plate 5ddf8f2c34 Update authors-update version 2021-05-17 18:52:48 +03:00
Alex PláteandGitHub 31655aace4 Create updateAuthors.yml 2021-05-17 18:40:31 +03:00
Alex Plate 32dca0799c Add alex.plate@TeamCity 2021-05-17 18:25:33 +03:00
Alex Plate 79cb90e642 Reformat update checker 2021-05-17 18:17:46 +03:00
Alex Plate 56bde906d9 Add another incorrect email 2021-05-17 18:14:52 +03:00
Alex Plate 315af4cd5b Do not check TC email 2021-05-17 18:09:10 +03:00
Alex Plate 4abc72f05a Update update-authors library version 2021-05-17 18:02:08 +03:00
Alex PlateandAlex Plate 393aba90e9 Update authors 2021-05-17 17:52:41 +03:00
Alex Plate 90624c03d2 Apply TC patch 2021-05-17 17:50:50 +03:00
aleksei.plateandtcuser f75599805f TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: parameters of 'Update AUTHORS.md' build configuration were updated 2021-05-17 14:46:49 +00:00
Alex Plate cc343fae9e Add update authors task 2021-05-17 17:41:59 +03:00
Alex Plate c22b299bed Revert "Add 大牙(Henry Zhu) to contributors list"
This reverts commit 28c806bfee.
2021-05-17 13:38:28 +03:00
alex.plate 28c806bfee Add 大牙(Henry Zhu) to contributors list 2021-05-17 13:37:42 +03:00
Matt Ellis 0bde71d4dd Merge branch 'master' into VIM-2308 2021-05-14 11:51:25 +01:00
Alex Plate aa51dcddc6 Rename updateChecker 2021-05-14 12:16:53 +03:00
Alex Plate 8ca865e5aa Remove redundant SAM constructors 2021-05-14 10:52:32 +03:00
Alex Plate a9f1d2ac14 Update changelog 2021-05-14 09:49:40 +03:00
Alex Plate 018e5cba83 Enable copy action only if there are things to copy 2021-05-14 09:41:55 +03:00
Alex Plate bbcfee3ad6 Revert version of gradle plugin to 0.7.3 2021-05-14 09:38:34 +03:00
Alex Plate df52f37b69 Add reset handlers action for configurable table 2021-05-14 09:27:54 +03:00
Alex Plate 308ab4b4f5 Update amount of contributors 2021-05-13 23:18:07 +03:00
Alex Plate f07b6e28c1 Update changelog a bit 2021-05-13 21:00:46 +03:00
Alex Plate 790fc92916 Rename Vim Emulation to Vim in settings 2021-05-13 20:58:23 +03:00
Alex Plate bb5632c98d Update ktlint and detekt formatting 2021-05-13 19:36:33 +03:00
Alex Plate 879a73494b Run formatters 2021-05-13 19:34:13 +03:00
Alex Plate 93d80b8dfb Move to kotlin 1.5 2021-05-13 19:33:56 +03:00
Alex Plate edf6a04a36 Run ktlint 2021-05-13 13:55:31 +03:00
Alex Plate b1662cdc1a [TC] Remove unused imports 2021-05-13 12:05:26 +03:00
Alex Plate cec56e78bf [TC] Remove 201 release job 2021-05-13 12:02:40 +03:00
Alex Plate b0bfd0f56e Updates for qodana 2021-05-13 11:59:52 +03:00
Alex Plate 4312aceae7 Do not save per-mode info 2021-05-13 11:05:24 +03:00
Alex Plate a646a59d8d Move toolbar to the right 2021-05-13 10:51:48 +03:00
Alex Plate c9eafe1db3 [TC] Username is not required for token publishing 2021-05-13 10:47:01 +03:00
Alex Plate 270ba9d196 Username is not required for token publishing 2021-05-13 10:43:51 +03:00
Matt Ellis 7300d252f8 Rename go to tab actions 2021-05-13 01:18:31 +01:00
Matt Ellis 9b73cc16e6 Move tab actions out of motion package 2021-05-13 01:12:24 +01:00
Matt Ellis b7da57d6d1 [VIM-2308] Fix caret and scroll position after gt 2021-05-13 00:05:06 +01:00
Alex Plate dee78cd503 Move to gradle plugin 1.0 2021-05-12 21:12:15 +03:00
Alex Plate 383e1d5245 Keep compatibility with easymotion plugin 2021-05-12 11:51:33 +03:00
Alex Plate 2ec9329f2e Update plugin.xml 2021-05-12 11:31:25 +03:00
Alex Plate 15fc2c01bd Update changes 2021-05-12 11:21:43 +03:00
Alex Plate 4fdd9b4710 Fix issue with global sethandler 2021-05-12 10:56:49 +03:00
Alex Plate 7765c464f3 Add sethandler to dic 2021-05-12 09:51:29 +03:00
Alex Plate 43eba0aa1d Update help link 2021-05-12 09:49:48 +03:00
Alex Plate e097cd2daa Create sethandler documentation 2021-05-12 09:45:20 +03:00
Alex Plate ad6b5719d2 Update copy action description 2021-05-12 09:45:20 +03:00
Alex Plate 5d344e3193 Rename setkeydev to sethandler 2021-05-12 09:45:19 +03:00
Alex Plate 0cd86282d2 Use setHtmlText for label 2021-05-12 09:45:19 +03:00
dependabot[bot]andAlex Pláte 6b8d00decf Bump remote-robot from 0.10.3 to 0.11.2
Bumps remote-robot from 0.10.3 to 0.11.2.

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-11 12:12:25 +03:00
Alex Plate 85aae4d408 Fix issues with Track action IDs notification 2021-05-11 10:54:20 +03:00
Shrikant Sharat Kandula 92b0a3abb2 Merge branch 'master' into extension/textobjindent
# Conflicts:
#	resources/META-INF/includes/VimExtensions.xml
2021-05-09 18:56:34 +05:30
Shrikant Sharat Kandula 444a48f2a1 More tests and fixes 2021-05-09 18:53:50 +05:30
Shrikant Sharat Kandula 039b44b07a Added more tests and fixes for the tests 2021-05-09 18:35:53 +05:30
Shrikant Sharat Kandula d7ed33c351 Add test for basic tiny buffer, and fix it 2021-05-08 21:35:47 +05:30
Shrikant Sharat Kandula 0edff4665c Fix name mismatch causing tests to not run 2021-05-08 21:35:28 +05:30
Alex Plate 66b2fee823 Add .ideavimrc to dic 2021-05-04 15:42:12 +03:00
Alex Plate 2139e31754 Add help lines for the table 2021-05-04 14:51:19 +03:00
Alex Plate 3752d35229 Trigger readonly handler when perform editing operations 2021-04-30 16:08:04 +03:00
Alex Plate 9a90e80da1 Add more words to dictionary 2021-04-30 14:17:28 +03:00
Alex Plate 5d3ec771c4 Adding ideavim.dic file where IdeaVim-specific words can be defined 2021-04-30 13:48:21 +03:00
Alex Plate 6785d17ab3 Remove warning 2021-04-29 23:02:39 +03:00
Alex Plate 99a0415235 Do not expire the notification after help link pressing 2021-04-29 22:56:08 +03:00
Alex Plate 0fe3f50d93 Make helper text gray 2021-04-29 11:01:35 +03:00
Alex Plate 06647a4cf6 [VIM-2295] Fix s-space in insert mode with an existing mapping 2021-04-29 10:12:16 +03:00
Alex Plate 66b1e4a327 Update baseline 2021-04-28 12:06:20 +03:00
Alex Plate a5e1a8116f Add copy action for conflicts table 2021-04-28 11:53:37 +03:00
Alex Plate 0bf77e1737 Update changes 2021-04-28 10:21:49 +03:00
Alex Plate 038f0a5135 Sort key owners modes 2021-04-28 10:17:42 +03:00
Alex Plate e7d4dde9d9 Helper text with an example 2021-04-28 10:17:23 +03:00
michalandAlex Pláte 96dbbcff3e VIM-1476 Store last inserted text in ". register 2021-04-28 10:15:14 +03:00
Alex Plate 1479742fe8 Add helper message for the shortcut conflicts table 2021-04-27 11:58:11 +03:00
Alex Plate 45bebd898d Update gradle-intellij-plugin 2021-04-27 10:38:34 +03:00
Alex Plate 2f99cf81fc Use default renderer for per-mode shortcut owners 2021-04-26 12:05:56 +03:00
Alex Plate 0aa5450dc6 Expire the notification after pressing the action 2021-04-26 11:01:57 +03:00
Alex Plate 5cdca0b7c1 Change wording for undefined shortcut notification 2021-04-25 19:57:02 +03:00
Alex Plate 58ed857724 Use correct check mark for EAP 2021-04-25 19:34:25 +03:00
Alex Plate 66536a59a9 Add an .ideavimrc file template 2021-04-25 15:52:45 +03:00
Alex Plate 35ab292c9f Show "create ~/.ideavimrc" if this file is missing 2021-04-25 15:22:22 +03:00
Alex Plate 341f1e915f Change Contribute on GitHub to Star on GitHub 2021-04-25 15:01:07 +03:00
Alex Plate 28da9da752 Update README and CHANGES 2021-04-25 14:59:11 +03:00
Alex Plate 6ce9330d3b Rename EAP to Early Access Program 2021-04-25 14:55:07 +03:00
Alex Plate c251ee2d22 Update shortcuts conflict notification 2021-04-25 00:52:43 +03:00
Alex Plate cee5137603 Replace three dots with an ellipsis 2021-04-25 00:52:25 +03:00
Alex Plate fd5c6d0024 Show full settings dialog instead of only part of it 2021-04-25 00:25:01 +03:00
Alex Plate 3d5a962332 Disable editing for PerMode keyowner 2021-04-25 00:14:46 +03:00
Alex Plate f096b290a7 Parsing of setkey command 2021-04-24 23:44:10 +03:00
Alex Plate 5a9281ece4 [TC] Add 2021.1 version of IJ to tests 2021-04-24 16:42:50 +03:00
Alex Plate b1367ec0a9 Split ShortcutOwnerInfo into two subclasses 2021-04-24 16:02:02 +03:00
Alex Plate e73d919ed7 Continuation of experiments with mode-specific key handlers 2021-04-24 13:34:39 +03:00
Alex Plate 9bcb5e73ba Fix vim exchange with backward selection 2021-04-24 13:05:47 +03:00
Alex Plate 87f7510007 Add testWithoutNeovim annotations 2021-04-24 12:05:29 +03:00
Alex Plate 814e3d8ee7 Refactoring shortcut owner to add an information about applied mode 2021-04-24 12:05:10 +03:00
Alex Plate d2cc6cca36 Convert ShortcutOwner to kt 2021-04-23 21:37:08 +03:00
Alex Plate ea5a95d536 Rename .java to .kt 2021-04-23 21:37:08 +03:00
Alex Plate a845eb3942 Rename ShortcutOwner variable name 2021-04-23 21:33:44 +03:00
Alex Plate f87fb34943 Fix actions popup place issue 2021-04-23 20:34:41 +03:00
Matt EllisandAlex Pláte 4dc9c1f433 Fix scrolling at end of file with folds
Caret must be within scrolloff lines of the bottom of the file

Fixes VIM-2291
2021-04-23 20:03:13 +03:00
Alex Plate d885a63c7d Update plugin.xml 2021-04-23 09:47:59 +03:00
Alex Plate 62833f2fa9 Update formatting 2021-04-22 12:43:53 +03:00
Alex Plate e6ff69d6fc Downgrade gradle wrapper to 6.8.2 2021-04-22 12:43:47 +03:00
Alex Plate 176f840cb6 Update gradle wrapper to 7.0 version 2021-04-22 12:34:40 +03:00
Alex Plate 76f06170ad [VIM-2290] Support vim-paragraph-motion plugin 2021-04-22 12:08:17 +03:00
Alex Plate b6561cd940 Remove bintray dependency 2021-04-22 11:06:06 +03:00
Alex Plate 878d7070a4 Add some popular IJ actions to readme 2021-04-22 10:04:53 +03:00
Alex Plate 5f71198c88 [VIM-2289] Fix <End> command behavior 2021-04-22 09:54:22 +03:00
Alex Plate 8d941913aa Qodana cleanup 2021-04-21 10:46:38 +03:00
Alex Plate 599571e6ea Update formatting 2021-04-21 10:23:14 +03:00
Alex Plate 90709ef4d0 [CWM-2643] Create function for get list of editors of the current host 2021-04-21 10:04:04 +03:00
Alex Plate 378aa1026d [VIM-2284] Set command doesn't duplicate options 2021-04-20 11:13:14 +03:00
Alex Plate 4fb1761fa5 Execute action listeners when call for IDE action 2021-04-20 10:44:56 +03:00
Alex Plate 254193eb8c [TC] Revert updated qodana config 2021-04-20 09:39:15 +03:00
Alex Plate d92e260ffd [TC] Update qodana config 2021-04-19 13:33:14 +03:00
Alex Plate 8f5a5e4d57 Disable neovim test for some tests 2021-04-19 11:58:24 +03:00
Alex Plate d0d9535d2f Big refactoring of MotionHandler 2021-04-19 11:32:16 +03:00
Alex Plate df1409af76 Add MichalPlacek to contributors list 2021-04-19 10:43:38 +03:00
michalandAlex Pláte cfe34733e9 VIM-2276 ls returns "absolute path" for files on Microsoft Windows. 2021-04-19 10:40:04 +03:00
Alex Plate e916cbe762 Update changes 2021-04-19 10:27:09 +03:00
Alex PláteandGitHub a8a4142cef Merge pull request #280 from citizenmatt/ideavim-sidescroll
Caret position and view scrolling fixes
2021-04-16 11:21:42 +03:00
Alex Plate 3b3fffe838 [TC] update version 2021-04-09 11:19:13 +03:00
Alex Plate d32b8a1e71 Prepare for the new release 2021-04-09 11:19:13 +03:00
Alex Plate 05e547edb5 Fix toRegex function for keyword option 2021-04-09 11:19:13 +03:00
Alex PláteandGitHub 1b25430fe7 Update README.md 2021-04-06 10:12:01 +03:00
Alex Plate 278dc6880c Add an option to trace actions execution time 2021-04-02 10:26:39 +03:00
Alex Plate 0bd1761077 Fixing Matt name (he is from England, not China) 2021-04-02 09:41:11 +03:00
Alex Plate b1ae964ca3 Fix SearchGroup parsing in case of broken data 2021-04-01 11:20:19 +03:00
Alex Plate 56cbb9e9af Update changes 2021-04-01 09:33:14 +03:00
Alex Plate 70558574a8 Update changelog 2021-04-01 09:25:02 +03:00
Alex Plate dab8375f5e Do not test some tests with neovim 2021-03-31 11:16:15 +03:00
Alex Plate ccd9d05ac7 [TC] Extract linting and formatting into the separate job 2021-03-31 10:51:27 +03:00
Alex Plate 69a045c144 Fix formatting 2021-03-31 10:47:06 +03:00
Alex Plate 8f7b609c7c Remove wildcard import 2021-03-31 10:40:22 +03:00
Alex Plate 0019dd6c7a Do not try to compare text for vim reloading in non .ideavimrc file 2021-03-31 10:32:13 +03:00
Alex Plate 305a99afc8 Rename doTestWithoutNeovim function 2021-03-31 10:32:12 +03:00
Alex PláteandGitHub eec23d9640 Merge pull request #276 from citizenmatt/refactor-searchgroup
More refactoring of SearchGroup
2021-03-31 10:30:31 +03:00
Matt Ellis 76f28ef94a Update formatting 2021-03-23 14:25:59 +00:00
Matt Ellis 3b89d96553 Handle scrolling page with virtual space 2021-03-23 01:01:15 +00:00
Matt Ellis 0fba78f885 [VIM-2177] Do not scroll end of file to bottom of screen 2021-03-22 14:20:28 +00:00
Matt Ellis ee38944cf9 Fix caret position at end of file with scrolloff 2021-03-22 10:10:36 +00:00
Shrikant Sharat Kandula c24cbcfbc0 Refactor implementation and test 2021-03-21 11:13:48 +05:30
Shrikant Sharat Kandula 28c01f0a43 Handle outer selection for lower boundary 2021-03-21 10:52:55 +05:30
Shrikant Sharat Kandula 182f671e35 Handle inner selection for upper boundary 2021-03-21 10:46:02 +05:30
Shrikant Sharat Kandula 788495aac8 Merge branch 'master' into extension/textobjindent
# Conflicts:
#	resources/META-INF/includes/VimExtensions.xml
2021-03-21 10:02:52 +05:30
Shrikant Sharat Kandula 7cbeb821f5 Upper boundary functional 2021-03-21 09:59:34 +05:30
Matt Ellis 36901194dc Scroll last line to bottom of screen with G 2021-03-18 21:26:42 +00:00
Matt Ellis 58071007bd Ignore sidescrolloff with caret at start of line 2021-03-18 21:20:48 +00:00
Matt Ellis 07bafdf416 Minor clean up 2021-03-17 12:17:51 +00:00
Matt Ellis f7bb5ec500 Scroll view with Enter in insert mode 2021-03-17 12:17:51 +00:00
Matt Ellis b92114fec6 Scroll view when inserting new line above 2021-03-17 12:17:51 +00:00
Matt Ellis fe9bb2a712 Scroll view when inserting new line below 2021-03-17 12:17:51 +00:00
Matt Ellis 81996f8051 Do not beep when removing highlights with Escape 2021-03-17 12:17:51 +00:00
Matt Ellis a0a976c345 Scroll view for <Del> and <BS> in insert mode 2021-03-17 12:17:51 +00:00
Matt Ellis 9315f36f16 Scroll view for <Tab> in insert mode
Note that this doesn't actually work, as we ignore <Tab> in insert mode, so that other actions, specifically the live template action, can handle it. Without this, Emmet doesn't work (VIM-674). The scrolling does work with <C-I>
2021-03-17 12:17:51 +00:00
Matt Ellis cdc03836d2 Scroll view when moving up/down in insert mode 2021-03-17 12:17:50 +00:00
Matt Ellis a14e95ad6c Scroll view when deleting text 2021-03-17 12:17:50 +00:00
Matt Ellis dd230f720f [VIM-2230] Caret and inlay with preceding text 2021-03-17 12:17:50 +00:00
Matt Ellis fa781de76f Simplify inserting register text 2021-03-17 12:17:50 +00:00
Matt Ellis 377e085aa0 Merge branch 'master' into refactor-searchgroup 2021-03-10 11:45:55 +00:00
Matt Ellis 3642b32ed6 Fix range handling 2021-03-10 10:30:33 +00:00
Alex Plate 8a6ecf005b Test using neovim with assertOffset 2021-03-10 11:47:45 +03:00
Alex Plate 6866fdbdf5 Update search group tests 2021-03-05 11:25:38 +03:00
Alex Plate 78bc4060b3 Update after rebase 2021-03-05 10:38:39 +03:00
Matt EllisandAlex Plate 16b901ea9e Update formatting 2021-03-05 10:38:39 +03:00
Matt EllisandAlex Plate 26a3974477 Stop multiple-cursors affecting search state
Searching no longer uses the high level search APIs that affect state such as saved searches, history and highlighting. Also conforms better to vim-multiple-cursors behaviour:
* Searches are now case sensitive
* Regular expressions in search text are ignored
* "Select all" works with nowrapscan
* Next occurrence based on existing selection no longer uses word boundary flag
* "No more matches" message shown at more appropriate times
2021-03-05 10:38:39 +03:00
Matt EllisandAlex Plate 9a10d6fe6c Remove usage of deprecated API 2021-03-05 10:38:38 +03:00
Matt EllisandAlex Plate eb72def6d0 Remove unnecessary caret move 2021-03-05 10:38:38 +03:00
Matt EllisandAlex Plate 3fe2a2e3b0 Fix updating last search/sub patterns 2021-03-05 10:38:38 +03:00
Matt EllisandAlex Plate d22d0f67b5 Remove duplication in invalid command message 2021-03-05 10:38:38 +03:00
Matt EllisandAlex Plate e56e944309 Simplify writing state 2021-03-05 10:38:38 +03:00
Matt EllisandAlex Plate 2d853d8d28 Rename searchAndReplace processSubstituteCommand 2021-03-05 10:38:38 +03:00
Matt EllisandAlex Plate e5d086dace Introduce test method to set state 2021-03-05 10:38:38 +03:00
Matt EllisandAlex Plate eccdd725b7 Introduce processSearchRange 2021-03-05 10:38:37 +03:00
Matt EllisandAlex Plate 284e0b4bf5 Rename search to processSearchCommand
The method is doing more than just searching, such as parsing the search command and state management
2021-03-05 10:38:37 +03:00
Matt EllisandAlex Plate 47becb2721 Remove unused count for main search method
This method is the main implementation for '/' and '?' and does not support a count. It is currently being used incorrectly in places that should be using a simpler find helper.
2021-03-05 10:38:37 +03:00
Matt EllisandAlex Plate 0b64e26235 Replace search command flags with Direction enum 2021-03-05 10:38:37 +03:00
Matt EllisandAlex Plate d90db8157c Remove overload that assumes primary caret offset 2021-03-05 10:38:37 +03:00
Matt EllisandAlex Plate 11da530151 Remove overload that takes a caret 2021-03-05 10:38:37 +03:00
Matt EllisandAlex Plate c067c67e34 Remove unused code to move caret 2021-03-05 10:38:37 +03:00
Matt EllisandAlex Plate 89913ad4d7 Remove unused search handling from ProcessExEntry 2021-03-05 10:38:36 +03:00
Alex Plate b73f34ad8c Useless change 2021-03-05 10:38:22 +03:00
Alex Plate 17cf68d8a5 Support testing without neovim for a lot of tests 2021-03-03 11:17:08 +03:00
Alex Plate 5c1795ee03 Add startofline option to the list of supported commands 2021-03-03 11:02:47 +03:00
Alex Plate 19a8480a88 Update changes 2021-03-03 11:01:04 +03:00
Matt EllisandAlex Pláte e0e80d2ea8 Update after running ktlintFormatter 2021-03-03 10:56:50 +03:00
Matt EllisandAlex Pláte adab2326ed Add 'startofline' to count percent motion 2021-03-03 10:56:50 +03:00
Matt EllisandAlex Pláte 4ef629950d Add 'startofline' support for shift operations 2021-03-03 10:56:50 +03:00
Matt EllisandAlex Pláte 39197df0c7 Add 'startofline' support for scrolling actions 2021-03-03 10:56:50 +03:00
Matt EllisandAlex Pláte 1d3d6f0ea1 Add 'startofline' support to G, gg and i_<C-Home> 2021-03-03 10:56:50 +03:00
Matt EllisandAlex Pláte 9272ffa52c Add 'startofline' support to goto line action 2021-03-03 10:56:50 +03:00
Matt EllisandAlex Pláte 187e5864ac Add tests and introduce 'startofline' option
Update behaviour of H, L and M to handle 'scrolloff' correctly, operator pending mode and 'startofline' caret placement. Also implemented 'startofline' support for delete motion action.
2021-03-03 10:56:50 +03:00
Matt EllisandAlex Pláte e0711248a0 [VIM-2238] Correctly place cursor at mid line of short files 2021-03-03 10:56:50 +03:00
Alex Plate bbbcf0502e Annotation some functions as not-neovim tested 2021-03-02 12:10:14 +03:00
Alex Plate 0498fac291 [TC] Add git label after stable release 2021-03-02 10:05:55 +03:00
Alex Plate fa007148da [TC] Make slack notification only on stable releases 2021-03-02 10:05:55 +03:00
Alex Plate 7e69e5704a Rename task from eapNotification to notification 2021-03-02 10:05:55 +03:00
aleksei.plateandtcuser 8579229797 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: build features of 'Qodana checks' build configuration were updated 2021-03-02 06:59:48 +00:00
aleksei.plateandtcuser 59d8f4c1cf TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'Qodana checks' build configuration were updated 2021-03-02 06:59:34 +00:00
Alex Plate d05942ebe1 Use correct version of kotlin plugin 2021-02-26 11:18:28 +03:00
Alex Plate 1b9457bdff Update structure and add comments to build.gradle.kts 2021-02-26 10:21:36 +03:00
Alex Plate 05f2848d41 Convert gradle to kotlin DSL 2021-02-26 10:02:23 +03:00
Alex Plate ab3a28e50d Rename from groovy to kotlin 2021-02-26 10:01:25 +03:00
Alex Plate 121daa81cc Remove some deprecations 2021-02-24 11:44:27 +03:00
Alex PláteandGitHub 17e1d75238 Create codeql-analysis.yml 2021-02-24 11:32:33 +03:00
Alex Plate 597cdf4398 [TC] Add fail condition on artifact size change 2021-02-24 11:20:40 +03:00
Alex Plate 215ca7806e Extract assets from the distribution 2021-02-24 11:20:15 +03:00
Alex Plate 92f0d28d24 Remove some warnings from tests 2021-02-24 10:30:44 +03:00
Alex Plate d964a0c375 Update gradle-intellij plugin version 2021-02-24 10:21:48 +03:00
Alex Plate 332f04fdfe Remove deprecation 2021-02-24 10:17:12 +03:00
Alex Plate 291ea3bfb0 Enable fail on warning for java 2021-02-24 05:09:34 +03:00
Alex Plate 51dbef9060 [TC] Update job name 2021-02-24 04:28:05 +03:00
Alex Plate d6f771f6c3 [TC] Extract github pull requests into the separate project 2021-02-24 04:24:09 +03:00
Alex Plate d659ee2880 Apply qodana patch 2021-02-24 04:16:29 +03:00
Alex Plate 7b37a5e611 Update method 2021-02-24 04:16:20 +03:00
aleksei.plateandtcuser b99f2a23a8 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: build features of 'Qodana checks' build configuration were updated 2021-02-24 01:14:35 +00:00
Alex Plate a54d8af051 Linting 2021-02-24 04:07:51 +03:00
Alex Plate 62a309cba6 Update annotations 2021-02-20 18:20:29 +03:00
Alex Plate b7c0e4725d Suppress code duplicate 2021-02-20 16:26:58 +03:00
Alex Plate 53a21fb5fe Qodana cleanup 2021-02-20 13:14:27 +03:00
Alex Plate 5802f7c2c5 [TC] Build dev build a bit later 2021-02-20 12:29:06 +03:00
Alex Plate 3c2640c90d [TC] Update fail condition 2021-02-20 12:19:47 +03:00
Alex Plate 6f2ea9e893 [TC] Update fail condition 2021-02-20 12:16:46 +03:00
aleksei.plateandtcuser 8b06bdfc29 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: build features of 'Tests for IntelliJ Latest EAP' build configuration were updated 2021-02-20 09:15:09 +00:00
Alex Plate b6a5e60b68 Fix qodana issues 2021-02-20 12:08:06 +03:00
Alex Plate e16857457c [TC] Update configs 2021-02-20 11:52:00 +03:00
aleksei.plateandtcuser 20663ec854 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: VCS roots of 'Qodana checks' build configuration were updated 2021-02-20 08:46:44 +00:00
Alex Plate f0166dd18f Fix compatibility issues 2021-02-20 11:36:20 +03:00
Alex Plate 5b8fe2393e Qodana fixes 2021-02-20 11:26:53 +03:00
dependabot[bot]andAlex Pláte b08408c3c7 Bump org.jetbrains.changelog from 1.1.1 to 1.1.2
Bumps org.jetbrains.changelog from 1.1.1 to 1.1.2.

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 23:22:43 +03:00
Alex Plate 060f8ece8a Update qodana 2021-02-19 20:06:14 +03:00
Alex Plate eedc50b4fe Fix deprecation issue 2021-02-19 19:53:59 +03:00
Alex Plate d7a636e4de Add qodana inspection profile 2021-02-19 19:34:42 +03:00
Alex Plate 9e9319f117 Remove some warnings from the code 2021-02-19 19:14:33 +03:00
Alex Plate 928162798f [TC] Remove unused imports 2021-02-19 11:51:14 +03:00
Alex Plate b5b71a2dc6 Update detekt rules 2021-02-19 11:48:18 +03:00
Alex Plate 033b792b54 Disable wildcard rule of the ktlint 2021-02-19 11:47:07 +03:00
Alex Plate 7ab53edbbf Code reformatting to avoid issues between IJ and ktlint formatting 2021-02-19 11:31:41 +03:00
Alex Plate 624c3bf223 A massive code reformatting using intellij 2021-02-19 11:12:36 +03:00
Alex Plate cf28312740 A massive code reformatting using ktlint 2021-02-19 10:42:28 +03:00
Alex Plate a1e2beb1cf Update submodule reference 2021-02-19 09:58:49 +03:00
Alex Plate 4af9ab0bcb Add information about disabling single click option 2021-02-17 15:44:42 +03:00
Alex Plate 8d3bde86e3 Update nerdtree wiki page 2021-02-17 11:14:23 +03:00
Alex Plate 7011a4fe07 Update TC versions 2021-02-17 11:07:57 +03:00
Alex Plate 76f14fc4ba Preparation for the 0.65 release 2021-02-17 11:06:23 +03:00
Alex Plate 923c0fee7a [VIM-2153] Always store data as base64 encoded 2021-02-16 10:19:14 +03:00
Alex Plate b62680137e Update dependencies 2021-02-15 10:59:48 +03:00
Andrey Vlasovskikh cd5c4247a6 Moved Andrey Vlasovskikh to previous maintainers
I maintained the plugin during 2012-10/2021-02. In 2019-02 Alex Plate joined me as a plugin developer and maintainer. Since then Alex has added tons of cool features and important fixes and has become the #1 committer to the IdeaVim repository. Thank you Alex for your great work! I'm stepping down from my maintainer role, but I will keep contributing to the plugin. Alex Plate is now the maintainer of IdeaVim. There is a live community of contributors to the plugin mentioned in AUTHORS.md. IdeaVim is a very active and welcoming open-source project. I wish Alex and the IdeaVim community all the best!
2021-02-11 13:53:05 +03:00
Alex PláteandGitHub d1e1692581 Update CHANGES.md 2021-02-09 11:56:55 +03:00
Alex Plate c9fd0782ae Use a different method for compatibility 2021-02-08 12:41:30 +03:00
Alex Plate c5779935d3 Extract escape key code 2021-02-08 12:28:34 +03:00
Alex Plate 70154d4526 Add log line about NERDTree 2021-02-08 12:16:37 +03:00
Alex Plate 070dfae93d Fix nerdtree for multiple opened projects 2021-02-08 12:11:54 +03:00
Alex Plate 4e5fc734e2 Fix quick search in NERDTree 2021-02-08 11:22:53 +03:00
Alex Plate 9004749754 Update compatibility with ActionPromoter 2021-02-08 10:19:06 +03:00
Alex Plate e42e7b81ef Fix tests 2021-02-02 19:14:02 +03:00
Alex Plate e788221099 [VIM-2220] Do not try to get a command state for null editor 2021-02-02 11:37:39 +03:00
Alex Plate e96b383339 Update email 2021-02-02 11:16:57 +03:00
Alex Plate e63044e72f [VIM-2217] Fix AppCode specific code 2021-02-01 11:14:30 +03:00
Alex Plate 0ac530eb86 Add 大牙(Henry Zhu) to the contributors list 2021-02-01 10:32:53 +03:00
大牙(Henry Zhu)andAlex Pláte c1fd63ab25 fix invalid url of docs 2021-02-01 10:28:48 +03:00
Alex Plate fd0d010908 Update the link to ideajoin examples 2021-02-01 10:27:30 +03:00
Alex Plate de159d6e3a Add IdeaVim actions promoter to promote vim actions 2021-02-01 10:17:33 +03:00
Alex Plate 27293c3d36 Deprecate EditorDataContext construction instead of making it private 2021-01-29 12:15:16 +03:00
Alex Plate ffe55f05ba Update plugin verifier versions 2021-01-29 11:46:56 +03:00
Alex Plate d3b9a5af37 Update todo list of the NERDTree plugin 2021-01-29 11:38:41 +03:00
Alex Plate d7772bec48 Add empty test to avoid warning 2021-01-29 11:33:06 +03:00
Alex Plate c2e32d8989 Add docs as submodule 2021-01-28 18:25:57 +03:00
Alex Plate cdbff1ef64 Remove doc folder from the project 2021-01-28 18:25:00 +03:00
Alex Plate 7d20053401 Disable random mappings property test 2021-01-26 11:19:58 +03:00
Alex Plate 7029346d8d Add information about nerdtree to changes 2021-01-26 11:04:55 +03:00
Alex Plate 544f268ab8 Update extension so they register key mappings only if there isn't already registered another mapping 2021-01-26 10:52:26 +03:00
Alex Plate 7dd10474c4 Update mapping property test 2021-01-25 03:06:24 +03:00
Alex Plate f851794cf2 Reduce mapping depth to 20 2021-01-25 03:06:13 +03:00
Alex Plate 0ccc0f0846 Use existing variable to track recursion 2021-01-25 02:52:57 +03:00
Alex Plate 40d1b2ddd5 Reduce size of maxmapdepth 2021-01-25 00:24:01 +03:00
Alex Plate a219be6810 Update mapping property test 2021-01-25 00:21:48 +03:00
Alex Plate fee3f03e17 Create a property test for mappings 2021-01-25 00:10:56 +03:00
Alex Plate 62128a14e7 Support mapping recursion preventing 2021-01-24 23:59:14 +03:00
Alex Plate 47b604c6a7 Update EditorDataContext to avoid recursion 2021-01-24 23:27:46 +03:00
Alex Plate 9fc9cdc9f3 Add more tests for different mappings cases 2021-01-24 22:00:58 +03:00
Alex Plate 5daa654d10 [VIM-1337] Fix mapping processing after timeout 2021-01-24 22:00:58 +03:00
Alex Plate 8c51c699e9 Enable mappings delay for tests 2021-01-24 20:46:34 +03:00
Alex Plate 913fb0648b Remove unused argument 2021-01-24 20:32:50 +03:00
Alex Plate 1eacb09f3c Add notion why we don't map plugin mappings 2021-01-23 03:11:25 +03:00
Alex Plate efcfceef39 Join some delete actions into a single file 2021-01-23 03:04:58 +03:00
Alex Plate e977ae9e88 Remove testing character 2021-01-23 03:04:58 +03:00
dependabot[bot]andAlex Pláte b7c8d2f34c Bump remote-robot from 0.10.0 to 0.10.3
Bumps remote-robot from 0.10.0 to 0.10.3.

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-23 03:04:41 +03:00
Alex Plate 51f1e6f866 Fix characters yanking 2021-01-23 02:18:04 +03:00
Alex Plate 28abf15720 Update contacts & help label 2021-01-23 01:21:31 +03:00
Alex Plate 6b9a295549 Extract ui tests into a separate gradle tas 2021-01-22 20:50:46 +03:00
Alex Plate c63a0200b3 Load extensions after vim script loading 2021-01-22 20:41:10 +03:00
Alex Plate 5fdb817bfd Support t and T 2021-01-22 20:20:24 +03:00
Alex Plate 1b5bdf5db3 Make varible private 2021-01-22 18:18:13 +03:00
Alex Plate 8022ed450c Support more nerdtree ex commands 2021-01-22 17:50:32 +03:00
Alex Plate 255734acc5 Update detekt 2021-01-22 16:18:04 +03:00
Alex Plate 34b0c93ecd Update docs 2021-01-22 16:15:53 +03:00
Alex Plate 2221e5234d Support A, q 2021-01-22 16:14:17 +03:00
Alex Plate 8dd8cce491 Support r, R, and m 2021-01-22 16:06:04 +03:00
Alex Plate d74965d36d Add scrolling command for existing commands 2021-01-22 15:54:06 +03:00
Alex Plate cb9e6c4c69 Support C-K and C-J commands 2021-01-22 15:51:26 +03:00
Alex Plate 1d93edd35b Update docs 2021-01-22 15:48:41 +03:00
Alex Plate 4c071b9d97 Update P command implementation 2021-01-22 15:47:58 +03:00
Alex Plate 570eceb653 Support P, p, J, K commands 2021-01-22 15:39:19 +03:00
Alex Plate a34a01745c Support x and X commands 2021-01-22 14:25:15 +03:00
Alex Plate a4b9fa0f69 Support O command 2021-01-22 13:59:04 +03:00
Alex Plate 2da18fe59f Support variables in NERDTree 2021-01-22 12:50:59 +03:00
Alex Plate 5a969d573a Add list of commands 2021-01-22 12:41:10 +03:00
Alex Plate 0eff36a38e Implement s, i, gs, gi commands 2021-01-22 12:39:07 +03:00
Alex Plate 241bacfd49 Support s command 2021-01-21 20:48:00 +03:00
Alex Plate b292644531 Support go command 2021-01-21 20:34:14 +03:00
Alex Plate 3264837478 Use trie to store keys 2021-01-21 20:21:27 +03:00
Alex Plate 70bf5033b5 Extract logic of adding leafs 2021-01-21 19:48:04 +03:00
Alex Plate 9ffe114aeb Generalize existing Node for building a trie 2021-01-21 18:06:53 +03:00
Alex Plate 75f6e08d85 Support o command 2021-01-21 17:30:14 +03:00
Alex Plate 3b0c19fbfc Implement node opening/closing 2021-01-21 16:24:40 +03:00
Alex Plate e4d10eb622 Implement up/down motions 2021-01-21 10:17:55 +03:00
Alex Plate 9cc4783415 Update gradle wrapper to 6.8 2021-01-20 13:28:58 +03:00
Alex Plate 762bd81611 Update detekt baseline 2021-01-20 13:26:45 +03:00
Alex Plate 6afdfb55ca Start implementing NERDTree support. Support focus command 2021-01-20 10:40:48 +03:00
Alex Plate cb3508b30d Support command aliases to function 2021-01-20 10:26:44 +03:00
Alex Plate 171ffc6862 Refactor command aliases 2021-01-20 10:19:02 +03:00
Alex Plate 0f19b7415f Update inspections profile 2021-01-20 10:18:52 +03:00
Alex Plate 38019cdb91 Convert command parser to kt 2021-01-20 09:58:40 +03:00
Alex Plate 89bcb43271 Rename .java to .kt 2021-01-20 09:58:39 +03:00
Alex Plate 5101dc00b3 Name for extension is not deprecated 2021-01-20 03:09:04 +03:00
Alex Plate a7774349e5 Update copyright year 2021-01-20 03:07:13 +03:00
Alex Plate b309e9d4bd Add alternative plugin syntax for EasyMotion 2021-01-20 03:07:12 +03:00
paksvandtcuser ba3fdbe142 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: Updated cloud profile 'amazon-48' in project 'project55' 2021-01-19 18:46:29 +00:00
paksvandtcuser 645d53f13b TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: Updated cloud profile 'amazon-48' in project 'project55' 2021-01-19 18:46:00 +00:00
Alex Plate 838c6361de Update changelog plugin 2021-01-14 18:40:42 +03:00
Alex Plate 6cb1d4ad1f [TC] Update kotlin dsl version 2021-01-14 17:08:27 +03:00
Alex Plate 28dfda1370 [TC] Add job for property based tests 2021-01-14 17:00:42 +03:00
Alex Plate c73b8cf795 [TC] Apply TC patch 2021-01-14 16:58:11 +03:00
Alex Plate 807777f022 [TC] Enable qodana job 2021-01-14 16:55:37 +03:00
nikita.koshcheevandtcuser 866488ac0f TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: Updated cloud profile 'amazon-48' in project 'project55' 2021-01-14 08:34:25 +00:00
Alex Plate 10097e3d6e Exclude property based tests from regular test task 2021-01-14 11:14:55 +03:00
nikita.koshcheevandtcuser becb22a6b0 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: Updated cloud profile 'amazon-48' in project 'project55' 2021-01-14 08:07:26 +00:00
Alex Plate 37fcecfdd8 [TC] Apply qodana patch 2021-01-13 22:16:41 +03:00
aleksei.plateandtcuser c4144eb3d2 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: runners of 'Qodana checks' build configuration were updated 2021-01-13 17:52:37 +00:00
Alex Plate d29244efcc [TC] Add qodana build type 2021-01-13 20:22:58 +03:00
Alex Plate 8901ba0128 [VIM-2202] Fix issues with search command macro recording 2021-01-11 13:48:20 +03:00
Alex Plate b07342baef Convert macros test to kotlin 2021-01-11 12:47:47 +03:00
Alex Plate 4d69f984b8 Rename .java to .kt 2021-01-11 12:47:47 +03:00
Alex Plate e1149907ce Extract versions into the constant 2020-12-29 19:34:08 +03:00
Alex Plate 263376ae92 Add dev builds to the project 2020-12-29 19:08:18 +03:00
Alex Plate 07abc2e2e0 Disable "always inverted" inspection 2020-12-29 11:01:14 +03:00
Alex Plate 7eba54f09a Disable LightEdit support for IdeaVim 2020-12-29 10:37:55 +03:00
Sergei VorobyovandAlex Plate 1eac924291 fixed: don't show reload vimrc floating toolbar in non-file editors
for example in editor from `Preferences | Editor | Font`
2020-12-29 09:49:23 +03:00
Alex Plate 3ffe250f78 Add dev channel build to teamcity 2020-12-29 09:47:37 +03:00
Alex Plate 15d173e628 Assert register type with neovim 2020-12-26 04:39:52 +03:00
Alex Plate b24424330c Update detekt baseline 2020-12-25 11:38:53 +03:00
Alex Plate ebffa83f17 Add counter of NeoVim tests 2020-12-25 11:37:45 +03:00
Alex Plate 6abc71a57d Update neovim api 2020-12-25 11:29:42 +03:00
dependabot[bot]andAlex Pláte 8afb20c53b Bump io.gitlab.arturbosch.detekt from 1.14.1 to 1.15.0
Bumps io.gitlab.arturbosch.detekt from 1.14.1 to 1.15.0.

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-25 11:05:49 +03:00
Alex Plate 501541b8be Add Sergei Vorobyov to contributions list 2020-12-25 11:03:50 +03:00
Sergei VorobyovandAlex Plate e56f63dc0f migrated: New floating toolbar API 2020-12-25 10:56:53 +03:00
Alex Plate 7e0c33f9a0 Add log file to run configuration 2020-12-25 10:38:28 +03:00
Alex Plate bb1b8363d9 Check dependabot updates on wednesday 2020-12-25 09:47:12 +03:00
Alex PláteandGitHub e5e585443d Create dependabot.yml 2020-12-25 09:33:08 +03:00
Shrikant Sharat Kandula 82e39c9236 Fix handling when caret line has no indentation 2020-12-24 21:10:21 +05:30
Shrikant Sharat Kandula 1e69e98b92 Initial working implementation of indent objects 2020-12-24 20:59:55 +05:30
Alex Plate d0888a063f Refactor code 2020-12-24 10:58:58 +03:00
Alex Plate bd5781a039 Optimize imports 2020-12-24 10:46:42 +03:00
Alex Plate a643c75e7f Update detekt config 2020-12-24 10:40:54 +03:00
Alex Plate d4db40f9cc Add yank delete property test 2020-12-24 10:32:37 +03:00
Alex Plate 788489119b Rename property test 2020-12-24 10:24:41 +03:00
Alex Plate 665adaa44b Fix last line calculation 2020-12-24 10:22:11 +03:00
Alex Plate 9f19ee9586 Include neovim registers check into tests 2020-12-24 09:32:06 +03:00
Alex Plate bb84b0e368 Refactor deleting 2020-12-24 09:32:06 +03:00
Alex Plate 7976fdd019 Extract old tests into the separate project 2020-12-23 11:35:28 +03:00
Alex Plate 0d3b45189b Add name property 2020-12-23 11:29:50 +03:00
Alex Plate 7005cb0268 Extract releases into the separate TC subproject 2020-12-23 11:27:25 +03:00
Alex Plate 81421d918a Sign releases with Alex Plate name 2020-12-23 11:18:35 +03:00
Alex Plate e3fe198fc1 Update release token to Alex Plate for 201 release 2020-12-23 10:46:12 +03:00
aleksei.plateandtcuser 76d62771e0 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: parameters of 'Publish Release 2020.1' build configuration were updated 2020-12-23 07:43:45 +00:00
aleksei.plateandtcuser 4da538302d TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: parameters of 'Publish Release 2020.1' build configuration were updated 2020-12-23 07:43:30 +00:00
Alex Plate b981193f19 Create TC configuration for releasing 2020.1 version 2020-12-23 10:37:48 +03:00
Alex Plate c656da5c75 Prepare to 0.64 release 2020-12-23 09:49:45 +03:00
Alex Plate dcedf6abca Mute another broken test 2020-12-18 15:03:25 +03:00
Alex Plate 849a71bdac Update changes 2020-12-18 13:18:08 +03:00
Alex Plate 534cc1d1fe Disable broken test 2020-12-18 12:26:10 +03:00
Alex Plate 40ec6c53fa Revert "Add statistic collection for some options"
Classes of the collector are incompatible with 202

This reverts commit b7cb3c09
2020-12-18 11:57:06 +03:00
Alex Plate b7cb3c0945 Add statistic collection for some options 2020-12-17 23:13:54 +03:00
Alex Plate 69d3c7b754 resetCaset function should not change the shape of other editors
This commit fixes the following issues:
1) Windows splitting
- Start insert mode in editor
- Split editor
- Go back to the previous editor. The caret has a block shape, but insert mode

2) VCS updates
In 2021.1 VCS creates a diff window right after the file was changed.
So, the case described above happens here as well.
2020-12-17 10:53:43 +03:00
Alex Plate 542f11804e Update detekt baseline 2020-12-17 10:14:11 +03:00
Alex Plate 8526054aa8 Update changes 2020-12-17 10:05:04 +03:00
Alex Plate 93700bddc7 Update deprecated methods according to the new minimal IJ requirements 2020-12-17 10:04:52 +03:00
Matt EllisandAlex Pláte 494500041b Rearrange and document the public search API
No code changes, just moved everything
2020-12-17 10:02:16 +03:00
Matt EllisandAlex Pláte 011a5a3b23 Remove unnecessary UNSET direction enum value 2020-12-17 10:02:16 +03:00
Matt EllisandAlex Pláte 03726858f0 Move find methods to SearchHelper 2020-12-17 10:02:16 +03:00
Alex Plate c8c42cc4b2 Update plugin verifier versions 2020-12-16 13:00:32 +03:00
Alex Plate 0b22b454e6 Prepare to 0.63 release 2020-12-16 12:56:25 +03:00
vladimir.petrenkoandAlex Pláte f4fe03c582 CWM-927 disable vim for client's hidden editor on host
to provide compatibility with Code With Me plugin
2020-12-16 12:27:34 +03:00
Alex Plate 964e87fd6a Update minimap IJ version to 202 2020-12-16 11:39:49 +03:00
Alex Plate ec4c0a0d0d Update teamcity configurations to deprecate 201 branch 2020-12-16 11:38:52 +03:00
Alex Plate f9cf62472c Prepare to 0.62 release 2020-12-15 10:12:31 +03:00
Alex Plate ace584d294 Fix settings saving issues because of NPE 2020-12-15 09:35:35 +03:00
Alex Plate 5cd669202b Remove time calculation for isIdeavimDisabledHere 2020-12-10 10:06:29 +03:00
Alex Plate 4a09848720 Revert incorrect update 2020-12-10 10:03:51 +03:00
Alex Plate f998f1be9f Update teamcity ide version for pull requests builds 2020-12-10 09:52:07 +03:00
Alex Plate 3352bdfabb Remove some deprecations in code 2020-12-10 09:50:05 +03:00
Alex Plate ce43a9648f Update profile settings 2020-12-10 09:40:57 +03:00
Alex Plate 440a0bf393 Remove incorrect link in package-info.java 2020-12-10 09:36:59 +03:00
Alex Plate 64a7555f42 [VIM-2188] Remove deprecated configuration store 2020-12-10 09:35:07 +03:00
Alex Plate 3aa6fe3dc0 Update algorithm of number generation 2020-12-08 12:11:41 +03:00
Alex Plate 3522228d45 Add new line at the end of test 2020-12-08 11:36:23 +03:00
Alex Plate 9b42d9a5c6 Add test for incrementing fancy number 2020-12-08 11:35:11 +03:00
Alex Plate 4e8d98f956 Add Shaun Patterson to contributors list 2020-12-08 10:54:15 +03:00
Alex Plate f6c3d27bbc Reset caret shape after <C-O> command 2020-12-08 10:50:06 +03:00
Alex Plate 21daf83fbd Include caret shape assertions into checks 2020-12-08 10:50:05 +03:00
Shaun PattersonandAlex Pláte 7f1203c207 VIM-1756: startSel works in insert mode 2020-12-08 10:49:19 +03:00
Alex Plate 89b1f90973 Fix detekt issues 2020-12-04 11:21:40 +03:00
Alex Plate 8002a5497f [VIM-1913] Update changes 2020-12-04 11:07:11 +03:00
Alex Plate 770d12d79b [VIM-1913] Enable enter for AppCode templates 2020-12-04 11:05:32 +03:00
Alex Plate 7e4ac22d23 [VIM-1913] Enable tab for AppCode templates 2020-12-04 10:45:56 +03:00
Alex Plate 4f4b26d3e1 Update CHANGES.md 2020-12-04 09:54:58 +03:00
Matt EllisandAlex Pláte 4ea7c421a8 Extract and use common Direction enum 2020-12-04 09:53:58 +03:00
Matt EllisandAlex Pláte 3c8b7e2de4 Convert SearchHighlightsHelper to Kotlin 2020-12-04 09:53:58 +03:00
Matt EllisandAlex Pláte b13acaf823 Rename .java to .kt 2020-12-04 09:53:58 +03:00
Matt EllisandAlex Pláte 709cd6ad6e Extract SearchHighlightsHelper 2020-12-04 09:53:58 +03:00
Matt EllisandAlex Pláte 1316ccc56f Update default for history to match Vim 2020-12-04 09:53:58 +03:00
Matt EllisandAlex Pláte 881ddd0e11 Refactor setting special registers 2020-12-04 09:53:58 +03:00
Matt EllisandAlex Pláte 49611ee6b9 Show the correct handler class in :map 2020-12-04 09:33:14 +03:00
Alex Plate 539465bb56 Update property based test 2020-12-03 10:50:57 +03:00
Alex Plate bc54a73d69 Add suggested options to README.md 2020-12-03 10:13:28 +03:00
Alex Plate 5eb12f5d14 Update mappings in .ideavimrc example 2020-12-03 10:09:05 +03:00
Alex Plate 557e47650f Disable octal for nrformats 2020-12-03 10:07:27 +03:00
Alex Plate f50753bfd7 Add tests for 2020.3 on TeamCity 2020-12-03 10:02:21 +03:00
Alex Plate 7a164d6d5f Updates to block caret in insert mode 2020-12-02 10:58:04 +03:00
Alex Plate 60bc936cd9 Take back: VIM-1475: Respect the "use block caret" when in insert mode 2020-12-02 10:31:01 +03:00
Alex Plate d097e636ea Add test for double exiting visual mode 2020-12-02 10:30:37 +03:00
Alex Plate 3ce2bbb624 Rename test for visual exit 2020-12-02 10:27:28 +03:00
Alex Plate 4926d2554e Revert "VIM-1475: Respect the "use block caret" when in insert mode"
Reverting this commit due to VIM-2182

This reverts commit 62c828d7
2020-12-02 09:45:08 +03:00
Alex Plate eae135acba Fix detekt issues 2020-12-01 12:19:08 +03:00
Alex Plate 8ce3801b87 [VIM-1913] Improve interaction with AppCode templates 2020-12-01 11:55:47 +03:00
Alex Plate 0c7c11f817 Ignore ui test 2020-12-01 10:02:53 +03:00
Alex Plate b3a39c05d7 Update plugin.xml 2020-12-01 09:56:05 +03:00
Alex Plate 7370012667 Add getUnreleasedChangelog task to build.gradle 2020-12-01 09:52:56 +03:00
Alex Plate 412838fd4b Remove implemented manual tests 2020-11-27 12:05:00 +03:00
Alex Plate 273a614389 Add gutter ui test 2020-11-27 12:03:28 +03:00
Alex Plate 3944c80ae2 Update gradle intellij plugin 2020-11-27 10:54:22 +03:00
Alex Plate 726ab3f91b Add test with mouse dragging 2020-11-26 12:12:54 +03:00
Alex Plate ab307dd78f Injecting text instead of typing it 2020-11-26 11:53:07 +03:00
Alex Plate e3079912ae Remove unused handlers 2020-11-26 10:24:22 +03:00
Alex Plate 52da3ed0e4 Update info file 2020-11-26 09:44:48 +03:00
Alex Plate cda85169ea Add new line for ExEditorKit.kt 2020-11-25 17:22:26 +03:00
Alex Plate 978d1df598 Disable internationalization inspections 2020-11-25 17:13:25 +03:00
Alex Plate f90d22cc20 Refactoring of ex actions 2020-11-25 10:49:50 +03:00
Alex Plate bae69d92ae Rename .java to .kt 2020-11-25 10:49:50 +03:00
Alex Plate b910239825 Put ex panels into the separate package 2020-11-25 10:49:50 +03:00
Alex Plate 6421a5969a Update changes 2020-11-25 10:05:43 +03:00
sumoooru2andAlex Pláte 5c9faba7f4 Implement cmap 2020-11-25 10:00:15 +03:00
Alex Plate c1af738cc5 Add another ui test 2020-11-24 12:47:10 +03:00
Alex Plate 23a80a9260 [VIM-2170] Fix alternative range format for s command 2020-11-23 11:49:30 +03:00
Alex Plate d9d92f7eee Add another ui test 2020-11-20 20:18:19 +03:00
Alex Plate c8be6c203e Update intellij plugin version 2020-11-20 12:39:00 +03:00
Alex Plate 612c599d9b Update compatibility a bit 2020-11-20 11:38:22 +03:00
Alex Plate 1292c7d1ae Remove unused import 2020-11-20 11:17:40 +03:00
Alex Plate 69f07967b5 Fix compilation issus for <203 2020-11-20 11:00:29 +03:00
Alex Plate aedd427c07 Optimize imports 2020-11-20 10:45:26 +03:00
Alex Plate 9b6c3dc511 Fix unresolved references 2020-11-20 10:17:52 +03:00
Alex Plate b4fa7f4317 Replace @NlsSafe annotation from utils with our own 2020-11-20 09:58:43 +03:00
Alex Plate f053d305d5 Remove neovim from implementation 2020-11-20 09:35:48 +03:00
Alex Plate 1d95b7ddf7 Move run configurations to the .idea 2020-11-19 16:43:27 +03:00
Alex Plate 01a6964d68 Use neovim for tests only 2020-11-19 11:59:41 +03:00
Alex Plate d661f96a9b Reformat for MessageHelper.kt 2020-11-19 11:26:27 +03:00
Alex Plate c79fae8ab3 [i18n] Mark some strings as @NonNls 2020-11-19 11:22:11 +03:00
Alex Plate 121f130893 Ignore toString localization 2020-11-19 05:55:35 +03:00
Alex Plate da9a0a414a [i18n] Extract more starting for localization 2020-11-19 00:26:17 +03:00
Alex Plate e0732e041b Start with UI tests in the project 2020-11-18 22:03:46 +03:00
Alex Plate 6fc5b3189a [i18n] More extracted strings 2020-11-18 18:49:55 +03:00
Alex Plate 2a0c9cb749 [i18n] Add another file template 2020-11-18 14:22:39 +03:00
Alex Plate 7ad131b448 [i18n] More extracted strings 2020-11-18 13:03:35 +03:00
Alex Plate 3e7186bd60 [i18n] Update @Nls annotations 2020-11-18 13:03:35 +03:00
Alex Plate 132f8cce53 [i18n] Extract more strings 2020-11-18 13:03:35 +03:00
Alex Plate 5c07f42afb Disable unstable api usage inspection 2020-11-18 12:33:51 +03:00
Alex Plate 1f7a2594c8 Convert some strings to properties 2020-11-18 11:26:03 +03:00
Alex Plate ec64d19a36 Update JetBrains annotations 2020-11-18 11:25:39 +03:00
Alex Plate 5cb67470d5 Enable hardcoded string inspection 2020-11-18 11:25:39 +03:00
Alex Plate c03f01a96a Update MessageHelper.kt 2020-11-18 03:09:57 +03:00
Alex Plate 26b67a43ae Fix formatting 2020-11-17 19:55:09 +03:00
Alex Plate a93ca3a205 Support mapclear commands 2020-11-17 19:47:56 +03:00
Alex Plate dcc647ba3c [VIM-1491] Support unmap 2020-11-17 19:38:22 +03:00
Alex Plate fe44f59239 Refactor map handler 2020-11-17 19:36:41 +03:00
Alex Plate 80dba0babf Move MapHandler into the separate package 2020-11-17 19:36:17 +03:00
Yaohui WangandAlex Pláte 34acf9a91e Add CJK characterType for delimiting caret movement
- Add unicode CJK Unified Ideographs type
- Stop caret movement for CJK chars (as VIM does). Similar to VIM-58
2020-11-17 10:21:49 +03:00
Alex Plate cb859dbb7b Add Grzegorz Antoniak to the contributors list 2020-11-17 10:16:13 +03:00
Alex Plate 20c04b1e62 Add Brandon Conway to the contributors list 2020-11-17 10:09:21 +03:00
Alex Plate 69eaf8ed0c Jan Palus was already on the list 2020-11-17 10:09:21 +03:00
Grzegorz AntoniakandAlex Pláte 62c828d722 VIM-1475: Respect the "use block caret" when in insert mode
The "use block caret" IDEA option controls the style of the cursor: when
it's enabled, the cursor is drawn as a block, and when it's disabled,
it's drawn as a bar. However, after installing IdeaVIM, this option
isn't respected; the plugin always uses a block cursor when in command
mode, and always uses a bar cursor when in insert mode.

This commit changes the behavior so that when the "use block caret"
option is enabled, IdeaVIM's insert mode uses a block cursor instead of
a bar cursor. The cursor in normal mode is always drawn as a block
cursor. If the "use block caret" option is disabled, the behavior is the
same as in previous versions of IdeaVIM (block cursor in normal mode,
bar cursor in insert mode).

Fixes VIM-1475 (on YouTrack)
2020-11-17 10:06:32 +03:00
Brandon ConwayandAlex Pláte 251e8e8ff4 Fix typo 2020-11-16 11:20:07 +03:00
Alex Plate acc41ec72e Add warning to the info about ideavimrc file 2020-11-13 15:15:28 +03:00
Alex Plate f9ebcf2ee4 Update readme section 2020-11-13 15:13:01 +03:00
Alex Plate f3df231dc2 Update changes 2020-11-13 12:35:21 +03:00
Jan PalusandAlex Pláte 75a1bb7cc5 VIM-2114 Do not override registers when deleting empty range 2020-11-13 12:34:04 +03:00
Alex Plate 7d6a64315a Add Jan Palus to contributors list 2020-11-13 11:58:10 +03:00
Jan PalusandAlex Pláte 2758071d31 VIM-2113 Increase tag range only in visual mode 2020-11-13 11:54:08 +03:00
Alex Plate 3881b905be Update CHANGES.md 2020-11-12 10:51:57 +03:00
Alex Plate 073c62f868 Update version on TeamCity 2020-11-12 10:50:25 +03:00
Alex Plate d8e0f26bea Revert "Unmute falling tests"
This reverts commit 0296cae7
2020-11-12 10:48:54 +03:00
Alex Plate 04c24ab5d0 Run manual tests 2020-11-12 10:38:02 +03:00
Alex Plate bfb0ba1ab9 Update emulated plugins 2020-11-12 10:31:11 +03:00
Alex Plate fb7d48af1f Update IDE actions section in README 2020-11-12 10:11:33 +03:00
Alex Plate 559989ce4b Remove all To Be Released labels 2020-11-12 10:03:56 +03:00
Alex Plate 81f59e3c18 Update plugin.xml 2020-11-12 10:03:04 +03:00
Alex Plate b6adf9f7a9 Rename ideaenabledbufs to ideavimsupport 2020-11-12 09:45:29 +03:00
Alex Plate b972a01cf0 Add merged PR to changes 2020-11-12 09:41:57 +03:00
Alex Plate 0296cae712 Unmute falling tests 2020-11-12 09:39:09 +03:00
Matt EllisandAlex Pláte c38b18e16b Prevent inlays causing scrolling to stick 2020-11-12 09:37:55 +03:00
Matt EllisandAlex Pláte 8d65c3ed26 Limit how much of an inlay is shown when scrolling 2020-11-12 09:37:55 +03:00
Matt EllisandAlex Pláte 995bb966ad Reposition cursor when scrolloff changes 2020-11-12 09:37:55 +03:00
Matt EllisandAlex Pláte dbda1a76ca [VIM-2158] Fix scrolling when scrolloff is greater than half screen height, but less than full screen height 2020-11-12 09:37:55 +03:00
Alex Plate ed6f990d9a Remove some qodana inspections 2020-11-06 21:39:37 +03:00
Alex Plate 4f86d9cc77 Correct visual mode exiting when after line end 2020-11-06 20:26:26 +03:00
Alex Plate d55774abab Use vimForEachCaret 2020-11-06 20:21:05 +03:00
Alex Plate d5591ba08d Update qodana profile 2020-11-06 20:00:21 +03:00
Alex Plate f67d483c4e Exclude next method from property based testing 2020-11-06 19:48:33 +03:00
Alex Plate f26ddd4a27 Fix exception in aW 2020-11-06 19:12:40 +03:00
Alex Plate dbbea642bc Add inspection profiles to the repository 2020-11-06 18:40:02 +03:00
Alex Plate 0539e39977 Fix <C-\><C-N> 2020-11-06 11:16:13 +03:00
Alex Plate 65235d32a1 Fix exception for ]b command 2020-11-06 10:36:03 +03:00
Alex Plate ecfcdf5a8c Update intellij gradle plugin 2020-11-06 10:06:25 +03:00
Alex Plate cf127ba7f9 Update plugin description 2020-11-06 09:37:01 +03:00
Alex Plate 1fba77d925 Update getName description 2020-11-05 11:31:41 +03:00
Alex Plate 5752b116f6 Fix plugin.xml 2020-11-04 13:04:36 +03:00
Alex Plate cdf7fd8ce6 Update markdown to slack version 2020-11-03 12:14:58 +03:00
Alex Plate 8fe07e7b20 Verify plugin only against last major versions of IJ 2020-11-03 11:26:32 +03:00
Alex Plate b800237606 Refactor common extension test 2020-11-03 11:24:34 +03:00
Alex Plate fed02e5b8a Update plugin.xml 2020-11-03 11:20:22 +03:00
Alex Plate 2d4d3e9410 Update markdown to slack parser version 2020-11-03 11:20:21 +03:00
Alex PláteandGitHub 880d4c6888 Update CONTRIBUTING.md 2020-11-02 14:16:44 +03:00
Alex Plate 6a3d606032 New extension registration process
The new process gives as lazy loading of extension classes
2020-11-01 03:30:00 +03:00
Alex Plate 612a86c4d9 Add new option to enable extensions 2020-11-01 00:51:22 +03:00
Alex Plate 14abc25c01 Update detekt config 2020-11-01 00:47:05 +03:00
Alex Plate 52673d1a02 Remove unnecessary semicolon 2020-10-31 22:04:20 +03:00
Alex Plate b7caee119e Rename detekt folder 2020-10-31 21:44:53 +03:00
Alex Plate a148446912 Change order of checks 2020-10-31 19:43:19 +03:00
Alex Plate 1ee9075976 Inline findParentByCondition 2020-10-31 19:40:48 +03:00
Alex Plate b03627a110 Add info about prepared configurations to contributing guide 2020-10-31 19:27:06 +03:00
Alex Plate 04ac0ab743 [TC] Extract plugin verification into the separate build 2020-10-31 19:21:12 +03:00
Alex Plate e7aa985ad5 Add run configurations 2020-10-31 18:49:37 +03:00
Alex Plate 4177f4e4f3 Rename ideavim.neovim.test to ideavim.nvim.test 2020-10-31 18:44:53 +03:00
Alex Plate c1e415b76a [TC] Update nvim config 2020-10-31 18:44:16 +03:00
Alex Plate 8ae656dee3 Remove unused export 2020-10-31 18:42:35 +03:00
aleksei.plateandroot d48576f48a TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: parameters of 'NVIM' build configuration were updated 2020-10-31 15:42:17 +00:00
Alex Plate c0c5075072 [TC] Use -P to set env var 2020-10-31 18:16:41 +03:00
Alex Plate 59d106b8c4 [TC] Update nvim config 2020-10-31 17:42:58 +03:00
Alex Plate d96c313ecb [TC] Add execution privilege to nvim 2020-10-31 17:12:22 +03:00
Alex Plate 212c708150 [TC] Use env variable to set nvim path 2020-10-31 17:00:16 +03:00
Alex Plate 3739eb173e Remove nvim branch 2020-10-31 16:54:56 +03:00
Alex Plate 0d3ecce8a2 Read env variable to get nvim path 2020-10-31 16:53:09 +03:00
Alex Plate 164d7a4200 [TC] Update nvim config 2020-10-31 16:45:18 +03:00
Alex Plate 1258e602e6 [TC] Reformat code 2020-10-31 16:38:06 +03:00
Alex Plate 8a5ad713ea Trying to setup neovim tests 2020-10-31 16:29:34 +03:00
Alex Plate 12be65fa09 Update teamcity config: refactoring 2020-10-31 16:00:35 +03:00
Alex Plate 0720431c91 More cleanup 2020-10-31 14:29:26 +03:00
Alex Plate 6f1ac1de97 Add more time checks for is db cell 2020-10-31 14:03:11 +03:00
Alex Plate 99d2d4b594 Update the color of yank highlighting after laf changing 2020-10-31 13:46:08 +03:00
Alex Plate 2bf9b97e49 Continuation of qodana cleanup 2020-10-31 13:11:13 +03:00
Alex Plate c6600f3348 Fixes base of qodana run 2020-10-30 19:54:26 +03:00
Alex Plate e29ab54b0e Make default register in RegisterGroup non static field 2020-10-30 19:18:46 +03:00
Alex Plate 197565d4cb Get rid of info logs 2020-10-30 16:47:44 +03:00
Alex Plate 3d570d2020 Make property private 2020-10-30 15:59:56 +03:00
Alex Plate fe364dc6dc Reduce the depth of "parentByCondition" function 2020-10-30 11:56:50 +03:00
Alex Plate 5d0e82781f Enable teamcity output format for plugin verifier 2020-10-30 11:37:36 +03:00
Alex Plate 24f005a340 Integrate plugin verifier to the project 2020-10-30 11:08:49 +03:00
Alex Plate 1743c08091 Update isIdeaVimdisableHere logging 2020-10-29 12:40:30 +03:00
Alex Plate 81b095c899 Update detekt configuration 2020-10-29 11:43:47 +03:00
Alex Plate 965e8f71a0 Update detekt configuration 2020-10-29 11:01:41 +03:00
Alex Plate efc789fbf4 Update plugin.xml 2020-10-29 10:58:35 +03:00
Alex Plate f9cf49a9dd Update CHANGES.md 2020-10-29 10:53:02 +03:00
Alex Plate 0b41bd30cd Rename dialogescape and oneline to ideaenabledbufs 2020-10-29 10:44:34 +03:00
Alex Plate 7c79615c6a [VIM-2144] Correct caret position after block insert with inlays 2020-10-29 10:19:51 +03:00
Alex Plate 10be7354cd [VIM-2156] Fix up/down motions with inlays 2020-10-29 09:46:21 +03:00
Alex Plate 1e9925f092 [VIM-2157] Fix tab for active templates 2020-10-28 11:37:28 +03:00
Alex Plate 838079b249 Apply teamcity dsl patch (update vsc labbeling) 2020-10-27 19:47:47 +03:00
aleksei.plateandroot a9bf5c93df TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: build features of 'Publish EAP Build' build configuration were updated 2020-10-27 16:41:49 +00:00
Alex Plate d4ec7e1f69 Remove some detekt warnings 2020-10-27 10:01:57 +03:00
Alex Plate 12e9774d4c Use markdown to slack converter to send EAP notification 2020-10-27 09:38:38 +03:00
Alex Plate 7bccaa8717 Remove deprecated methods and options 2020-10-23 11:18:46 +03:00
Alex Plate 319874b973 Update message 2020-10-22 12:11:14 +03:00
Alex Plate daf8799c39 Update isIdeavimDisabled here report 2020-10-22 12:02:03 +03:00
Alex Plate f45d4e1451 [VIM-2150] Shift-D should not delete an empty line 2020-10-21 10:26:50 +03:00
Alex Plate 7458d126bc Remove build dependencies for EAP release 2020-10-20 11:59:37 +03:00
Alex Plate a90ffb7a48 Update plugin.xml 2020-10-20 11:38:20 +03:00
Alex Plate d1e39903dd Use gradle-changelog-plugin for pushing slack notifications 2020-10-20 11:34:52 +03:00
Alex Plate f23793f3f3 Test <Action> for insert mode mapping 2020-10-20 11:09:51 +03:00
Alex Plate 800390921c Update branch specification for PRs 2020-10-20 00:59:33 +03:00
Alex Plate 9650450426 Do not run tests on pull requests merging 2020-10-20 00:52:12 +03:00
Alex Plate 7225ab1f1b Use check instead of test for testing 2020-10-20 00:45:24 +03:00
Alex Plate 72dbc45457 Join active test 2020-10-20 00:13:47 +03:00
Alex Plate 3d14f916ef Update TestsForIntelliJ20202 configuration 2020-10-20 00:05:18 +03:00
Alex Plate 5598de70f1 Trying to extract common code for active tests building 2020-10-19 23:59:27 +03:00
Alex Plate bfccdd6b35 Cleanup builds 2020-10-19 23:54:01 +03:00
Alex Plate 35f36070a4 Update gitignore 2020-10-19 23:42:47 +03:00
Alex Plate 8f0c50a010 Update pull requests vcs root id 2020-10-19 23:40:24 +03:00
Alex Plate 25d6d3694b Update gitignore 2020-10-19 23:39:57 +03:00
Alex Plate 6c784ec01e Exclude NVim builds 2020-10-19 12:26:59 +03:00
Alex Plate ebc81c55c2 Update GitHub Pull Requests build 2020-10-19 12:16:59 +03:00
aleksei.plateandroot d08d9fce99 TeamCity change in 'IntelliJ IDEA plugins / IdeaVim' project: Synchronization with own VCS root is enabled 2020-10-19 08:48:07 +00:00
Alex Plate d1bfce1974 Create a baseline for the detekt 2020-10-19 11:07:53 +03:00
Alex Plate 0d0f326c26 Catch exception instead of NumberFormatException 2020-10-18 21:21:37 +03:00
Alex Plate 2072fa1e13 Add detekt to the project 2020-10-18 21:06:51 +03:00
Alex Plate fd98274e78 EditorDataContext can now accept a delegate data context 2020-10-16 11:03:05 +03:00
Alex Plate e72c7d6cb7 Convert EditorDataContext to kotlin 2020-10-16 10:53:49 +03:00
Alex Plate 5860c0031b Rename .java to .kt 2020-10-16 10:53:49 +03:00
Alex Plate a43232ba6c Move execution of mapping to MappingInfo 2020-10-16 10:27:12 +03:00
Alex Plate b20bec610a Move converting to presentable string to MappingInfo classes 2020-10-16 10:08:42 +03:00
Alex Plate 3a9f5ea33a Add ability to map actions via <Action> keyword 2020-10-16 10:00:46 +03:00
Alex Plate 5d1caa21d8 Remove java annotation 2020-10-15 19:50:15 +03:00
Alex Plate 70b3156375 Update git for the track action id 2020-10-15 12:08:01 +03:00
Alex Plate d388a75f98 Add an information about "Track action ids" to readme 2020-10-15 11:44:07 +03:00
Alex Plate b2a6d0e687 Do now show "Copy action id" action in the notification if there is no id 2020-10-15 10:40:48 +03:00
Alex Plate 462f5bab54 Update intellij gradle plugin version 2020-10-12 11:03:34 +03:00
Alex Plate e89e0466eb Prepare for 0.60 release 2020-10-09 11:24:48 +02:00
Alex Plate c9d0d7aef6 [VIM-2140] Downgrade java version to 1.8 2020-10-09 11:06:38 +02:00
Alex Plate 90c7d5a74a Update gradle to 6.6.1 2020-10-09 10:30:41 +02:00
Alex Plate b19e11b5b6 Use proper access syntax 2020-10-09 10:16:30 +02:00
Alex Plate 2d002c044d Report if time for calculation of isIdeaVimDisabledHere take more than 10ms 2020-10-08 11:39:49 +02:00
Alex Plate 9a7b2bd158 Update the implementation of disabled IdeaVim editors 2020-10-08 11:25:47 +02:00
Alex Plate 461c874de6 Reformat some code 2020-10-08 10:31:21 +02:00
Alex Plate 992ff97877 Use setUp function for VimOptionTestCase 2020-09-24 11:15:48 +03:00
Alex Plate 96689eab23 Update changes 2020-09-24 09:52:07 +03:00
Alex PláteandGitHub 0dd47c192b Merge pull request #252 from citizenmatt/VIM-2104
Fixes for scrolling
2020-09-24 09:45:32 +03:00
Alex Plate 5875ce58fb Update notification about missing action id 2020-09-23 10:46:21 +03:00
Alex PláteandGitHub 1c21968259 Merge branch 'master' into VIM-2104 2020-09-23 09:51:10 +03:00
Alex Plate 1d8ac4fc02 Move scroll data objects up to avoid conflicts 2020-09-23 09:50:00 +03:00
Alex Plate 0a863f32b2 Small formatting 2020-09-22 10:48:15 +03:00
Alex Plate cd0d503402 Convert test to option test 2020-09-22 10:41:03 +03:00
Alex Plate 0bac6bf8b6 Rename tracking id action 2020-09-18 10:48:41 +03:00
Alex Plate 6436a59528 Rename "ideawaonw" to "ideawrite" 2020-09-18 10:11:01 +03:00
Matt Ellis 2dc54ea882 Use deterministic width for inlays 2020-09-17 16:15:27 +01:00
Matt Ellis 63db148aae Merge branch 'master' into VIM-2104 2020-09-17 15:29:05 +01:00
Matt Ellis 78f1c8499a Use test inlay renderer for consistent width 2020-09-17 14:55:41 +01:00
Matt Ellis 26dae9b4e0 Add zH scroll half screen width action 2020-09-17 14:35:43 +01:00
Alex Plate 10f1d75f2e Add Iain Ballard to contributors list 2020-09-17 11:22:53 +03:00
Alex Plate 5b3984ce7a Refactor test 2020-09-17 11:18:27 +03:00
Alex Plate 43810ba730 Rename moveCaretHorizontal to getOffsetOfHorizontalMotion 2020-09-17 11:18:27 +03:00
Alex PláteandGitHub 5bf2818b2a Merge pull request #242 from i-e-b/master
Partial implementation of virtualedit config
2020-09-17 11:15:14 +03:00
Alex Plate 76587d672f Refactor tests according to IdeaVim practices 2020-09-17 11:13:02 +03:00
Alex Plate 890d48769f Get rid of unused variables 2020-09-17 10:30:56 +03:00
Alex Plate fffe8e2499 Add static import of EditorHelper 2020-09-17 10:15:09 +03:00
Alex Plate fffc2d3b11 Use amountOfInlaysBeforeCaret function 2020-09-17 10:13:53 +03:00
Matt Ellis 007f33be0b Add zL scroll half screen width action 2020-09-17 00:01:24 +01:00
Matt Ellis fa17af8d33 Fix keeping caret on screen with preceding inlay 2020-09-16 18:58:21 +01:00
Matt Ellis eabe43061c Add tests and fixes for ScrollColumnLeftAction 2020-09-16 16:59:14 +01:00
Matt Ellis 64502fb31b Reformat comments 2020-09-16 12:11:48 +01:00
Matt Ellis d693906905 Add tests and fixes for ScrollColumnRightAction 2020-09-16 11:47:28 +01:00
Alex Plate cf25f7e201 Refactor processing of vimLastColumn 2020-09-16 12:42:43 +03:00
Matt Ellis df3a533515 Fix arithmetic for scrolling columns 2020-09-16 09:29:43 +01:00
Matt Ellis 53a687fd53 Fix issues with side scrolling and inline inlays
Fixes VIM-1556, fixes VIM-1770, fixes VIM-2110
2020-09-15 17:07:42 +01:00
Matt Ellis 2091bbc025 Improve cursor position handling with inlay hints
E.g. navigation around Kotlin type annotations, replacing a character with a preceding parameter hint
2020-09-08 17:45:44 +01:00
Alex Plate eb46ed8f00 Small refactorings based on inspections 2020-09-08 10:18:44 +03:00
Alex Plate 3096c2e7ad Update changelog 2020-09-08 09:58:57 +03:00
Alex Plate f8d66f354a Fix typos in file 2020-09-08 09:56:28 +03:00
Alex PláteandGitHub 67c5601fdc Merge pull request #248 from yaohui-wyh/master
Check if project is disposed when editorDeinit
2020-09-08 09:55:58 +03:00
Matt Ellis 62601686aa Add internal action to show inline inlays 2020-09-08 00:20:54 +01:00
Alex Plate e92c0d5098 [VIM-1968] Create and enable option to execute :wa command on :w 2020-09-07 10:55:47 +03:00
Matt Ellis 5ca0298497 Add tests for ScrollHalfPage actions
<C-D> and <C-U>
2020-09-03 17:46:30 +01:00
Matt Ellis 7321099a0f Add tests for ScrollMiddleScreenLine actions
z. and zz
2020-09-03 10:10:57 +01:00
Matt Ellis 63d9a33d80 Add tests for ScrollLastScreenLine actions
z- and zb
2020-09-03 09:57:32 +01:00
Matt Ellis a7ba6d6004 Add tests for ScrollFirstScreenLine actions
z<CR> and zt
2020-09-03 09:55:53 +01:00
Alex Plate 5008d5c8c4 Make better notifications about tracked action id 2020-09-03 11:35:40 +03:00
Alex Plate 33f8a00679 VIM-2099 Fix operations with backward inclusive motions 2020-09-03 10:16:16 +03:00
Matt Ellis be0adb833f Add tests for ScrollLastScreenLinePageStartAction 2020-09-03 01:10:58 +01:00
Matt Ellis 8f90ff8a65 Add tests for ScrollFirstScreenLinePageStartAction 2020-09-03 00:05:01 +01:00
Matt Ellis c8a1938155 Add tests for ScrollPageUpAction 2020-09-02 23:27:16 +01:00
Matt Ellis 3cf42c86f3 Add tests for ScrollPageDownAction 2020-09-02 23:11:53 +01:00
Matt Ellis 632e9fad2e Remove incorrect mappings for page up/down
i_<C-Down> and i_<C-Up> are not standard Vim mappings, but can be set up in .ideavimrc if required
2020-09-02 17:18:03 +01:00
Matt Ellis a5de935192 Add tests for ScrollLineDownAction 2020-09-02 17:05:01 +01:00
Matt Ellis 111c1ebe32 Add tests for ScrollLineUpAction 2020-09-02 15:09:11 +01:00
Matt Ellis 8a42bff6ad Add tests for scrolloff and scrolljump
Behaviour matches Vim, apart from soft wraps
2020-09-02 14:11:04 +01:00
Matt Ellis d878c3e05d Improve handling of scrolljump
Now very closely follows Vim's somewhat unintuitive handling. Doesn't work properly with soft wraps (like a lot of other parts of IdeaVim)
2020-09-01 17:46:18 +01:00
Matt Ellis d08da77b2f Split scrollPositionIntoView method into two 2020-09-01 17:44:24 +01:00
Alex PláteandGitHub 86d6876db4 Update README.md 2020-09-01 17:17:43 +03:00
Alex Plate a7985e1e9b VIM-2080 Fix S command with count 2020-09-01 12:08:24 +03:00
Alex Plate 879ca456f7 Do not apply mappings in REGISTER_PENDING submode 2020-09-01 12:08:23 +03:00
Alex Plate 1863cbdef0 Add functionality to track action ids 2020-08-31 10:30:10 +03:00
Alex Plate ac4755a6ff VIM-2071 Fix unexpected moving of caret
#VIM-2071 Request State {Ready To Release}
2020-08-28 10:17:08 +03:00
Alex Plate 61600b07a4 VIM-2084 Fix execution of plugins with existing mappings
#VIM-2084 State {Ready To Release}
2020-08-27 12:26:50 +03:00
Iain Ballard 6be6e7f173 Partial implementation of virtualedit config
This does not support all config settings,
but does add the 'onemore' option.

This partly addresses https://youtrack.jetbrains.com/issue/VIM-844
2020-08-26 08:35:00 +01:00
Alex Plate e597e06324 Preparation for the 0.59 release 2020-08-25 10:25:32 +03:00
Matt Ellis 4cebaa865b Fix scrolljump 2020-08-20 14:21:53 +01:00
Matt Ellis 589e43f825 [VIM-2104] Use side scroll offset for horizontal scrolling 2020-08-20 11:45:39 +01:00
Yaohui Wangand牵招 61a70704c5 Check if project is disposed when editorDeinit 2020-08-03 07:21:19 +08:00
Alex Plate 174f86f91e Add gif with highlight_yank 2020-07-30 10:34:44 +03:00
Alex Plate 77a462702e Add a note about property based tests 2020-07-29 11:34:58 +03:00
Alex Plate d20955900d Prepare to 0.58.1 EAP 2020-07-28 09:38:16 +03:00
Alex Plate b952d2b96a Note the PR from KostkaBrukowa 2020-07-27 20:59:38 +03:00
Alex Plate 428d1d6699 Add KostkaBrukowa to contributors list 2020-07-27 20:39:16 +03:00
Alex PláteandGitHub 35863581e9 Merge pull request #245 from KostkaBrukowa/VIM-1970
VIM-1970 | Working solution of plugin vim-highlightedyank
2020-07-27 20:34:18 +03:00
Alex Plate 041f6af607 Add insert listener; small refactorings 2020-07-27 20:25:03 +03:00
Alex Plate 0e8a1bfc87 Refactor neovim tests 2020-07-27 10:07:19 +03:00
Alex Plate 442e739447 Fix propertyBased test 2020-07-27 09:57:53 +03:00
Alex Plate 47bb155989 Replace IJ pair with kotlin Pair 2020-07-26 19:09:35 +03:00
Alex Plate bd733b72a7 Write property based test for inc/dec 2020-07-26 19:04:58 +03:00
Alex Plate e01327ab29 Update implementation for inc/dec 2020-07-26 19:04:46 +03:00
Alex Plate 2a10247653 Update implementation for inc/dec actions 2020-07-24 21:50:04 +03:00
kostkabrukowa e3b7ed7657 VIM-1970 | Adds yank listeners, updates tests 2020-07-24 13:36:23 +02:00
Alex Plate d4357ce801 Start implementing property based test for increment/decrement 2020-07-24 13:54:52 +03:00
Alex Plate 5bdeaed416 Fix number change for an incorrect oct number 2020-07-24 13:53:16 +03:00
Alex Plate a44d93283f Refactor ChangeNumberIncAction.kt 2020-07-24 10:17:36 +03:00
Alex Plate 804f69e9c8 Fix Ctrl-A for selections 2020-07-23 21:12:28 +03:00
kostkabrukowa 086c2f201b VIM-1970 | Adds feature to change highlight background color 2020-07-22 17:29:54 +02:00
Alex Plate 0b22360891 Add a couple of tests for macros 2020-07-22 11:14:49 +03:00
Alex Plate 808fb24bbc Remove unused methods 2020-07-22 10:40:35 +03:00
Alex Plate febd8eccf0 Update changelog 2020-07-22 10:25:45 +03:00
Alex Plate 22b1209eb5 Revert the behaviour of :reg command 2020-07-22 10:21:57 +03:00
Alex Plate 485c5501b3 [VIM-2075] Fix zR command 2020-07-22 10:20:54 +03:00
Alex Plate 81ceba8926 Optimize imports 2020-07-22 10:20:54 +03:00
Alex PláteandGitHub 3edd95da4e Merge pull request #240 from rieonke/VIM-2059
add support for putting & editing macros
2020-07-22 10:20:23 +03:00
kostkabrukowa c1bb364cbe VIM-1970 | Removes box around yank highlight 2020-07-21 15:18:00 +02:00
Alex PláteandGitHub db8fa31503 Merge pull request #246 from gaganis/add_resources_to_contributors_md
Add resource links helpful to contributors
2020-07-21 13:09:01 +03:00
Giorgos Gaganis 1a5a65dcb1 Add resource links helpful to contributors 2020-07-20 14:40:10 +03:00
Alex Plate 1c96f4491e Comment out failing tests 2020-07-20 12:45:56 +03:00
Alex Plate 30ddb4071f Add information about neovim integration 2020-07-20 11:19:35 +03:00
kostkabrukowa dccc793fc7 VIM-1970 | Tries to remove thread related test failure 2020-07-19 16:54:05 +02:00
kostkabrukowa f070a57148 VIM-1970 | Tries to remove thread related test failure 2020-07-19 16:08:21 +02:00
kostkabrukowa 2dde2cfb3b VIM-1970 | Refactores some tests 2020-07-19 15:34:28 +02:00
kostkabrukowa e0fef4f017 VIM-1970 | Adds some tests and updates plugins docs 2020-07-19 13:30:49 +02:00
kostkabrukowa 3a40b9689c VIM-1970 | Fixes register bug 2020-07-18 19:12:08 +02:00
kostkabrukowa 3937a395b7 VIM-1970 | Moves functionality to extension class, adds possibility to dynamically set highlight duration 2020-07-18 18:51:07 +02:00
kostkabrukowa 7e3d532075 VIM-1970 | Clears highlighters after its removal 2020-07-18 11:30:52 +02:00
kostkabrukowa 4f658c4734 VIM-1970 | Draft of working solution to plugin vim-highlightedyank 2020-07-18 10:14:45 +02:00
Alex Plate 26aa753d9e Update syntax of TabCloseHandler.kt 2020-07-16 11:13:20 +03:00
Alex Plate bd9c40aabc Add Rieon Ke to contributions list 2020-07-16 11:02:45 +03:00
Alex PláteandGitHub 008edc7e33 Merge pull request #244 from rieonke/VIM-2068
Implement tabc[lose] ex command
2020-07-16 10:57:59 +03:00
Alex Plate 2901bf45b7 Update the contributing doc 2020-07-15 10:11:51 +03:00
Alex Plate 24e7f655fc Add linewise motion type 2020-07-14 11:31:29 +03:00
Alex Plate ab8de509d9 Create visual type for the text objects 2020-07-14 02:37:54 +03:00
Alex Plate 4fc4ed7675 Remove FLAG_MOT_CHARACTERWISE flag 2020-07-14 02:10:20 +03:00
Alex Plate b35ad2bb9d Remove FLAG_MOT_BLOCKWISE 2020-07-14 02:03:08 +03:00
Alex Plate 895c7f1af1 Remove deprecated class 2020-07-14 01:37:08 +03:00
Alex Plate fbca5712e3 Run some tests with neovim 2020-07-14 01:24:05 +03:00
Alex PláteandGitHub 58850960b8 Merge pull request #243 from strogiyotec/master
Fix alternative XDG path in README
2020-07-13 11:37:38 +03:00
Alex Plate 1c874d3957 Assert mode in neovim testing 2020-07-13 11:23:28 +03:00
Alex Plate a42a19a174 Add converting mode to vim notation 2020-07-13 11:21:53 +03:00
Alex Plate bbe39d5942 Convert command state to kt 2020-07-13 10:42:43 +03:00
Alex Plate f5fb844442 Rename .java to .kt 2020-07-13 10:42:42 +03:00
Alex Plate cb186a686e Fix typo in readme 2020-07-13 10:21:37 +03:00
Alex Plate 0c22bb2f4f Add logging for used ideavimrc file 2020-07-13 10:05:16 +03:00
Alex Plate 49756c5c2f Split editor setup and command typing 2020-07-12 21:35:54 +03:00
Alex Plate 7efc2e1631 Enable neovim testing only for testWithNeovim task 2020-07-12 16:41:13 +03:00
Alex Plate ed23f5958c Rename doTestWithNeovim to doTest 2020-07-12 13:14:42 +03:00
Alex Plate 0ea53f3445 Remove unused doTest method 2020-07-12 13:09:27 +03:00
Alex Plate 4531b38c89 Annotate tests with TestWithoutNeovim 2020-07-12 12:58:51 +03:00
Alex Plate 2114725dab DotToTab is now extension function 2020-07-11 21:30:21 +03:00
Alex Plate 6877ffcb47 Use neovim for tests with VimBehaviourDiffers 2020-07-11 17:55:51 +03:00
Alex Plate c4a3cc6718 Disable neovim test for tests that are marked with VimBehaviourDiffers 2020-07-11 17:32:00 +03:00
Alex Plate a53ed1705a Extract NeovimTesting to the separate class 2020-07-11 16:58:27 +03:00
Alex Plate ae13eed152 Move all tests to use neovim or describe the reason why it cant 2020-07-11 16:14:48 +03:00
Alex Plate 2c2c023200 Move some tests to neovim or describe the reason 2020-07-10 12:03:54 +03:00
Alex Plate 1dbe7735df Rename api to neovimApi 2020-07-10 10:49:12 +03:00
Alex Plate a321e77e2e Support setreg for neovim 2020-07-10 10:48:46 +03:00
Alex Plate 9b52b496b2 Convert some tests to testing with neovim 2020-07-09 22:47:41 +03:00
Alex Plate deeddc22be More methods use neovim 2020-07-09 21:55:21 +03:00
Alex Plate 680693448f Two more tests to work with neovim 2020-07-09 19:28:44 +03:00
Alex Plate b4b5c0c77e Convert VimTestCase to kt 2020-07-09 18:01:02 +03:00
Alex Plate 3f3305706d Rename .java to .kt 2020-07-09 18:01:01 +03:00
Alex Plate bd942e2ea1 Add initial implementation of neovim integration for tests 2020-07-09 17:36:57 +03:00
Alex Plate a4c3fd8f0b Removed redundant class name 2020-07-09 17:35:20 +03:00
Alex Plate f54fc09a37 Make modes the same as in vanilla vim 2020-07-09 12:45:34 +03:00
Alex Plate fd6bdde5b0 Add merged commits to changeslog 2020-07-09 11:17:36 +03:00
Alex Plate 85c8007084 Update authors and changes 2020-07-09 11:14:03 +03:00
Alex PláteandGitHub 8a82d60172 Merge pull request #241 from patrick-elmquist/fix/reset-operator
Properly reset when pressing Esc in the middle of command
2020-07-09 11:10:02 +03:00
Alex PláteandGitHub 8b3f5d5e81 Merge branch 'master' into fix/reset-operator 2020-07-09 11:09:41 +03:00
Alex PláteandGitHub e222294c6e Merge pull request #237 from adriafarres/master
Reset operator-pending commands on escape
2020-07-09 11:01:03 +03:00
Alex Plate a04b536df8 Mark codeblocks as vim script 2020-07-08 12:05:13 +03:00
Alex Plate 2a0bd8722e Check is project is disposed in isTemplateActive 2020-07-07 17:56:52 +03:00
Patrick Elmquist 742187919f Properly reset with Esc in the middle of command 2020-07-07 11:09:56 +02:00
Alex Plate aece559400 Remove unused deprecated methods 2020-07-07 12:07:11 +03:00
Alex Plate 8b6e41afb8 Remove [To Be Released] mark 2020-07-07 09:55:08 +03:00
Alex Plate 9eed5802d6 Prepare for the 0.58 release 2020-07-07 09:28:17 +03:00
Alex Plate 437932d023 Revert and move neovim to fork 2020-07-06 19:49:27 +03:00
Alex Plate e8dd4f2e59 Default execution amount for property based tests 2020-07-06 19:06:33 +03:00
Alex Plate 93cdf3828b Add initial implementation of neovim integration for tests 2020-07-06 19:03:07 +03:00
Alex Plate 99a91404ce Revert "Add initial implementation of neovim integration for tests"
This reverts commit 15ebcb5b
2020-07-06 16:06:09 +03:00
Alex Plate 28ae3a104a Revert "Create neovim helper"
This reverts commit bc08839b
2020-07-06 16:05:55 +03:00
Alex Plate bc08839b16 Create neovim helper 2020-07-06 15:47:15 +03:00
Alex Plate 15ebcb5b6a Add initial implementation of neovim integration for tests 2020-07-06 12:20:02 +03:00
Alex Plate 93fd8b0ff7 More complicated texts for property based tests 2020-07-03 21:49:24 +03:00
Alex Plate 6d0f280f19 Different initial position for caret 2020-07-03 21:36:09 +03:00
Alex Plate 3b26a4c26d Unignore property based test 2020-07-03 12:37:34 +03:00
Alex Plate 60315744d1 Fix exceptions in word under caret search 2020-07-03 12:35:43 +03:00
Alex Plate 40a6617816 Reset last search during property based tests 2020-07-03 12:11:23 +03:00
Alex Plate a6964a37ac Fix exception during sentence start search 2020-07-03 11:54:25 +03:00
Alex Plate 9249ae073c Fix bug in anyNonWhitespace 2020-07-03 11:21:03 +03:00
Alex Plate 2a216728f1 Add KtDock for property based test 2020-07-02 14:00:27 +03:00
Alex Plate b186cb585e Rename property based test 2020-07-02 13:59:39 +03:00
Alex Plate 4e26f62391 Cleanup property based test 2020-07-02 13:58:29 +03:00
Alex Plate ddb502acb3 Fix exception for d]] command 2020-07-02 13:48:36 +03:00
Alex Plate 89cb6867d4 Tests for exiting insert mode 2020-07-02 13:27:27 +03:00
Alex Plate f7892b33c8 Add method doTest that accepts string instead of list of KeyStrokes 2020-07-02 12:17:22 +03:00
Alex Plate e04e0e69f3 Enable strict mode for tests 2020-07-02 12:15:57 +03:00
Alex Plate 7172faf7b5 Revert strict mode for all normalization methods
This should be done in a more smooth way
2020-07-02 12:09:56 +03:00
Rieon Ke 6e1761a1f5 impl tabc[lose] ex command 2020-07-02 15:21:19 +08:00
Alex Plate baa7d4f098 Fix big word motion for last word 2020-07-01 20:49:34 +03:00
Alex Plate baa5557010 Fix bug in dollar motion at the end 2020-07-01 20:47:16 +03:00
Alex Plate 5ce25ebc23 Fix deleting from the start of document 2020-07-01 20:47:14 +03:00
Alex Plate 1f4d5b0140 Really ignore property based test 2020-07-01 19:01:51 +03:00
Alex Plate ddd1a0a5f0 Reset digraph during propertyBased tests 2020-07-01 19:01:08 +03:00
Alex Plate 802c887b60 Well, JetCheck is accessible from IJ sources 2020-07-01 15:55:01 +03:00
Alex Plate e15fd8fa24 Add initial implementation of property based tests 2020-07-01 15:46:52 +03:00
Alex Plate 034cc3a725 Fix sentence motion with two new lines at start 2020-07-01 15:43:24 +03:00
Alex Plate f34dcc0386 Add test for block selection on empty file 2020-07-01 15:02:39 +03:00
Alex Plate a7b278553f Make typeText accessible from non vim test cases 2020-07-01 14:11:14 +03:00
Alex Plate bd52eb12bd Fix star search on the last dot 2020-06-30 23:08:09 +03:00
Alex Plate 2d9a0a7559 Fix case yk for first line 2020-06-30 22:47:19 +03:00
strogiyotec 67d3698a40 Fix alternative XDG path in README 2020-06-30 11:30:10 -07:00
Alex Plate 7b40281875 Use strict mode in normalize methods 2020-06-30 20:27:41 +03:00
Alex Plate dc1d01c91d Use ifEmpty method 2020-06-30 19:48:53 +03:00
Alex Plate 1e2618fddc Fix missing set command in docs 2020-06-30 10:22:26 +03:00
Alex Plate 85194b772b Vim.showMessage should show localized string 2020-06-30 10:22:12 +03:00
Alex Plate 5a048139d6 Extract action names and descriptions to message bundle 2020-06-30 10:07:37 +03:00
Alex Plate 7809842348 Remove unused command flags 2020-06-30 09:55:52 +03:00
Alex Plate c7948374fd Cleanup 2020-06-29 13:30:23 +03:00
Alex Plate f8afdf304b Use @TestFor instead of custom annotation 2020-06-29 12:21:06 +03:00
Alex Plate 29d617f7bb Fix missing mapping to FileHandler 2020-06-29 11:00:17 +03:00
Alex Plate 0e7b05e360 Continue cleanup 2020-06-29 10:57:53 +03:00
Alex Plate 5f18e99128 Action is not nullable for Command 2020-06-29 10:49:46 +03:00
Alex Plate b2e0af587f Continue code cleanup 2020-06-29 10:42:02 +03:00
Alex Plate b0b0817668 Code cleanup 2020-06-29 10:29:52 +03:00
Alex Plate a6ef654c05 Add tests for exchange plugin with unnamed register in clipboard 2020-06-26 10:43:42 +03:00
Alex Plate e428b9fa0a IdeaVim should save to unnamed register, not default one 2020-06-26 10:34:06 +03:00
Alex Plate 7008185735 Prepare to the 0.57.1 EAP release 2020-06-26 09:32:57 +03:00
Alex Plate e4bbc7b962 Change type of string 2020-06-26 09:27:25 +03:00
Alex Plate 68704a2e3d Oh, we have an issue for vim-exchange 2020-06-25 19:44:24 +03:00
Alex Plate 6f0222c55e IntelliJ IDEA wants this properties in this order 2020-06-25 19:43:14 +03:00
Alex Plate e0646541e8 Revert incompatible changes 2020-06-24 18:57:25 +03:00
Alex Plate 2d1fee0516 Add [version update] marks 2020-06-24 18:17:42 +03:00
Alex Plate 149899c34e Fix fold tests 2020-06-24 18:05:54 +03:00
Alex Plate c6573b48c2 Convert test to kt 2020-06-24 18:01:34 +03:00
Alex Plate 476ba265d2 Rename .java to .kt 2020-06-24 17:59:42 +03:00
Alex Plate 9904de1946 Use fold action names from platform 2020-06-24 17:54:04 +03:00
Alex Plate e73aec2e9e Update gradle wrapper 2020-06-23 23:53:59 +03:00
Alex Plate d6658a1771 Update test 2020-06-23 11:09:25 +03:00
Alex Plate 583988034b Fix incompatibility for 202 eap 2020-06-23 09:55:06 +03:00
Rieon Ke e57d6f3d97 fix test failure after changing to key notations from printable chars 2020-06-22 22:56:47 +08:00
Rieon Ke 55e553c2a0 add support for putting & editing macros 2020-06-22 22:47:35 +08:00
Alex Plate 44a3263a86 Update CHANGES.md 2020-06-22 11:23:04 +03:00
Alex Plate 80723a6cad Use latest-eap for local builds 2020-06-22 11:16:51 +03:00
Alex Plate ca15c60d52 Remove the ability to download EAP from notification (access to plugin download mechanism was restricted) 2020-06-22 11:16:43 +03:00
Alex PláteandGitHub 8be075b36a Merge pull request #239
Use new API for relative line numbers
2020-06-22 11:16:30 +03:00
Alex Plate ca203f8297 Add compatibility section 2020-06-21 21:58:59 +03:00
Alex Plate 934c3065b9 Add contributions welcome badge 2020-06-21 21:56:13 +03:00
Matt Ellis 5d95917727 Do not add line numbers when caret moves
Fixes VIM-2021
2020-06-20 19:00:59 +01:00
Alex Plate a53b67f0ef Add option to disable IdeaVim in dialogs 2020-06-20 18:20:27 +03:00
Matt Ellis eff13180b3 Update to new line number API
Fixes VIM-1934, fixes VIM-1852
2020-06-19 23:51:46 +01:00
Alex Plate 354aec4713 Disable IdeaVim in database table cells 2020-06-19 18:55:49 +03:00
Alex Plate d2acb88dd4 Add experimental options to disable IdeaVim in one-line editors and enable escape in dialogs 2020-06-19 16:46:37 +03:00
Alex Plate e96ece23b8 Add strictMode to enable additional checks in dev mode 2020-06-19 09:45:46 +03:00
Alex Plate a3a3db9bc8 Extract ListenerSuppressor from ListenerManager 2020-06-19 09:29:49 +03:00
Alex Plate ede0737261 Update changelog 2020-06-19 07:11:54 +03:00
Alex Plate dc7efad420 Fix links in CONTRIBUTING.md 2020-06-16 15:34:43 +03:00
Alex Plate 423d51a6f9 Update documentation and contribution section 2020-06-16 15:28:43 +03:00
Alex Plate c350650f9c Commands work on the last line 2020-06-09 03:41:38 +03:00
Alex Plate 8c3cbc49b3 Add tests for G command 2020-06-09 03:15:16 +03:00
Alex Plate 786b7193d0 getLineCount does now respect last new line character 2020-06-09 03:04:48 +03:00
Alex Plate 2a6acba07f S is now a synonym of cc and doesn't have a separate logic 2020-06-09 03:01:45 +03:00
Alex Plate e5a5d112ca Deprecate getFileSize method 2020-06-07 20:47:15 +03:00
Alex Plate 9e2cfe548b [WIP] Removing usages of deprecated getFileSize 2020-06-07 19:50:32 +03:00
Alex Plate f4d595f5c2 [WIP] Removing usages of deprecated getFileSize for SearchHelper 2020-06-07 19:42:01 +03:00
Alex Plate c1e5b7d111 Remove deprecated usage in different files 2020-06-07 19:35:25 +03:00
Alex Plate 1eccc60cb3 Remove deprecated usage in moveTextHandler 2020-06-07 19:19:29 +03:00
Alex Plate 9f8095ae52 Formatting for MoveTextHandler.kt 2020-06-07 19:17:19 +03:00
Alex Plate 3674cf4aad [WIP] Removing usages of deprecated getFileSize for MotionGroup 2020-06-07 19:17:05 +03:00
Alex Plate 6b0d2157c8 [WIP] Removing usages of deprecated getFileSize for go command 2020-06-07 19:06:04 +03:00
Alex Plate 5a629d6256 [WIP] Removing usages of deprecated getFileSize in getting file info 2020-06-07 18:37:15 +03:00
Alex Plate b8909f97aa [WIP] Removing usages of depracated getFileSize 2020-06-07 14:13:07 +03:00
Alex Plate 8c83ed6b55 Remove usage of deprecated getFileSize 2020-06-06 18:24:24 +03:00
Alex Plate b161346171 Trying to get rid of getFileSize with allowEnd 2020-06-06 18:07:15 +03:00
Alex Plate 330e717518 Fix offset bounds 2020-06-04 10:24:18 +03:00
Alex Plate dafc031ef6 Add checks for selectWord 2020-06-04 10:03:43 +03:00
Alex Plate b00a2d3b79 Do not get findManager for nullable project
Fixes EA-231806
2020-06-04 09:36:53 +03:00
Alex Plate c64ec34a1f Fix let mapleader="\<SPACE>" 2020-06-03 11:42:39 +03:00
Alex Plate 8ed709c7bb Use different file for storing local configs 2020-06-03 11:14:37 +03:00
Alex Plate 8e8e52c6f9 Create configuration migrators for IdeaVim 2020-06-03 11:05:48 +03:00
Alex Plate f3e806c4a6 Create config package 2020-05-28 11:14:53 +03:00
Alex Plate 3bae95ae5b Fix typo 2020-05-28 11:07:10 +03:00
Alex Plate 0adde753f4 Preparation for 0.57.1 EAP release 2020-05-28 10:39:43 +03:00
Alex Plate 5f28a22666 Notes about unsupported features of exchange plugin 2020-05-22 15:06:20 +03:00
Alex Plate a975b53894 Fix bug in test 2020-05-22 10:27:53 +03:00
Alex Plate 98aee5d0ab Fixes and more tests for vim exchange 2020-05-22 09:59:53 +03:00
Alex Plate f57af8bf9e new badges 2020-05-20 23:53:06 +03:00
Alex Plate c6c3b6643e Add linewise visual test for vim exchange plugin 2020-05-20 23:44:45 +03:00
Alex PláteandGitHub af94079b92 Merge pull request #238 from citizenmatt/bug/prioritise-startup-activity
Prioritise startup activity to initialise IdeaVim early
2020-05-15 10:27:33 +03:00
Alex Plate 7203cc5cb3 Revert "Remove dynamic loader stopper"
This reverts commit 03493e23
2020-05-15 09:48:41 +03:00
Alex Plate 028423cf58 Make exchange extension repeatable 2020-05-14 10:37:37 +03:00
Alex Plate 2ead6af96a Fix visual operator with dot command 2020-05-14 10:37:16 +03:00
Matt Ellis bf853e3c0c Initialise as soon as possible during startup 2020-05-13 17:38:09 +01:00
Adrià Farrés 660b243056 Reset operator-pending commands on escape
Suppose we have the text "|Hello, world", with | being the position of
the cursor. Pressing `d<Esc>dw` simply moves the cursor on top of the
comma instead of leaving the text as ", world".

This fixes issue VIM-1421.
2020-05-13 05:03:49 +02:00
Alex Plate c85f41e65b Fix tests 2020-05-12 10:43:04 +03:00
Alex Plate 2759bed1b2 Update changelog 2020-05-12 10:15:55 +03:00
Alex PláteandGitHub 89c2a8ec9b Merge pull request #229 from fan-tom/VIM-921_exchange
VIM-921 vim-exchange plugin emulation
2020-05-12 10:08:53 +03:00
Alexey Gerasimov aa2c1257ac Use ${c} instead of <caret> 2020-05-10 17:55:55 +05:00
Alexey Gerasimov f9fa15b7ac Parenthesize command names 2020-05-10 14:51:16 +05:00
Alex Plate 93a9be41bc Update changes image 2020-05-09 23:16:02 +03:00
Alex Plate ecd2f2032c Update changes 2020-05-09 23:08:15 +03:00
Alex Plate de5ce5f635 Update ideavimrc reload implementation 2020-05-09 22:56:10 +03:00
Alex Plate 2eb6fd6819 Convert VimParser to kt 2020-05-09 22:56:10 +03:00
Alex Plate 22ea4e7ffa Rename .java to .kt 2020-05-09 22:56:10 +03:00
Alex Plate 3d98f3035f Reload vimrc 2020-05-09 22:56:10 +03:00
Alex Plate ec1d6ac477 Update changelog 2020-05-08 11:51:29 +03:00
Alex PláteandGitHub 0dc236cb5b Merge pull request #231 from citizenmatt/feature/smooth-scrolling
Support smooth scrolling
2020-05-08 11:44:18 +03:00
Alex Plate 98349a49fd Temporally remove changelog 2020-05-08 11:40:27 +03:00
Alex Plate ab8be2cada Update changes 2020-05-08 10:35:28 +03:00
Alex PláteandGitHub b8c22d0928 Merge pull request #230 from fan-tom/VIM-1924_select_next_occurrence
VIM-1924
2020-05-08 10:30:34 +03:00
Alex Plate c6cf77e4b8 Remove some deprecations 2020-05-06 09:53:04 +03:00
Alex Plate 6c0511a898 Update IdeaVim icons class 2020-05-06 09:38:47 +03:00
Alex Plate 366c862bcf Add loading/unloading to manual tests 2020-05-06 09:38:11 +03:00
Alex Plate 03493e2390 Remove dynamic loader stopper 2020-05-06 09:36:41 +03:00
Alex Plate 8f9c71dd55 Correct ex command and update changes 2020-05-06 08:49:07 +03:00
Alex Plate 11beb1e331 Add Piotr Mikulski to contributors list 2020-05-06 08:47:10 +03:00
Alex PláteandGitHub 01b4dc233a Merge pull request #227 from angelbot/buffer_command
Add support for buffer command
2020-05-06 08:46:41 +03:00
Alex PláteandGitHub 9f1e80e969 Merge pull request #224 from pmnoxx/master
Populate intelij navigation history together with ideavim jumplist
2020-05-06 08:30:06 +03:00
Alex Plate 7e319e11c6 Add valis to contributors list 2020-05-06 08:20:48 +03:00
Alex Plate d11bf1c4d2 Update api 2020-05-06 08:14:34 +03:00
Alex Plate 3e2f18b757 Take back dynamic loader stopper 2020-05-06 08:14:33 +03:00
Alex PláteandGitHub 61677aa811 Merge pull request #233
Fix #VIM-1994
2020-05-06 08:13:40 +03:00
Alex Plate fb04e835ef Update vimBehaviourDiffers annotation description 2020-05-02 13:13:51 +03:00
Alex Plate bb133922d6 Update scheduledForRemoval because of quickfix release 2020-05-01 11:30:26 +03:00
Alex Plate 44dd5ef872 Convert VimExtensionRegistrar to kt 2020-05-01 11:16:28 +03:00
Alex Plate bcc8e1c055 Rename .java to .kt 2020-05-01 11:13:54 +03:00
Alex Plate 71117ed335 Update registration of extension pointers 2020-05-01 11:06:29 +03:00
Alex Plate de07fb3b74 Well, the status bar icon should be configurable 2020-05-01 10:38:23 +03:00
Alex Plate e31d5a4dcf Initial cleanup after IJ requirements update 2020-04-30 11:43:24 +03:00
Alex Plate e14aae761d Java plugin is always required 2020-04-30 11:33:11 +03:00
Alex Plate 47db2a247c Remove unused labels 2020-04-30 11:20:24 +03:00
Alex Plate e449bb9692 Refactor ChangeGroup listeners 2020-04-30 10:41:29 +03:00
Alex Plate b8fc72b6a7 Do not create project manager if it doesn't exist yet 2020-04-30 10:28:03 +03:00
Alex Plate 64c01c1bd1 Cleanup timer for java tests 2020-04-30 10:23:14 +03:00
Alex Plate 0a0e3df42b Extract statistic reporter into the separate file 2020-04-28 11:41:33 +03:00
Alex Plate 949c69a7e9 Refactor EditorGroup listeners 2020-04-28 11:41:33 +03:00
Alex Plate 69caf7a604 Refactor MotionGroup listeners 2020-04-28 11:41:32 +03:00
Alex Plate 23860ad5f9 Use project-level service as parent disposable 2020-04-28 11:41:32 +03:00
Alex Plate ace5234d8d Update showcmd widget 2020-04-28 11:41:32 +03:00
Alex Plate 4654f821a9 Fix issue with listener removing 2020-04-28 11:41:32 +03:00
Alex Plate 927e0e7865 Update status bar widget to the new API 2020-04-28 11:41:32 +03:00
Alex Plate d47c9735b5 Use concurrent list to store listeners 2020-04-28 11:41:31 +03:00
Alex Plate 6100433636 Move StatusBar.kt to a different package 2020-04-28 11:41:31 +03:00
Alex Plate 43f79e8183 Update minimal required version of IJ 2020-04-28 11:41:31 +03:00
Alex Plate f58fda0c87 Add .DS_Store to gitignore 2020-04-28 11:41:31 +03:00
Alex Plate 64b49e37d7 Add link to gitter chat 2020-04-28 11:41:31 +03:00
Alex Plate e44418d410 Add icon in .idea 2020-04-28 11:41:30 +03:00
Alex Plate ca8d05ff13 Clear keymap on reset 2020-04-28 11:41:30 +03:00
Alex Plate 626871e34d Register topics via xml file 2020-04-28 11:41:29 +03:00
Alex Plate 4b659fe643 Prepare for 0.57 release 2020-04-28 11:18:56 +03:00
Alex Plate d5055506b0 Fix regex for slack notification 2020-04-22 09:56:39 +03:00
Alex Plate 55f54b2e82 Prepare for 0.56.1 release 2020-04-22 09:31:38 +03:00
Alex Plate 1b18065e68 Small refactoring of handlers 2020-04-18 17:43:50 +03:00
Alex Plate 053dc02152 EditorActionHandlerBase doesn't take null as caret 2020-04-18 16:40:07 +03:00
Alex Plate b8cb4a1295 Move IdeaVim icon in the README 2020-04-17 11:34:28 +03:00
Alex Plate cd2cbf68a1 Update README 2020-04-17 11:31:17 +03:00
Alex Plate 73f3be8af0 Include copyright into repository 2020-04-17 11:17:34 +03:00
Alex Plate 8cce059fb4 Write tests for yanking and pasting with number register 2020-04-17 10:48:09 +03:00
Alex Plate db641ec6f6 Add runforprogram to contributors list 2020-04-17 10:27:11 +03:00
Alex Plate 9d8239b68d Update changelog 2020-04-17 10:19:56 +03:00
Alex PláteandGitHub 4ec0bac275 Merge pull request #234 from runforprogram/master
[VIM-1991] fix >0 number register not work
2020-04-17 10:19:49 +03:00
Alex Plate 613c234cfb Fix related tests 2020-04-16 11:31:22 +03:00
Alex Plate 83dca71f69 [VIM-1992] Fix shift-letter mappings 2020-04-16 11:20:26 +03:00
Alex Plate f7ea9cdb6e Convert mapping tests to kotlin 2020-04-16 11:03:40 +03:00
Alex Plate 762cb1804f Rename .java to .kt 2020-04-16 11:02:38 +03:00
runandGitHub 962cfb7ae2 [VIM-1991] fix >0 number register not work 2020-04-16 15:45:57 +08:00
Valery Isaev 9bc2ec7d8a Fix #VIM-1994 2020-04-13 15:02:49 +03:00
Alex Plate 8415d104e9 Clear registers before test 2020-04-10 11:03:14 +03:00
Alex Plate abd0f9b961 Update dependencies 2020-04-10 11:00:47 +03:00
Alex Plate 0a4683d908 Clean up repository for the release 2020-04-09 11:06:21 +03:00
Alex Plate 4c280b0193 Run manual tests 2020-04-09 10:51:32 +03:00
Alex Plate e88a3deafd Fix replace with clipboard register 2020-04-09 10:25:42 +03:00
Matt Ellis 7de08e08d0 Support smooth scrolling 2020-04-07 17:30:18 +01:00
Alex Plate bd172b3300 Run manual tests 2020-04-07 11:35:58 +03:00
Alex Plate 95c7a13cb5 Turning plugin on should be performed after commands registration 2020-04-07 11:27:24 +03:00
Alex Plate b1ddf03385 Add notes to changelog about Keep a Changelog and Semantic Versioning. 2020-04-06 10:25:50 +03:00
Alex Plate a83c326736 Add logging for activating ex panel 2020-04-03 08:23:55 +03:00
Alex Plate b1acb56247 Fix exception for ciw on last char in file 2020-03-28 15:57:54 +03:00
Alex Plate caa4731a13 Fix exception when using text objects on empty files 2020-03-28 15:39:06 +03:00
Alex Plate 5b0ece7a91 ReplaceWithRegister for clipboard registers 2020-03-23 10:34:53 +03:00
Alexey Gerasimov a4cd94847e Return VISUAL_BLOCK submode from autodetect only if 'Add Selection for NextOccurrence' was not performed previously 2020-03-22 16:45:45 +05:00
Alexey Gerasimov a0a7386b51 Remove highlight after command is executed or canceled 2020-03-21 20:08:57 +05:00
Alexey Gerasimov 535a72000f Cleanup 2020-03-21 20:08:37 +05:00
Alexey Gerasimov 60531b9cd2 Add methods in RegisterGroup and VimExtensionFacade to setRegister with specified selection type 2020-03-21 20:04:30 +05:00
Alexey Gerasimov 8f86ad696d Register VimExchange extension 2020-03-21 20:04:30 +05:00
Alexey Gerasimov c9bda98a6a Add VimExchange extension tests 2020-03-21 20:04:30 +05:00
Alexey Gerasimov 9ea08da133 Add VimExchange extension 2020-03-21 17:09:02 +05:00
Alexey Gerasimov 5762ec0518 Add marks last changed end position test 2020-03-21 17:09:02 +05:00
Alexey Gerasimov 7db74460fa Fix marks range end position handling, as excluded 2020-03-21 17:09:02 +05:00
Alex Plate c8d64e0a06 Update changelog 2020-03-20 11:44:27 +03:00
Alex Plate 1a3dea0de6 Update slack notification format 2020-03-20 11:42:40 +03:00
Alex Plate 17b642280e Update gradle wrapper properties 2020-03-20 11:42:14 +03:00
Alex Plate 1c1717b78b Add kk to the contributions list 2020-03-20 10:38:30 +03:00
Alex Plate 4bbbdf8108 Fix ReplaceWithRegister to the empty line 2020-03-20 10:35:08 +03:00
Alex PláteandGitHub 04a193309d Merge pull request #228 from kevin70/master
fixed #VIM-570
2020-03-20 10:34:58 +03:00
Alex Plate f106ffa176 Support ReplaceWithRegister plugin emulation 2020-03-19 11:25:30 +03:00
Alex Plate 8d5d099542 Update icon on ideastatusicon option change 2020-03-19 09:13:49 +03:00
kk 4849992ca9 fixed #VIM-570 2020-03-18 18:49:55 +08:00
Alex Plate 623105650e PutTextAction refactor 2020-03-17 09:43:40 +03:00
Alex Plate 5e2c01daa6 Rename PutTextAction.kt 2020-03-17 09:32:46 +03:00
Alex Plate 58bf3a4d30 Merge Put actions into one file 2020-03-17 09:28:49 +03:00
Alex Plate 2d434c38b9 Move test to correct directory 2020-03-15 16:53:57 +03:00
Alex Plate 246f5cd8cf VIM-1911 Lookup keys respect IDE handler 2020-03-14 23:03:42 +03:00
Alex Plate 5a174d21f1 Update CHANGES 2020-03-14 18:06:58 +03:00
Alex Plate e632c653f6 Add showcmd text to widget label 2020-03-14 18:05:38 +03:00
Alex Plate 174d17b088 VIM-1958 Fix X command for linewise selection 2020-03-14 18:00:45 +03:00
Alex Plate 3a35c931e4 Unignore some tests 2020-03-14 17:42:33 +03:00
Alex Plate b768b26c85 Remove some warnings 2020-03-14 17:28:14 +03:00
Alex Plate 123ce6ebaf Get rid of deprecated KeyEvents 2020-03-14 15:55:01 +03:00
Alex Plate 276c8db512 Fix some tests 2020-03-12 11:48:24 +03:00
Alex Plate f898b8d181 Fix mappings to <S-Space> 2020-03-12 11:25:14 +03:00
Alex Plate e9f9e531e4 Convert vim typed action to kt 2020-03-12 11:04:35 +03:00
Alex Plate a7d813cb86 Rename .java to .kt 2020-03-12 11:04:35 +03:00
Alex Plate 75b6eedb12 Remove unused class 2020-03-12 10:33:52 +03:00
Alex Plate ec6860aa90 Change the label of showcmd widget 2020-03-12 10:03:39 +03:00
Alex Plate 5cf661c6ae Fix exception during command typing 2020-03-10 14:58:35 +03:00
Alex Plate 8c62caae7c Fix compilation errors 2020-03-10 11:30:10 +03:00
Alex Plate cc6fe21af6 Update CHANGES.md 2020-03-10 10:28:17 +03:00
Alex PláteandGitHub 1902151efa Merge pull request #220 from citizenmatt/feature/showcmd
Implement showcmd
2020-03-10 10:24:36 +03:00
Alex PláteandGitHub b7af1e6289 Merge branch 'master' into feature/showcmd 2020-03-10 10:24:06 +03:00
Alex Plate 0c77b320db VIM-570 Print non-ascii characters in ex panel 2020-03-06 13:03:28 +03:00
Alex Plate ee41adc4e9 Update kotlin version 2020-03-06 09:54:57 +03:00
Alex PláteandGitHub 93462d7505 Merge pull request #221 from igrekster/master
argtextobj: support bracket pairs configuration via let g:argtextobj_pairs="..."
2020-03-06 09:54:33 +03:00
Alex Plate 2f5946640e Update changelog 2020-03-04 10:44:28 +03:00
Alex Plate 7cdb7dc308 Fix some tests for older versions of IDE 2020-03-04 10:32:05 +03:00
John Weigel 2f148255f7 Cleanup 2020-03-03 23:14:11 -06:00
John Weigel cb00b8b335 Merge remote-tracking branch 'upstream/master' into buffer_command 2020-03-03 23:10:00 -06:00
John Weigel 559b56c8a2 Minor updates 2020-03-03 23:05:32 -06:00
Alex Plate c0038d0373 Add John Weigel to contributors list 2020-03-03 11:11:09 +03:00
Alex Plate 2820decb5e Rename variable 2020-03-03 11:07:07 +03:00
Alex PláteandGitHub c64f368e6a Merge pull request #217 from angelbot/master
Add support for buffer list (buffers, files, ls)
2020-03-03 11:05:43 +03:00
Alex Plate b7c8e84f5e Minor cleanup 2020-03-03 11:03:36 +03:00
Alex Plate 5acf6c9158 Convert VimPlugin to service 2020-02-28 21:11:12 +03:00
Alex Plate a8197b0c84 Convert runnableHelper to kt 2020-02-28 18:15:40 +03:00
Alex Plate 2e03062c24 Rename .java to .kt 2020-02-28 18:15:39 +03:00
Alex Plate 7fb60a185b Update gradle version 2020-02-28 17:35:46 +03:00
Alex Plate 0327ea972b Make Open ideavimrc dumb aware 2020-02-28 10:29:38 +03:00
Alex Plate 561cc77ecc Move related methods closer to each other 2020-02-28 09:42:22 +03:00
Alex Plate a1ab4acd14 Add comment for EPs 2020-02-28 09:39:33 +03:00
Alex Plate d4939803da Update changelist 2020-02-27 14:27:13 +03:00
Alex PláteandGitHub 730ce3aca9 Merge pull request #226 from agrison/master
Implement the vim-textobj-entire plugin emulation.
2020-02-27 14:23:31 +03:00
Alexandre Grison 1893dc6afd Fixes from feedback.
Renamed `entiretextobj` to `textobj-entire` including packages and class name.
Renamed `<Plug>IncludingLeadingTrailing` to `<Plug>textobj-entire-a`.
Renamed `<Plug>IgnoringLeadingTrailing` to `<Plug>textobj-entire-i`.
Avoid iterating too much the buffer content.
2020-02-27 11:46:23 +01:00
igrekster 6ec39314ee argtextobj: support bracket pairs configuration via let g:argtextobj_pairs="..."
argtextobj by default only handles arguments inside parenthesis. This is
very limiting when editing C++ source files. This change allows the list
of bracket pairs to be configurable via a global IdeaVim variable. The
variable takes effect immediately.
2020-02-26 10:32:21 +11:00
John Weigel 158cea51db Add override test 2020-02-23 22:02:06 -06:00
John Weigel 33d34f35e9 Merge branch 'master' into buffer_command 2020-02-23 21:49:22 -06:00
John Weigel 1f4f40fd7c Merge remote-tracking branch 'upstream/master' 2020-02-23 21:48:30 -06:00
John Weigel 7c908b247e Merge branch 'master' into buffer_command 2020-02-23 21:14:21 -06:00
John Weigel c87528939b Fix buffer numbering bug with filters.
Update test to cover fix.
2020-02-23 21:11:36 -06:00
John Weigel 41c822fde1 Add support for buffer command. 2020-02-23 20:45:06 -06:00
Alex Plate e56646105d Add test bages 2020-02-21 12:05:05 +03:00
Alex Plate b8a40d93f7 Now every service handles it's state separately. VimLocalConfig is a service 2020-02-21 12:03:02 +03:00
Alexandre Grison 4bfc025248 Fixes typo 2020-02-20 12:24:38 +01:00
Alexandre Grison 36f6027b0e Implement the vim-textobj-entire plugin emulation. 2020-02-20 12:13:55 +01:00
Alex Plate e032377e68 Update annotations 2020-02-20 10:35:09 +03:00
Alex Plate 929eee4a12 Add comments for NotificationService.kt 2020-02-20 10:13:47 +03:00
Alex Plate 61ce50264a Add Alexey Gerasimov to contributors list 2020-02-19 12:02:10 +03:00
Alex Plate 48927b1207 Small corrections after merge 2020-02-19 11:58:37 +03:00
Alex Plate 0820893dc6 Update annotations to java 8 style 2020-02-19 11:58:27 +03:00
Alex PláteandGitHub dd6079cfa6 Merge pull request #219 from fan-tom/bugifx/1008
Fix block actions (i.e ci{) in presence of quotes (VIM-1008)
2020-02-19 11:53:19 +03:00
Piotr Mikulski 2a6569742d populate intelij navigation history together with ideavim jumplist 2020-02-17 17:55:45 -08:00
John Weigel 3d7d75bae4 Merge remote-tracking branch 'upstream/master' 2020-02-16 21:11:02 -06:00
John Weigel 6da4d0ce5e Rework buffer list to more closely mimic vim. 2020-02-16 20:40:17 -06:00
Alex Plate 4994d70b1a Update changelog 2020-02-14 12:42:22 +03:00
Alex PlateandGitHub c873081dc3 Merge pull request #133 from igrekster/master
Add argtextobj.vim plugin emulation
2020-02-14 12:30:13 +03:00
Alex Plate 070237f77f Add [To Be Released] label 2020-02-14 12:24:34 +03:00
Alex Plate eb01b25f35 Fix some cases by disabling [, { and < support (what is not supported in the original plugin) 2020-02-14 12:23:32 +03:00
Alex Plate c0c9cfaf86 Get rid of several getText methods 2020-02-14 10:54:22 +03:00
Alex Plate 304f860eb2 Use java 8 JetBrains annotations 2020-02-14 10:32:18 +03:00
Alex Plate 2f18b25593 Update gradle dependencies 2020-02-14 10:17:00 +03:00
Matt Ellis 14c8b6a248 Fix nullability compile error on 2019.2 2020-02-11 10:29:02 +00:00
Alex Plate adaa683e58 Use 2020.1 build for README label 2020-02-11 10:11:52 +03:00
Matt Ellis 9b71215cde Merge branch 'master' into feature/showcmd 2020-02-11 00:24:29 +00:00
Matt Ellis 8be572f976 Update set-commands and changes 2020-02-11 00:22:29 +00:00
Matt Ellis 4f43bcffb9 Replace SelectRegisterAction with direct parsing
It's not a command, but part of a command
2020-02-11 00:08:08 +00:00
Matt Ellis 29e4dc5fb5 Show digraph entry in showcmd 2020-02-10 23:38:02 +00:00
Matt Ellis 0dc95cb13c [VIM-434] Display showcmd in status bar
IdeaVim has showcmd enabled by default. Vim has it enabled by default, but disabled for Unix, with concerns about slow terminals. It is enabled by defaults.vim
2020-02-10 11:35:52 +00:00
igrekster 5ee0a93675 Add argtextobj.vim plugin emulation 2020-02-09 11:57:54 +11:00
Alex Plate 767b3c4a39 Add some scheduled for removal annotations 2020-02-08 20:57:44 +03:00
Alex Plate bb948a463c Add option to make status bar icon gray 2020-02-08 20:56:13 +03:00
Alex Plate e4e9a03d0a Add information about why EPs are used to register actions and ex handlers. 2020-02-08 18:14:04 +03:00
Alex Plate 50ba386f59 Write tests for dynamic extensions 2020-02-08 18:07:20 +03:00
Alex Plate 79d0565c2d Update some tests 2020-02-08 16:09:39 +03:00
Alex Plate bcc9b0a7b1 Remove plugin owner after extension removal 2020-02-08 15:38:54 +03:00
Alex Plate 2c8f4940b9 Support EasyMotion extension 2020-02-08 15:25:24 +03:00
Alex Plate 41876cf8fd Make vimExtension dynamic 2020-02-08 14:56:39 +03:00
Alex Plate f6fd0b52f0 Rename RequiredShortcutOwner to MappingOwner 2020-02-08 14:36:35 +03:00
Alex Plate 843faa7cc6 Make plugins disposable 2020-02-08 14:36:01 +03:00
Alexey Gerasimov a8af2c3242 Fix Set creation 2020-02-07 22:24:46 +05:00
Alexey Gerasimov e5bfad974e Copyright and comment 2020-02-07 21:50:06 +05:00
Alexey Gerasimov 59d87e0c94 More tests 2020-02-07 19:48:40 +05:00
Alexey Gerasimov 50c2d04503 Migrate to new checkInString 2020-02-07 19:48:40 +05:00
Alexey Gerasimov 480de62686 Improve existing checkInString 2020-02-07 19:48:40 +05:00
Alexey Gerasimov 955b501058 Make Direction enum public 2020-02-07 19:48:40 +05:00
Alexey Gerasimov d985527624 Rewrite checkInString in Kotlin 2020-02-07 19:48:40 +05:00
Alexey Gerasimov afbe7f0e69 Add findPositionOfFirstCharacter function 2020-02-07 19:48:40 +05:00
Alexey Gerasimov 94e65ddce6 Use isQuoteWithoutEscape when findCharacterPosition to detect escaped char 2020-02-07 19:48:40 +05:00
Alexey Gerasimov cb9f144255 isQuoteWithoutEscape small improvement 2020-02-07 19:48:40 +05:00
Alexey Gerasimov ac84624faa Use Direction enum instead of int 2020-02-07 19:48:40 +05:00
Alexey Gerasimov c2196785e7 Add tests 2020-02-07 19:48:40 +05:00
Alexey Gerasimov 30097fbae6 Assume that caret is in string/char only if there is closing char 2020-02-07 19:48:40 +05:00
Alex Plate c295dd5c62 Use special class for storing requiredShortcuts 2020-02-07 16:07:14 +03:00
Alex Plate 373fef2824 Refactor MappingInfo 2020-02-07 12:42:36 +03:00
Alex Plate cfc255bf2b Rename .java to .kt 2020-02-07 12:41:57 +03:00
Alex Plate ea7e58535b Fix tests 2020-02-07 12:41:47 +03:00
Alex Plate ea342a8e4f Preparation for 0.55.1 EAP release 2020-02-04 18:55:31 +03:00
Alex PlateandGitHub 0b67dd1d05 Merge pull request #218 from citizenmatt/feature/registers
Macros record input keystrokes, not mapped keystrokes

This PR fixes VIM-1835 by recording input keystrokes for macros instead of the mapped keystrokes.

This PR is also required as a stepping stone for showcmd support (VIM-434), as both issues require refactoring KeyHandler#handleKey, and I thought it best to separate the issues.

A few other things were fixed as part of this PR:

VIM-1899 - support an argument to the :registers command
VIM-1900 - improve output of :registers, :marks, :jumps and :ascii
2020-02-04 18:46:15 +03:00
Alex Plate 1519faef81 Fix compatibility with the IdeaVim-EasyMotion 2020-02-04 11:13:38 +03:00
Matt Ellis 9fad4a74ed Remove keys from Command
Also refactors PutVisualTextAction
2020-02-04 00:36:59 +00:00
Matt Ellis 24f023c8b3 Update changes 2020-02-03 23:35:53 +00:00
Matt Ellis 3eb46114f8 Remove Shortcut class 2020-02-03 23:35:04 +00:00
Matt Ellis 6a5fd30531 Remove unnecessary empty shortcut registration 2020-02-03 23:31:18 +00:00
Matt Ellis 96e83150e5 Ensure :jumps formats non-printable characters correctly
Also ensures long output lines are truncated
2020-02-03 22:50:39 +00:00
Matt Ellis b2b65c65b9 Ensure :ascii formats non-printable characters correctly 2020-02-03 22:50:38 +00:00
Matt Ellis 5b028b4fa3 Ensure :marks formats non-printable characters correctly
Also adds a bunch of tests, and fixes offset for ^ and ] registers
2020-02-03 22:50:38 +00:00
Matt Ellis 8f4e1b3409 [VIM-1900] Ensure :reg formats non-printable characters correctly 2020-02-03 22:50:38 +00:00
John Weigel ff209d0120 Merge remote-tracking branch 'origin/master' 2020-02-01 22:38:18 -06:00
John Weigel ea2fe618b5 Add support for buffer list (buffers, files, ls). 2020-02-01 22:33:12 -06:00
Matt Ellis 3403cdf84b [VIM-1835] Macros record actual keystrokes not mapped 2020-02-01 11:36:40 +00:00
Alex Plate 4f9a6f3a7b Make vimExCommand EP dynamic 2020-01-31 19:14:11 +03:00
Alex Plate c8d6d233e5 Revert [Make vimExCommand EP dynamic] 2020-01-31 18:15:55 +03:00
Alex Plate 0cfb65a19a Make vimExCommand EP dynamic 2020-01-31 17:59:07 +03:00
Alex Plate 384d917021 Make vimAction EP dynamic 2020-01-31 12:05:46 +03:00
Alex Plate f1c8c67789 Use enumMap to store key roots 2020-01-31 10:17:56 +03:00
Alex Plate 75e8f4ec6d Deny vimAction extension point contributions from other plugins 2020-01-30 21:23:23 +03:00
Matt Ellis d1d0323112 [VIM-1899] Add argument to :registers command
Also introduce testable clipboard handling
2020-01-27 10:47:37 +00:00
Alex Plate ab31dae582 Add todo for VimLocalConfig 2020-01-27 12:25:45 +03:00
Alex Plate 64f176cedb Control dynamic loading of plugin via the application component 2020-01-27 11:45:26 +03:00
Alex Plate 9e921d6621 Move plugin.xml includes into separate folder 2020-01-27 11:40:42 +03:00
Alex Plate a4b98f2848 Update CHANGES.md 2020-01-27 11:36:30 +03:00
Alex Plate 0d190e4a63 Update copyright 2020-01-27 11:35:00 +03:00
Alex PlateandGitHub 13cdb7cc35 Merge pull request #215 from citizenmatt/refactor/command-state
Refactor key handler state
2020-01-27 11:34:48 +03:00
Alex Plate ca60c467f3 Capability for tests in 2020.1 2020-01-27 11:11:05 +03:00
Alex Plate 01abba7d2c Use 201-EAP version for build 2020-01-27 11:11:05 +03:00
Alex Plate 80074177fc Make ascii doc a bit clearer 2020-01-27 11:11:05 +03:00
Alex PlateandGitHub bf67f8984a Add info about easymotion plugin 2020-01-25 16:32:43 +03:00
Alex Plate b2267c4b6c Add information about non-released actions 2020-01-24 13:41:47 +03:00
Alex Plate c80d69a31c Add note about VIM-987 into changelog 2020-01-24 13:41:47 +03:00
Alex PlateandGitHub 1b7c3f0da3 Merge pull request #214 from sumoooru2/master
Implement c_CTRL-N/P
2020-01-22 10:56:37 +03:00
Alex Plate c1ff6e1498 Prepare to the 0.55 release 2020-01-20 20:15:36 +03:00
Alex Plate 50c04ce71c Change LookupKeys implementation 2020-01-20 15:29:40 +03:00
Alex Plate bc6ff6bc8e Convert characterHelper to kt 2020-01-19 17:55:15 +03:00
Alex Plate 93bcf2a7e8 Rename .java to .kt 2020-01-19 17:55:14 +03:00
Alex Plate c3b503adff Set up a mechanism to define the KeyStrokes that should work with active lookup 2020-01-19 17:34:12 +03:00
Alex Plate ecdcbdda10 Put all range files into the ranges directory 2020-01-16 15:13:56 +03:00
Alex Plate b97c9a5ed0 Rename .java to .kt 2020-01-16 15:13:55 +03:00
Alex Plate 84a6843a7b Convert ExOutputModel to kt 2020-01-16 12:26:39 +03:00
Alex Plate 17eed7467c Rename .java to .kt 2020-01-16 12:26:39 +03:00
Alex Plate 310ffc849c Convert ExCommand to kt 2020-01-16 12:23:43 +03:00
Alex Plate 3e6756160a Rename .java to .kt 2020-01-16 12:23:43 +03:00
Alex Plate 563e809a2d Put all exceptions to single kt file 2020-01-16 12:18:20 +03:00
Alex Plate 86ec3f3bcd Rename .java to .kt 2020-01-16 12:17:54 +03:00
Matt Ellis 7b225cb824 Remove CHAR_OR_DIGRAPH state 2020-01-07 20:14:56 +00:00
Matt Ellis 562e0b06df Refactor expected argument type 2020-01-07 19:54:20 +00:00
Matt Ellis 51ce064507 Simplify and document handling of EX_STRING 2020-01-07 19:09:58 +00:00
Matt Ellis ebaeff9b4d Merge branch 'master' into refactor/command-state 2019-12-30 16:31:24 +00:00
Matt Ellis 8889e799ca Refactor setting command argument 2019-12-30 16:26:32 +00:00
Matt Ellis 668705e475 Refactor handling of duplicate operator chars 2019-12-30 16:08:04 +00:00
Matt Ellis e428e909bf Simplify handling of count editing characters 2019-12-30 16:08:00 +00:00
Matt Ellis d755c751c2 Move fix up of command/motion count 2019-12-30 15:36:52 +00:00
Matt Ellis 312c547412 Rearrange methods 2019-12-30 15:30:33 +00:00
Matt Ellis 48d30f2a3c Extract CommandBuilder 2019-12-30 15:28:15 +00:00
Matt Ellis d8ed30df14 Encapsulate command node state 2019-12-27 18:09:50 +00:00
Matt Ellis 50176cb267 Move mapping mode to mapping state 2019-12-27 16:19:57 +00:00
Matt Ellis 5898d21857 Remove unnecessary annotations 2019-12-27 12:44:13 +00:00
Matt Ellis e3839bc0b2 Remove unused command flags override 2019-12-27 12:42:00 +00:00
Matt Ellis f97555d4a8 Rename executing command 2019-12-27 12:34:13 +00:00
Matt Ellis 79bdca9769 Move command stack to per-editor state 2019-12-27 12:26:10 +00:00
sumoooru2 138c2956ac Implement c_CTRL-N/P 2019-12-27 19:37:01 +09:00
Matt Ellis ced457dd94 Move command state to per editor state 2019-12-27 10:33:22 +00:00
Matt Ellis 784fc6c6fa Rename mode state class and make immutable 2019-12-27 10:10:39 +00:00
Alex Plate b4e0ec282f Convert vim surround plugin to kt 2019-12-26 16:45:42 +03:00
Alex Plate cbf7dfabcb Rename .java to .kt 2019-12-26 16:45:42 +03:00
Alex Plate b8eb55d965 Update changes 2019-12-24 11:00:17 +03:00
Alex Plate 30662a8110 Comment out incompatible test 2019-12-24 10:48:55 +03:00
Alex Plate 69a273982f Fix 183 capability 2019-12-24 10:34:57 +03:00
Matt Ellis f817e6cb7f Extract mapping state 2019-12-23 16:49:27 +00:00
Alex Plate eef1b25e9f Convert common package to kt 2019-12-23 17:20:15 +03:00
Alex Plate 622de851fe Rename .java to .kt 2019-12-23 17:20:15 +03:00
Alex Plate 8cecb61d28 Convert selection type to kt 2019-12-23 16:21:39 +03:00
Alex Plate 77d8d27dfa Rename .java to .kt 2019-12-23 16:21:39 +03:00
Alex Plate 340f259b17 [VIM-1884] Add CTRL-J to the list of keys working with lookup 2019-12-23 15:54:52 +03:00
Alex Plate 5cf68a7f06 [VIM-1878] Update submode in case of active template 2019-12-23 12:54:57 +03:00
Matt Ellis 6a622565ca Move mapping availability check 2019-12-19 17:00:38 +00:00
Alex Plate 0ae5abcd0c [VIM-1874] Add possibility to execute option listener after adding 2019-12-19 18:54:51 +03:00
Alex Plate b6cecb2125 Refactor options change listener 2019-12-19 18:54:50 +03:00
Alex Plate 3aa3a9c9a8 Get rid of unused name sorter 2019-12-19 18:13:51 +03:00
Alex Plate 2c11ed43e4 [VIM-1875] Fix isk loading on startup 2019-12-19 17:12:29 +03:00
Matt Ellis 23126aeb6d Extract abandoned mapping sequence handling 2019-12-19 11:49:53 +00:00
Matt Ellis 61fd67472b Extract completed mapping sequence handling 2019-12-19 11:39:34 +00:00
Alex PlateandGitHub be0bee672e Merge pull request #213 from hajdamak/VIM-664-fix
VIM-664 Fix usage of invalid path separator
2019-12-19 11:26:53 +03:00
Matt Ellis 105c073e1f Extract unfinished mapping sequence handling 2019-12-19 01:11:24 +00:00
Rafał Hajdacki b695e3c646 Fix usage of invalid path separator 2019-12-18 14:09:40 +01:00
Alex Plate 33840dc5cd Add info about [Version Update] YouTrack tag 2019-12-18 10:58:31 +03:00
Alex Plate 255f2f59fc Update changelist 2019-12-12 12:38:20 +03:00
Matt Ellis 200f3484b6 Move current arg type state to per-editor 2019-12-10 20:20:13 +00:00
Matt Ellis 6a40eb48fe Remove forward search state 2019-12-10 20:14:32 +00:00
Matt Ellis fb3e9ce9f3 Move captured keys to per-editor state 2019-12-10 20:11:08 +00:00
Matt Ellis 91865460a2 Move DigraphResult to top level class 2019-12-10 20:05:12 +00:00
Matt Ellis 644afe541e Move <BS> digraph state to DigraphSequence 2019-12-10 20:01:42 +00:00
Matt Ellis 232303f06a Refactor to maintain digraph state at all times
Also allows <C-K> and <C-V>/<C-Q> to be remapped
2019-12-10 19:59:11 +00:00
Matt Ellis 280845610b Move digraph sequence state to per-editor 2019-12-10 19:32:25 +00:00
Matt Ellis 6108c9d6d2 [VIM-1284] Allow mapping numbers
Includes special case for 0 while entering counts. See :help :map-modes.
Also fixes issues when both operator and motion have a count - value should be multiplied, not appended (e.g. 3d2w is the same as 6dw, no 32dw!). See :help operator
2019-12-10 19:31:38 +00:00
Matt Ellis ce04e995ee Move command count state per editor 2019-12-10 19:31:23 +00:00
Alex Plate d7fca09f0a Update changes 2019-12-10 10:37:26 +03:00
Alex Plate 917b77c8ad Remove unused ifs 2019-12-10 10:18:54 +03:00
Alex Plate a2cd8ec19c Add left/right to the list of keys working with lookup 2019-12-10 10:12:51 +03:00
Alex Plate 6300d39065 Another approach to handle with warnings 2019-12-06 18:52:15 +03:00
Alex Plate 2457079724 Fix some code smells 2019-12-06 18:31:06 +03:00
Alex Plate ba84e723e8 Remove unused option type 2019-12-06 18:23:27 +03:00
Alex Plate bf75e75d6f ListOption can't return null anymore 2019-12-06 18:17:42 +03:00
Alex Plate c3183a8bd7 Replace string buffer with string builder 2019-12-06 18:14:59 +03:00
Alex Plate 7c162fc7ed Fix some possible exceptions 2019-12-06 18:14:35 +03:00
Alex Plate 529c5ac8d7 Fix isPuncf method 2019-12-06 18:11:42 +03:00
Alex Plate 60e619e45e ExPanel doesn't return null 2019-12-06 17:55:59 +03:00
Alex Plate a89bdcdd3b Fix exception with d: 2019-12-06 16:36:28 +03:00
Alex Plate 09fbdf5541 Make test extension private 2019-12-06 15:11:09 +03:00
Alex Plate 0b517671cb Make some argument collections immutable 2019-12-05 17:27:14 +03:00
Alex Plate a15dc3ed60 Suppress some inspections 2019-12-05 12:58:32 +03:00
Alex Plate b7d60f4cb5 Fix tests 2019-12-04 16:19:16 +03:00
Alex Plate 82a331a940 VIM-1362 Search with confirm scroll down far enough 2019-12-04 16:05:11 +03:00
Alex Plate c31e688f11 Suppress deprecation 2019-12-04 15:49:47 +03:00
Alex Plate 0c887027d3 Suppress some deprecations 2019-12-04 12:44:18 +03:00
Alex Plate 7c7df85d1a Perform partial reset after autocomplete 2019-12-03 13:22:09 +03:00
Alex Plate a7c025d927 Add Enter to the list of keys that are not processed with active lookup 2019-12-03 12:50:33 +03:00
Alex Plate 424598b92f Split plugin.xml into several files 2019-12-03 12:46:57 +03:00
Alex Plate dc713c477b Disable down/up keys for lookup 2019-12-02 15:57:08 +03:00
Alex Plate 7e71edaee2 Suppress wrong error 2019-12-02 15:49:20 +03:00
Alex Plate 3f8925cbb0 VIM-1853 Fix marks for disposable projects 2019-12-02 15:47:02 +03:00
Alex Plate 5f9e24b314 VIM-1855 Fix initialization error 2019-12-02 10:56:08 +03:00
Alex Plate dcd799ad85 Comment deprecated method 2019-12-02 10:48:30 +03:00
Alex Plate ff0d7a4345 Update initialization logic 2019-12-02 10:47:33 +03:00
Alex Plate d68bad313e VIM-1854 Fix i_Ctrl-T
Refactor shift left/right classes as well
2019-11-29 12:33:08 +03:00
Alex Plate bd09917396 Remove async startup and different small optimizations 2019-11-29 11:46:34 +03:00
Alex Plate eeaa2fe882 Update idea and kotlin version 2019-11-29 10:48:13 +03:00
Alex Plate 32ac0e77fa Fix mark 2019-11-28 19:44:10 +03:00
Alex Plate 947a1aa9f5 Update changes 2019-11-28 19:40:54 +03:00
Alex Plate 17a87f80e3 All keys are allowed during the lookup except TAB 2019-11-28 19:38:46 +03:00
Alex Plate 59f4dc8c78 Surround and Commentary extensions can be repeated with a dot command
VIM-1118
2019-11-28 18:58:58 +03:00
Alex Plate 6434a06c08 Convert commentary extension test to kt 2019-11-28 18:23:44 +03:00
Alex Plate 6133ab509d Rename .java to .kt 2019-11-28 18:23:43 +03:00
Alex Plate 572a96328a CTRL-A accepts all sizes of number
VIM-1424
2019-11-28 18:08:02 +03:00
Alex Plate a7ac3bec7f Reset keyHandler state before the command execution 2019-11-28 15:56:06 +03:00
Alex Plate 3e78f50a76 Create commandState helper function 2019-11-28 14:42:57 +03:00
Alex Plate a4843e57cb Remove REPEAT mode
Replace it with `isDotRepeatInProgress()` method
2019-11-28 13:31:57 +03:00
Alex Plate d6d90dda58 Rename FLAG_NO_REPEAT to FLAG_NO_REPEAT_INSERT 2019-11-28 13:02:49 +03:00
Alex Plate c92c5e234c Convert some classes to kt 2019-11-28 12:13:29 +03:00
Alex Plate 987f06d518 Rename .java to .kt 2019-11-28 12:13:29 +03:00
Alex Plate eaf7476785 Refactor repeat action 2019-11-28 12:13:29 +03:00
Alex PlateandGitHub 3b39656280 Kotlin is a preferred language for IdeaVim 2019-11-28 12:13:15 +03:00
Alex Plate 5c559f921d [VIM-1847] Add option to remove the status bar icon 2019-11-27 11:00:42 +03:00
Alex Plate 77f6b3fcb8 Show the plugin version for internal mode 2019-11-26 15:55:33 +03:00
Alex Plate f56ed7fd50 Update status bar popup location 2019-11-26 13:22:20 +03:00
Alex Plate a470b579a9 Fix exception 2019-11-26 11:55:54 +03:00
Alex Plate a2eb7d44c0 Fix turn off and on plugin 2019-11-26 11:29:32 +03:00
Alex Plate dfc83a7aea Update ktdocs 2019-11-25 19:38:04 +03:00
Alex Plate 71686e45e3 [EA-211536] Fix exception by aliasing 2019-11-25 19:31:17 +03:00
Alex Plate b0ac35a51b Update changes 2019-11-25 18:59:44 +03:00
Alex Plate d836320b31 [VIM-1845] Show action group popups 2019-11-25 18:50:00 +03:00
Alex Plate 19e7c058c3 Convert VimShortcutKeyAction to kt 2019-11-25 14:16:58 +03:00
Alex Plate f1ae3607e4 Rename .java to .kt 2019-11-25 14:16:57 +03:00
Alex Plate d03bfaeb53 Convert action package to kt 2019-11-25 14:05:23 +03:00
Alex Plate 33f363cb31 Rename .java to .kt 2019-11-25 14:05:23 +03:00
Alex Plate cdb87b6a70 Convert file package to kt 2019-11-25 13:59:27 +03:00
Alex Plate b5497d83a9 Rename .java to .kt 2019-11-25 13:59:26 +03:00
Alex Plate 802b7c33b6 Convert copy package to kt 2019-11-25 13:36:00 +03:00
Alex Plate bb4f81fb84 Rename .java to .kt 2019-11-25 13:35:59 +03:00
Alex Plate 10a02e98e9 Update CHANGES 2019-11-25 13:27:44 +03:00
Alex Plate 32075ef758 Update set-commands doc 2019-11-25 12:21:07 +03:00
Alex Plate 998073ac7f Convert shift package to kt 2019-11-25 12:13:55 +03:00
Alex Plate 93c7a5bdd2 Rename .java to .kt 2019-11-25 12:13:55 +03:00
Alex Plate 3fb2ce47e9 Convert insert package to kt 2019-11-25 12:04:57 +03:00
Alex Plate 61a8217d83 Rename .java to .kt 2019-11-25 12:04:56 +03:00
Alex Plate ad5e4341fa Convert delete package to kt 2019-11-25 11:57:42 +03:00
Alex Plate 5b192795e6 Rename .java to .kt 2019-11-25 11:57:42 +03:00
Alex Plate 5db9c5d31e Convert change package to kt 2019-11-25 11:36:29 +03:00
Alex Plate ff469a386e Rename .java to .kt 2019-11-25 11:36:29 +03:00
Alex Plate 3a90cf0e7b Convert number package to kt 2019-11-25 11:31:27 +03:00
Alex Plate 07dbad8c70 Rename .java to .kt 2019-11-25 11:31:27 +03:00
Alex Plate e8ba919661 Update CHANGES 2019-11-22 19:52:44 +03:00
Alex Plate 390d92b16f Fix bindings for active lookup
VIM-1325
2019-11-22 19:37:52 +03:00
Alex Plate d45d56f330 Find action by id without all actions initiation 2019-11-22 17:35:20 +03:00
Alex Plate 2e7cde3ca5 Replace TODO with TO BE IMPLEMENTED in info file 2019-11-22 16:55:49 +03:00
Alex Plate 0594ea0b98 Convert macro package to kt 2019-11-22 16:26:05 +03:00
Alex Plate 37d09781b4 Rename .java to .kt 2019-11-22 16:25:43 +03:00
Alex Plate b0f3a0ea30 Convert motion package to kt 2019-11-22 15:54:57 +03:00
Alex Plate 8282abf264 Rename .java to .kt 2019-11-22 15:53:22 +03:00
Alex Plate 4153b58502 IJ wants properties to be in other order 2019-11-22 15:27:48 +03:00
Alex Plate b62b940cd4 Make kt library compileOnly 2019-11-22 15:27:47 +03:00
Alex Plate ca9cf02361 Update changes 2019-11-22 14:11:43 +03:00
Alex Plate e863ffd949 Update getKeyStroke for Neo layouts
VIM-987
2019-11-21 17:06:00 +03:00
Alex Plate eb4bb3f238 Update readme 2019-11-20 18:21:27 +03:00
Alex Plate d3d35bbea1 Fix incapability with <193 2019-11-20 18:12:20 +03:00
Alex Plate 8eff6d80a2 Fix after update 2019-11-20 18:09:11 +03:00
Alex Plate 77c8947ccd Fix after update 2019-11-20 18:00:54 +03:00
Alex Plate 48556f6917 Update first plugin initialization 2019-11-20 17:59:08 +03:00
Alex Plate 2e8dc4234f Do not connect to the EditorAcgtionManager before the first editor is created 2019-11-20 17:59:07 +03:00
Alex Plate a6a60b6e71 Do not start project manager 2019-11-20 17:59:05 +03:00
Alex Plate eba9eaf37a Faster command parser 2019-11-20 17:59:04 +03:00
Alex Plate ae31b1c23d Faster keys parsing 2019-11-20 17:59:02 +03:00
Alex Plate 535a0532df Use ArrayList implementation for KeyMapping 2019-11-20 17:59:01 +03:00
Alex Plate 0579d242f6 Lazy loading of KeywordOption 2019-11-20 17:58:59 +03:00
Alex Plate b4910ed8f4 Refactor key parsing 2019-11-20 17:58:58 +03:00
Alex Plate 2bb1399ae7 Remove unnecessary reset 2019-11-20 17:58:56 +03:00
Alex Plate 062ada96ff Do not initialize some services on first startup 2019-11-20 17:58:56 +03:00
Alex Plate bb94238e9c Remove invertMap function 2019-11-20 17:58:55 +03:00
Alex Plate 43a40c1f6b Update keyparser to accept « brackets 2019-11-20 17:58:53 +03:00
Alex Plate 639866a9e1 Remove unused name property 2019-11-20 17:58:53 +03:00
Alex Plate 05bbe6b799 Rename name to names 2019-11-20 17:58:51 +03:00
Alex Plate e19b1c8bf0 Create interface for complicated commands 2019-11-20 17:58:49 +03:00
Alex Plate 0648d621b5 Move handler names to plugin.xml 2019-11-20 17:58:47 +03:00
Alex Plate 93c0de9ebb Create bean class for ex commandsï¿¿ 2019-11-20 17:58:45 +03:00
Alex Plate 0220b3f3cd Remove unused extension point 2019-11-20 17:58:44 +03:00
Alex Plate 1af7f9388d Create a ktdoc for ActionBeanClass 2019-11-20 17:58:42 +03:00
Alex Plate 76f0eaebce Remove keyStrokesSet field 2019-11-20 17:58:41 +03:00
Alex Plate ae71957236 Remove usages of getKeyStrokesSet 2019-11-20 17:58:40 +03:00
Alex Plate 5004f0280e Refactor duplicable commands 2019-11-20 17:58:27 +03:00
Alex Plate 52967368ff Fix update problem 2019-11-20 17:43:23 +03:00
Alex Plate 8a63fa42ae Reformat actions source code 2019-11-20 17:36:49 +03:00
Alex Plate 05ecb92a88 Use plugin.xml to define mappings for actions 2019-11-20 17:36:10 +03:00
Alex Plate 829619d901 Update kt version 2019-11-20 16:34:10 +03:00
Alex Plate c74b60820b Update gradlew version to 6.0.1 2019-11-20 16:28:19 +03:00
Alex Plate cd741fe7fd Update CHANGES.md 2019-11-20 15:53:32 +03:00
Alex Plate 3b26cd845a Add igrekster to contributors list 2019-11-20 15:51:58 +03:00
Alex PlateandGitHub d05cc3cd35 Merge pull request #210 from igrekster/format-motion
Implement `gq<motion>` code formatting command for motions
2019-11-20 15:51:39 +03:00
Alex PlateandGitHub 96dff832ba Merge pull request #209 from igrekster/multicaret-ignorecase-fix
Fix multiple cursors selection getting stuck with ignorecase
2019-11-20 15:47:23 +03:00
Alex Plate e43339613c Add Rafał Hajdacki to contributors list 2019-11-20 15:32:23 +03:00
Alex PlateandGitHub e025bc2912 Merge pull request #212 from hajdamak/VIM-664
VIM-664 - read ideavimrc from XDG config home directory
2019-11-20 15:18:10 +03:00
Alex Plate a4be636f9d Run manual tests 2019-11-20 11:47:38 +03:00
Alex Plate a2bae6795f Prepare to the release 0.54 2019-11-20 11:41:05 +03:00
Rafał Hajdacki 28d9bd0c73 Read ideavimrc from XDG config home directory 2019-11-19 22:20:52 +01:00
Alex Plate 8e12c9bef0 Fix backward motion for ex commands 2019-11-19 14:31:30 +03:00
Alex Plate 88926c3eef Update CHANGES.md 2019-11-18 17:51:46 +03:00
Alex Plate 8dd774446b Update license information 2019-11-18 11:55:34 +03:00
Alex Plate 46cf112378 Revert user statistic 2019-11-14 13:12:50 +03:00
Alex Plate 5d2520d057 Revert compile dependencies 2019-11-14 13:10:12 +03:00
Alex Plate a6ea89162a Change collector option 2019-11-08 14:50:02 +03:00
Alex Plate 1039cf661d Fix capability with 183 2019-11-08 14:41:18 +03:00
Alex Plate eaf9f0bbfa Fix compatibility with older IDEA versions 2019-11-07 18:24:34 +03:00
Alex Plate 9e036176ef Update CHANGES 2019-11-07 16:40:55 +03:00
Alex Plate 31e1edcc72 Add userstatistic info 2019-11-07 16:26:22 +03:00
Alex Plate 7d9d8d4a02 Fix execution of actions in visual mode with incsearch enabled 2019-11-07 11:14:16 +03:00
Alex Plate 71cb43e751 Remove garbage 2019-11-05 17:40:15 +03:00
Alex Plate f27e00500e Do not add kotlin stdlib to resulting jar 2019-11-05 17:35:10 +03:00
Alex Plate 617c0e3813 Add missing gif 2019-11-05 15:54:51 +03:00
Alex Plate 76634e3eed Fix "wrap with if" 2019-11-05 15:53:33 +03:00
Alex Plate 21c16b26c9 Update set-commands 2019-11-05 10:19:29 +03:00
igrekster 21536fb3ef Implement gq<motion> code formatting command for motions 2019-11-02 17:17:09 +11:00
igrekster 7c0ee2429d Allow duplicable commands with g prefix key
Change the implementation for `dd`, `yy`, etc. to support commands with
`g` prefix key - (`gqq`, `guu`, `g~~`).
2019-11-02 17:17:09 +11:00
Alex Plate 9d6f43cfeb Fix problem with lookup selection 2019-11-01 13:55:32 +03:00
Alex Plate cdcb31cf2f Change listeners for tests 2019-10-31 18:13:37 +03:00
Alex Plate e17f571dba Remove useless teamcity report 2019-10-31 17:56:36 +03:00
Alex Plate 629c48bba0 Run manual tests 2019-10-31 17:55:37 +03:00
Alex Plate 5078df6caf Update CHANGES 2019-10-31 17:50:34 +03:00
Alex Plate 2c5c4d9714 Update set-commands 2019-10-31 13:13:30 +03:00
Alex Plate 316cd2c02c Rename refactoring to ideaselection 2019-10-31 13:05:22 +03:00
Alex Plate e56f08505f Convert IdeaVisualControlTest.kt to option test 2019-10-30 18:02:15 +03:00
Alex Plate 58a1f9e275 Move tests to different location 2019-10-30 17:57:24 +03:00
Alex Plate bfdf54db67 Add tests for idearefactormode option 2019-10-30 17:46:25 +03:00
Alex Plate df8598a6f4 Run manual tests 2019-10-30 16:49:39 +03:00
Alex Plate 4ca9e74249 Refactor controlNonVimSelection 2019-10-30 16:43:54 +03:00
Alex Plate 33caeeaf1d Fix log 2019-10-30 16:02:12 +03:00
Alex Plate 53a8c3ecc8 Move all mode exit methods to the same place 2019-10-30 16:00:03 +03:00
igrekster 0ddb7f971d Fix multiple cursors selection getting stuck with ignorecase
With `ignorecase` enabled, select next (`<A-n>`) would get stuck on the
second occurrence even though there are more occurrences to select. This
was happening because part of logic was still doing case sensitive
comparison against the current pattern. The fix is to use case
insensitive comparator everywhere the pattern is used, if `ignorecase`
option is set.
2019-10-30 23:59:32 +11:00
Alex Plate fabe066f94 Move selection control methods to the separate file 2019-10-30 14:45:40 +03:00
Alex Plate 5672bc0fb2 Rename function 2019-10-30 14:29:51 +03:00
Alex Plate c77f43e7c7 Initial idearefactormode support 2019-10-30 13:00:04 +03:00
Alex Plate d47ad34909 Fix removed vimstate saving 2019-10-30 12:38:06 +03:00
Alex Plate 96f731e9c9 Refactor MotionUp/Down actions 2019-10-29 15:37:48 +03:00
Alex Plate 1b9376a9f5 Rename motion up/down actions 2019-10-29 15:31:54 +03:00
Alex Plate 1425ee0048 Ctrl-N and Ctrl-P actions for lookup in normal mode 2019-10-29 15:28:54 +03:00
Alex Plate 3a014b2a13 Convert VimPluginToggleAction to kotlin 2019-10-29 14:39:55 +03:00
Alex Plate 38c4e6bebc Rename .java to .kt 2019-10-29 14:39:05 +03:00
Alex Plate 171404bf43 Change the superclass of VimPluginToggleAction 2019-10-29 14:33:14 +03:00
Alex Plate 73b1adce1b Make common action for enabling/disabling IdeaVim 2019-10-28 18:42:37 +03:00
Alex Plate 90f55821e0 Remove not-released option 2019-10-28 15:35:53 +03:00
Alex Plate fee8009f38 Make vim actions popup as a separate action 2019-10-28 14:59:35 +03:00
Alex Plate 8d698aeacd Update the Join EAP dialog 2019-10-28 13:50:21 +03:00
Alex Plate fbd588444f Hide some icon actions to sublist 2019-10-26 16:06:21 +03:00
Alex Plate 5735769ee7 null save marks restoring 2019-10-25 20:19:40 +03:00
Alex Plate 150f9190d5 Add customisation for surround with for 2019-10-25 19:58:00 +03:00
Alex Plate 6a1e8a0c22 Fix template with multiple variables 2019-10-25 17:14:23 +03:00
Alex Plate 66fca4a921 [VIM-1819] Fix execution of some rider actions 2019-10-25 15:26:33 +03:00
Alex Plate 9a2accc74b Use the correct action for next variable 2019-10-25 14:33:52 +03:00
Alex Plate 5584b5ec3a Refactor selection correction during the template 2019-10-24 16:17:34 +03:00
Alex Plate 3b4121f59a Reformat code 2019-10-24 16:15:11 +03:00
Alex Plate 35eb6c2974 Add tests and doc 2019-10-24 15:16:59 +03:00
Alex Plate e51deac151 Make TemplateTest.kt as option test 2019-10-24 12:59:02 +03:00
Alex Plate c9bb160291 Add savemodefor option 2019-10-23 13:17:02 +03:00
Alex Plate 586979644c Add inNormalMode helper function 2019-10-23 13:15:09 +03:00
Alex Plate 0d376eaa1d Update icon list labels 2019-10-22 12:44:25 +03:00
Alex Plate 086c3d1a24 Update the join EAP dialog 2019-10-22 12:33:45 +03:00
Alex Plate 91e75561a3 Remove the default shortcut 2019-10-21 17:35:55 +03:00
Alex Plate 979bf26441 Change the implementation of system marks 2019-10-21 16:58:22 +03:00
Alex Plate 49844ddd9b Refactor fileLocation classes 2019-10-21 15:30:46 +03:00
Alex Plate d095ebb2f3 Rename .java to .kt 2019-10-21 15:07:14 +03:00
Alex Plate 36f473508a Disable mappings for the second part of multikey commands 2019-10-21 13:40:53 +03:00
Alex Plate 5eb2810352 Add new corrections for caret vertical motion 2019-10-18 15:15:35 +03:00
Alex Plate ee9e3a6673 Covert DocumentManager.kt to kotlin 2019-10-18 10:24:48 +03:00
Alex Plate 81a6bd528d WIP: Renaming file 'DocumentManager' with Kotlin extension 2019-10-18 10:09:20 +03:00
Alex Plate 0cd32c97c4 Update changes 2019-10-18 10:07:41 +03:00
Alex Plate 9bef55c63e Correct selection processing
The last character in the line is not selected if the selection was started from the middle of this character and has a negative direction
2019-10-17 19:17:38 +03:00
Alex Plate 9b8686c25f Reset caret on escape 2019-10-17 17:43:37 +03:00
Alex Plate 7130760114 Fix vertical caret movements with inlays 2019-10-17 17:34:10 +03:00
Alex Plate c6390874a2 Update changes 2019-10-17 17:16:28 +03:00
Alex Plate bf758dcd32 Add missing bundle property 2019-10-17 15:42:41 +03:00
Alex Plate 2258ffa5eb Fix incompatibilities with older version of IJ 2019-10-17 15:38:14 +03:00
Alex Plate 20b8e8db8b Add icon to status bar 2019-10-17 15:20:01 +03:00
Alex Plate 0738d965fd Add ideavim icon for actions 2019-10-16 15:05:45 +03:00
Alex Plate a3a421410f [VIM-1749] Tag surround is finished on > 2019-10-15 19:52:48 +03:00
Alex Plate 1921bef0ea Use build script to print TeamCity status 2019-10-15 19:11:09 +03:00
Alex Plate 70270830dc Add badge for 2019.2 tests 2019-10-15 18:56:32 +03:00
Alex Plate d57f465e60 Add IdeaVim icon 2019-10-15 18:43:32 +03:00
Alex Plate 03c38e3454 [VIM-1804] Correct disabling and enabling IdeaVim 2019-10-15 18:14:13 +03:00
Alex Plate be7d632cba Disable IdeaVim while AceJump is active.
https://github.com/acejump/AceJump/issues/266
2019-10-14 17:05:18 +03:00
Alex Plate 8c0a85abf4 Vim script supports evaluating of integers 2019-10-14 12:44:08 +03:00
Alex Plate 497e8c06f1 Create getter for last direction 2019-10-10 19:35:04 +03:00
Alex Plate c1bf84605c Make findAll function public 2019-10-10 18:44:37 +03:00
Alex Plate e362f12394 Add comment for toRegex function 2019-10-10 16:29:51 +03:00
Alex Plate 02d201a2f1 Parse the scope of let expression 2019-10-10 16:28:27 +03:00
Alex Plate 48915cc6ad Print iskeyword value as a regex string 2019-10-09 18:20:16 +03:00
Alex Plate 02b065cc2c Extensions can use linewise selection 2019-10-08 14:36:20 +03:00
Alex Plate a255597bc0 Fix exception 2019-10-08 10:37:11 +03:00
Alex Plate 29858e8b10 Do not handle plugin incomplete mappings 2019-10-08 10:31:47 +03:00
Alex Plate 972cfb265b Change MapHandler formatting 2019-10-04 18:46:30 +03:00
Alex Plate 5e8a3afe61 Provide correct mapping names
vmap - mapping for visual and select mode
xmap - mapping for visual mode
2019-10-04 18:45:46 +03:00
Alex Plate 700decb2e0 Update mappings handler for properly handler intersecting mappings. 2019-10-02 18:44:43 +03:00
Alex Plate 8368055397 Registrar should be written in java due to capability problems 2019-10-01 20:33:00 +03:00
Alex Plate 0d0f1f1c0c External plugins can now contribute to vimExtension 2019-10-01 19:59:41 +03:00
Alex Plate db68ae5cea Add tests for extension in op mode 2019-10-01 10:15:44 +03:00
Alex Plate 0fd7c4aa4f Clean up 2019-09-30 19:46:40 +03:00
Alex Plate 8592e6ef60 Plugins can act as an operator 2019-09-30 19:46:03 +03:00
Alex Plate e9fb02220a Update api of ListenerSuppressor 2019-09-30 19:46:03 +03:00
Alex Plate aa54a0cd98 Execute mapping in sync way 2019-09-30 19:46:02 +03:00
Alex Plate eb724c8753 Fix yy command 2019-09-27 22:11:28 +03:00
Alex Plate 1bb0caa704 Fix dd for empty line 2019-09-27 17:46:00 +03:00
Alex Plate 5bf2bc4a7b Reformat Command 2019-09-27 14:56:24 +03:00
Alex Plate 70fd7ef89d operator-W doesn't affect the next line 2019-09-26 15:31:05 +03:00
Alex Plate 50d8e79571 Use fail function from kotlin 2019-09-26 14:47:36 +03:00
Alex Plate c236ddd967 Add docs to Nodes 2019-09-26 11:25:49 +03:00
Alex Plate b551518911 Add additional checks for command consistency 2019-09-25 20:09:21 +03:00
Alex Plate 1be49b06f3 Fix processing of / and ? commands 2019-09-25 20:01:20 +03:00
Alex Plate 200a9c6318 Update key handling process 2019-09-25 20:01:19 +03:00
Alex Plate 9f10106d75 Use only one handler to process @@ and @: commands 2019-09-25 20:00:23 +03:00
Alex Plate 6d4ff752a0 Double commands are processed in original way 2019-09-25 16:22:54 +03:00
Alex Plate 29ecae66a9 Make baseExecute as final method 2019-09-25 13:20:16 +03:00
Alex Plate 9c5f50d0a6 Move change motion tests to the separate file 2019-09-25 13:02:49 +03:00
Alex Plate 8fcc9ac1e2 Some fixes on change motion actions. 2019-09-24 17:53:36 +03:00
Alex Plate 8d83b3b1e7 Remove parameter from getMotionRange 2019-09-24 17:13:20 +03:00
Alex Plate 155570b6bf Remove unused flag 2019-09-24 16:44:12 +03:00
Alex Plate 831dc35935 Update processing of text objects 2019-09-24 16:42:46 +03:00
Alex Plate b641f1b67c Motion command should explicit define inclusive / exclusive 2019-09-24 15:24:39 +03:00
Alex Plate 3c4906b8ac Get rid of useless FLAG_MOT_EXCLUSIVE 2019-09-23 17:31:17 +03:00
Alex Plate a575bc92cc Correctly process d_ command 2019-09-18 22:40:29 +03:00
Alex Plate 7794e9ccd2 Fix undo mapping 2019-09-18 21:28:28 +03:00
Alex Plate 4f5301a7e0 Fix mapping for undo action 2019-09-17 18:42:41 +03:00
Alex Plate 6842936a75 Add state for awaiting for digraph (or char) input 2019-09-17 18:42:41 +03:00
Alex Plate a0bf6599fa Add comment for command flags option 2019-09-17 18:42:41 +03:00
Alex Plate c0384949a3 Add javadoc for key mapping 2019-09-17 18:42:41 +03:00
Alex Plate 371f4b128e Rename EX_ENTRY to CMD_LINE mode 2019-09-17 18:42:41 +03:00
Alex Plate 29fc776293 Remove NONE argument 2019-09-17 18:42:40 +03:00
Alex Plate bbdf87190c Extract node argument into the separate variable 2019-09-17 18:42:40 +03:00
Alex Plate 02a448f284 Convert command nodes to kt 2019-09-17 18:42:40 +03:00
Alex Plate 8665878b04 Remove useless FLAG_OP_PEND flag 2019-09-17 18:42:40 +03:00
Alex Plate c23812941b Clean up Argument class 2019-09-17 18:42:40 +03:00
Alex Plate fdac774745 Convert FilterMotionAction to kt 2019-09-17 18:42:40 +03:00
Alex Plate 0a38b65ded WIP: Renaming file 'FilterMotionAction' with Kotlin extension 2019-09-17 18:42:39 +03:00
Alex Plate a7f44c8dd1 Revert "Temporally disable multithread startup"
This reverts commit bef3b3ba
2019-09-17 18:32:12 +03:00
Alex Plate 2444bd3c2d Update Changes.md 2019-09-17 18:29:36 +03:00
Alex Plate 27f74844cc Update changes 2019-09-17 18:28:40 +03:00
Alex Plate d041712bd8 Run manual tests 2019-09-17 18:13:08 +03:00
Alex Plate ef0f2024c2 Update changes 2019-09-17 18:09:08 +03:00
Alex Plate bef3b3ba62 Temporally disable multithread startup 2019-09-17 17:49:11 +03:00
Alex Plate 037aee7c59 Make kotlin jvm 1.8 compatible. 2019-09-17 11:07:09 +03:00
Alex Plate 0e3c13099b Do not use external APP_CONFIG variable 2019-09-17 10:36:18 +03:00
Alex Plate 8e3515bc34 Clear definition of commands used to enabled plugins 2019-09-09 14:03:12 +03:00
Alex Plate c736de7875 Deprecate local storage due to bug in storage settings 2019-09-06 18:45:12 +03:00
Alex Plate 42375d143e [VIM-1772] Fix last character for :y command 2019-09-04 17:30:34 +03:00
Alex Plate 7e6d7aed20 Add some docs to controlNonVimSelection method 2019-09-04 16:07:31 +03:00
Alex Plate ea68d0c28f Enter correct caret shape after new mode entering 2019-09-04 16:00:14 +03:00
Alex Plate 9cc82aedf2 Join exit visual functions 2019-09-04 15:13:10 +03:00
Alex Plate c52abce656 Fix small problem with "wrap with if" 2019-09-04 13:07:22 +03:00
Alex Plate 65d8368ad4 Update changes 2019-09-04 11:48:35 +03:00
Alex Plate cf2f223ad4 [VIM-1781] Fix yanking with $ motion 2019-09-04 11:30:24 +03:00
Alex Plate daae1aec6c [VIM-1785][VIM-1731] Fix yanking to clipboard 2019-09-03 18:41:38 +03:00
Alex Plate 59bcd24c47 Make actions loading async 2019-09-03 14:07:36 +03:00
Alex Plate 44e224489b Update action registration 2019-09-03 14:07:35 +03:00
Alex Plate 8134e0223f Disable async initialization 2019-09-03 14:07:35 +03:00
Alex Plate 482249a05b Convert ex commands to extension points 2019-09-03 14:07:35 +03:00
Alex Plate d0998dc093 Do not register sticky balloon 2019-09-03 14:07:35 +03:00
Alex Plate 848bb01c10 Get rid of VimActionBean 2019-09-03 14:07:35 +03:00
Alex Plate e39eb76aca Remove id and text from actions 2019-09-03 14:07:35 +03:00
Alex Plate d6d2a55747 Use handlers directly (without actions) 2019-09-03 14:07:35 +03:00
Alex Plate 355fa1a622 Migrate methods from VimCommandAction to handlers 2019-09-03 14:07:34 +03:00
Alex Plate fb007b8835 Move action settings to handler 2019-09-03 14:07:34 +03:00
Alex Plate 256f5fcd0e Handlers do not execute EditorActionHandler anymore 2019-09-03 14:07:34 +03:00
Alex Plate e698c950a3 VimCommandActionBase doesn't extend EditorAction anymore 2019-09-03 14:07:34 +03:00
Alex Plate d0b9c3c118 Make action in command not nullable 2019-09-03 14:07:34 +03:00
Alex Plate 24358ca1a9 [A2EP] Add method to find vim action by id
A2EP - Process of convertation actions to extension points
2019-09-03 14:07:33 +03:00
Alex Plate 6a21c94a0c [A2EP] Execute actions w/o using executeAction
A2EP - Process of convertation actions to extension points
2019-09-03 14:07:33 +03:00
Alex Plate 2d39a1e4b8 [A2EP] Move some actions to the level of VimActionBase
A2EP - Process of convertation actions to extension points
2019-09-03 14:07:33 +03:00
Alex Plate e97a8da721 [A2EP] Remove action id from command tree
A2EP - Process of convertation actions to extension points
2019-09-03 14:07:33 +03:00
Alex Plate 665aaa3af9 [A2EP] Create "native actions"
A2EP - Process of convertation actions to extension points
2019-09-03 14:07:33 +03:00
Alex Plate 17fe1da4ed [A2EP] Convert actions into extension point
A2EP - Process of convertation actions to extenstion points
2019-09-03 14:07:33 +03:00
Alex Plate cb6c94b4f9 Transform all groups into application services 2019-09-03 14:07:33 +03:00
Alex Plate 6fd6765bee Initialize IdeaVim components on non-EDT 2019-09-03 14:07:32 +03:00
Alex Plate 66b7019da9 Update kotlin plugin to 1.3.50 2019-09-03 14:07:32 +03:00
Alex PlateandGitHub 2c11624e32 Merge pull request #208 from citizenmatt/bug/search-highlights
Fix search related bugs
2019-09-03 14:06:19 +03:00
Matt Ellis e44d7e6d49 Update CHANGES.md 2019-09-02 17:52:53 +01:00
Matt Ellis 261911f6de [VIM-1773] Provide fall back error stripe colour 2019-09-02 17:37:44 +01:00
Matt Ellis fe714a9003 Move caret during incsearch to match Vim behaviour 2019-09-02 17:05:27 +01:00
Matt Ellis e8501a658b Merge branch 'master' into bug/search-highlights 2019-09-02 12:31:28 +01:00
Alex Plate 3fb4830456 Create file that describes manual tests for IdeaVim project 2019-08-26 17:02:47 +03:00
Alex Plate 39982b507a [VIM-1685] Correct shape of caret in case of zero-width selection 2019-08-26 16:52:01 +03:00
Alex Plate 4bd4f3ac68 Update changes 2019-08-26 12:37:41 +03:00
Alex Plate 8533ef7739 Fix wrong CHANGEs log 2019-08-26 12:35:57 +03:00
Alex PlateandGitHub bd6d61c8c7 Merge pull request #201 from jorgengranseth/support-surround-function-name
Support f and F surround commands (function name)
2019-08-26 12:32:09 +03:00
Alex Plate 7045ffbdb8 Fix global marks removing 2019-08-26 12:27:23 +03:00
Alex Plate 9e47f4a7c3 Add Jørgen Granseth to contributors list 2019-08-26 12:15:46 +03:00
Alex Plate c886e49682 Add comment for different types of marks 2019-08-26 12:13:35 +03:00
Alex PlateandGitHub 8fdec8e816 Merge pull request #202 from jorgengranseth/implement-delmarks-command
VIM-1720 Implement Ex command :delm[arks]
2019-08-26 12:12:24 +03:00
Alex Plate 131387d0ff Add comment about changes that should be performed on version update 2019-08-23 16:57:20 +03:00
Alex Plate f4a2b83afc Update CHANGES 2019-08-23 16:54:10 +03:00
Alex PlateandGitHub 1c02ad6b4c Merge pull request #204 from citizenmatt/feature/line-numbers
Improve relative line numbers and VCS annotations
2019-08-23 16:12:55 +03:00
Alex PlateandGitHub d93890ddcb Merge pull request #205 from citizenmatt/bug/ex-caret
[VIM-1766] Fix ex caret rendering on Linux
2019-08-23 15:14:27 +03:00
Alex PlateandGitHub ca530159bb Merge pull request #206 from sumoooru2/master
Fix jump between files with moveCaretToJump
2019-08-23 15:08:42 +03:00
Alex Plate b76b747235 Update AUTHORS.md 2019-08-23 14:37:18 +03:00
sumoooru2 67896b7d3a Fix jump between files with moveCaretToJump 2019-08-22 16:26:26 +09:00
sumoooru2andGitHub 3b598a6f45 Merge pull request #1 from JetBrains/master
update
2019-08-22 15:16:52 +09:00
Alex Plate 62466123ff Change URLs to https
TPV-3480
2019-08-20 13:10:19 +03:00
Matt Ellis 14163a0791 [VIM-1766] Fix ex caret rendering on Linux 2019-08-13 20:28:22 +01:00
Jørgen Granseth 52a8a175a6 Move constants for :delmarks to MarkGroup
Reduce, reuse, recycle.
2019-08-12 20:19:14 +02:00
Matt Ellis 0a83b0826a Use line number converter for relative line numbers
Fixes most problems with relative line numbers and VCS annotations. Only downside is that the current line is shown as blank unless :set number is set as well as :set relativenumber. There is also a chance some other plugin could install a different line number converter without us knowing, although there are no known examples of this.

Resolves VIM-1032, fixes VIM-1671, fixes VIM-1762
2019-08-10 14:26:16 +01:00
Matt Ellis d854cd7024 Improve relative line numbers and VCS annotations
Improves TextAnnotationGutterProvider implementation, but still has issues. Relative line numbers can display alongside VCS annotations, but 183 and 191 treats the relative line number provider as a VCS annotation, so the VCS toggle is enabled incorrectly, and toggling incorrectly closes the relative line provider. 192 works much better - VCS annotations ignores the relative line numbers, but disabling relative line numbers also closes VCS annotations because we’re not using a 192 specific API.

Resolves VIM-1032, fixes VIM-1671, fixes VIM-1762
2019-08-09 23:39:02 +01:00
Matt Ellis 7ac8d7a43a Fix moving caret while confirming replace 2019-08-08 12:13:38 +01:00
Alex Plate b012618968 Add readonly marker 2019-08-07 17:24:19 +03:00
Alex Plate fba59ff347 [EA-134791] Fix yank in motion 2019-08-07 17:24:18 +03:00
Alex Plate 60caac5139 Update CHANGES.md 2019-08-07 14:14:01 +03:00
Matt Ellis 27d2742386 Fix bug with search updates getting stuck off 2019-08-07 09:42:45 +01:00
Matt Ellis 5ef25cfa6f Keep scroll location when adding incsearch offset 2019-08-06 23:24:39 +01:00
Matt Ellis 17e3dfe2bb [VIM-1757] Improve handling of search offsets 2019-08-06 22:32:47 +01:00
Alex Plate 307e438a1e [EA-128752] Fix NPE on isPrimaryEditor 2019-08-06 15:38:33 +03:00
Alex Plate 89489f7c7f [EA-144484] Fix NPE on panel activation 2019-08-06 15:15:31 +03:00
Alex Plate 923a4706a0 [EA-137898] Fix file is invalid exception 2019-08-06 14:23:03 +03:00
Alex Plate 2594c7179e [EA-138502] Control-flow exceptions (like ProcessCanceledException) should never be logged 2019-08-06 14:21:33 +03:00
Matt Ellis a334ff33cd [VIM-1717] Reset scroll position correctly if no incsearch match 2019-08-06 00:33:58 +01:00
Alex Plate 0e2289caa6 [EA-129083] Fix OOBE for # action 2019-08-05 20:39:07 +03:00
Alex Plate be26968237 [EA-138309] Fix possible exception 2019-08-05 20:20:44 +03:00
Jørgen Granseth b0c1ecfdc5 Add access flag 2019-08-05 19:09:59 +02:00
Alex PlateandJørgen Granseth b4d5dcbf57 Reformat code 2019-08-05 19:06:27 +02:00
Jørgen Granseth 3161ba8983 Implement Ex command :delm[arks]
Deletes existing marks. See
http://vimdoc.sourceforge.net/htmldoc/motion.html#:delmarks
for details.
2019-08-05 19:06:19 +02:00
Alex Plate 022f1ededc Fix caret shape after enabling of plugin 2019-08-05 19:50:32 +03:00
Alex Plate 70a19dd95d Fix positioning on the end line in insert mode 2019-08-05 19:19:46 +03:00
Alex Plate 00b3f5b9f5 Update CHANGES.md 2019-08-05 13:59:49 +03:00
Alex PlateandGitHub 8b0bb413d8 Merge pull request #198 from citizenmatt/bug/ex-dead-keys
Fix exception with dead keys in ex entry
2019-08-05 13:14:14 +03:00
Matt Ellis bd5e7d94fe Fix tests 2019-08-02 21:21:32 +01:00
Matt Ellis d43b2364a0 Reset ex entry panel when emulation is disabled 2019-08-02 16:49:00 +01:00
Matt Ellis 610e73d9e3 Merge branch 'master' into bug/ex-dead-keys 2019-08-02 13:55:31 +01:00
Alex Plate 6f2a454d46 [EA-141098] Fix exception during surround 2019-08-02 15:30:45 +03:00
Alex Plate 4edce29d53 [EA-209287] Fix exception on file close 2019-08-02 15:25:40 +03:00
Alex Plate ed2b8dd129 Fix ex search for japanese language 2019-08-02 14:03:30 +03:00
Alex Plate 42cdb36a51 Update CHANGES.md 2019-08-01 18:48:47 +03:00
Alex Plate 159c22ac21 [EA-117268 2352322] Fix OOBE for check in string function 2019-08-01 18:34:50 +03:00
Alex Plate 75b6833245 [EA-117268 2386601] Fix OOBE for sentence detection 2019-08-01 18:34:49 +03:00
Alex Plate b567717c75 [EA-117268 2394021] Fix OOBE for isEmptyLine function 2019-08-01 18:34:49 +03:00
Alex Plate b2af829e2e [EA-117268 5135780] Fix OOBE for display ascii info 2019-08-01 18:34:49 +03:00
Alex Plate 6e81714937 [EA-117268 5154892] Fix OOBE for motion outer word 2019-08-01 18:34:49 +03:00
Alex Plate cb9474d8d0 [EA-117268 5159449] Fix exception for inser character around cursor 2019-08-01 18:34:49 +03:00
Alex Plate be47e4c050 [EA-117268 5165327] Fix a' for last caret position 2019-08-01 18:34:45 +03:00
Alex Plate c301898147 [EA-117268 5167045] Fix das for empty file 2019-08-01 17:35:51 +03:00
Alex Plate 8324561022 Remove code comments 2019-08-01 17:17:06 +03:00
Alex Plate 834d630ef7 [EA-117268] Fix exception with w action 2019-08-01 17:09:43 +03:00
Alex Plate c6259adad1 [VIM-1743] Do not show ideaput notification during surround 2019-08-01 16:03:11 +03:00
Alex Plate 9d1be34958 [VIM-1648] Make S&R self synchronized 2019-08-01 13:20:00 +03:00
Alex Plate ce4e64ec40 Create annotations to annotate whenever a function require write/read lock 2019-07-31 21:15:32 +03:00
Jørgen Granseth 92125b49f0 Emphasize surround cursor movement in tests 2019-07-31 20:06:26 +02:00
Alex Plate b017466270 Clean up searchAndReplace method 2019-07-31 20:35:10 +03:00
Alex Plate 568d2304ea Ex commands should define write/read access explicitly 2019-07-31 20:15:09 +03:00
Alex Plate 5dc1b245d0 Get rid of OTHER_READ_WRITE flag because technically it's right action 2019-07-31 16:56:57 +03:00
Alex Plate 978d95b351 Clean up ex command processing 2019-07-31 16:47:19 +03:00
Alex Plate 90079c9dfe Remove legacy DONT_REOPEN flag
It's not used since 18cd7547
2019-07-31 16:26:48 +03:00
Alex Plate 57dec7e211 Fix mouse click appearance 2019-07-30 19:32:54 +03:00
Alex Plate fa75c853a7 Update mouse pressed caret rules 2019-07-30 18:53:03 +03:00
Alex Plate 0887a57e29 [VIM-1725] Enable selection adjustment with a small delay 2019-07-30 17:52:34 +03:00
Alex Plate 18901dcd44 [EA-104755] Fix "Editor is disposed" exception with CTRL-O command 2019-07-29 20:11:20 +03:00
Jørgen Granseth a6e0fbd5e6 Add the s surround action (preceding space)
https://github.com/tpope/vim-surround/blob/master/doc/surround.txt#L148
2019-07-27 02:12:52 +02:00
Jørgen Granseth c07d0353f0 Support f and F surround commands (function name)
https://github.com/tpope/vim-surround/blob/master/doc/surround.txt#L138
2019-07-26 22:14:10 +02:00
Alex Plate caecbe5b63 Reformat isEndAllowed method 2019-07-26 20:24:54 +03:00
Alex Plate 077cab656b [EA-209305] Fix SO exception on enabling disabled plugin 2019-07-26 19:57:09 +03:00
Alex Plate 95d7a7e860 Insert some inferred annotations 2019-07-26 16:10:30 +03:00
Alex Plate 77a77c34b8 Fix possible NPE 2019-07-26 16:09:25 +03:00
Alex Plate fa78cc2a9f Add Naveen Kumar Molleti to contributors list 2019-07-26 16:03:00 +03:00
Alex Plate 03f18af66f Temporaly get back ideajoin-examples because of help link in release
Revert "Move ideajoin examples to wiki"

This reverts commit d06f2a2d
2019-07-26 16:01:12 +03:00
Alex PlateandGitHub 4e21145808 Merge pull request #200 from NOLFXceptMe/master
Fix ideajoin examples URL
2019-07-26 15:59:39 +03:00
Alex Plate 258557ee5d [VIM-1713] Add possibility to get ExEntryPanel without shortcuts 2019-07-26 15:27:30 +03:00
Alex Plate 88ad420716 Update kotlin version 2019-07-26 12:04:08 +03:00
Naveen Kumar Molleti 4828e40f0d Fix ideajoin examples URL 2019-07-25 17:49:34 -07:00
Alex Plate 5be29f5a07 Convert ExKeyBindings to kotlin 2019-07-25 18:29:31 +03:00
Alex Plate 48ac99a29b WIP: Renaming file 'ExKeyBindings' with Kotlin extension 2019-07-25 17:20:59 +03:00
Alex Plate 2c4f2139dd Fix warnings 2019-07-25 13:52:07 +03:00
Alex Plate 47236c1e6c Convert VimSurroundExtenstionTest to kotlin 2019-07-25 13:28:00 +03:00
Alex Plate 5d8996dc38 WIP: Renaming file 'VimSurroundExtensionTest' with Kotlin extension 2019-07-25 13:24:00 +03:00
Alex Plate 9feff84125 [VIM-1710] Fix opening empty file with "relative number" enabled 2019-07-24 16:34:42 +03:00
Alex Plate c0fc62a1d6 [VIM-1712] Fix Y command for visual mode 2019-07-24 15:56:19 +03:00
Alex Plate 6b06d58759 [VIM-1711] Search is not triggered during surround action 2019-07-24 15:10:48 +03:00
Alex Plate d06f2a2d18 Move ideajoin examples to wiki 2019-07-24 12:20:23 +03:00
Alex Plate 7c5dca202e Preparation to 0.52 version 2019-07-23 14:18:31 +03:00
Alex Plate 055e006c27 Github doesn't recognize jetbrains:// url 2019-07-22 16:22:05 +03:00
Alex Plate 2f11451f9d Update EAP section for README 2019-07-22 14:51:38 +03:00
Alex Plate 5b8d5ca72a Add test for template notification 2019-07-18 17:39:02 +03:00
Alex Plate 40cd8b65d7 Revert "Update deprecated method"
This reverts commit 3ec6bb84
2019-07-18 17:25:14 +03:00
Alex Plate 3ec6bb84ee Update deprecated method 2019-07-18 17:17:44 +03:00
Alex Plate 180c870208 Add notification for enabling select mode while template editing 2019-07-18 17:13:02 +03:00
Alex Plate 5a81d02271 Create doc with explanation of handlers and commands structure 2019-07-18 14:18:11 +03:00
Alex Plate 465abf47c8 Use enum for parser state machine 2019-07-18 13:24:04 +03:00
Alex Plate 54544c2683 [VIM-1359] Fix behavior of i_Ctrl-W action 2019-07-18 12:32:54 +03:00
Alex Plate cf41b8745a Fixing execution actions from visual mode 2019-07-17 20:14:51 +03:00
Alex Plate 1a1fc8604a Remove unused arguments from some methods 2019-07-17 18:19:15 +03:00
Alex Plate b9ecf20596 Reorganize tests for ex commands 2019-07-17 16:00:41 +03:00
Alex Plate 1326e8470a Update docs of IdeaVim 2019-07-17 15:39:20 +03:00
Alex Plate 68ae03ef85 Replace behaviour to the american-style behavior 2019-07-17 14:39:09 +03:00
Alex Plate 8750c30b7d Move to selection start/end in select mode if template is active 2019-07-17 14:34:54 +03:00
Alex Plate 869945e68c Extract template checking into separate file 2019-07-17 13:41:10 +03:00
Alex Plate c263881586 Log about new shape of caret 2019-07-17 13:26:09 +03:00
Alex Plate b56c82cefb Move tests to correct package 2019-07-17 12:54:43 +03:00
Alex Plate 7d936041c0 Create toSimpleString function for CommandState.State 2019-07-16 19:12:12 +03:00
Alex Plate 8208def57a Add logging to entering visual mode 2019-07-16 17:22:10 +03:00
Alex Plate a0ead808d5 Add tests for put with idea 2019-07-16 17:10:31 +03:00
Alex Plate 95e7464962 Remove mnemonics for actions 2019-07-16 15:41:10 +03:00
Alex Plate 21a299cb2b Test notifications for ideajoin and ideaput 2019-07-16 15:28:29 +03:00
Alex Plate 4f644ee1fe Add notification about ideaput option 2019-07-16 13:36:48 +03:00
Alex Plate 0f7528b73b Create VimState class and move isIdeaJoinNotified to it 2019-07-16 12:25:32 +03:00
Alex Plate 354262ba9b Update ideajoin notification 2019-07-15 19:50:52 +03:00
Alex Plate 7790674d9d Add examples of ideajoin option 2019-07-15 17:27:47 +03:00
Alex Plate 707fb53dda Move all notifications to notification service 2019-07-15 16:23:40 +03:00
Alex Plate 6f356f8390 Replace some java methods with kotlin functions 2019-07-15 14:25:26 +03:00
Alex Plate dc2530957f Rename smartjoin with ideajoin 2019-07-15 14:22:36 +03:00
Alex Plate e88dcae1a0 Rename idemarks to ideamarks 2019-07-15 14:19:48 +03:00
Alex Plate a5fff878c5 Add Brendan Annable to contributors list 2019-07-15 13:07:53 +03:00
Alex PlateandGitHub d71d66e8be Merge pull request #199 from BrendanAnnable/patch-1
Fix link typo in CHANGES.md
2019-07-15 13:06:13 +03:00
Brendan AnnableandGitHub 54275a8870 Fix link typo in CHANGES.md 2019-07-15 10:25:32 +10:00
Alex Plate 90eda82045 [VIM-1698] Paste clears clipboard 2019-07-12 19:04:56 +03:00
Alex Plate 6816dc4f75 Update version of jb annotations 2019-07-12 16:36:39 +03:00
Alex Plate c17ad0ef2d Fix back search in texts with tabs 2019-07-12 16:11:59 +03:00
Alex Plate 3f71f58454 Reformat CharPointer class 2019-07-12 14:34:25 +03:00
Alex Plate b2055ad44f Update email of Jonatan Tierno 2019-07-12 12:52:05 +03:00
Alex Plate b3eefc9e25 [VIM-1700] Add tests for some searches with tabs 2019-07-11 17:22:17 +03:00
Alex Plate 41baee7b43 Add VimFunctionMark and VimTestFunction annotations 2019-07-11 16:22:53 +03:00
Alex Plate fc7d6589bf Add function that converts dots to tabs in tests 2019-07-11 16:22:24 +03:00
Alex Plate e0e94e482a Add logs to controlSelection 2019-07-11 14:24:02 +03:00
Alex Plate c5964c270d Add logging to search process 2019-07-11 14:24:00 +03:00
Alex Plate 69c850d1ac Move toCharacterPosition and fromCharPositionToOffset methods to CharacterPosition class 2019-07-11 12:25:26 +03:00
Alex Plate 004d0146b7 WIP: Renaming file 'CharacterPosition' with Kotlin extension 2019-07-11 12:16:33 +03:00
Alex Plate cee9c81496 [VIM-1697] Fix wrong search with tab characters 2019-07-10 19:07:10 +03:00
Alex Plate 1c01097491 Add new options test 2019-07-10 16:44:06 +03:00
Alex Plate ae08438b7b Reformat vimOptionTestCase 2019-07-10 14:52:09 +03:00
Alex Plate 440b60bdba Update license formatting 2019-07-10 12:51:10 +03:00
Alex Plate d83bab55aa Make tabs more viewable for developers 2019-07-10 12:50:40 +03:00
Alex Plate e1f582bcfc Register new actions in info file 2019-07-09 19:01:24 +03:00
Alex Plate e50f95abb3 Reset modeBeforeEnteringNonVimVisual before each action 2019-07-09 18:41:33 +03:00
Alex Plate 4e16a8b6f9 Revert "Remove mode restoring after unexpected selection"
This reverts commit e23f5cb1
2019-07-09 15:18:46 +03:00
Alex Plate cf1ec16fdd Fix macro replay 2019-07-08 17:04:18 +03:00
Alex Plate e23f5cb159 Remove mode restoring after unexpected selection 2019-07-08 16:54:47 +03:00
Alex Plate 4d07171aaa Convert UndoRedoHelper to kotlin 2019-07-08 11:48:23 +03:00
Alex Plate 7c50662ef6 WIP: Renaming file 'UndoRedoHelper' with Kotlin extension 2019-07-08 11:46:44 +03:00
Alex Plate 90126b4d29 Remove unused action 2019-07-05 16:21:33 +03:00
Alex Plate 7580af1b5f Support ctrl-up and ctrl-down jumps 2019-07-05 16:07:57 +03:00
Alex Plate 8188203aed Remove version from javadocs 2019-07-05 14:17:17 +03:00
Alex Plate d91f5461d5 Plugin listeners are not loaded if plugin is disabled 2019-07-05 13:24:39 +03:00
Alex Plate 066b18c792 Do not move one char back in insert mode 2019-07-05 12:40:47 +03:00
Alex Plate 91de1004e6 Fix small code smells 2019-07-05 12:22:25 +03:00
Alex Plate fecd2d7111 Use BaseComponent instead of deprecated ApplicationComponent 2019-07-05 12:17:54 +03:00
Alex Plate 07dd0884f3 Fix "explicit type" inspection 2019-07-04 18:39:29 +03:00
Alex Plate a1fb97bd90 Remove some deprecations 2019-07-04 17:52:29 +03:00
Alex Plate 2e002d76b2 Replace deprecated getTopLevelEditor method 2019-07-04 17:40:13 +03:00
Alex Plate aa13742c9a Remove deprecated rightJustify and leftJustify methods 2019-07-04 17:09:56 +03:00
Alex Plate 7effcb3aac Define action place for executable actions 2019-07-04 16:48:23 +03:00
Alex Plate 19a4610373 Add tests for visual change functionality 2019-07-03 18:11:19 +03:00
Andrey Vlasovskikh 4cdbbaa35d Token-based auth for publishing the plugin 2019-07-02 18:40:23 +03:00
Alex Plate e2a8ba7f0c Add gradle task with slack notifications about EAP releases 2019-07-02 17:28:12 +03:00
Alex Plate 1923e14ac4 Update CHANGES 2019-07-02 16:04:33 +03:00
Alex Plate 6d1869af61 [VIM-1668] Fix smart step into 2019-07-02 14:22:15 +03:00
Alex Plate 6e005a0c62 Fir exception in paste via IDE 2019-07-02 13:18:48 +03:00
Alex Plate 5d88558b36 Update kotlin version 2019-07-02 12:44:50 +03:00
Alex Plate 2770634627 Protection against wrong handlers 2019-07-01 20:14:27 +03:00
Alex Plate 1602ab2355 Add logs to controlNonVimSelectionChange 2019-07-01 17:30:28 +03:00
Alex Plate 7a37cb6f0b Checking whether current mode is command before entering insert mode 2019-07-01 16:21:55 +03:00
Alex Plate 4d6de7500e [VIM-752] Finish template from normal mode 2019-07-01 15:33:09 +03:00
Alex Plate 13d36de121 WIP: Renaming file 'MotionDownFirstNonSpaceAction' with Kotlin extension 2019-07-01 15:05:22 +03:00
Alex Plate ae992ed366 Convert Argument.java to kotlin 2019-07-01 14:48:27 +03:00
Alex Plate c03b16a6e8 WIP: Renaming file 'Argument' with Kotlin extension 2019-07-01 14:39:40 +03:00
Alex Plate 7823291b44 Fix NPE while moving caret 2019-07-01 14:31:44 +03:00
Alex Plate 59d79cc329 Add debug info about pushing and popping state 2019-07-01 14:24:32 +03:00
Alex Plate c24ebf3427 Create test for validating info file 2019-06-28 14:22:50 +03:00
Alex Plate 434d5be26c Enable identity checker for unit test mode 2019-06-28 12:38:39 +03:00
Alex Plate f904ceae7a Remove bad test 2019-06-28 12:21:02 +03:00
Alex Plate 9e62eefee0 Write better logs during execution 2019-06-27 19:57:30 +03:00
Alex Plate 7fdb31abf0 Fix problems of actions registration
Different vim tree were build by different orders of command registering
2019-06-27 19:34:15 +03:00
Alex Plate e1d4e2f526 Fix few caret position problems 2019-06-27 15:50:46 +03:00
Alex Plate f18e317dcf Reformat all listeners in project 2019-06-27 12:19:14 +03:00
Alex Plate e143a286ef Do not reset caret on small mouse dragging 2019-06-26 19:31:56 +03:00
Alex Plate faa9c26283 Reformat resetCursor function 2019-06-26 19:21:45 +03:00
Alex Plate da182f5539 Add protection for cases when vimSelectionStart is null in visual mode 2019-06-26 19:08:21 +03:00
Alex Plate ced51e37b4 Convert all commands to VimCommandAction 2019-06-26 18:51:55 +03:00
Alex Plate f61134fd69 Use VimCommandAction for insert commands 2019-06-26 15:43:01 +03:00
Alex Plate 578f60ba91 WIP: Renaming file 'ShiftRightLinesAction' with Kotlin extension 2019-06-26 15:29:42 +03:00
Alex Plate 02effac75c WIP: Renaming file 'ShiftLeftLinesAction' with Kotlin extension 2019-06-26 15:26:11 +03:00
Alex Plate 72f4b21aea Use VimCommandAction for COPY/PASTE actions 2019-06-26 13:53:58 +03:00
Alex Plate 1aa59afaf0 WIP: Renaming file 'YankLineAction' with Kotlin extension 2019-06-26 13:46:18 +03:00
Alex Plate 45df3ed168 Use VimCommandAction for NVO actions 2019-06-26 13:33:20 +03:00
Alex Plate b344972931 WIP: Renaming file 'MotionScrollPageUpAction' with Kotlin extension 2019-06-26 13:24:33 +03:00
Alex Plate 7886a816b2 WIP: Renaming file 'MotionScrollPageDownAction' with Kotlin extension 2019-06-26 13:12:21 +03:00
Alex Plate 4722730aff Move userData functions to UserDataManager.kt 2019-06-26 12:29:11 +03:00
Alex Plate 27a2c6192f Rename CaretData to UserDataManager 2019-06-25 16:49:15 +03:00
Alex Plate db77d133dc Use userData() for managing editor's user data 2019-06-25 16:48:46 +03:00
Alex Plate 000ebfaf2f Fix all missing @Override annotations 2019-06-25 15:20:31 +03:00
Alex Plate a47001516d Reformat HandlerBase 2019-06-25 15:18:37 +03:00
Alex Plate fa9901271a WIP: Renaming file 'EditorActionHandlerBase' with Kotlin extension 2019-06-25 15:18:37 +03:00
Alex Plate 913e8c355b Fix tests after reformat 2019-06-25 15:18:36 +03:00
Alex Plate aeef2f8948 Reformat ChangeEditorActionHandler 2019-06-25 15:18:36 +03:00
Alex Plate 9be8e2b5b9 WIP: Renaming file 'ChangeEditorActionHandler' with Kotlin extension 2019-06-25 15:18:36 +03:00
Alex Plate 99b68801d9 Remove CaretOrder 2019-06-25 15:18:36 +03:00
Alex Plate 4c766298f1 Change hierarchy of handlers 2019-06-25 15:18:36 +03:00
Alex Plate 2618d09ef8 VimCommandAction accepts EditorActionHandlerBase 2019-06-25 15:18:36 +03:00
Alex Plate 2bef98408c MotionEditorAction new inherits VimCommandAction 2019-06-25 15:18:35 +03:00
Alex Plate dbf90d4f37 Rename .java to .kt 2019-06-25 15:18:35 +03:00
Alex Plate 1e378dd1dd Fix duplicated key mappings 2019-06-25 15:18:35 +03:00
Alex Plate fa51c25919 TextObjects have now always MOTION type 2019-06-25 15:18:35 +03:00
Alex Plate c880f49b81 Convert registerCommandLineActions to VimCommandAction 2019-06-25 15:18:35 +03:00
Alex Plate 1835220ba3 Convert registerVariousModesActions to VimCommandAction 2019-06-25 15:18:35 +03:00
Alex PlateandGitHub 813126cecb Merge pull request #195 from citizenmatt/feature/search
Fixes some bugs with search highlights and behaviour, bringing behaviour more in line with Vim.

  VIM-1535 - Use same text attributes ("Text search results") and highlight layer (selection - 1) as IntelliJ's own Find feature. This makes search results more visible. Previously, it would add the highlight below e.g. "identifier under caret" and would use the same colours as Highlight Usages, meaning the current search highlight could easily be lost.
  Hide IntelliJ's Find results when starting incsearch, and hide IdeaVim search results when starting IntelliJ Find
  Add tests for search highlights and incremental search behaviour
  Move the current line during incremental search. Original caret location and scroll position is restored if the search is cancelled
  Search highlights are reset and redrawn when the ignorecase, smartcase and hlsearch options are modified. Does not redraw if the highlights have been hidden with :nohlsearch
  Highlight all find results instead of just first with incsearch and hlsearch enabled
  Remove old search highlights when starting to type a new search with incsearch and hlsearch enabled
  Highlight first search result if incsearch is disabled, and hlsearch is enabled (as per Vim)
  Incremental search correctly strips trailing options, e.g. /Foo/+1
  Add incremental search while typing :substitute command (as per Vim). Does not handle :global, :vglobal, :smagic or :snomagic, as these aren't supported by IdeaVim
  Fix disabling Vim emulation does not remove search highlights
  VIM-1413 - Fix smartcase option being ignored in incremental search.
  VIM-128 - Fix :substitute not respecting ignorecase and smartcase options
  Fix next/previous search not handling smartcase override for search next word. E.g. * on Editor overrides smartcase. Now n/N will remember if smartcase was overridden.
  Only close ex entry on <BS> if there is no text
  Treat <Del> at end of ex entry text as <BS>
  VIM-1682 - Fix exception when searching backwards
  Fix exception when trying to show search highlights for the last \n in the file
2019-06-25 15:14:58 +03:00
Matt Ellis 86dbd3a03a Correctly recognise abbreviated command in incsearch 2019-06-22 15:08:31 +02:00
Matt Ellis 948c2cd021 Only show one set of search results
Don't allow both IntelliJ and IdeaVim highlights to be visible at the same time
2019-06-22 15:08:20 +02:00
Alex PlateandGitHub f9ca77a982 Merge branch 'master' into feature/search 2019-06-20 15:13:15 +03:00
Matt Ellis 2aa45b8794 Merge branch 'master' into feature/search 2019-06-20 12:14:55 +02:00
Alex Plate 3a056dc844 Update CHANGES.md 2019-06-19 16:09:39 +03:00
Alex Plate 2b2fc27899 [VIM-608] Call save actions for :w commands 2019-06-19 16:06:21 +03:00
Alex Plate 35d5eb1713 Fix tests for idea marks 2019-06-19 15:30:37 +03:00
Alex Plate 86fab38407 [VIM-959] Add idemarks option 2019-06-19 13:45:18 +03:00
Matt Ellis 866fe5cc8d Merge branch 'master' into feature/search 2019-06-18 20:07:21 +02:00
Alex Plate 2845f8543c Use objects for options 2019-06-18 20:08:02 +03:00
Alex Plate 011699d58f Add notification about smartjoin option 2019-06-18 17:23:52 +03:00
Alex Plate ddd37f5bee Reformat Options file 2019-06-18 16:27:40 +03:00
Alex Plate 44202b5c4d Rename .java to .kt 2019-06-18 16:11:09 +03:00
Matt Ellis b157d07b6d Improve handling of Delete and Backspace in ex entry 2019-06-18 13:27:32 +01:00
Matt Ellis 31d30a9115 Only close ex entry with backspace if no text 2019-06-18 11:49:55 +01:00
Matt Ellis cc7ee5acc0 Remove unused action 2019-06-18 11:44:44 +01:00
Matt Ellis 35bcb627c2 Correctly start/reset highlighting with :s command 2019-06-15 11:21:02 +01:00
Matt Ellis a7882fadba Reorder methods. No other changes 2019-06-15 10:39:59 +01:00
Alex Plate fe4525b441 Add smartjoin option 2019-06-14 19:05:53 +03:00
Alex Plate e17594a7aa Remove VimFileEditor test case 2019-06-14 17:44:54 +03:00
Matt Ellis 416357bf27 Incsearch highlights current match if nohlsearch
This also fixes a bug which would return an incorrect range when searching backwards, and two matches are found on a line, one before and one after the search position. This is due to reusing a reference, rather than making a copy. This was never discovered because we only used the start offset, not the end!
2019-06-14 15:43:20 +01:00
Alex Plate ae021ea930 Update indent for kt test files 2019-06-14 17:10:23 +03:00
Matt Ellis 32735a5e06 Fix start offset for incsearch with :s command 2019-06-14 12:20:07 +01:00
Matt Ellis 5b1d26263b Add incsearch highlights for :substitute command
Includes support for :global and :vglobal for when IdeaVim adds them
2019-06-14 10:39:07 +01:00
Alex Plate 84be5bc732 Reformat Motion and Visual handlers 2019-06-13 19:28:43 +03:00
Alex Plate bf1dee2bc4 Reformat CommandHandler 2019-06-13 18:43:49 +03:00
Alex Plate e0aadacf93 Remove flags function 2019-06-13 17:30:20 +03:00
Alex Plate 35481682a9 Fix NPE on text preprocessing during insert 2019-06-13 16:09:27 +03:00
Alex Plate 64291d336c Fix selection with mouse on line end 2019-06-13 15:21:00 +03:00
Alex Plate 3fe1ee4bd8 Fix problems with vertical movement 2019-06-13 15:01:31 +03:00
Matt Ellis 130a8d0f00 Disable search highlights when disabling plugin 2019-06-13 11:51:25 +01:00
Matt Ellis 36c4596a08 Fix exception with dead keys in ex entry
Will also highlight composed text on Mac
2019-06-11 19:57:11 +01:00
Alex Plate ebad3812e4 Add docs for TextObjectActionHandler 2019-06-11 19:52:31 +03:00
Alex Plate 004c1c915f Rename VimActionCommand to VimCommands 2019-06-11 19:52:25 +03:00
Alex Plate 39bd13a6ca Migrate text object to new registration model 2019-06-11 19:42:52 +03:00
Alex Plate f10ac679e2 Rename .java to .kt 2019-06-11 19:36:55 +03:00
Alex Plate 8d49012d64 Reformat VimCommandAction: get handler from makeHandler method 2019-06-11 16:00:37 +03:00
Alex Plate 91392c1e83 Convert VimActionHandler to kotlin 2019-06-11 14:10:43 +03:00
Alex Plate 65bb31e92a Rename .java to .kt 2019-06-11 14:10:43 +03:00
Alex Plate c06fa72936 Remove empty javadocs 2019-06-11 13:20:53 +03:00
Alex Plate a1adb1eb43 Create noneOfEnum helper function 2019-06-11 13:15:52 +03:00
Alex Plate 778ddb0e75 Support gn text objects 2019-06-11 13:06:36 +03:00
Alex Plate e919a026b7 Remove secondary carets on gn search 2019-06-11 12:01:56 +03:00
Alex Plate a78f78604a Move gn commands to motion package 2019-06-11 11:58:06 +03:00
Alex Plate eeea093bb8 Improve performance of gn command 2019-06-11 11:49:59 +03:00
Alex Plate b795c62ab7 Reformat SearchGroup file 2019-06-10 16:29:17 +03:00
Alex Plate b7c7b268d4 Add Jonatan Tierno to contributors list 2019-06-10 14:59:38 +03:00
Alex PlateandGitHub f7b9351e38 Merge pull request #134 from jonatantierno/master
VIM-635. Command gn.
2019-06-10 14:53:49 +03:00
Alex Plate 4e205d078d Merge branch 'master' into pull/134
# Conflicts:
#	src/com/maddyhome/idea/vim/group/MotionGroup.java
2019-06-10 14:48:50 +03:00
Alex Plate 16016cb13d [VIM-714] Fix caret vertical movements problems 2019-06-10 13:27:20 +03:00
Alex Plate 4754fff89b Use primary caret for post move in case of block selection 2019-06-10 13:15:32 +03:00
Alex Plate f88ed69f1f Support new external java plugin for 192+ versions 2019-06-10 12:36:06 +03:00
Alex Plate 2e7f7cf642 Fix tests with visual selection 2019-06-10 11:17:12 +03:00
Matt Ellis 60f9403657 Incsearch highlights all matches + current match 2019-06-07 23:33:05 +01:00
Alex Plate 4c9974f7eb Update intellij plugin and set default idea version to 2019.1 2019-06-07 20:59:21 +03:00
Alex Plate eace5c5543 Fix typo 2019-06-07 16:19:34 +03:00
Alex Plate f6d16ea4d9 Protection for empty file 2019-06-07 15:15:11 +03:00
Alex Plate ac2f11360c Extract some methods to CommandStateExtensions 2019-06-07 15:04:57 +03:00
Alex PlateandGitHub 48a5eee9ab Put information about leaving feedback to EAP section 2019-06-07 12:34:47 +03:00
Alex Plate 380156aa4b Use star register for clipboard test 2019-06-06 16:53:09 +03:00
Alex Plate d4cd8a228f Move ideaput option to 'clipboard options' 2019-06-06 14:48:19 +03:00
Alex PlateandGitHub 6081f1d5ff Merge pull request #197 from JetBrains/IdeaPut
VIM-25 Smart put operations (via IJ)
2019-06-06 14:08:06 +03:00
Alex Plate 0139967b29 Avoid dragging when select a word with double click 2019-06-06 13:27:06 +03:00
Alex Plate 0a30a42b2e Avoid dragging when put caret on the line end 2019-06-06 13:16:41 +03:00
Matt Ellis ff54bfa5b3 Merge branch 'master' into feature/search 2019-06-05 20:47:34 +01:00
Matt Ellis 22445f6df9 Add tests for hlsearch and incsearch 2019-06-05 20:24:38 +01:00
Alex Plate 272aa9513a Replace <caret> with ${c} for kotlin tests 2019-06-05 19:00:36 +03:00
Alex Plate 4b1abfc60f Add test for clipboard copy 2019-06-05 18:59:09 +03:00
Alex Plate b3130f38f2 Add logs for put and copy 2019-06-05 18:50:38 +03:00
Alex Plate 32fdbaccc3 VIM-25 Smart put operations (via IJ) 2019-06-05 15:49:31 +03:00
Alex Plate 8a4d3f5d80 Use 2-space indentation for kotlin files 2019-06-05 15:26:18 +03:00
Alex Plate 920af04b04 Added Pierce Corcoran to the contributors list 2019-06-04 18:01:13 +03:00
Alex PlateandGitHub 7d13d22650 Merge pull request #161 from thecodewarrior/unnamed-register-selection-type
VIM-1473 Fixed incorrect selection type for unnamed registers
2019-06-04 17:54:33 +03:00
Alex Plate 6c17725823 [VIM-438] Enable <C-N> and <C-P> for lookups 2019-06-03 20:00:17 +03:00
Matt Ellis f3b1ddf439 Merge branch 'master' into feature/search 2019-06-03 16:42:39 +01:00
Matt Ellis c7de374943 Refactor highlighting API calls 2019-06-03 16:39:01 +01:00
Alex Plate 1bb6345fcb Refactor put group 2019-05-31 19:27:43 +03:00
Alex Plate cbc5e8aea1 Make visual put single-executable
Preparation for VIM-25
2019-05-31 19:27:43 +03:00
Alex Plate 7ebb888c31 WIP: Renaming file 'PutVisualTextNoIndentAction' with Kotlin extension 2019-05-31 19:27:43 +03:00
Alex Plate 93c6a03287 WIP: Renaming file 'PutVisualTextMoveCursorAction' with Kotlin extension 2019-05-31 19:27:43 +03:00
Alex Plate ae97fbbcc3 WIP: Renaming file 'PutVisualTextAction' with Kotlin extension 2019-05-31 19:27:42 +03:00
Alex Plate 7ef381f1a4 Make 192-EAP-SNAPSHOT as a default idea version 2019-05-31 19:02:43 +03:00
Alex Plate 70fad46534 Fill CHANGES.MD with fixed bugs 2019-05-31 17:51:28 +03:00
Alex Plate cb8d253dc5 Fix compilation for IC-2019.1 2019-05-31 16:48:54 +03:00
Alex Plate cacab1e039 Make companion object private in VisualOperatorActionHandler 2019-05-31 16:40:38 +03:00
Alex Plate 0bf49ebe9a Event could be null in IdeaSpecifics 2019-05-31 16:31:38 +03:00
Alex Plate fa9b1933fa Merge pull request #186 from JetBrains/VIM-510
This huge branch was created as a result of VIM-510. It provides many
changes aiming to solve the problems associated with selection.

Main changes:

Introducing select mode.
[VIM-510] Structural selection enables visual mode.
[VIM-274] During refactoring, select mode is enabled (which works almost
like normal IntelliJ IDEA selection).
2019-05-31 12:24:33 +03:00
Alex Plate 444f676d2d Move connection to message but in IdeaSpecifics to EventFacade 2019-05-30 12:39:03 +03:00
Alex Plate 2ccba4b345 Remove @Deprecated from TextRange class 2019-05-30 12:34:25 +03:00
Alex Plate 0b76e86ace Create different method for isVisualBlock and isBlockSubMode 2019-05-30 12:26:13 +03:00
Alex Plate f40a86e744 Refactorings after review 2019-05-30 12:18:42 +03:00
Alex Plate 5b594a4a7b Fix bad visual -> motion refactoring 2019-05-30 12:16:59 +03:00
Alex Plate ea857b9c7b Fix single execution for visual operation 2019-05-28 15:44:04 +03:00
Alex PlateandGitHub 14a11f06e5 Merge pull request #196 from citizenmatt/VIM-1061
VIM-1061 Explicitly register shortcuts for digraphs

Ensures that the keyboard shortcuts required for digraphs (<C-K>, <C-V>, <C-Q> and <BS>) are all explicitly registered.

Digraphs are handled directly by the key handler, so there is no action that can provide keys to be registered. If the keys aren't registered, the key stroke doesn't get to the key handler and digraphs don't work.

Technically, these shortcuts are already registered by other actions, but it is better to be explicit, as VIM-1061 demonstrates. Digraphs with <C-K> were broken in 0.51, but fixed by accident by #194, which included the key sequence <C-W><C-K>, meaning <C-K> is registered.

Tests are not possible for this change as it affects the IDE event loop and the tests invoke handleKey directly,
2019-05-27 15:55:07 +03:00
Matt Ellis 987c89774c VIM-1061 Explicitly register shortcuts for digraphs 2019-05-24 15:34:21 +01:00
Alex Plate 52d0c44014 Fix enter action for select mode 2019-05-24 15:43:21 +03:00
Alex Plate e70d188b82 Add logging for visual operations 2019-05-24 15:13:37 +03:00
Alex Plate 9419c4b796 Fix gq (reformat code) action 2019-05-24 14:52:36 +03:00
Alex Plate 58c6aba6af Move all special keys handlers to single file 2019-05-24 12:00:40 +03:00
Alex Plate d09ae1a66e Fix bad refactoring 2019-05-24 11:54:05 +03:00
Alex Plate 12717d13de Make VisualStartFinishWrapper private 2019-05-24 11:52:04 +03:00
Alex Plate b363a05a7d Remove caretMergingListener in finally block 2019-05-24 11:51:12 +03:00
Alex Plate 318515db6f Rename Util to Helper 2019-05-24 11:46:08 +03:00
Alex Plate da7ff06734 Rename acontinue* to acontinue* 2019-05-24 11:41:40 +03:00
Alex Plate 86f4a2743a Remove some items from CONTRIBUTING 2019-05-24 11:38:42 +03:00
Alex Plate f86a1a0002 Hide alwaysBatchExecution property from inheritors 2019-05-24 11:01:15 +03:00
Alex Plate e5d4a5f061 Put ShiftedArrowKeyHandler to ShiftedSpecialKeyHandler 2019-05-23 22:23:52 +03:00
Alex Plate 7be884b138 Remove FLAG_FORCE_LINEWISE and FLAG_FORCE_VISUAL flags 2019-05-23 18:06:11 +03:00
Alex Plate 4eacdeec5e Check if caret valid before adjusting selection 2019-05-23 16:09:28 +03:00
Alex Plate 8a9a5919f2 Reset handler after exiting visual mode during tab switch 2019-05-23 15:46:51 +03:00
Alex Plate 442883c377 Make Command data class 2019-05-23 15:26:49 +03:00
Alex Plate 33939917c0 Print actionId of visual command to log 2019-05-22 14:59:51 +03:00
Alex Plate e1721bf337 Handle backspace via vim with active lookup 2019-05-21 16:53:52 +03:00
Alex Plate 5081ede268 [VIM-1666] properly handling of digraphs after pressing backspace 2019-05-21 15:52:17 +03:00
Alex Plate 393416a925 Format KeyHandler file 2019-05-21 15:49:00 +03:00
Alex Plate 34ec791ba3 Add VimOptionDefault to docs 2019-05-21 12:25:27 +03:00
Alex Plate f4b80d4d80 Add docs to VimListOptionTestCase 2019-05-20 19:10:37 +03:00
Alex Plate fcbc1773ad Add VimListOptionTestCase for testing IdeaVim options 2019-05-20 17:34:06 +03:00
Alex Plate 4d971be732 Support End and Shift-End motions 2019-05-20 13:21:24 +03:00
Alex Plate deff56db29 Extract handler for shifted arrows 2019-05-20 12:54:05 +03:00
Matt Ellis 5b78a02a53 Update CHANGES.md 2019-05-19 20:06:57 +02:00
Matt Ellis 9c5420c79c Fix exception highlighting last CR in file
Custom implementation of offsetToCharacterPosition failed when the text range of the last CR in the file wrapped to a line that didn't exist in the editor. This caused an exception when search highlights included the last CR in the file
2019-05-19 19:40:26 +02:00
Matt Ellis bd58802ed6 Make incsearch work with entering digraphs 2019-05-17 23:19:02 +01:00
Matt Ellis 71504d0ded Merge branch 'master' into ideavim-search
# Conflicts:
#	src/com/maddyhome/idea/vim/ui/ExEntryPanel.java
2019-05-17 23:00:22 +01:00
Matt Ellis 3aff7693c7 Use same formatting as Find for search/replace 2019-05-17 22:29:59 +01:00
Matt Ellis b46f426f30 Reset highlights when options change 2019-05-17 22:29:59 +01:00
Matt Ellis 70652d445c Fix next/prev after search word and smartcase
Makes sure that search word forward/backward ignores smartcase for first and subsequent searches.
2019-05-17 22:29:58 +01:00
Matt Ellis 35f96b28bc VIM-128 Substitute works with ignorecase and smartcase 2019-05-17 22:28:40 +01:00
Matt Ellis dd40bb3850 Move current line during incsearch 2019-05-17 11:26:36 +01:00
Alex Plate 849c0cbd49 Support shifted and non-shifter Home key 2019-05-16 17:22:47 +02:00
Alex Plate 201d613ac1 Extract handler for non-shifted special keys 2019-05-16 16:11:40 +02:00
Alex Plate 8897ecd0d5 Extract handler for shifted special keys 2019-05-16 16:09:39 +02:00
Alex Plate 784a8e625f Set log level to info for VisualCommands 2019-05-16 13:40:05 +02:00
Alex Plate 770cc2cd72 Use !! in tests instead of ?: run 2019-05-15 19:57:17 +02:00
Alex Plate fa620be738 Fill doc for new commands 2019-05-15 19:40:30 +02:00
Alex Plate 34893e7847 Support the rest of selectmodel options 2019-05-15 18:55:56 +02:00
Alex Plate c49d5b4ffa Move packages to better location 2019-05-15 15:47:29 +02:00
Alex Plate c37387db64 Full support for selectmode option 2019-05-15 15:22:55 +02:00
Alex Plate 83b626b77e Remove ExtendSelection actions 2019-05-15 13:01:18 +02:00
Alex Plate 45932d9189 Save last column during shift-motions 2019-05-15 10:25:38 +02:00
Alex Plate fe01820f3f Add support for key in selectmode option 2019-05-15 10:18:44 +02:00
Alex Plate 2ad4436cef Add support for startsel in keymodel option 2019-05-15 09:59:31 +02:00
Alex Plate 5b8fb49d4c Additional null check 2019-05-15 07:09:06 +03:00
Alex Plate dca0240c13 Fix opening dialog boxes 2019-05-14 20:38:15 +03:00
Alex Plate ce692df94f Fix cc command for empty document 2019-05-14 19:34:26 +03:00
Alex Plate dbcf2acce4 Support cmd for selectmode option 2019-05-14 19:14:53 +03:00
Alex Plate 3bc628417f WIP: Renaming file 'VisualToggleLineModeAction' with Kotlin extension 2019-05-14 18:52:53 +03:00
Alex Plate 45b286206f Replace <caret> with ${c} 2019-05-14 17:15:14 +03:00
Alex Plate bdc9b78ec8 Merge branch 'master' into VIM-510 2019-05-14 16:51:55 +03:00
Alex Plate e23c11f15a Remove unused index.txt 2019-05-14 16:20:57 +03:00
Alex Plate 6865d25035 Put actions to package-info 2019-05-14 14:53:10 +03:00
Andrey Vlasovskikh bfcc75f754 Use 2 spaces for Kotlin files as per the IntelliJ platform coding style 2019-05-14 14:13:11 +03:00
Alex Plate 25289ed4c5 Fix dot command for visual change 2019-05-14 13:20:44 +03:00
Alex Plate 2c32cbfbfd Fix linewise change to end of document 2019-05-14 13:16:30 +03:00
Alex Plate 310d664fdc Update contributing.md 2019-05-14 12:06:09 +03:00
Matt Ellis 74dce4b70a Fix incsearch with trailing characters 2019-05-14 14:51:07 +08:00
Matt Ellis 187963cc38 VIM-1413 Handle smartcase in incremental search 2019-05-14 14:50:30 +08:00
Matt Ellis afd618c61a VIM-1535 Use correct text attributes for search
Uses the same attributes and layers as the IDE's own Find preview
2019-05-14 14:34:43 +08:00
Alex Plate 4196ec5093 Fix big O for visual block mode 2019-05-13 21:18:35 +03:00
Alex Plate 49d28f1eeb WIP: Renaming file 'VisualSwapEndsBlockAction' with Kotlin extension 2019-05-13 20:27:21 +03:00
Alex Plate 90640c9378 WIP: Renaming file 'VisualSwapEndsAction' with Kotlin extension 2019-05-13 20:23:34 +03:00
Alex Plate bf0e9fb107 Inline vimForAllOrPrimaryCaret function 2019-05-13 16:19:05 +03:00
Alex Plate eba0bf8f41 Move VisualSelection to another package 2019-05-13 16:15:43 +03:00
Alex Plate 66dc40f6e2 [VIM-1655] Deleted in insert mode text is not yanked 2019-05-13 15:23:59 +03:00
Alex Plate caa0caf297 Scroll caret to next selection in multicaret plugin 2019-05-13 14:51:57 +03:00
Alex Plate e6a36178ff Extract getKey method from ReadWrite properties 2019-05-13 14:45:38 +03:00
Alex Plate 263cc2df2a Add Michael Ziwisky to contributors list 2019-05-13 13:45:12 +03:00
Alex PlateandGitHub da556e0546 Merge pull request #194 from mziwisky/move-to-windows
map "<C-W><C-{H,J,K,L}>" to Window<Direction>Action
2019-05-13 13:43:08 +03:00
Michael Ziwisky 3180ae1a41 map "<C-W><C-{H,J,K,L}>" to Window<Direction>Action
from vim help:

tag		command		   action in Normal mode
---------------------------------------------------------
|CTRL-W_CTRL-H|	CTRL-W CTRL-H	   same as "CTRL-W h"
|CTRL-W_CTRL-J|	CTRL-W CTRL-J	   same as "CTRL-W j"
|CTRL-W_CTRL-K|	CTRL-W CTRL-K	   same as "CTRL-W k"
|CTRL-W_CTRL-L|	CTRL-W CTRL-L	   same as "CTRL-W l"
2019-05-09 16:06:21 -07:00
Alex PlateandGitHub b3bf33f488 Merge pull request #193 from citizenmatt/feature/cmdline-editing
Improvements to ex entry
2019-05-08 19:43:55 +03:00
Alex Plate 58081ed0ef Fix broken test 2019-05-08 19:43:13 +03:00
Alex Plate f80111299f Use '\n' separator for CmdHandler 2019-05-08 19:32:09 +03:00
Alex Plate f5dd1722f5 Fix separator related failed tests 2019-05-08 19:20:14 +03:00
Alex Plate 4237ce9b3c Support multicaret for entering visual mode with count 2019-05-08 18:44:02 +03:00
Alex Plate b3f3a307ba Support entering visual mode with count without previous visual operation 2019-05-08 17:39:33 +03:00
Alex Plate 381e84e649 Add docs to userDataCaretToEditor delegator 2019-05-08 17:01:33 +03:00
Alex Plate 4ccddf839f Remove unnecessary caret user data 2019-05-08 16:46:04 +03:00
Alex Plate f40ee92826 Support enter visual mode with count 2019-05-08 16:42:16 +03:00
Alex Plate 686c774e0f Add VimBehaviourDiffers for motion right tests 2019-05-08 16:08:39 +03:00
Alex Plate 13b28e6f1c Save call for editor in IdeaSpecifics 2019-05-08 12:47:07 +03:00
Matt Ellis 7fe0609e9e Fix tests 2019-05-08 07:05:58 +01:00
Alex Plate b24aec26c0 WIP: Renaming file 'VisualChange' with Kotlin extension 2019-05-07 20:27:34 +03:00
Alex Plate c465d303e5 Remove extra caret data 2019-05-07 18:08:49 +03:00
Alex Plate 13e80db668 Add comments to CaretData 2019-05-07 17:51:50 +03:00
Alex Plate 712e3df4b8 Add muted tests to dollar motion in visual block mode 2019-05-07 17:12:15 +03:00
Matt Ellis 98d22523be Merge branch 'master' into feature/cmdline-editing 2019-05-07 12:32:25 +01:00
Matt Ellis 6326360595 Update UI of ex output panel 2019-05-07 12:29:50 +01:00
Matt Ellis 7cfbddfd35 Remove unused editor actions 2019-05-07 12:25:02 +01:00
Alex Plate 92eb6dab2f Add information about @VimBehaviourDiffers annotation to CONTRIBUTE.md 2019-05-07 14:08:02 +03:00
Alex Plate 7cebdc7270 Add folding regions for IdeaSpecifics 2019-05-07 12:52:30 +03:00
Matt Ellis f9094223ba Add correct caret shape for lost focus 2019-05-07 09:46:58 +01:00
Matt Ellis 849e0964ba Remove gap between ex label and text field
Also replaces incorrect border around entry panel, fixing off by one UI border drawing

Fixes VIM-1240, fixes VIM-1485
2019-05-07 00:16:09 +01:00
Alex Plate 096ed14978 Add null-check for LaF listener
(cherry picked from commit afe745dc44)
2019-05-06 18:08:40 +03:00
Alex Plate d04196ec7c Use native selection for visual operations 2019-05-06 17:05:45 +03:00
Alex Plate bf7f6054c6 Get editor on action execution start 2019-05-06 15:08:39 +03:00
Alex Plate afe745dc44 Add null-check for LaF listener 2019-05-06 14:52:10 +03:00
Alex Plate 5032bc4da7 Add some comments to functions 2019-05-06 14:49:58 +03:00
Alex Plate 10c19bbb94 Move caret one char left (after selection) not in recursive way 2019-05-06 13:38:06 +03:00
Alex Plate 7519eb1f43 Move listeners to separate package 2019-05-06 12:20:15 +03:00
Alex Plate 95b800638b Enter insert mode when enabling template without selection 2019-05-06 12:18:22 +03:00
Matt Ellis ff9a3a55e2 Ensure current action processes next keystroke
This allows cancelling inserting digraph or register with movement keys. Unprocessed keys are ignored, unless it's <C-C>, in which case the ex entry is cancelled.
2019-04-30 20:58:06 +01:00
Alex Plate 56b4e50aab Event is not null for before/after actionPerformed 2019-04-30 19:05:05 +03:00
Matt Ellis 32d513a74f Reset ex entry when lost focus due to mouse click 2019-04-30 16:50:05 +01:00
Alex Plate 8ce4768aa6 Enable insert mode after surround with if action 2019-04-30 18:49:21 +03:00
Alex Plate 13128d354d Remove redundant static call 2019-04-30 16:58:56 +03:00
Alex Plate 31b41cacba Fix motion caret to the next line after changing full text 2019-04-30 16:33:31 +03:00
Alex Plate ddaf190c3c Add file to define Idea-specific behaviour
Move caret to right position for rider - extendSelection action
2019-04-30 15:47:28 +03:00
Alex Plate e873009aeb Disable listeners if IdeaVim was not enabled on editor creation 2019-04-30 14:44:39 +03:00
Matt Ellis 7ec3abb069 Correctly set focus when handling cmode mapping
Fixes VIM-1419, fixes VIM-1493
2019-04-30 11:42:30 +01:00
Alex Plate 5b628c2f48 Use constants from TestUtil in VimTestCase 2019-04-30 13:19:12 +03:00
Alex Plate dcb2300699 Add test for removing indent in PyCharm 2019-04-30 12:29:57 +03:00
Alex Plate cfd69d1603 Stay in select mode in PyCharm after deleting indent 2019-04-30 11:35:45 +03:00
Alex Plate f816bc23e9 Create more complicated VimSelection structure. Support dollar motion 2019-04-29 16:46:30 +03:00
Matt Ellis 8601730dd8 Add prompt when inserting digraphs and registers
Also resets state correctly when cancelling inserts
2019-04-29 14:12:19 +01:00
Alex Plate 336342c72e [IDEA-211429] Directly enable insert mode for dialogs 2019-04-29 15:16:18 +03:00
Alex Plate 357763ff55 [VIM-1644] Update changelist 2019-04-29 15:10:07 +03:00
Alex PlateandGitHub 45b757697a Merge pull request #192 from danielemegna/VIM-1644
[Vim 1644] - Fix action repeat broken with visual mode
2019-04-29 15:08:20 +03:00
Alex PlateandGitHub a9a0d6233e Merge pull request #191 from citizenmatt/feature/beep
Only beep once every half second
2019-04-29 14:42:15 +03:00
Alex Plate 91dbf51d8b Add Simon Rainer to contributors list 2019-04-29 14:01:29 +03:00
Alex PlateandGitHub af79066c26 Merge pull request #179 from Vvalter/master
Fix VIM-1090 and VIM-1100 tag motion with duplicate tags.
2019-04-29 13:59:15 +03:00
Alex Plate c5f6676ac2 Put tag tests to separate files 2019-04-29 13:56:42 +03:00
Matt Ellis 906d2a4168 Insert register at caret location, instead of appending 2019-04-29 11:44:34 +01:00
Alex Plate b85b4a7f72 Add Elliot Courant to contributors list 2019-04-29 13:26:30 +03:00
Alex PlateandGitHub 3b360c807e Merge pull request #188 from ECourant/feature/command
(VIM-1105) Adding support for command aliasing.
2019-04-29 13:21:53 +03:00
Alex Plate d0bec7db4d Update copyright and make code more kotlin-specific 2019-04-29 13:07:57 +03:00
Alex Plate 7af5d8debd Fix wrong copyright setting 2019-04-29 12:41:25 +03:00
Matt Ellis e7603a78d0 Add tests for ex entry shortcuts 2019-04-29 09:29:08 +01:00
Matt Ellis 3a728df3b1 Ensure all shortcuts are seen by ex entry field
Fixes VIM-1550
2019-04-28 17:06:23 +01:00
Daniele Megna 417fa314b4 Fix VIM-1644: keep Visual and VisualBlock start-end values updated
during MotionGroup#toggleVisual method
2019-04-28 11:20:20 +02:00
Simon Rainer 73cfd71bd4 Fixes successive tag block selection. 2019-04-27 12:46:33 +02:00
Daniele Megna 3a092012bb Add some repeat action passing tests 2019-04-27 11:25:56 +02:00
Simon Rainer 415abd13c9 Merge remote-tracking branch 'upstream/master' 2019-04-26 17:18:08 +02:00
Matt Ellis e94eac77eb Show correct caret shape on command line
Also refreshes font when editor font changes
2019-04-26 14:44:40 +01:00
Matt Ellis 25b11349a4 Update list of cmdline editing commands 2019-04-26 14:43:56 +01:00
Elliot Courant 4ea8e15710 (VIM-1105) Adding support for command aliasing.
Commands `command`, `comclear` and `delcommand` have been added. `command` also
supports -nargs, allowing arguments to be passed to the aliased command.
Symbols supported for -nargs are: <args> <q-args> <count> <lt>.
2019-04-26 06:17:30 -05:00
Matt Ellis 890562e810 Only beep once every half second 2019-04-26 11:49:41 +01:00
Alex Plate 9b4d38ed3c Rearrange VisualMotionGroup code 2019-04-25 17:19:36 +03:00
Alex Plate 33c33431f9 Update indent 2019-04-25 16:09:22 +03:00
Alex Plate 53d3e0db88 Remove useless function 2019-04-25 15:22:32 +03:00
Alex Plate 94e4556bee Remove unnecessary user data (wasVisualBlock) 2019-04-25 14:56:15 +03:00
Alex Plate 1ad9dd4a28 Save caret position after cursor dragging 2019-04-25 14:47:14 +03:00
Alex Plate e15f0e07dd Add some comments to VisualGroup 2019-04-25 13:29:42 +03:00
Alex Plate eda734e728 Add missing @NotNull annotation 2019-04-25 12:09:24 +03:00
Alex Plate 205c6e9ed2 Rename AddInlays action 2019-04-25 12:09:24 +03:00
Alex PlateandGitHub 5132327d62 Merge pull request #159 from ikenox/search-action-by-shortcut-key
Search actionlist by keyboard shortcuts which is assigned to action
2019-04-25 12:09:09 +03:00
Alex Plate 55e0200fb6 Move caret to right place after gutter mouse selection 2019-04-25 11:45:55 +03:00
Alex Plate fefd6699f3 Select full line while visual line mode 2019-04-25 11:04:05 +03:00
Alex Plate 963840612c Select full line while visual line mode 2019-04-25 10:54:46 +03:00
Alex Plate fd8e567c60 Format ChangeGroup 2019-04-24 20:26:55 +03:00
Alex Plate 69d02b8abb Fix small typos in userData() functions 2019-04-24 17:09:08 +03:00
Alex Plate ccf721fd6c Store vim selection start and end in VimSelection model 2019-04-24 15:01:12 +03:00
Naoto Ikeno 98c4bb2c4f fix broken tests 2019-04-24 12:48:52 +09:00
Alex Plate 55bd13c3f2 Reorganize Visual- and MotionHandlers 2019-04-23 17:26:57 +03:00
Alex Plate 95c5256fe3 Fix failed tests 2019-04-23 16:06:01 +03:00
Alex Plate f8de555032 [VIM-1184] Store all vim settings only locally (except keymapping) 2019-04-23 15:49:33 +03:00
Alex Plate 060d27f57a Move BlockParen tests to separate files 2019-04-23 13:23:43 +03:00
Alex Plate 917d3a4ded Add Romain Gautier to contributors list 2019-04-23 12:53:53 +03:00
Alex PlateandGitHub 13b75dea27 Merge pull request #189 from Nimamoh/VIM-1633
VIM-1633 - fix block selection
2019-04-23 12:48:09 +03:00
Romain Gautier 9487cd2b0b Revert block tag part 2019-04-23 00:19:04 +02:00
Alex Plate 20dbe1bde6 Enter select mode for oneRowEditor in case on unexpected selection change 2019-04-22 15:24:44 +03:00
Alex Plate c7f42cfca8 Enter insert mode after backspace in select mode 2019-04-22 15:24:19 +03:00
Alex Plate 3f9585b1fb Restore mode after :action 2019-04-22 14:57:09 +03:00
Alex Plate e021663975 Print submode of select mode in bar 2019-04-22 14:38:03 +03:00
romain.gautier@nimamoh.net 8c1cca0d57 VIM-1633 - correct handling of self closing tags 2019-04-18 18:30:24 +02:00
Simon Rainer 6d74480998 Fixes tag motion handling slashes incorrectly. 2019-04-18 16:12:04 +02:00
Simon Rainer 31bad3a1e1 Merge https://github.com/JetBrains/ideavim 2019-04-18 15:24:09 +02:00
romain.gautier@nimamoh.net f0ccf6c3a5 VIM-1633 - empty tag block selection case 2019-04-18 14:55:54 +02:00
romain.gautier@nimamoh.net 367b13cdad VIM-1633 - fix tag block selection 2019-04-18 13:17:35 +02:00
Alex Plate 47ac879ed9 Move caret one char left after double click 2019-04-18 13:57:01 +03:00
Alex Plate 28a50c00bb Move caret one character left while after mouse selection 2019-04-17 20:33:23 +03:00
Alex Plate 6ceb74cb33 Fix: some motions could become linewise 2019-04-17 16:15:30 +03:00
Naoto Ikeno 9f682cded0 filter an actionlist by assigned shortcut key 2019-04-17 16:17:09 +09:00
Alex Plate 40ddc506a7 Add editorconfig for .kt files 2019-04-16 13:58:46 +03:00
Alex Plate 74d5144892 Set visual mode for non-vim selections 2019-04-15 17:46:50 +03:00
romain.gautier@nimamoh.net ea2f2ba213 VIM-1633 - remove useless min/max, add comments 2019-04-15 15:22:45 +02:00
Alex Plate 970a5e19d0 Use try-with-resources for VimListenerSuppressor 2019-04-15 15:13:09 +03:00
Alex Plate 3786660ecd Motion right with unicode characters 2019-04-15 14:00:17 +03:00
romain.gautier@nimamoh.net c0d72d25f8 VIM-1633 - fix block selection 2019-04-13 03:35:08 +02:00
Alex Plate b69d7f9729 Fix problems after rebase 2019-04-12 19:08:18 +03:00
Alex Plate 03a934a8e9 Add motions to left/right/up/down arrows in select mode 2019-04-12 19:03:18 +03:00
Alex Plate 215df5cc03 Enter insert mode after select mode while editing template 2019-04-12 19:03:18 +03:00
Alex Plate cfcdbffa7f Handle tab character with block visual selection 2019-04-12 19:03:18 +03:00
Alex Plate 7b32b75052 Suppress selection listener while lookup is active 2019-04-12 19:03:18 +03:00
Alex Plate f6549aca76 Remove unused method 2019-04-12 19:03:18 +03:00
Alex Plate 4ce3cff2bf Shorter version of selection restore (:action) 2019-04-12 19:03:18 +03:00
Alex Plate c4c8b8c9e1 Fix :action command with selection 2019-04-12 19:03:18 +03:00
Alex Plate 23ce30a7fc Provide vimSetSelection instead of vimStartSelectionAtPoint method 2019-04-12 19:03:17 +03:00
Alex Plate 2fd23af04a Fix commentary extension 2019-04-12 19:03:17 +03:00
Alex Plate 33534d50cd Support del and backspace in select mode 2019-04-12 19:03:17 +03:00
Alex Plate 79aed6b7b0 Add SAVE_VISUAL flag for commands 2019-04-12 19:03:17 +03:00
Alex Plate 740ef8a2d7 Update down motion 2019-04-12 19:03:17 +03:00
Alex Plate 68efd8f3d0 Properly handling of unexpected block selection 2019-04-12 19:03:17 +03:00
Alex Plate 6fe6e83cb9 Add mode, submode and caret colour checks to doTest method 2019-04-12 19:03:17 +03:00
Alex Plate 7ed7ac817d Fix KeyHandler reset after using templates 2019-04-12 19:03:16 +03:00
Alex Plate dc39f8fe76 Add Testing section to CONTRIBUTING.md 2019-04-12 19:03:16 +03:00
Alex Plate 519cbfe38b Tests for up/down motions 2019-04-12 19:03:16 +03:00
Alex Plate f1fd5f2aa6 Do not move secondary carets in selection block mode to selection end - 1 2019-04-12 19:03:16 +03:00
Alex Plate 2b5d06a6dc Multicaret tests for left/right motions 2019-04-12 19:03:16 +03:00
Alex Plate ef13d04a98 Add tests for key handler 2019-04-12 19:03:16 +03:00
Alex Plate fb3f3c7405 Add Escape action 2019-04-12 19:03:16 +03:00
Alex Plate a9df13e4d7 Tests for left-right select motions 2019-04-12 19:03:15 +03:00
Alex Plate a46c5383cd Update Kotlin version 2019-04-12 19:03:15 +03:00
Alex Plate a133a94dbe Create tests for select mode toggling 2019-04-12 19:03:15 +03:00
Alex Plate bf5cab0062 Use string templates for <caret> and <selection> in kt files 2019-04-12 19:03:15 +03:00
Alex Plate 4e64838613 Handler enter action in selection mode 2019-04-12 19:03:15 +03:00
Alex Plate 2f894a5f2f Create tests for entering select mode 2019-04-12 19:03:15 +03:00
Alex Plate 3903f6c709 Fix wrong cursor shape by copying 2019-04-12 19:03:15 +03:00
Alex Plate 78ab61ec0c Add docs for VisualGroup 2019-04-12 19:03:14 +03:00
Alex Plate be8a5f535c Get rid of static methods to get common approach for group functions 2019-04-12 19:03:14 +03:00
Alex Plate 53a5762f98 Fixing caret in dialogs 2019-04-12 19:03:14 +03:00
Alex Plate 85c92935d3 Add motion up and down 2019-04-12 19:03:14 +03:00
Alex Plate ed51a60dfe Fix wrong caret shape on mouse click 2019-04-12 19:03:14 +03:00
Alex Plate 6ad7771fed Fix undo/redo 2019-04-12 19:03:14 +03:00
Alex Plate 63f87cdb18 Handle enter in select mode 2019-04-12 19:03:14 +03:00
Alex Plate 73f670212e Enter select mode with multiple carets 2019-04-12 19:03:13 +03:00
Alex Plate 7418c6db73 Add switcher for select mode and line and block wise 2019-04-12 19:03:13 +03:00
Alex Plate 6892db0056 Enter selection mode on unexpected changes 2019-04-12 19:03:13 +03:00
Alex Plate 2f6bd2c287 Introduce select mode 2019-04-12 19:03:13 +03:00
Alex Plate 4bff954c3b Fix :join command 2019-04-12 19:03:13 +03:00
Alex Plate e70f535ad3 Fix selection with undo 2019-04-12 19:03:13 +03:00
Alex Plate da66981a1f Fix putting caret on empty line 2019-04-12 19:03:13 +03:00
Alex Plate ab9ba94dbf Add docs for new classes and functions 2019-04-12 19:03:12 +03:00
Alex Plate 0d15b9117f Log lockers, clear stack before entering visual mode 2019-04-12 19:03:12 +03:00
Alex Plate 4de8e8e291 Adjust caret to visual end in case of unexpected changes 2019-04-12 19:03:12 +03:00
Alex Plate ced99152a1 Fix visual block selection 2019-04-12 19:03:12 +03:00
Alex Plate c30cd23b89 Make VimListenerSuppressor sealed 2019-04-12 19:03:12 +03:00
Alex Plate 1e58173241 Fix ChangeVisualAction 2019-04-12 19:03:12 +03:00
Alex Plate 062d7d3f71 Fix setVisualMode for caret without selection 2019-04-12 19:03:12 +03:00
Alex Plate 284983a4a7 Move listeners to separate class 2019-04-12 19:03:11 +03:00
Alex Plate b590762259 Support block selection autodetect 2019-04-12 19:03:11 +03:00
Alex Plate 1763eb2f17 Proper visual mode exit 2019-04-12 19:03:11 +03:00
Alex Plate 5be2ca8efc Fix motion down 2019-04-12 19:03:11 +03:00
Alex Plate 826b3d6803 Handle unexpected caret events 2019-04-12 19:03:11 +03:00
Alex Plate 6852463b53 Fix visual block deletion 2019-04-12 19:03:11 +03:00
Alex Plate 9546f6069c Fix line deletion in visual mode 2019-04-12 19:03:11 +03:00
Alex Plate d65955647c Move selection functions to VisualGroup 2019-04-12 19:03:10 +03:00
Alex Plate 5200ff8e84 Move CaretData to kotlin 2019-04-12 19:03:10 +03:00
Alex Plate f1a667ae2e Move caret last column attribute to kotlin 2019-04-12 19:03:10 +03:00
Alex Plate 82682ece5e Remove unused moveCaret method 2019-04-12 19:03:10 +03:00
Alex Plate 61f9184728 Highlight only primary caret with block selection 2019-04-12 19:03:10 +03:00
Alex Plate a220be8136 Fix all tests 2019-04-12 19:03:10 +03:00
Alex Plate 11b2096dba Fix last selection type 2019-04-12 19:03:10 +03:00
Alex Plate 8370248390 Define main caret for visual block selection 2019-04-12 19:03:09 +03:00
Alex Plate f528269bc6 Fixed tests with put and yank actions 2019-04-12 19:03:09 +03:00
Alex Plate d551531603 Test fixing 2019-04-12 19:03:09 +03:00
Alex Plate 3b50bd8509 Fix tests about caret merging 2019-04-12 19:03:09 +03:00
Alex Plate 8bc73a0101 Fix word object tests 2019-04-12 19:03:09 +03:00
Alex Plate 419c15d0c3 Fixing tests 2019-04-12 19:03:09 +03:00
Alex Plate be90776588 Remove native caret order 2019-04-12 19:03:09 +03:00
Alex Plate 7c8cc16768 Fix tests for vim surround 2019-04-12 19:03:08 +03:00
Alex Plate 1596b0addc New structure of MotionEditorActionHandler 2019-04-12 19:03:08 +03:00
Alex Plate 886bbe1111 Use new struct of operation handler 2019-04-12 19:03:08 +03:00
Alex Plate de266f12a4 Set selection start non nullable. Set null value with vimSelectionStartBackingNullable 2019-04-12 19:03:08 +03:00
Alex Plate f9a5bc00e7 [WIP] Support native caret selection 2019-04-12 19:03:08 +03:00
Alex Plate 356c122767 Remove unused methods 2019-04-12 19:03:08 +03:00
Alex Plate e9b94033c5 Format VisualOperatorActionHandler 2019-04-12 19:03:07 +03:00
Alex Plate 8e1385e4e1 Remove unused data key 2019-04-12 19:03:07 +03:00
Alex Plate e881ed0d9a Update visual handlers to new handler 2019-04-12 19:03:07 +03:00
Alex Plate 26d03d49b1 Create tests for visual put action 2019-04-12 19:03:07 +03:00
Alex Plate 082a3b21e1 Use range markers instead of TextRanges for VisualOperatorActionHandler 2019-04-12 19:03:07 +03:00
Alex Plate 15e6e8435a Make extension properties to get visual range 2019-04-12 19:03:07 +03:00
Alex Plate 2d67067159 Split CopyGroup into class objects 2019-04-12 19:03:07 +03:00
Alex Plate 3fb3aaad2a Introduce new VisualOperatorActionHandler
Update visual put to new handler
2019-04-12 19:03:06 +03:00
Alex Plate 616479c4fc Use native caret iterator for VisualOperatorActionHandler 2019-04-12 19:03:06 +03:00
Alex Plate 9b4c732dca Remove unused caret data 2019-04-12 19:03:06 +03:00
Alex Plate 249be00463 Reformat setVisualMode and toggleVisual functions 2019-04-12 19:03:06 +03:00
Alex Plate febcccc670 Extract visual motions to separate file 2019-04-12 19:03:06 +03:00
Alex Plate 2d4eed726f Fix motion right with tabs 2019-04-12 19:02:48 +03:00
Alex Plate 98de7888cd Add Andrew Potter to contributors list 2019-04-12 18:33:23 +03:00
Alex PlateandGitHub 24eb376bed Merge pull request #166 from apottere/patch-1
Get indent from PsiFile so formatting on shift is consistent (VIM-1231)
2019-04-12 18:27:56 +03:00
Alex Plate 75fbc0f939 [VIM-1425] Fix % command 2019-04-12 15:16:26 +03:00
Alex Plate c8c1993db3 Fix right motion for non-ascii character 2019-04-12 14:39:37 +03:00
Alex Plate 628cb33e44 Revert "[VIM-1425] Fix % command"
This reverts commit d0a39ef3
2019-04-11 16:40:25 +03:00
Alex Plate 8160df000b Revert "Fix right motion for non-ascii character"
This reverts commit f6e7019b
2019-04-11 16:26:37 +03:00
Alex Plate d0a39ef32f [VIM-1425] Fix % command
Command % worked wrong when
- There was '\\' character on the way
- Inside strings
2019-04-11 16:09:57 +03:00
Alex Plate f6e7019b51 Fix right motion for non-ascii character 2019-04-10 18:44:36 +03:00
Alex Plate b7d82cddbc Add Code of Conduct to project 2019-04-10 15:59:48 +03:00
Alex Plate 22ce6fbf09 Update changelist 2019-04-10 12:51:22 +03:00
Alex Plate c202394c3c [VIM-1628] Do not handle undefined characters 2019-04-10 12:48:30 +03:00
Alex Plate 900f415c6b [VIM-1546] Storing TAB key as input 2019-04-09 21:51:23 +03:00
Alex Plate 38a4fd5fbc [VIM-607] Fixing memory leaks when closing the project 2019-04-09 20:38:57 +03:00
Alex Plate 9f629132e4 Use Set instead of List for CommandHandler flags 2019-04-09 13:10:22 +03:00
Alex Plate 32ba7895a3 Provide more clear API for creating new Command Handlers 2019-04-08 17:19:48 +03:00
Alex Plate 65627da72b VIM-1630 Add Daniele Megna to contributors list 2019-04-08 16:42:40 +03:00
Alex PlateandGitHub 00de654ca5 Merge pull request #183 from danielemegna/tabonly_handler
Implement TabOnlyHandler
2019-04-08 16:38:00 +03:00
Daniele Megna 0f5ca758b8 Implement TabOnlyHandler 2019-04-07 11:42:50 +02:00
Alex Plate 857a5b4d52 Remove information about unreleased extenstion 2019-04-04 17:10:32 +03:00
Alex Plate 3757da0f5f Add VIM-1615 to changelist 2019-04-04 15:36:13 +03:00
Alex PlateandGitHub 4befd155a1 Merge pull request #182 from citizenmatt/VIM-1615
VIM-1615 Fix handling of so=999
2019-04-04 15:32:53 +03:00
Matt Ellis bb7c2390b1 Keep bottom line aligned with bottom of screen when scrolling up 2019-04-04 00:15:23 +01:00
Alex Plate c70d30744c Add gecko655 to contributors list 2019-04-01 19:59:09 +03:00
Alex PlateandGitHub 4b49bb6d18 Merge pull request #180 from gecko655/VIM-1067
Fix issue VIM-1067: Repeat commands deletes End Of Line character when repeating "append to end of line" ('A') command.
2019-04-01 19:56:15 +03:00
Alex Plate 58481c81a0 Add sumoooru2 to contributors list 2019-04-01 19:53:51 +03:00
Alex PlateandGitHub 465ed569a1 Merge pull request #178 from sumoooru2/master
Fix findBlockRange
2019-04-01 19:48:59 +03:00
Alex Plate 547a159fb3 Add message to explain which action is null 2019-03-29 11:50:37 +03:00
Alex Plate ea4fc32e60 Update readme: add information about commentary extension 2019-03-29 11:25:19 +03:00
jtierno 47db118c21 hola 2019-03-28 21:12:16 +01:00
Alex PlateandGitHub a1ff484c85 Merge pull request #109 from dhleong/dhleong/CommentaryExtension2
Add comment motion extension
2019-03-28 13:34:03 +03:00
Matt Ellis 6ebedb9219 VIM-1615 Fix handling of so=999 2019-03-27 09:31:12 +00:00
jonatantiernoandjtierno c717bed4fb Command gn 2019-03-16 14:47:09 +01:00
gecko655 170bff5a3f Added tests for VIM1067 2019-03-11 00:43:25 +09:00
gecko655 41ea121377 Fix issue VIM-1067: Repeat commands deletes End Of Line character when repeating "append to end of line" ('A') command.
The variable `ChangeGroup.oldOffset` should be initialized before every insertion action.

This fixes https://youtrack.jetbrains.com/issue/VIM-1067
2019-03-11 00:43:01 +09:00
sumoooru2 b55615fffa Add a unit test 2019-02-28 18:36:05 +09:00
Alex Plate b3de48fdd2 Convert CommandNode to kotlin 2019-02-26 12:11:06 +03:00
Alex Plate f58eda97c8 WIP: Renaming file 'CommandNode' with Kotlin extension 2019-02-26 12:10:03 +03:00
Alex Plate 7958aa3881 Convert CommandHandler to kotlin 2019-02-25 19:55:58 +03:00
Alex Plate ad69ab7579 Add missing property key 2019-02-25 19:31:39 +03:00
Alex Plate 8b88be5742 Update copyright formatting 2019-02-25 19:26:34 +03:00
Alex Plate 6f31dae429 Add instruction for copyright setup 2019-02-25 19:24:39 +03:00
Alex Plate e67ac4c3ad Use enumsets instead of bitflags for CommandHandler 2019-02-25 19:03:45 +03:00
Alex Plate a52984f515 Remove unused constructors of CommandHandler 2019-02-25 14:05:37 +03:00
Alex Plate 746dbc2533 Convert MapHandler to kotlin 2019-02-25 13:58:18 +03:00
Alex Plate b2c462fbaa Convert SortHandler to kotlin 2019-02-25 13:07:39 +03:00
Alex Plate 42171e5680 Convert YankLinesHandler to kotlin 2019-02-25 13:01:00 +03:00
Alex Plate 10ddc61fb7 Convert SelectFileHandler to kotlin 2019-02-25 12:51:24 +03:00
Alex Plate ae1d3d9c09 Convert RepeatHandler to kotlin 2019-02-25 12:49:13 +03:00
Simon Rainer 990caaa75d VIM-1090 VIM-1100 fix tag motion with duplicate tags. 2019-02-24 11:32:35 +01:00
Daniel Leong 00dc6fe775 Preserve caret position (only) for linewise comments 2019-02-22 20:31:25 -05:00
Daniel Leong 3fa9f258d7 Add an HTML filetype test 2019-02-22 20:01:03 -05:00
Alex Plate 33fd60e743 Temporary remove .idea folder because of setup problems 2019-02-22 20:58:56 +03:00
Daniel Leong fbac63085f Add WriteAction.run() wrappings as appropriate 2019-02-22 10:59:20 -05:00
Daniel Leong 35ce221cab Refactor Runnable -> lambda 2019-02-22 10:11:31 -05:00
Daniel Leong 4599d76ce4 Remove catch() 2019-02-22 10:11:31 -05:00
dhleongandDaniel Leong 6a6632e363 Fix visual-mode gc action 2019-02-22 10:11:31 -05:00
dhleongandDaniel Leong 5c18dd0603 Post handling of "remaining" key to ensure correct event ordering
Fixes the strange behavior when using the <Plug> mapping broke
in the real environment, but the unit tests passed
2019-02-22 10:11:31 -05:00
dhleongandDaniel Leong 245c48d78f Only pass extra keys for prevMappingInfo if necessary
That is, if the mapping info we're using *is* the prevMappingInfo.
If it's not, that means the prevMappingInfo was part of a prefix that
the currentMappingInfo completed
2019-02-22 10:11:31 -05:00
dhleongandDaniel Leong e5d880b516 Update base ambiguous mapping tests 2019-02-22 10:11:31 -05:00
dhleongandDaniel Leong ff02161062 Improve tests for more depth, cover gc(motion)/gcc issue
The failing gc(motion) tests seem more like implementation bugs
than anything else, but the the issues `gcc` with are unexpected
2019-02-22 10:11:31 -05:00
dhleongandDaniel Leong 0475610f59 Another attempt at comment motion extension 2019-02-22 10:11:31 -05:00
Alex Plate 215b94046a Use single class import in project 2019-02-22 16:28:06 +03:00
Alex Plate a1236d855b Convert RegistersHandler to kotlin 2019-02-22 16:26:37 +03:00
Alex Plate 0f835fd3ba Convert PutLinesHandler to kotlin 2019-02-22 15:59:00 +03:00
Alex Plate cbb0d1a05e Update .gitignore 2019-02-22 14:10:01 +03:00
Alex Plate 7bb7386c83 Update badges 2019-02-21 20:16:44 +03:00
Alex Plate 48bef164ef Move contribution information to separate file 2019-02-21 19:32:56 +03:00
Alex Plate 434c1ef275 Convert PreviousFileHandler to kotlin 2019-02-21 18:59:24 +03:00
Alex Plate 6772b08745 Convert OnlyHandler to kotlin 2019-02-21 18:56:03 +03:00
Alex Plate 7c8d560f9e Use native mechanism for multicursor iteration 2019-02-21 18:19:23 +03:00
Alex Plate 29d3e4fd5b Convert MoveTextHandler to kotlin 2019-02-21 17:34:30 +03:00
Alex Plate db0e95deac Add .idea styles 2019-02-21 16:29:42 +03:00
Alex Plate b8748916a7 Convert MarksHandler to kotlin 2019-02-21 15:57:21 +03:00
Alex Plate e7c5a20ab0 Update gradle wrapper to 5.2.1 version 2019-02-21 15:31:14 +03:00
Alex Plate bac754ac4b Add Brad Ziolko to contributor list 2019-02-21 14:51:59 +03:00
Alex Plate e028215718 Convert LetHandler to kotlin 2019-02-21 14:45:50 +03:00
Alex PlateandGitHub 908a0929f0 Merge pull request #174 from bradziolko/vim-1012
[VIM-1012] Support tab close preferences when using :q or :wq
2019-02-21 14:45:22 +03:00
Alex Plate 6565ad8e96 Update copyright on test files 2019-02-21 12:56:20 +03:00
Alex Plate c0819a83f0 Create ignored tests for VIM-714 issue 2019-02-21 12:45:15 +03:00
sumoooru2 d35f017db5 Fix findBlockRange 2019-02-21 16:52:15 +09:00
Alex Plate 3b8da702a7 Convert JumpsHandler to kotlin 2019-02-20 18:21:50 +03:00
Alex Plate 24c24f40ab Update copyright 2019-02-20 17:01:23 +03:00
Alex Plate 865a888363 Convert JoinLinesHandler to kotlin 2019-02-20 16:40:13 +03:00
Alex Plate 1cd56cb6d1 Update changelist 2019-02-20 16:20:49 +03:00
Alex PlateandGitHub f10ef8fd70 Merge pull request #167 from AlexPl292/VIM-1570
Support some increment and decrement commands

VIM-1570
2019-02-20 16:14:17 +03:00
Alex PlateandAlex Plate cdff9e28a1 Support some increment and decrement commands 2019-02-20 16:10:44 +03:00
Alex Plate ca2924510a Convert HistoryHandler to kotlin 2019-02-19 20:34:08 +03:00
Alex Plate 42cbbbfc3a Convert GotoLineHandler to kotlin 2019-02-19 20:03:31 +03:00
Alex Plate d8d1daca67 Convert GotoCharacterHandler to kotlin 2019-02-19 20:01:47 +03:00
Alex Plate 1aa021b157 Convert FindSymbolHandler to kotlin 2019-02-19 19:59:29 +03:00
Alex Plate 5e99c45fa1 Convert FindFileHandler to kotlin 2019-02-19 19:58:18 +03:00
Alex Plate 687a601772 Add Tony Arra to contributor list 2019-02-19 19:56:18 +03:00
Alex Plate 4bc2880505 Convert FindClassHandler to kotlin 2019-02-19 19:48:18 +03:00
Alex Plate 0f474d7f3e Convert EditFileHandler to kotlin 2019-02-19 19:48:18 +03:00
Alex Plate fe5342d63c Convert DumpHandler to kotlin 2019-02-19 19:48:18 +03:00
Alex Plate 2f9de59b79 Convert DeleteHandler to kotlin 2019-02-19 19:48:18 +03:00
Alex Plate 18d18118a0 Convert CopyHandler to kotlin 2019-02-19 19:48:18 +03:00
Alex Plate b074b5ac70 Use coerce function for rawCount 2019-02-19 19:48:17 +03:00
Alex PlateandGitHub a38231fb1b Merge pull request #172 from TonyArra/VIM-1569
VIM-1569: Strip tag attributes from closing tag for Vim-Surround
2019-02-19 19:45:54 +03:00
Alex Plate 740abc1e70 Use enum for storing command flags 2019-02-19 16:43:23 +03:00
Alex Plate 2761dfb06f Convert CmdFilterHandler to kotlin 2019-02-19 12:07:46 +03:00
Alex Plate 93ce46bb7c Convert AsciiHandler to kotlin 2019-02-19 11:57:25 +03:00
Alex Plate 7e23fca598 New style of command definition 2019-02-18 21:32:23 +03:00
Alex Plate 472e14f339 Add dos65 to contributor list 2019-02-18 19:54:10 +03:00
Alex PlateandGitHub 0c2631622e Merge pull request #88 from dos65/keypad_arrows
VIM-944 - Navigation with keypad arrows
2019-02-18 19:50:22 +03:00
Alex Plate 2285034a62 Convert ActionListHandler to kotlin 2019-02-15 21:02:25 +03:00
Alex Plate 49e28839f7 Convert ActionHandler to kotlin 2019-02-15 19:40:43 +03:00
Alex Plate b2533565ad Convert WriteQuiteHandler to kotlin 2019-02-15 19:27:07 +03:00
Alex Plate a96a1730a1 Convert WritePreviousHandler to kotlin 2019-02-15 19:25:35 +03:00
Alex Plate d027d7e099 Convert WriteNextHandler to kotlin 2019-02-15 19:23:56 +03:00
Alex Plate cf5a5564ca Convert WriteHandler to kotlin 2019-02-15 19:22:34 +03:00
Alex Plate e183067257 Convert WriteAllHandler to kotlin 2019-02-15 19:21:10 +03:00
Alex Plate 7ab15f7f89 Convert UndoHandler to kotlin 2019-02-15 19:19:59 +03:00
Alex Plate 1a91f0cbcb Convert SubstituteHandler to kotlin 2019-02-15 19:17:37 +03:00
Alex Plate 30241e0837 Convert SplitHandler to kotlin 2019-02-15 18:58:14 +03:00
Alex Plate aea098b668 Convert SourceHandler to kotlin 2019-02-15 18:54:36 +03:00
Alex Plate c34948190a Update CHANGES list 2019-02-15 18:22:47 +03:00
Alex PlateandGitHub 95a441b5b1 Merge pull request #175 from citizenmatt/VIM-1303
VIM-1303 Update UI when look and feel changes
2019-02-15 18:19:11 +03:00
Alex Plate 21b9b1d7f1 Convert ShiftRightHandler to kotlin, write tests for handler 2019-02-15 17:54:32 +03:00
Alex Plate bd36a6d528 Convert ShiftLeftHandler to kotlin, write tests for handler 2019-02-15 17:48:26 +03:00
Alex Plate aca77e1279 Convert ShellHandler to kotlin 2019-02-15 17:13:59 +03:00
Alex Plate f7b604cb9b Convert SetHandler to kotlin 2019-02-15 17:11:02 +03:00
Alex Plate 9c5cfd6bca Convert SelectLastFileHandler to kotlin 2019-02-15 17:08:55 +03:00
Alex Plate f657ecac6f Convert SelectFirstFileHandler to kotlin 2019-02-15 17:06:54 +03:00
Alex Plate 69aaca33a5 Convert RedoHandler to kotlin 2019-02-15 17:04:35 +03:00
Alex Plate 08168a7877 Convert QuitHandler to kotlin 2019-02-15 17:02:57 +03:00
Alex Plate 9054f48f88 Convert PromptReplaceHandler to kotlin 2019-02-15 16:59:34 +03:00
Alex Plate fbe6b5a3a3 Convert PromptFindHandler to kotlin 2019-02-15 16:55:45 +03:00
Alex Plate b114f4ee96 Flaky test remove 2019-02-15 14:58:49 +03:00
Alex Plate 8af5634431 Convert NoHLSearchHandler to kotlin 2019-02-14 18:08:44 +03:00
Alex Plate 1b61598149 Convert NextFileHandler to kotlin 2019-02-14 17:41:55 +03:00
Alex Plate 2cfc180df7 Convert MarkHandler to kotlin. Write tests for :mark command 2019-02-14 16:29:06 +03:00
Alex Plate 4d20e8fb28 Convert NextTab and PreviousTab handlers to kotlin 2019-02-14 15:50:35 +03:00
Alex Plate 8f3d570bf6 Add Andrei Gasparovic to contributors list 2019-02-14 15:02:05 +03:00
Alex PlateandGitHub 276b19bf09 Merge pull request #132 from andreigasparovici/master
Added :tabn(ext) and :tabp(revious) functionality

VIM-801
2019-02-14 14:56:43 +03:00
Alex Plate b0ebbdd7ff Convert HelpHandler to kotlin 2019-02-14 14:35:32 +03:00
Alex Plate 5014de6d9d Convert FileHandler to kotlin 2019-02-14 14:23:28 +03:00
Alex Plate 6dc9843aa9 Extract "%" tests into separate file 2019-02-14 13:53:49 +03:00
Alex Plate ad6e3dee6c Add Vedran Budimcic to contributors list 2019-02-14 13:27:34 +03:00
Alex Plate e0e51835b5 Create function for handler's flags definition 2019-02-14 13:23:02 +03:00
Alex PlateandGitHub 7bccc2fbdb Merge pull request #127 from vedran/master
Support end-of-line multi line percent match in visual mode
2019-02-14 13:14:56 +03:00
Alex Plate c2da601722 Remove unused handler 2019-02-14 12:38:24 +03:00
Alex Plate e8fea2e969 Convert DigraphHandler and EchoHandler to kotlin 2019-02-13 16:17:18 +03:00
Alex Plate ebe23989a7 Add link to :shell command issue 2019-02-13 15:11:00 +03:00
Alex Plate 278a2dfc07 Convert SearchGroupTest to kotlin. Add offset tests (e, b, s, +-1) 2019-02-13 15:02:56 +03:00
Alex Plate 1fb93ea73d Create kotlin-style command definition 2019-02-13 13:49:43 +03:00
Alex PlateandGitHub bfc5aaa2de Merge pull request #176 from johngrib/fix-authors-email
Fix the wrong email address
2019-02-13 12:22:47 +03:00
JohnGrib 183fbafaae Fix the wrong email address
John Grib's email address recorded as johngrib@woowahan.com
is currently not valid.
I am currently using johngrib82@gmail.com.

You can see my merged PR and my recent email address
through the following two links.

* https://github.com/JetBrains/ideavim/pull/115
* https://github.com/johngrib
2019-02-13 11:32:45 +09:00
Alex Plate 470f15fd3c Convert ExitHandler and CommandName to kotlin 2019-02-12 20:47:59 +03:00
Alex Plate d8a5209ec4 Add Marcel Hild to contributor list 2019-02-12 20:05:47 +03:00
Alex PlateandGitHub 99c6b4552a Merge pull request #126 from durandom/offset_in_slash
Make offset work in normal search
2019-02-12 19:50:48 +03:00
Alex Plate d69bf5d76f Update changelog. Add John Grib to contributor list. 2019-02-12 18:55:01 +03:00
Alex PlateandGitHub ac484e36fa Merge pull request #115 from johngrib/feature/add-command-shell
Added :shell command
2019-02-12 18:39:23 +03:00
Alex Plate dc88cbd902 Change implementation of ExitHandler
Use file manager for file closing
Add tests for :qa commands
2019-02-12 17:33:18 +03:00
Alex Plate fb277e9e49 Create package for handler tests 2019-02-12 17:15:53 +03:00
Alex Plate 8c6e4ecefc Update changelog 2019-02-12 16:52:21 +03:00
Alex Plate 582393a462 Fix :only command 2019-02-12 16:42:54 +03:00
Alex Plate c118bacffd Create VimFileEditorTestCase for editor tests 2019-02-12 16:42:06 +03:00
Andrey Vlasovskikh 132f52785c Version 0.51 2019-02-12 00:08:12 +03:00
Matt Ellis 0c1a08b231 VIM-1303 Update UI when look and feel changes 2019-02-07 08:54:41 +00:00
bradziolko b88f13ee32 [VIM-1012] Support tab close preferences when using :q or :wq 2019-01-29 02:09:53 -06:00
Andrey Vlasovskikh c556ec2001 Merge branch 'fixes-by-matt'
# Conflicts:
#	resources/META-INF/plugin.xml
2019-01-28 23:05:23 +03:00
Andrey Vlasovskikh d49683ab2f Updated Kotlin to 1.3 due to compatibility IntelliJ 2019.1
The minimal compatible version is now 2018.3.
2019-01-28 22:56:14 +03:00
Andrey Vlasovskikh 810c3cd561 Use the IntelliJ repo instead of the default cache-redirector due to network issues 2019-01-28 21:54:55 +03:00
Andrey Vlasovskikh b909157f4b Mention Rider as a compatible IDE 2019-01-28 21:51:16 +03:00
Andrey Vlasovskikh 21c1232ba6 Updated the changelog 2019-01-28 21:42:21 +03:00
Andrey Vlasovskikh ff61a42670 Updated usages of obsolete APIs 2019-01-28 21:40:14 +03:00
Andrey Vlasovskikh f160d855c0 Added missing nullity annotations 2019-01-28 21:38:37 +03:00
Andrey Vlasovskikh 51685a2094 Renamed attributes according to naming convention 2019-01-28 20:49:23 +03:00
Andrey Vlasovskikh 487c71ec15 Updated since-build according to the version that introduced the required API 2019-01-28 20:42:40 +03:00
Andrey Vlasovskikh 39aa60850d Fixed inspection warnings 2019-01-28 20:41:56 +03:00
Andrey Vlasovskikh 872921e6b7 Reformat code 2019-01-28 20:39:45 +03:00
Andrey Vlasovskikh 89788df95c Merge branch 'pull/173' 2019-01-28 20:38:03 +03:00
Andrey Vlasovskikh 6ccd8ed0b8 Added Matt Ellis to the list of contributors 2019-01-27 17:04:44 +03:00
Andrey Vlasovskikh aa7e3bfa69 Updated changelog 2019-01-27 17:03:46 +03:00
Andrey Vlasovskikh 00154f2b9f Merge branch 'pull/170' 2019-01-27 16:48:05 +03:00
Matt Ellis 531a9c28ae VIM-1558 Support block inlays 2019-01-25 12:31:42 +00:00
Tony Arra 63be2c28e9 Strip tag attributes from closing tag for Vim-Surround 2019-01-21 09:17:10 -05:00
Matt Ellis 56c4e3e31f VIM-1187 Fix performance with large files and relative line numbers 2019-01-08 13:47:05 +00:00
Matt Ellis ef2497cadc Update to IJ 2018.3 2019-01-08 13:46:20 +00:00
Andrey Vlasovskikh 95f56a8869 Added Alex Plate to the contributors list 2018-12-31 18:10:44 +03:00
Andrey Vlasovskikh f5b1112304 Updated changelog 2018-12-31 18:09:55 +03:00
Andrey Vlasovskikh 333a5be30b Merge branch 'pull/162' 2018-12-31 18:05:38 +03:00
Andrey Vlasovskikh 6c9e697892 VIM-620 Fixed handling nested <C-O> & <Esc> in Insert and Replace modes 2018-12-31 18:01:15 +03:00
Alex PlateandAndrey Vlasovskikh 7663eb531e Write test to reproduce VIM-620 issue
Enter insert mode after single command produces incorrect behaviour.
Insert mode is not escaped after Esc
2018-12-29 00:36:51 +03:00
Andrew Potter 5e80e402ee Get indent from PsiFile so formatting on shift is consistent 2018-11-02 12:54:55 -04:00
Andrey Vlasovskikh 33499fe945 Version 0.50 2018-10-18 15:00:16 +03:00
Andrey Vlasovskikh 2882b638e5 Use latest stable IntelliJ, Kotlin, gradle-intellij-plugin 2018-10-18 14:45:33 +03:00
Alex Plate 5529bf284a VIM-798 Arrow keys for window navigation commands
Add new mappings to allow window navigation with arrow keys:
- ^W-<left> as ^W-h
- ^W-<down> as ^W-j
- ^W-<up> as ^W-k
- ^W-<right> as ^W-l
2018-10-01 20:19:25 +03:00
Pierce Corcoran 9e2400de69 VIM-1473 Fix incorrect selection type for unnamed registers
Selection type for unnamed and unnamedplus will only be guessed when system clipboard is different from the internal register, and even then will never assume the text is a visual block selection.
2018-09-23 19:11:10 -07:00
Andrey Vlasovskikh 81c92cda79 Updated changelog 2018-09-21 19:34:50 +03:00
Andrey Vlasovskikh 6506935d03 Merge branch 'vim-1274' 2018-09-21 19:31:40 +03:00
John Lin b6be26231f VIM-1274 Fix StringHelper.containsUpperCase behavior
StringHelper.containsUpperCase should return true when one of
the character of the input string satisfies the following two
conditions:

1. The character is upper case.
2. The character is not prefixed with a backslash.

Before this fix, the second condition was incorrectly written.
2018-09-17 11:53:23 +08:00
Andrey Vlasovskikh a96ba9f717 Updated changelog 2018-09-17 01:13:11 +03:00
Andrey Vlasovskikh 173f570230 EA-108647 Check if the editor is disposed in invokeLater() 2018-09-14 18:19:37 +03:00
Andrey Vlasovskikh 57dcaba367 EA-89803 Fixed running IntelliJ write actions directly within Swing timer handler
We have to switch to a transaction with an appropriate modality state.
2018-09-14 18:08:45 +03:00
Andrey Vlasovskikh d9f7955356 VIM-1366 Don't wrap secondary event loop for input() into write action
Extension handlers are now run without outer read / write actions and
they are required to synchronize access to the data structures of
IntelliJ by themselves.
2018-09-14 17:28:25 +03:00
Andrey Vlasovskikh 9cf264998f VIM-1317 Don't run Undo/Redo inside write actions
They show UI dialogs, which is not allowed under a write action, and
they use their own write actions when needed.
2018-09-14 17:23:10 +03:00
Andrey Vlasovskikh 0dc67ae467 Updated changelog 2018-09-10 15:40:15 +03:00
Andrey Vlasovskikh 75c1c0b839 Move "Vim Emulation" settings into "File | Settings | Editor" 2018-09-10 14:53:26 +03:00
Andrey Vlasovskikh 1feac95069 VIM-339 Handle <Esc> by Vim only in primary or physical file editors
<Esc> is handled by the Vim emulation in primary editors of the main
window and in non-primary editors with physical files open in them,
but only in modes other than Normal. This is needed for the diff dialog
where you can have both physical file editors and non-physical file
editors, but they are non-primary, so users still expect <Esc> to close
the diff window when the editor is in the Normal mode.
2018-09-10 14:45:22 +03:00
Andrey Vlasovskikh ed3f87e6a8 VIM-176 Treat console editors like any other editors
If an editor is a writable non-file editor (like a console), then we
activate the 'i' mode *and* allow running write commands. Thus,
Insert mode commands like arrow navigation will work in these editors.
2018-09-08 19:20:53 +03:00
Andrey Vlasovskikh 43662318be Compatibility with IntelliJ 2018.1 and newer due to the platform API changes 2018-08-27 22:06:09 +03:00
Andrey VlasovskikhandGitHub 785d1a04da Merge pull request #157 from JetBrains/multiple-carets 2018-08-27 21:55:57 +03:00
Andrey VlasovskikhandGitHub cc76c7f0f3 Merge pull request #156 from karavaevitalii/multiple-carets
Fixed bug with selecting occurrences when ignorecase is set
2018-08-27 21:55:06 +03:00
Vitalii Karavaev 57741cd5ce Fixed bug with selecting occurrences when ignorecase is set 2018-08-27 21:23:25 +03:00
Andrey Vlasovskikh 69bd71148c Added Vasily Alferov and Vitalii Karavaev to the contributors list 2018-08-27 21:00:13 +03:00
Andrey Vlasovskikh 528e363d64 Updated changelog 2018-08-27 20:57:09 +03:00
Andrey Vlasovskikh bd772daee0 Small reordering of multiple-cursors commands 2018-08-27 20:51:04 +03:00
Andrey Vlasovskikh 23fa55ea11 Updated the list of all supported commands
Removed the multiple carets support marker, since all commands are
basically covered now. We'll handle any bugs left in the same way we
do it for other bugs.
2018-08-27 20:50:07 +03:00
Vitalii Karavaev 0a052e7bb3 Cleanup 2018-08-10 18:18:43 +03:00
Vitalii Karavaev 60a96e9542 Cleanup 2018-08-10 17:32:30 +03:00
Vitalii Karavaev f3f9abef0c <A-x> shows no more matches message when necessary 2018-08-10 17:06:10 +03:00
Vitalii Karavaev 58fc34d9f7 Implement <A-x> 2018-08-10 17:01:36 +03:00
Vitalii Karavaev 6fdd769d0f Implement <A-p> 2018-08-10 16:43:46 +03:00
Vitalii Karavaev b54384bb33 Implement <Plug>All<Whole>Occurrences 2018-08-10 16:31:48 +03:00
Vitalii Karavaev c57f98591a Revert MultipleCursorsExtension and implement <A-n> 2018-08-10 14:08:25 +03:00
Vitalii Karavaev 7dcacd3b01 Minor fixes 2018-08-09 17:45:56 +03:00
Vitalii Karavaev 2225033b7c Reset state and additional checks 2018-08-09 17:32:32 +03:00
Vitalii Karavaev 7c5194fbaa Better work in case of multiple carets 2018-08-09 14:55:22 +03:00
Vitalii Karavaev cded76d1a2 Test 2018-08-09 14:52:47 +03:00
Vitalii Karavaev 361284fe06 Fixed <A-n> in visual mode 2018-08-09 14:25:29 +03:00
Vitalii Karavaev aa3e55cacc Fixed bug with multiple carets <A-n> action 2018-08-09 13:54:31 +03:00
Vitalii Karavaev 73987eaf23 Safer work in case of multiple carets 2018-08-09 12:47:40 +03:00
Vitalii Karavaev 06058a45c0 Fixed review issues and README.md updated 2018-08-09 12:35:08 +03:00
Vitalii Karavaev d46cab6fc8 Fixed review issues 2018-08-09 11:18:39 +03:00
Vitalii Karavaev 77bd800d95 private modifier 2018-08-08 16:11:55 +03:00
Vitalii Karavaev 831373c292 Cleanup 2018-08-08 15:59:44 +03:00
Vitalii Karavaev 9c5e5e117a Cleanup 2018-08-08 15:47:35 +03:00
Vitalii Karavaev 346ada2eff Blank lines 2018-08-08 15:45:56 +03:00
Vitalii Karavaev 485ff37b22 Better work with nulls 2018-08-08 15:38:33 +03:00
Vitalii Karavaev 47ef6f4844 Show message when no more matches 2018-08-08 15:19:03 +03:00
Vitalii Karavaev cd288ec125 Support for selection all occurrences 2018-08-08 15:16:13 +03:00
Vitalii Karavaev bde2eb786d g<A-n> support 2018-08-08 14:38:33 +03:00
Vitalii Karavaev b6896e28c8 Better support for vim-multiple-cursors extension 2018-08-08 13:57:16 +03:00
Vitalii Karavaev 15dc233a86 Overlap carets when jump to mark 2018-08-08 10:20:15 +03:00
Vitalii Karavaev b070549eca Remove gn action 2018-08-07 17:42:18 +03:00
Vitalii Karavaev 71a3df028b Fixed review issues 2018-08-07 17:37:11 +03:00
Vitalii Karavaev 73ef8c821b Minor review issues 2018-08-07 16:47:18 +03:00
Vitalii Karavaev bbd314b6df Test :s/// 2018-08-07 15:05:46 +03:00
Vitalii Karavaev 5764fe7555 Multiple carets support for :@ 2018-08-07 14:54:42 +03:00
Vitalii Karavaev 44cc17cb84 Multiple carets support for :s/// 2018-08-07 14:53:10 +03:00
Vitalii Karavaev dba8879576 Formatted lines 2018-08-07 10:29:56 +03:00
Vitalii Karavaev 1deb48bf60 Fixed broken tests 2018-08-07 10:28:37 +03:00
Vitalii Karavaev 11174b8581 Tests :sor 2018-08-07 10:17:47 +03:00
Vitalii Karavaev bd35f71c6a :sor multicaret support 2018-08-07 10:17:47 +03:00
Vitalii Karavaev d29ae6a64d :> fix bug and multiple carets support 2018-08-06 16:01:39 +03:00
Vitalii Karavaev 5b69b9beae :< fix bug and multiple carets support 2018-08-06 15:55:47 +03:00
Vitalii Karavaev 0c78741642 Warnings 2018-08-06 15:54:58 +03:00
Vitalii Karavaev a9440f41a7 Support skip and remove for vim-multiple-cursors emulation 2018-08-06 15:18:05 +03:00
Vitalii Karavaev 8fc4306d76 :d support 2018-08-06 13:42:21 +03:00
Vitalii Karavaev 371d7385ed Vim Multiple Cursors extension prototype 2018-08-06 12:14:50 +03:00
Vitalii Karavaev 2cacdbaf00 Minor 2018-08-06 10:24:09 +03:00
Vitalii Karavaev 3041fe7c3b Rename VisualSelectNextOccurrence to VimSelectNextOccurrence 2018-08-06 09:45:49 +03:00
Vitalii Karavaev 436e96f734 Test :y 2018-08-03 18:15:24 +03:00
Vitalii Karavaev 67a9e1f8c5 Remove support for ex commands with visual selection and multiple carets support for :y 2018-08-03 17:30:44 +03:00
Vitalii Karavaev fc0a950af1 Cleanup 2018-08-03 14:35:23 +03:00
Vitalii Karavaev e1872387d4 Shortcut for caret adding prototype 2018-08-03 14:08:06 +03:00
Vitalii Karavaev ac10b96280 Better work with nullable carets 2018-08-03 11:15:17 +03:00
Vitalii Karavaev d5313ebbda Remove warnings 2018-08-02 18:09:36 +03:00
Vitalii Karavaev c3d1e5c58c Remove warnings 2018-08-02 17:26:08 +03:00
Vitalii Karavaev 478c0cd443 Replace block of code with function call 2018-08-02 17:20:29 +03:00
Vitalii Karavaev 2be2d861c9 Update action for [p and update package-info 2018-08-02 12:04:56 +03:00
Vitalii Karavaev 9731980fe6 Fixed incompatibility wit goto mark action and preparing to remove inconsistency between yank and delete 2018-08-02 11:57:06 +03:00
Vitalii Karavaev 392f8e5e60 Fix goto mark actions 2018-08-02 11:54:16 +03:00
Vitalii Karavaev a7e1275b5f Remove redundant null check 2018-08-01 14:19:55 +03:00
Vitalii Karavaev 29a6d47cca Correct annotation 2018-08-01 14:18:04 +03:00
Vitalii Karavaev 65483dd34a Correct Javadoc 2018-08-01 14:12:08 +03:00
Vitalii Karavaev 3b290fe356 Add tests and fix bug for CopyGroup 2018-08-01 13:59:05 +03:00
Vitalii Karavaev 2648913b61 Corrected review issues 2018-08-01 10:55:54 +03:00
Vitalii Karavaev d386e49bd5 Simplify logic and remove unused logger 2018-08-01 10:42:31 +03:00
Vitalii Karavaev f3c66d131e Test :m 2018-07-31 16:38:00 +03:00
Vitalii Karavaev c1b4671435 Multiple carets support for :m 2018-07-31 16:37:47 +03:00
Vitalii Karavaev cbeb0d229b Remove todo 2018-07-31 10:49:35 +03:00
Vitalii Karavaev 7f8db50017 Test :pu 2018-07-31 10:44:56 +03:00
Vitalii Karavaev 0c5ca37412 Multiple carets support for :pu command 2018-07-31 10:41:45 +03:00
Vitalii Karavaev 602071a440 Remove warning 2018-07-30 17:50:17 +03:00
Vitalii Karavaev 7061b58940 Remove warnings 2018-07-30 17:44:25 +03:00
Vitalii Karavaev 76c2c54e5a Remove unnecessary comments 2018-07-30 15:50:26 +03:00
Vitalii Karavaev f256da8a16 Tests :co 2018-07-30 15:42:31 +03:00
Vitalii Karavaev ffcf7d0630 Multiple carets support for :co 2018-07-30 15:42:20 +03:00
Vitalii Karavaev b80205200c Tests for :j 2018-07-30 15:17:28 +03:00
Vitalii Karavaev 40d0f6c1e2 Multiple carets support for join lines via :j 2018-07-30 15:05:41 +03:00
Vitalii Karavaev bddd4db2b2 Uncertainty 2018-07-30 15:04:19 +03:00
Vitalii Karavaev 7ee18e81c7 Remove unused function 2018-07-30 10:56:50 +03:00
Vitalii Karavaev 700240d441 Remove warnings 2018-07-26 15:24:34 +03:00
Vitalii Karavaev 539d38259c Remove TODO 2018-07-26 15:17:29 +03:00
Vitalii Karavaev 2efb0dfb17 Multicaret support for go to line 2018-07-26 14:52:40 +03:00
Vitalii Karavaev f38bf65656 Tests for ex commands 2018-07-26 13:56:08 +03:00
Vitalii Karavaev 947d32d905 Multiple carets support for :go command 2018-07-26 13:55:51 +03:00
Vitalii Karavaev 56569966a6 Preparing for multicaret support for ex commands 2018-07-26 13:55:24 +03:00
Vitalii Karavaev 6092535041 Remove some warnings 2018-07-26 11:46:14 +03:00
Vitalii Karavaev d965eb0d7e Tests for fix overlapping carets 2018-07-26 11:34:05 +03:00
Vitalii Karavaev 44a53ce28e Fix bug with overlapping carets 2018-07-26 11:33:32 +03:00
Vitalii Karavaev a228f32f34 Remove possible NPE 2018-07-26 11:01:04 +03:00
Vitalii Karavaev 2082981bd6 Permute parameters 2018-07-26 10:28:41 +03:00
Vitalii Karavaev 994ad0b06c Tests 2018-07-25 16:47:14 +03:00
Vitalii Karavaev 3c59ee79f6 Refactoring and TODO 2018-07-25 16:47:00 +03:00
Vitalii Karavaev b3ebd7c29d Fix caret order for different put cases 2018-07-25 14:53:28 +03:00
Vitalii Karavaev fcc2355037 Add caret offsets to tests 2018-07-25 12:00:04 +03:00
Vitalii Karavaev 76a5c39fdc Remove warnings and fixed null handling 2018-07-25 11:24:22 +03:00
Vitalii Karavaev f4ec448d75 Add constants and remove TODO 2018-07-25 11:06:54 +03:00
Vitalii Karavaev e38390f8a1 Codestyle 2018-07-25 10:59:12 +03:00
Vitalii Karavaev 2990389ea5 Codestyle 2018-07-25 10:50:03 +03:00
Vitalii Karavaev 249dfb166d Change if/else block to switch 2018-07-25 10:03:20 +03:00
Vitalii Karavaev 4c06d21396 Proper marks in case of put [count] 2018-07-25 09:57:56 +03:00
Vitalii Karavaev a046f2975f Remove TODO: use tabs as needed 2018-07-24 11:51:52 +03:00
Vitalii Karavaev 0bf217ef36 Pair.NonNull instead of Pair 2018-07-24 10:12:19 +03:00
Vitalii Karavaev f2712d8cfb Pair.create instead of constructor call 2018-07-23 18:14:59 +03:00
Vitalii Karavaev bb32e7adb4 Multiple carets support for put visual text 2018-07-23 16:33:04 +03:00
Vitalii Karavaev cadaec585b Minor fixes 2018-07-23 13:25:55 +03:00
Vitalii Karavaev 11c2f5014f Fixed bug yank blockwise 2018-07-23 12:50:58 +03:00
Vitalii Karavaev 2326489658 Multiple carets support for yank visual 2018-07-23 12:39:31 +03:00
Vitalii Karavaev 01ec08e20b Multiple carets support for going to character/line in command mode 2018-07-20 14:16:18 +03:00
Vitalii Karavaev 69ebcc17e9 Put text bug fixed 2018-07-20 14:15:27 +03:00
Vitalii Karavaev b86bdd7847 Explicitly passing carets to some methods and cleanup 2018-07-20 11:53:50 +03:00
Vitalii Karavaev fbd7409851 Moved putText to single method and better work with multicaret insertion 2018-07-20 11:25:53 +03:00
Vitalii Karavaev 0773c886ee Fixed bug with put blockwise text. Properly this time 2018-07-19 18:00:14 +03:00
Vitalii Karavaev d05c7268d9 Fixed bug with put blockwise text 2018-07-19 17:44:11 +03:00
Vitalii Karavaev 80d0748edd minor 2018-07-19 17:15:42 +03:00
Vitalii Karavaev fcbf228d35 Proper indent after yank commands 2018-07-19 16:53:22 +03:00
Vitalii Karavaev 34feb27bef Yank commands and tests 2018-07-19 16:11:28 +03:00
Vitalii Karavaev 86f707bc51 More tests 2018-07-19 15:57:13 +03:00
Vitalii Karavaev 07f74f82b5 Better tests for put text commands 2018-07-19 12:44:48 +03:00
Vitalii Karavaev 60917433d2 Update package-info 2018-07-19 11:22:36 +03:00
Vitalii Karavaev dd59e0704a Update package-info 2018-07-19 11:18:57 +03:00
Vitalii Karavaev d4bf472291 Refactoring 2018-07-19 11:07:56 +03:00
Vitalii Karavaev 039b650953 Remove redundant caret passing 2018-07-19 11:06:31 +03:00
Vitalii Karavaev 0148860b2d Test for put text 2018-07-18 15:39:21 +03:00
Vitalii Karavaev 49590c831f PutTextAfterCursorAction implemented 2018-07-18 15:39:06 +03:00
Vitalii Karavaev 9aed0ce621 Revert CopyGroup and implement putTextBeforeCursor action 2018-07-18 12:27:37 +03:00
Vitalii Karavaev 9b653a7c63 Fix visual block insert/append 2018-07-18 10:38:16 +03:00
Vitalii Karavaev 8d919d6ec8 Added some tests 2018-07-17 15:59:27 +03:00
Vitalii Karavaev bb0094038a Remove unnecessary caret passing in some cases and started to simplify ChangeGroup methods 2018-07-17 15:59:01 +03:00
Vitalii Karavaev c29764b164 Updated .gitignore and codestyle config 2018-07-17 09:45:19 +03:00
Vitalii Karavaev ae55f5d605 Multicaret support for yank visual range 2018-07-16 14:41:48 +03:00
Vitalii Karavaev 81ca21517a Update package-info 2018-07-16 14:41:27 +03:00
Vitalii Karavaev 24a4167296 Multicaret support for yank motion 2018-07-16 13:59:19 +03:00
Vitalii Karavaev 3ffd967b00 Update package-info 2018-07-16 13:41:50 +03:00
Vitalii Karavaev a2a1f4806a Multicaret support for yank lines 2018-07-16 13:39:16 +03:00
Vitalii Karavaev 6b56d7d1cd Remove redundant code 2018-07-16 12:06:21 +03:00
Vitalii Karavaev b5a802bf30 Update package-info 2018-07-16 11:58:39 +03:00
Vitalii Karavaev b4586779b3 Remove unused function 2018-07-16 11:34:43 +03:00
Vitalii Karavaev d92d5a1b33 Remove unused functions 2018-07-16 11:32:59 +03:00
Vitalii Karavaev 52ec080343 Remove unused function 2018-07-16 11:31:38 +03:00
Vitalii Karavaev 5bff61c2ee Discard redundant changes 2018-07-16 11:23:48 +03:00
Vitalii Karavaev c12b713543 Remove unused methods and fix bug 2018-07-16 11:19:00 +03:00
Vitalii Karavaev 7bafa0f8c8 Fix broken going to [count] line end. 2018-07-16 11:16:43 +03:00
Vitalii Karavaev a47cdb9f35 Remove unnecessary throws clause 2018-07-16 11:15:24 +03:00
Vitalii Karavaev bd9ac3b031 Pull check if caret is not null up in base class 2018-07-16 11:14:29 +03:00
Vitalii Karavaev 22ad45cd58 Fixed expression with both pure and side-effects and inline unnecessary function call 2018-07-16 11:12:53 +03:00
Vitalii Karavaev 58e0b7704b Remove unused method 2018-07-16 10:30:19 +03:00
Vitalii Karavaev b78854b8de Remove unnecessary function calls and properly handle multicaret jump to mark 2018-07-16 10:29:12 +03:00
Vitalii Karavaev ae61ed456f Multiple carets support for put text instead of visual block 2018-07-12 17:32:50 +03:00
Vitalii Karavaev bdc1103641 Proper indents 2018-07-12 15:45:47 +03:00
Vitalii Karavaev 689d19759d Remove indent in pasting text where necessary 2018-07-12 15:44:52 +03:00
Vitalii Karavaev 7f34b826b2 Fix test 2018-07-12 14:29:37 +03:00
Vitalii Karavaev 064d3765c0 Multiple carets support for auto indent and refactoring 2018-07-12 14:29:12 +03:00
Vitalii Karavaev 752814a5fb .idea/Project.xml removed 2018-07-12 14:26:15 +03:00
Vitalii Karavaev 861028ef5c Proper code style 2018-07-12 12:20:03 +03:00
Vitalii Karavaev dad0d8e559 Tests for pasting 2018-07-12 12:18:44 +03:00
Vitalii Karavaev 75f88c539c Multiple carets support for putting text without indent 2018-07-12 10:20:31 +03:00
Vitalii Karavaev 1109650fde Multiple carets support for put text 2018-07-12 10:06:11 +03:00
Vitalii Karavaev 704f8d7e9d Proper indent in visual mode changes 2018-07-10 15:37:06 +03:00
Vitalii Karavaev 4a2c3d9098 Inserting new line for particular caret bug fixed 2018-07-10 14:22:32 +03:00
Vitalii Karavaev d21b04acb5 Better multiple carets handling in some cases and cleanup 2018-07-10 13:38:17 +03:00
Vitalii Karavaev 5403336c78 Minor code cleanup 2018-07-09 16:09:54 +03:00
Vitalii Karavaev def6d2bd5b Change behaviour when inserting previously inserted text 2018-07-09 14:53:54 +03:00
Vitalii Karavaev 04db2764c1 Better insertion after line end 2018-07-09 14:47:24 +03:00
Vitalii Karavaev 0e9b2250bd Multiple carets support for inserting after line end 2018-07-09 14:38:42 +03:00
Vitalii Karavaev 654d345d78 Fix bug in insertion previously inserted text 2018-07-09 11:05:59 +03:00
Vitalii Karavaev 99e379392b Fix typo 2018-07-09 09:54:41 +03:00
Vitalii Karavaev 1debd99701 Multiple carets support for jumping to older/newer cursor position in jump list 2018-07-06 17:03:48 +03:00
Vitalii Karavaev a099070c79 Multiple carets support for moving caret to the middle column 2018-07-06 15:22:52 +03:00
Vitalii Karavaev 0a09b8bd5a Multiple carets support for motion to first non-blank character of the screen line 2018-07-06 15:09:56 +03:00
Vitalii Karavaev b3750dd24d Multiple carets support for motion to first/last screen column 2018-07-06 14:59:13 +03:00
Vitalii Karavaev db1b0c2516 Multiple carets support for searching substrings 2018-07-06 14:32:19 +03:00
Vitalii Karavaev fc6208b95d Goto first line bug fixed 2018-07-06 14:17:43 +03:00
Vitalii Karavaev e68d3eac7d Multiple carets support for repeating latest search 2018-07-06 12:41:48 +03:00
Vitalii Karavaev d093b446c2 Multiple carets support for going to [count] line from bottom of window 2018-07-06 12:19:21 +03:00
Vitalii Karavaev be839051d5 Multiple carets support for going to [count] line from bottom of window 2018-07-06 12:07:16 +03:00
Vitalii Karavaev 8937068b5f Multiple carets support for going to [count] line from top of window 2018-07-06 11:58:21 +03:00
Vitalii Karavaev 3f82020100 Multiple carets support for going to line 2018-07-06 11:39:57 +03:00
Vitalii Karavaev 63ee6bbc56 Multiple carets support for searching entry in reversed direction 2018-07-05 17:40:23 +03:00
Vitalii Karavaev 7046680765 Multiple carets support for searching entry in forward direction 2018-07-05 17:35:54 +03:00
Vitalii Karavaev c17334f17f Multiple carets support for jumping on mark line 2018-07-05 17:13:01 +03:00
Vitalii Karavaev ecd40231a5 Multiple carets support for jumping to mark added 2018-07-05 16:52:32 +03:00
Vitalii Karavaev c3935aafc9 Tests for finding next item in line 2018-07-05 09:44:25 +03:00
Vitalii Karavaev 9b751da31c Multiple carets support for matching items 2018-07-04 17:48:34 +03:00
Vitalii Karavaev b464d99bd5 Tests for searching whole word 2018-07-04 16:23:59 +03:00
Vitalii Karavaev f3d168f19f Multiple carets support for searching whole word 2018-07-04 16:08:37 +03:00
Vitalii Karavaev bb8fa94668 Tests for moving cursor after last char in the file 2018-07-04 15:11:10 +03:00
Vitalii Karavaev 4f4d9fda0b Multiple carets support for moving cursor after last char in the file 2018-07-04 15:10:32 +03:00
Vitalii Karavaev 24994fa387 Test for moving carets to the first char in the file 2018-07-04 14:44:12 +03:00
Vitalii Karavaev f4bb745519 Multiple carets support for moving cursor to the first char in the file 2018-07-04 14:41:17 +03:00
Vitalii Karavaev a03258999a Multiple carets support for deleting the word before cursor in insert mode 2018-07-04 12:31:29 +03:00
Vitalii Karavaev 3f45200cb9 Fixed bug in test 2018-07-04 12:28:08 +03:00
Vitalii Karavaev 4703e75003 Test for inserting previously inserted text and stop inserting added 2018-07-04 10:20:43 +03:00
Vitalii Karavaev 39b166b87f Multiple caret support for insert previously inserted text and stop inserting added 2018-07-04 10:19:17 +03:00
Vitalii Karavaev ded21efe5f Test for inserting previously inserted text 2018-07-03 15:49:46 +03:00
Vitalii Karavaev 4952ddc494 Multiple carets support for inserting previously inserted text 2018-07-03 15:49:03 +03:00
Vitalii Karavaev 8ffc9b6581 Simple case for insert previous inserted text implemented 2018-07-02 17:46:17 +03:00
Andrey Vlasovskikh f0be6581b2 Merge branch 'master' into multiple-carets
# Conflicts:
#	src/com/maddyhome/idea/vim/action/motion/object/MotionInnerBlockTagAction.java
#	src/com/maddyhome/idea/vim/action/motion/object/MotionOuterBlockTagAction.java
#	src/com/maddyhome/idea/vim/group/MotionGroup.java
#	src/com/maddyhome/idea/vim/helper/SearchHelper.java
2018-06-29 12:39:39 +03:00
Andrey Vlasovskikh 356217a6af Added Konstantin Petrov to the contributors list 2018-06-28 16:12:39 +03:00
Andrey Vlasovskikh 9b5c86211b Updated changelog 2018-06-28 16:12:20 +03:00
Andrey Vlasovskikh ef470bd890 Merge branch 'FIX-VIM-1287' 2018-06-28 16:09:47 +03:00
Andrey Vlasovskikh 428d75968c VIM-1287 More tests for badly nested blocks and strings 2018-06-28 16:09:21 +03:00
Andrey Vlasovskikh dca4b0a399 VIM-1287 Removed redundant code 2018-06-28 16:08:55 +03:00
Andrey Vlasovskikh 2380e1b013 Added Jan Palus to the contributors 2018-06-04 16:11:50 +03:00
Andrey Vlasovskikh 9718445b44 Updated the changelog 2018-06-04 16:11:38 +03:00
Andrey Vlasovskikh 7f897440b7 Merge remote-tracking branch 'jpalus/master' 2018-06-04 16:05:10 +03:00
Andrey Vlasovskikh 5b21074b9d Merge remote-tracking branch 'jpalus/VIM-1431' 2018-06-04 16:01:42 +03:00
Jan Palus b0714075eb add test for VIM-1427 (tag motion with count) 2018-06-02 15:26:02 +02:00
Jan Palus 956b56a772 add test for VIM-1431 (put in empty file) 2018-06-02 15:10:26 +02:00
Jan Palus 50b2093548 generalize check on offset boundaries 2018-06-02 15:09:28 +02:00
Andrey Vlasovskikh bc5ca28b13 Fixed API incompatibility 2018-05-30 22:26:50 +03:00
Andrey Vlasovskikh 653a62b5e4 Switched to IntelliJ 2018.1 2018-05-30 22:26:24 +03:00
Andrey Vlasovskikh 08780e1a5c Updated changelist 2018-05-30 21:54:23 +03:00
Andrey Vlasovskikh ce39355025 Added Florian Hassmann to the list of contributors 2018-05-30 21:53:05 +03:00
Andrey Vlasovskikh 3eed987488 Fixed code inspection warnings in FileGroup 2018-05-30 21:51:20 +03:00
Andrey Vlasovskikh 6f633700ae Removed deprecated API usages 2018-05-30 21:27:57 +03:00
Andrey Vlasovskikh a7670829d5 Fixed NPE 2018-05-30 21:27:01 +03:00
Andrey Vlasovskikh 6fb8817391 Code style 2018-05-30 21:24:02 +03:00
Jan Palus e90b7276cb VIM-1431 handle empty documents when checking if line is empty
Signed-off-by: Jan Palus <jpalus@fastmail.com>
2018-05-29 23:08:40 +02:00
Andrey Vlasovskikh a1ba5fec2b Updated the index of supported and not supported commands 2018-05-29 22:45:04 +03:00
Andrey Vlasovskikh 6606211233 Incomplete commands index with the current status of multi-caret support 2018-05-29 20:08:32 +03:00
Andrey Vlasovskikh b1daacc9fb Added TODO items for unused actions 2018-05-29 20:04:23 +03:00
Jan Palus 03fe7d9ea2 VIM-1427 add count support to tag motion 2018-05-29 00:45:44 +02:00
Vasily Alferov 2d3da163a8 Attempt to fix Visual Block down movements 2018-05-26 21:52:57 +03:00
Vasily Alferov 49c59764ac Merge in change.insert actions 2018-05-26 20:17:12 +03:00
Vasily Alferov 06cc59b7a3 Got rid of deprecated overrides in EditorActionHandlerBase 2018-05-26 19:47:47 +03:00
Vasily Alferov 7754080323 Various fixes 2018-05-25 11:45:11 +03:00
Vasily Alferov ebf081e273 Multicaret shift 2018-05-22 22:51:49 +03:00
Vasily Alferov 258467467b Multicaret insert 2018-05-22 22:02:26 +03:00
Vasily AlferovandGitHub bbea7e787f Merge pull request #3 from vasalf/multicaret-change
Multicaret change.change
2018-05-22 00:18:05 +03:00
Vasily Alferov 4f468cace7 Multicaret change.change 2018-05-22 00:16:58 +03:00
Vasily AlferovandGitHub b2f736adf5 Merge pull request #2 from vasalf/multicaret-change
Multicaret deletion
2018-05-21 19:10:08 +03:00
Vasily Alferov 9ddedbe752 Multicaret delete visual operator actions 2018-05-21 19:08:40 +03:00
Vasily Alferov 63b237114a Multicaret version for VisualOperatorActionHandler 2018-05-21 17:05:38 +03:00
Vasily Alferov 29c789dcf3 Implementations of all of the delete actions whose handlers doesn't override VisualOperatorActionHandler. 2018-05-20 13:55:33 +03:00
Vasily Alferov 59e2ae552e ChangeEditorActionHandler multicaret version and multicaret delete tests 2018-05-12 21:24:28 +03:00
Vasily Alferov 9d396a5cfa Merge remote-tracking branch 'origin/multicaret-motions' into multicaret-motions 2018-05-12 19:04:30 +03:00
Vasily Alferov 422557d4ce Cosmetical changes 2018-05-12 19:01:01 +03:00
Vasily AlferovandGitHub 04ebbcc3a9 Merge pull request #1 from vasalf/multicaret-visual
Multicaret merging selections & text objects
2018-05-12 17:09:49 +03:00
Vasily Alferov 0919e9d560 Multicaret merging selections & text objects 2018-05-12 17:08:19 +03:00
Vasily Alferov 8af14edf21 Fix accidentally changed file 2018-05-05 12:09:49 +03:00
Vasily Alferov 13c475d73c Fix multiple carets movement in case i<ESC>i<ESC> 2018-05-05 12:01:00 +03:00
Vasily Alferov 1373af6f66 Fix accidentally changed files 2018-05-05 11:13:26 +03:00
Vasily Alferov 291ad2906d Fix accidentally deleted files 2018-05-05 11:06:33 +03:00
Vasily Alferov be5532b35d Comment out text object multiple carets tests. 2018-05-05 10:59:58 +03:00
Vasily Alferov b2402aad2e reset accidentally changed file 2018-04-27 20:29:49 +03:00
Vasily Alferov 3b46e44e4f action.motion.text.* multicaret tests and implementation 2018-04-27 20:24:26 +03:00
Vasily Alferov 537ec30936 object.MotionInner* tests 2018-04-24 23:43:21 +03:00
Vasily Alferov a75db02d05 Fix failed tests on Visual Block Mode. 2018-04-24 22:17:10 +03:00
Vasily Alferov 4698f1be5c Reformat code with IntellIJ IDEA tool. 2018-04-16 16:11:53 +03:00
Vasily Alferov 1db103e352 Basic multicaret up-down motions.
+ Create a class for caret-specific data and move LAST_COLUMN getter/setter there.
2018-04-16 16:05:52 +03:00
Vasily Alferov 5037a1182f Fix unused imports 2018-03-29 17:21:30 +05:30
Vasily Alferov 6b476fa75f Fix accidentally changed file 2018-03-29 10:34:44 +05:30
Vasily Alferov 4d46000ec6 Write most of multicaret leftright actions.
MotionColumnAction, MotionFirstColumnAction, MotionFirstNonSpaceAction, MotionLastColumnAction, MostionLastMatchCharAction, MotionLastMatchCharReverseAction, MotionLastNonSpaceAction, MotionLeftAction, MotionLeftMatchCharAction, MotionLeftTillMatchCharAction, MotionRightAction, MotionRightMatchCharAction, MotionRightTillMatchCharAction now have their own native multi-caret implementations.
2018-03-29 10:18:35 +05:30
Vasily Alferov 56ad6b4c0d Multi-caret basic leftright motions.
Add basic multi-caret interfaces (i.e. deprecated and new functions to EditorActionHandlerBase) and overloaded them in MotionLeftAction and MotionRightAction.
2018-03-21 17:13:57 +03:00
Florian Hassmann ab750b6e75 Fixes #VIM-1404. 2018-01-29 12:22:15 +01:00
Andrey Vlasovskikh 44a4a858fe IDEA-184351 Check if project is disposed before setting editor line numbers
Setting line numbers requires re-initializing the editor that means
accessing project code style settings. If the project has been disposed
then this operation is illegal.
2017-12-29 11:34:56 +03:00
Andrey Vlasovskikh 74fb59640d Added parameter for toggling code instrumentation
Several recent test runs failed with errors instrumenting code with
nullity checks. This parameter will help to debug the problem.
2017-12-29 11:12:01 +03:00
Andrey Vlasovskikh 797bfaaf3d Updated Gradle to 4.4.1 2017-12-29 11:01:27 +03:00
Andrey Vlasovskikh 0015a4357e Updated changelog 2017-12-29 10:32:22 +03:00
Andrey Vlasovskikh dbdc15f21f Merge branch 'cypok/vim-1380' 2017-12-29 10:29:34 +03:00
Andrey Vlasovskikh c9236527e4 Added Vladimir Parfinenko to contributors 2017-12-29 10:20:46 +03:00
Andrey Vlasovskikh 1a8c72d721 Merge branch 'cypok/vim-1379' 2017-12-29 10:19:08 +03:00
Andrey Vlasovskikh 739ef487fa Updated changelog 2017-12-29 10:18:48 +03:00
Andrey Vlasovskikh b7273bc4f2 VIM-1379 Added check for empty ranges 2017-12-29 10:09:09 +03:00
Andrey Vlasovskikh c3e9452fdc Added Maximilian Luz to contributors 2017-12-28 15:59:10 +03:00
Andrey Vlasovskikh a4e34caa5d Updated changelog 2017-12-28 15:58:01 +03:00
Andrey Vlasovskikh fea2f0ba1e VIM-1110 Added test 2017-12-28 15:54:49 +03:00
qzedandAndrey Vlasovskikh b98427472f VIM-1110 Fix caret jumping after escape from block-insert mode 2017-12-28 15:53:02 +03:00
Andrey Vlasovskikh bf42822626 VIM-862 Keep selected text after running possibly async IDE action
E.g. `:action ReformatCode` is run asynchronously in another thread, so
we used to exit the visual mode (and thus dropped the selection) before
it was run.
2017-12-27 19:00:42 +03:00
Andrey Vlasovskikh b71eb465cb Updated contribution guide and supported IDEs 2017-12-19 23:30:42 +03:00
Andrey VlasovskikhandGitHub f072638c8c Merge pull request #129 from jamescmartinez/master
Update README to correct preference paths
2017-12-19 23:17:52 +03:00
Andrey Vlasovskikh 79afcd4b65 Added Naoto Ikeno to the contributors list 2017-12-18 00:58:24 +03:00
Andrey Vlasovskikh 595482048c Updated changelog 2017-12-18 00:57:50 +03:00
Andrey Vlasovskikh 2c99da538e VIM-1329 Use default modality state to run actions after focus settles down 2017-12-18 00:54:52 +03:00
Andrey Vlasovskikh 1393e60ca8 VIM-862 Properly apply and reset visual mode for running visual :action commands
Also fixed minor formatting and Java 8 issues.
2017-12-18 00:53:56 +03:00
Andrey Vlasovskikh 2e67c704f7 VIM-862 Fixed off-by-1 in restoring visual character selection after 'gv' 2017-12-18 00:52:29 +03:00
Andrey Vlasovskikh c0410131bf Merge remote-tracking branch 'ikenox/feature/action-in-visual-mode' 2017-12-15 01:37:40 +03:00
Andrey Vlasovskikh 473a305e5f Use SecondaryLoop of JDK 8
The current version of IdeaVim is compatible with IntelliJ 2017.1+
which has switched to Java 8+, so we no longer need compatibility
layers for earlier versions.
2017-12-15 01:25:58 +03:00
Andrey Vlasovskikh d53ca6cd90 Updated changelog 2017-12-14 03:31:02 +03:00
Andrey Vlasovskikh bd84babecd Converted UiHelper into Kotlin 2017-12-14 03:26:01 +03:00
Andrey Vlasovskikh 1b83231b1c VIM-1329 Use IntelliJ API to request focus reliably 2017-12-14 00:29:11 +03:00
Andrey Vlasovskikh f39ad34057 VIM-1368 Use IntelliJ API to run stuff after the current component gets focus 2017-12-14 00:28:02 +03:00
Andrey Vlasovskikh 942b64052d Inherit from VimTestCase to setup IntelliJ extension points properly
Otherwise these tests depend on the run order of other tests for
proper initialization.
2017-12-12 20:17:49 +03:00
Andrey Vlasovskikh 559aabd6b8 Version 0.49 2017-12-12 19:55:08 +03:00
Vladimir Parfinenko 52d26f9fb6 VIM-1380 Fixed 'cNw' at the last character of a word
Bug was introduced while fixing VIM-200
2017-11-20 11:37:42 +07:00
Naoto Ikeno b7d124ce8d Make :action commands work in visual mode 2017-11-19 20:06:02 +09:00
Vladimir Parfinenko 6a5c70ee6a VIM-1379 Fix usage TextRange.size() as lines count
TextRange.size() should be used only for iterating over starts/ends
2017-11-19 13:49:12 +07:00
Andrey Vlasovskikh a76b41b737 VIM-1367 Fixed resetting the default value
The previous fix tried to parse the current value instead of the default
one.
2017-11-03 05:00:29 +03:00
Andrey Vlasovskikh 2fc6553203 VIM-1367 Correctly reset parsed and stored 'iskeyword' option value 2017-11-03 04:26:46 +03:00
Andrey Vlasovskikh 98b003e601 VIM-1367 Deterministic order of options for reproducible tests 2017-11-03 04:23:29 +03:00
Andrey Vlasovskikh 0dda443cc8 Added iskeyword option to the list of supported set commands 2017-11-03 03:59:13 +03:00
Andrey Vlasovskikh 9322283cb1 Updated changelog 2017-11-03 03:56:00 +03:00
Andrey Vlasovskikh 95d412c78d Added nickgieschen to contributors 2017-11-03 03:54:06 +03:00
Andrey Vlasovskikh 6245b15d8f Cleanup 2017-11-03 03:48:15 +03:00
Andrey Vlasovskikh ab1d7ba6cb VIM-1367 Removed unnecessary repetition in positive lookbehind
It resulted in an inspection warning that positive lookbehind groups
cannot contain 1 or more repetition patterns.
2017-11-03 03:34:11 +03:00
nickgieschenandAndrey Vlasovskikh ef05491991 VIM-1367 Implement iskeyword
(cherry picked from commit d91d38c)
2017-11-03 03:22:39 +03:00
Andrey Vlasovskikh 113642c8f5 Fixed test configuration URL 2017-11-01 03:15:05 +03:00
Andrey Vlasovskikh 088dd98e0d Updated test configuration ID 2017-11-01 03:14:23 +03:00
Andrey Vlasovskikh 7e0046a715 Updated changelog 2017-11-01 03:00:40 +03:00
Andrey Vlasovskikh 1a11d5df35 Added tieTYT to the list of contributors 2017-11-01 02:58:06 +03:00
tieTYTandAndrey Vlasovskikh 57b5b319a7 VIM-523 Fixed global mark remembering only the line number
Bear with me as this is the first thing I've ever done with
Intellij-IDEA plugin development.

I tested this and I believe I fixed the problem.  The cause of the
problem was that the code was checking if the mark was in a different
file but if it was, it was using the editor of the current file to go
to the line of the mark.  I changed the code so that it opens the file
of the mark first, then jumps to its line number.

I need a VirtualFile so that I can get the Editor to open. The Mark
stores the path of the file it's in, but the path is not enough
information to get a VirtualFile.  I also need the "protocol" of the
file.  So, I had to change the structure of the Mark and add a
"protocol" field to it.

I had to update the save/load logic to use this new field, too.  This
way, when you restart Intellij-IDEA, the marks can still be used.  For
old marks, I defaulted the "protocol" to the value of "file".

One thing I couldn't figure out how to do is add a test case to check
that this is working correctly.  This is not due to a lack of effort.
In fact, I tried to write the test case first.  But I have been unable
to find any examples anywhere of testing multiple Editors, and that's
what's involved to fix this issue.  Because of this, this issue may be
best used as a reference to fix the problem instead of worthy of being
used in production.  Either way, I'd love to know how to write such a
test.
2017-11-01 02:35:23 +03:00
Andrey Vlasovskikh 0a4672c050 Updated intellij-gradle-plugin, Kotlin, and IntelliJ platform versions 2017-11-01 02:12:07 +03:00
Andrey Vlasovskikh 8808b651e2 Updated gradle wrapper to 4.3 2017-11-01 02:12:07 +03:00
Andrey Vlasovskikh e9fca757b7 JetBrains project badge 2017-09-08 23:09:46 +03:00
Andrey Vlasovskikh 98a3801f6a New code style settings format of IntelliJ 2017.3 2017-09-08 23:06:24 +03:00
Andrei Gasparovici 82dfcdd5df Added :tabn(ew) and :tabp(revious) functionality 2017-08-18 11:38:52 +03:00
Konstantin Petrov e97c49a032 Fix search for braces inside quotes the way vim does 2017-05-31 10:27:48 +02:00
Konstantin Petrov 0335b344a1 Add test to reproduce the bug 2017-05-31 10:27:00 +02:00
James Martinez 63b7bed61a Update README to correct preference paths 2017-05-16 16:20:00 -07:00
Vedran Budimcic 44b9946bb0 Support end-of-line multi line percent match in visual mode 2017-03-24 07:12:28 -07:00
Marcel Hild 6efd4023fd make offset work in normal search 2017-03-23 11:33:08 +01:00
Andrey Vlasovskikh 49ecfd6879 Added Pavel Fatin to contributors 2017-01-16 01:03:42 +03:00
Andrey Vlasovskikh 4d4b5967da Updated CHANGES 2017-01-16 01:02:47 +03:00
Andrey Vlasovskikh a882e37d04 Merge remote-tracking branch 'origin/vim-1007'
# Conflicts:
#	gradle.properties
#	resources/META-INF/plugin.xml
#	src/com/maddyhome/idea/vim/VimTypedActionHandler.java
2017-01-16 00:57:31 +03:00
Andrey Vlasovskikh 4734d23e29 Fixed compilation by adding Kotlin Gradle plugin 2017-01-16 00:42:55 +03:00
Andrey Vlasovskikh b7416da26d Merge branch 'kotlin'
# Conflicts:
#	build.gradle
#	gradle.properties
2017-01-16 00:30:30 +03:00
Andrey Vlasovskikh 36e768ab37 Allow Java 8 2017-01-16 00:27:51 +03:00
Andrey Vlasovskikh ede0bd8623 Set minimal version to 2017.1 in order to use new API for zero-latency typing 2017-01-16 00:25:47 +03:00
Andrey Vlasovskikh b4072eb62d Use gradle-intellij-plugin 0.2.0 2017-01-15 23:36:27 +03:00
Andrey Vlasovskikh 120b69c439 Fixed source API compatibility with branch 171 2017-01-15 23:22:40 +03:00
Andrey Vlasovskikh b68daf3f3e Version 0.48 2017-01-15 23:01:53 +03:00
Andrey Vlasovskikh c32a1a5e5b Updated changelog and list of contributors 2016-11-29 00:43:41 +03:00
Andrey VlasovskikhandGitHub a5e303d1ca Merge pull request #121 from gaganis/VIM-1216
Fixed . reseting the last find movement
2016-11-29 00:35:40 +03:00
Giorgos Gaganis c4d8cef44d Fixed . reseting the last find movement where repeating change that also uses movement.
On the original vim when we repeat a change with . that also contain an find movement the last find that was typed before the repeat is the one used by the motion repeat ;. Before the commit the plugin would have reset the last movement to use the movement contained in the command that was repeated.

To solve this I took a simple approach where I save the last find motion before starting the repeat and then restoring it to its original value after the repeat is over. In order to access the find motion fields from RepeatChangeAction I created getters in MotionGroup for the movement type and character.

	modified:   src/com/maddyhome/idea/vim/action/change/RepeatChangeAction.java
	modified:   src/com/maddyhome/idea/vim/group/MotionGroup.java
	modified:   test/org/jetbrains/plugins/ideavim/action/ChangeActionTest.java
2016-11-28 19:05:11 +02:00
Andrey Vlasovskikh 72fbe758b4 VIM-1205 Don't move key handling into separate event for raw handlers 2016-11-22 21:58:32 +03:00
Andrey Vlasovskikh 3344bb3254 Ability to use Kotlin along with Java 2016-11-21 19:40:14 +03:00
Pavel Fatin 6b9ab7163a Support for zero-latency rendering, #VIM-1007 fixed 2016-10-26 12:53:13 +02:00
Andrey Vlasovskikh 563092cffb Fixed caret model exception when changing selection in documents open in several editors 2016-10-21 18:11:15 +03:00
Andrey Vlasovskikh 9a2a0c3b0e Split several channel names by comma 2016-10-19 17:26:23 +03:00
Andrey Vlasovskikh f3b4726b34 Version 0.47 2016-10-19 15:58:35 +03:00
Andrey Vlasovskikh 30d7c6edf1 Remove obsolete pluginId 2016-09-30 21:15:51 +03:00
Andrey Vlasovskikh f33f73d2f5 VIM-1190 Fixed exception "Write access is allowed from write-safe contexts only"
We now use IntelliJ's version of invokeLater() in order to satisfy the
new protocol for running read-write actions in modal dialogs.
2016-09-30 20:44:16 +03:00
Andrey Vlasovskikh b595dfd443 VIM-1098 Don't start visual selection when mouse click was actually drag over single character 2016-09-01 20:50:55 +03:00
Andrey Vlasovskikh a3e15b5c76 Possibility to publish the plugin to multiple channels 2016-09-01 18:32:16 +03:00
Andrey Vlasovskikh 31d85c0221 Update gradle-intellij-plugin to 0.2.0-SNAPSHOT for multi-channel plugin publishing 2016-09-01 18:26:30 +03:00
Andrey Vlasovskikh 124bd55e18 Update gradle-intellij-plugin to 0.0.43 2016-07-08 12:19:02 +03:00
Andrey Vlasovskikh bb9b5b5bde Use IntelliJ 15.0.5 by default 2016-07-08 12:19:02 +03:00
Andrey Vlasovskikh f586e6dd29 Version 0.46
Due to the plugin versions comparision logic in the IntelliJ platform it's impossible to
update 0.45-eap-XXX to 0.45. Bumped version once again.
2016-07-07 18:27:09 +03:00
Andrey Vlasovskikh c2b1b67b6b Parameter for customizing publish channel for plugin 2016-07-07 18:03:01 +03:00
Andrey Vlasovskikh 2cb29233c8 Version 0.45 2016-07-07 17:56:57 +03:00
Andrey Vlasovskikh b0e0bebb7e Removed default error handler 2016-07-07 17:56:23 +03:00
Andrey Vlasovskikh 364b3567fc VIM-1126 Fixed warning about modifying shortcuts of global actions for 2016.2 2016-07-07 17:39:29 +03:00
John Grib b5ea2127d9 added :shell command 2016-06-17 15:03:38 +09:00
Andrey Vlasovskikh 9522a51dc7 Enabling key repeat on Mac OS X doesn't require restart 2016-04-29 21:52:35 +03:00
Andrey Vlasovskikh 75335a8a01 Added Paulo Bu to the list of contributors 2016-04-29 21:37:42 +03:00
Andrey Vlasovskikh 0bf561e326 Merge remote-tracking branch 'pbu88/adds_more_folding_commands' 2016-04-29 21:34:19 +03:00
Andrey Vlasovskikh 7e6c2c2a7c Updated changelog 2016-04-29 21:28:41 +03:00
Andrey Vlasovskikh b132d490f0 Typo 2016-04-29 21:20:22 +03:00
Andrey Vlasovskikh 3fde0fc209 Non-public methods made private 2016-04-29 21:19:17 +03:00
Andrey Vlasovskikh 24bc09796f Fixed NPE 2016-04-29 21:18:28 +03:00
Andrey Vlasovskikh 758bff79d6 Removed unused code 2016-04-29 21:16:05 +03:00
Andrey Vlasovskikh 3b0660799b VIM-843 Don't highlight search results after restart
Added limited support for 'viminfo' option. Only 'h' in 'viminfo' is
taken into account.
2016-04-29 21:15:01 +03:00
Andrey Vlasovskikh 6880afa73c VIM-139 Focus on current search and use modal confirmation for ':s///gc' 2016-04-29 01:33:28 +03:00
Andrey Vlasovskikh 01aae065ff Updated changelog 2016-04-28 20:17:22 +03:00
Andrey Vlasovskikh 8ee49edef0 VIM-287 Fixed insert new line before and after folds 2016-04-28 20:13:08 +03:00
Andrey Vlasovskikh e09f6c7886 Failing tests for VIM-287 2016-04-28 19:38:19 +03:00
Andrey Vlasovskikh dd0a7207d5 Removed old block selection API usages to become compatible with IntelliJ branch 146 2016-04-22 03:22:02 +03:00
Andrey Vlasovskikh 17700a6537 Updated changelog 2016-04-20 03:02:15 +03:00
Andrey Vlasovskikh 949444f6dd EAP for IdeaVim 2016-04-20 03:00:54 +03:00
Andrey Vlasovskikh 31832ac230 Don't specify build number as a separate entity in the plugin description 2016-04-20 02:31:38 +03:00
Andrey Vlasovskikh 33200f8208 Settings for publishing the plugin to the EAP channel 2016-04-20 01:56:46 +03:00
Andrey Vlasovskikh 893cd17c1a Updated changelog 2016-04-18 03:32:34 +03:00
Andrey Vlasovskikh c471ddd12f Merge remote-tracking branch 'ayzenquwe/ayzen/VIM-259' 2016-04-18 02:47:38 +03:00
Andrey Vlasovskikh b0ac8f89c5 Merge remote-tracking branch 'ayzenquwe/ayzen/VIM-964' 2016-04-18 02:41:35 +03:00
Andrey Vlasovskikh a47338d8b7 Merge remote-tracking branch 'ayzenquwe/ayzen/VIM-564' 2016-04-18 02:36:58 +03:00
Andrey Vlasovskikh 76d00ab47f Merge remote-tracking branch 'ayzenquwe/ayzen/gomethod' 2016-04-18 02:31:11 +03:00
Andrey Vlasovskikh 22b8552939 Updated changelog 2016-04-18 02:29:15 +03:00
Andrey Vlasovskikh 1d25a04377 Added Aleksey Lagoshin to list of contributors 2016-04-18 02:26:41 +03:00
Andrey Vlasovskikh 52148f69c1 Merge remote-tracking branch 'ayzenquwe/ayzen/registers' 2016-04-18 02:24:00 +03:00
Andrey Vlasovskikh f280f8138d Support <Plug> in mapping commands 2016-04-18 01:46:46 +03:00
Andrey Vlasovskikh 530846bc7a Added 'timeout' option for toggling timeout for mapping commands 2016-04-18 01:46:46 +03:00
Andrey Vlasovskikh 27adde7af0 Merge pull request #108 from agriesbaum/master
Improve diction of README
2016-04-06 19:41:57 +04:00
Alexander Griesbaum e3869a201f Improve diction of README 2016-04-05 22:44:26 +02:00
Andrey Vlasovskikh 745a356c87 Cleanup 2016-02-21 07:08:21 +03:00
Andrey Vlasovskikh b16a4a1343 Handle <Esc> in modal input better 2016-02-21 07:00:44 +03:00
Andrey Vlasovskikh 36e41555ea Cleaned up ModalEntry 2016-02-21 06:16:11 +03:00
Andrey Vlasovskikh 3f824cf205 Enable SecondaryLoop-based implementation for Java 7+ 2016-02-21 06:07:34 +03:00
dhleong c61b3c2f29 More closely emulate SecondaryLoop with reflection and a Proxy 2016-02-17 20:46:33 -05:00
dhleong fd97cfbd15 Add compat layer for JDK6
JDK7 mode works like a dream, but JDK6 still seems to break
after the first invocation.
2016-02-15 09:19:18 -05:00
dhleong 4b4c293008 Refactor modal input for Vim Extensions
Doesn't use dialogs, so should fix VIM-1086
2016-02-14 13:23:51 -05:00
Andrey Vlasovskikh 69a573a279 Handle <Esc> in inputKeyStroke() uniformly as "typed Esc" 2016-02-09 00:40:37 +03:00
Andrey Vlasovskikh c33d4d989e Clearer offsets comparison + multi-line deletion test 2016-02-09 00:20:58 +03:00
dhleong 3cd1134973 Fix calculation of how to paste surrounded value
Fixes VIM-1085; includes test
2016-02-06 10:23:05 -05:00
Andrey Vlasovskikh 4f42d4dc4f Merge branch 'vlasovskikh/surround'
# Conflicts:
#	CHANGES.md
#	resources/META-INF/plugin.xml
#	src/com/maddyhome/idea/vim/option/Options.java
2016-02-04 23:08:37 +03:00
Andrey Vlasovskikh a3b4aecded Docs about 'surround' extension 2016-02-04 23:02:29 +03:00
Andrey Vlasovskikh 534ae6aa81 Added Daniel Leong to the list of contributors 2016-02-04 22:54:15 +03:00
Andrey Vlasovskikh 7e1e50ffde Cleanup 2016-02-04 22:52:59 +03:00
Andrey Vlasovskikh ab3cbb113e Restore caret position properly 2016-02-04 22:18:37 +03:00
dhleong 1c7e6af1fc Fix <esc> not sent after VSurround; support change with tags 2016-02-02 20:57:54 -05:00
dhleong 84f7e25c5e Cleanup overly verbose code; remove unused import 2016-02-02 20:32:09 -05:00
dhleong 458fe97b75 Add visual surround (S) command 2016-01-30 09:31:25 -05:00
dhleong 31364607f5 Add ds command; jump to start when executed to match vim-surround 2016-01-30 09:14:34 -05:00
dhleong 56ec2c7ebc Add cs action
Note that, unfortunately, we can't do `cst`, as IdeaVim doesn't
support the tag textobject. Once that's supported, however, we
just need to disable the safety check to enable that.
2016-01-30 09:02:06 -05:00
Andrey Vlasovskikh f944d91d62 Updated changelog 2016-01-30 02:10:31 +03:00
Andrey Vlasovskikh 2cf7d89581 VIM-271 Added 'incsearch' option for showing search results while typing 2016-01-30 02:05:24 +03:00
Andrey Vlasovskikh 91546700d4 Added simple ys{motion}t tag surround and input() function 2016-01-26 22:25:36 +03:00
Andrey Vlasovskikh a972aec9b0 Implementation notes 2016-01-26 21:33:31 +03:00
Andrey Vlasovskikh 6328575639 'ys{motion}<' requires further user input to wrap text into HTML tags 2016-01-26 21:15:29 +03:00
Andrey Vlasovskikh af534c9209 Repeat is not supported for 'ys' yet 2016-01-26 21:14:43 +03:00
Andrey Vlasovskikh 82a1e920e0 Initial refactoring of dhleong's 'ys' on top of extension infrastructure 2016-01-26 21:14:15 +03:00
Andrey Vlasovskikh d46d292865 Added surround tests for 'ys' by dhleong 2016-01-26 18:15:00 +03:00
Andrey Vlasovskikh 1a96533a3c Added unit test-friendly version of VimExtensionFacade.getKeyStroke() 2016-01-26 18:14:14 +03:00
Andrey Vlasovskikh 2d86054fe8 Fixed regression after setChangeMarks() refactoring 2016-01-26 17:49:05 +03:00
Andrey Vlasovskikh 50e3af7b82 Added modal getKeyStroke() similar to Vim's getchar() 2016-01-26 04:17:19 +03:00
Andrey Vlasovskikh 27af4b926b Added the 'g@' command for IdeaVim extensions 2016-01-26 01:02:20 +03:00
Andrey Vlasovskikh 1d035acb6d Vim extension facade for executing emulated Vim statements built-in functions 2016-01-24 20:14:54 +03:00
Andrey Vlasovskikh 3704c321fa Added the ability to map keys to IdeaVim extension handlers 2016-01-24 19:57:37 +03:00
Andrey Vlasovskikh 9c6f35f3bd Added mechanism for providing extensions for IdeaVim like ported Vim plugins 2016-01-24 19:04:12 +03:00
Andrey Vlasovskikh 47b49c3e03 Merge pull request #93 from raimon49/use-relative-links
Use relative links that recommended way by GitHub Inc.
2016-01-23 02:24:35 +03:00
Andrey Vlasovskikh 7a99261979 Updated "Setting up development environment" for Gradle 2016-01-23 02:15:08 +03:00
Andrey Vlasovskikh 8eda58825f Put /out/ back 2016-01-23 02:14:40 +03:00
Andrey Vlasovskikh 6ee43c0014 Removed old project files 2016-01-23 01:46:43 +03:00
Andrey Vlasovskikh bea3d58ddb Removed old project file 2016-01-23 01:45:44 +03:00
Andrey Vlasovskikh 71b121c15c Use source code for Gradle Wrapper 2016-01-23 00:32:01 +03:00
Andrey Vlasovskikh 7c8b6d2fe6 Removed old IntelliJ project files in favor of non-version-controlled Gradle files 2016-01-23 00:31:31 +03:00
Andrey Vlasovskikh 5d33c46e6b Updated code style settings 2016-01-23 00:30:22 +03:00
Andrey Vlasovskikh 8aac0ebdb6 Configurable option for downloading IntelliJ sources 2016-01-22 23:49:32 +03:00
Andrey Vlasovskikh 6072aae338 Add build number to archive name 2016-01-22 23:47:29 +03:00
Andrey Vlasovskikh 872b916d46 Added Gradle Wrapper 2016-01-22 22:46:44 +03:00
Alexander Zolotov 86303b58df Use retina-friendly svg status images 2016-01-22 22:44:48 +03:00
Andrey Vlasovskikh 78b1ad6df6 Switched from Ant to Gradle for easier dependency on IntelliJ in automated builds 2016-01-22 22:15:38 +03:00
Andrey Vlasovskikh e5ac7ee607 Send stats reports in internal mode 2016-01-22 21:41:35 +03:00
Andrey Vlasovskikh 480b32b5af Fixed AIOOBE in tag selection for files starting with '/' and containing '>' 2016-01-21 18:28:14 +03:00
Andrey Vlasovskikh 8c9cf09bd8 Report usage statistics 2016-01-21 17:51:21 +03:00
Andrey Vlasovskikh 7ceea17050 Added DataGrip to the list of supported IDEs 2016-01-21 02:22:48 +03:00
Andrey Vlasovskikh 76333c5a24 Updated copyright years 2016-01-21 02:20:57 +03:00
Andrey Vlasovskikh 85857a3319 Updated changelog 2016-01-21 02:02:08 +03:00
Andrey Vlasovskikh 5ad2bb4bea Updated current IntelliJ URL 2016-01-21 02:01:51 +03:00
Andrey Vlasovskikh cb9d205336 VIM-796 Execute :action handler strictly after request focus handler 2016-01-21 01:44:27 +03:00
Andrey Vlasovskikh e1a292ba33 Merge remote-tracking branch 'smartbomb/ActionHandler-focus-fix' 2016-01-21 01:28:20 +03:00
Andrey Vlasovskikh fa4e54b32e Inline since-build into build.xml for running in internal mode 2016-01-21 01:27:22 +03:00
smartbomb 3ba41ac458 VIM-892 Fix various focus related issues when executing :action commands a keymap
also fixes VIM-1001, VIM-1016 and hopefully VIM-962 but unable to fully reproduce
2015-12-30 22:06:52 +01:00
Andrey Vlasovskikh 2fbe85e60f Added Teruo and Liubov to the list of contributors 2015-12-03 15:39:54 +03:00
Andrey Vlasovskikh 676a518fa8 Updated changelog 2015-12-03 15:39:23 +03:00
Andrey Vlasovskikh 992c1923f6 Use Guava for more idiomatic list operations 2015-12-03 15:33:04 +03:00
lubbaandAndrey Vlasovskikh a22afdd0f6 VIM-364 Added support for tag block selection 2015-12-03 15:19:54 +03:00
Andrey Vlasovskikh 0da8625f30 VIM-1040 Fixed typing keys in completion menus and typing with the plugin disabled 2015-11-02 15:53:50 +03:00
Andrey Vlasovskikh 4cc784eb95 VIM-1039 Fixed running the plugin with Java 6 2015-11-02 00:45:23 +03:00
Andrey Vlasovskikh ee3bec9eed Version 0.42 2015-11-01 02:23:09 +03:00
Andrey Vlasovskikh 24788ac86f Updated changelog 2015-10-30 16:11:16 +03:00
Andrey Vlasovskikh 9af3c732b5 Updated CI icons 2015-10-30 16:04:35 +03:00
Andrey Vlasovskikh e5873fe5f9 Use HTTP by default 2015-10-30 15:41:55 +03:00
Andrey Vlasovskikh 39f088cdcd VIM-970 Use raw typed handlers in order not to require write action in read-only files
This change requires the API of IntelliJ platform branch 143+.
2015-10-30 15:37:17 +03:00
Andrey Vlasovskikh e805852721 Platform prefix initialization is no longer needed 2015-10-30 15:20:36 +03:00
Andrey Vlasovskikh e136ecc1f8 Added generated idea/ to excluded folders 2015-10-30 15:19:42 +03:00
Andrey Vlasovskikh efa4001440 Require minimal platform version 143 2015-10-30 15:19:19 +03:00
Paulo Bu 52a0af1636 Adds zC and zO folding commands 2015-08-28 15:59:13 +02:00
ayzen 5fc66b5896 ={motion} implementation, == with count and fix for VIM-259 2015-07-11 21:44:36 +03:00
ayzen 80dec29832 Fix for VIM-965 with a test 2015-07-01 23:31:25 +03:00
raimon 2c7d3c9971 Use relative links that recommended way by GitHub Inc. 2015-06-23 21:56:46 +09:00
ayzen 30a16e9496 Corrected typo that prevented correct calculation for marks vertical shifting; added a test 2015-06-14 10:54:15 +03:00
ayzen 0d6526ea31 Mark should not be deleted due to change commands that start from the beginning of the mark line 2015-06-14 10:41:52 +03:00
ayzen 4428340fd9 Fix for VIM-964 (marks get removed if one-char line is replaced by r) with a test 2015-06-14 10:38:36 +03:00
ayzen 900ce21445 Fix for VIM-564 (g_ didn't work correctly) with tests 2015-06-12 22:43:19 +03:00
Andrey Vlasovskikh 68c20ed48d Version 0.41 2015-06-10 15:42:02 +03:00
Andrey Vlasovskikh c5760ceaab VIM-957 Fixed compatibility with IDEs other than IntelliJ 2015-06-10 15:41:33 +03:00
Andrey Vlasovskikh 8c7c9a67a6 Version 0.40 2015-06-09 23:01:54 +03:00
ayzen efad5545de Correct behavior of numbered registers 2015-06-05 21:09:31 +03:00
ayzen afb411dd35 Added tests for special registers 2015-06-05 21:09:16 +03:00
dos65 fe1184b0d3 keypadd arrows for nvo modes 2015-05-09 17:30:40 +03:00
Andrey Vlasovskikh 85231b314f More readable test data 2015-04-24 16:29:56 +03:00
Andrey Vlasovskikh 210b2efd47 Updated changelog 2015-04-24 16:12:30 +03:00
Andrey Vlasovskikh ae5b1385ea Merge branch 'matching-comments' 2015-04-24 16:08:54 +03:00
Andrey Vlasovskikh 011ce28251 More readable tests for '%' 2015-04-24 16:08:32 +03:00
Andrey Vlasovskikh efb58b45df Cleanup 2015-04-24 16:02:20 +03:00
Andrey Vlasovskikh 7d033787eb Better place for cleaning global variables 2015-04-24 14:31:06 +03:00
Andrey Vlasovskikh 3a47583cf9 Clean global variables 2015-04-24 14:27:38 +03:00
Andrey Vlasovskikh 565b4b3f2f Updated changelog 2015-04-24 14:25:10 +03:00
Andrey Vlasovskikh 574f32a6dd Merge pull request #84 from JetBrains/mapleader
Mapleader support based on the prototype of a Vim script expressions evaluator
2015-04-24 13:33:38 +03:00
Andrey Vlasovskikh 0e67c8ff69 Removed unnecessary 'static' declaration 2015-04-24 13:32:26 +03:00
Andrey Vlasovskikh b886073c11 VIM-650 Added support for 'mapleader' 2015-04-24 13:32:04 +03:00
Andrey Vlasovskikh 57c35b9a74 Merge remote-tracking branch 'origin/master' 2015-04-22 20:27:31 +03:00
Andrey Vlasovskikh f5100694d6 VIM-930 Get editor focus after closing Ex entry box on Oracle Java 6 2015-04-22 20:26:41 +03:00
Andrey Vlasovskikh 3ff9bfcc13 Initial support for 'let' and 'echo' commands
These commands evaluate Vim script expressions. Right now they are
limited to a highly limited subset of Vim script expressions that is
however enough for settings the 'mapleader' variable for VIM-650.
2015-04-05 22:54:40 +03:00
Andrey Vlasovskikh 6c8d2bfd9e Merge pull request #83 from khromalabs/master
Added deployment instructions to README.md
2015-04-04 23:10:24 +03:00
Rubén Gómez 637f7f48ad Modified deployment instructions in README.md as suggested in pull request #83 2015-04-02 09:11:52 +02:00
Rubén Gómez 8eae80d30f Added deployment instructions to README.md 2015-03-30 23:55:04 +02:00
Andrey Vlasovskikh 9a103276e3 Merge pull request #82 from jflorian/master
Added note about where .ideavimrc is located
2015-03-30 16:39:52 +03:00
John Florian 6386f011f7 Merge remote-tracking branch 'upstream/master' 2015-03-30 09:32:09 -04:00
John Florian 742d6e63d9 Change - note regarding non-default user.home setting
Some users (e.g., me) have a non-default user.home VM option and this
affects where IdeaVim looks for its configuration file.  This note might
save some head scratching.
2015-03-30 09:26:32 -04:00
Andrey Vlasovskikh f6141603ef Merge pull request #81 from jflorian/master
Аdd mapping example using :action
2015-03-29 02:20:19 +03:00
John Florian 7a5b4e565a Change - add mapping example using :action
This example may be helpful to regular VIM users since the :action and
:actionlist commands are specific to IdeaVIM.
2015-03-28 11:12:02 -04:00
Andrey Vlasovskikh 373e1527c1 Extracted Vim script parts into 'vimscript' package 2015-03-28 14:16:38 +03:00
Andrey Vlasovskikh 9cb05b6a7d Updated changelog 2015-03-27 21:55:45 +03:00
Andrey Vlasovskikh 74bf5ff044 Formatting and typos 2015-03-27 21:43:36 +03:00
Andrey Vlasovskikh 0f7e9d11b6 Added test for VIM-845 2015-03-27 21:43:19 +03:00
Andrey Vlasovskikh 5fadc2fb9f Removed unused imports 2015-03-27 21:30:05 +03:00
Andrey Vlasovskikh 96bbcf623f Removed unnecessary 'static' in enums 2015-03-27 21:20:17 +03:00
Andrey Vlasovskikh 89e853158c Typos 2015-03-27 21:19:56 +03:00
Andrey Vlasovskikh 5c31fcc03e Extracted CommandState.inVisualBlockMode() 2015-03-27 21:18:08 +03:00
Andrey Vlasovskikh 3fee4a803b Merge remote-tracking branch 'dezgeg/fixes/visual-block-mode-overhaul' 2015-03-27 20:56:58 +03:00
Andrey Vlasovskikh 8b61f559d7 Updated default code style settings 2015-03-24 23:52:04 +03:00
Andrey Vlasovskikh 4bd058f5dc Updated changelog 2015-03-24 23:51:34 +03:00
Andrey Vlasovskikh 999ccf87fc Merge remote-tracking branch 'dezgeg/fixes/vim-700-remap-zero' 2015-03-24 23:48:11 +03:00
Andrey Vlasovskikh 4e45e885b9 Merge remote-tracking branch 'dezgeg/feature/ant-improvements' 2015-03-24 23:25:31 +03:00
Tuomas Tynkkynen 6aee9ccaf1 build.xml: forkmode=once makes tests much faster
Since classloading of the IntelliJ platform takes a lot of time,
using forkmode=once in the Ant file makes running the unit tests from
Ant much faster (down to 16 seconds from 93 seconds) and is also more
closer to how the tests are run in the IDE.
2015-02-21 21:25:47 +02:00
Tuomas Tynkkynen af3c6ff012 build.xml: Generate XML reports from JUnit test reports
The XML reports are useful for private CI servers like Jenkins.
2015-02-21 21:25:47 +02:00
Tuomas Tynkkynen 0c9bdf5168 Visual block mode overhaul
The current visual block mode implementation has several bugs:

- The GUI never displays the rightmost characters as selected (blue)
- Due to some off-by-one, commands can't act on each line's last character
- It's possible for newlines to get deleted/changed into something else
- If the '$' mode is entered, the GUI doesn't always indicate this
- It's impossible to move to an empty line (VIM-781)

This commit fixes all of those problems. The only remaining problem are
the visible secondary carets, which makes seeing the real cursor a bit
difficult. This could be fixed later if support for per-caret visibility
would be added to IntelliJ core.
2015-02-21 17:17:36 +02:00
Tuomas Tynkkynen 82a9587b4f Support comments in brace matching
In Vim, '%' can be used to jump between the '/*' and '*/' of block
comments. Support this functionality in a language-independent manner.
2015-02-21 15:14:38 +02:00
Tuomas Tynkkynen 850f4d7ec5 Make IdeaVIM build on latest intellij-community master
The zero-parameter overload of createStructureViewModel() has been
marked deprecated and is now removed.
2015-02-21 15:12:16 +02:00
Tuomas Tynkkynen 8d1dcc4568 VIM-700 Remapping '0' should still allow zero to be entered in count
Previously, remapping '0' in command mode would prevent a number zero
from being entered in a command count.
2015-02-21 15:09:13 +02:00
Andrey Vlasovskikh 3650ab85df Updated changelog 2015-01-21 19:50:50 +03:00
Andrey Vlasovskikh e1e1cc2666 Code style
Use javadoc comments, added nullity annotations, extracted common
expressions.
2015-01-21 19:49:41 +03:00
Tuomas Tynkkynen 79fd32088b VIM-868 Allow count on 'gt' and 'gT'
'{count}gt' can now be used to switch to a specific tab.
'{count}gT' can now be used to switch to a n:th previous tab.
2015-01-21 18:11:48 +02:00
Andrey Vlasovskikh 458e0fc76d Updated changelog 2015-01-21 16:31:26 +03:00
Tuomas Tynkkynen 5090c81632 VIM-856 Fix regex lookbehind bugs
The regex code has the following bugs, mostly related to lookbehind:
    - Comparison of CharPointers with == is wrong, .equals should be
      used instead.

    - In the original C code, the behind_pos variable is declared as
      'static regsave_T behind_pos;', i.e. not a pointer, and the same
      for other variables of type regsave_T. So assignments to these
      types of variables need to make deep copies.
2015-01-20 17:52:08 +02:00
Andrey Vlasovskikh dcd035353b Updated IntelliJ version to the latest one available for download 2015-01-20 18:41:00 +03:00
Andrey Vlasovskikh 8606ce21bd Added Jackson Popkin to the contributors 2015-01-20 17:47:50 +03:00
Andrey Vlasovskikh 72537c6ffb Merge remote-tracking branch 'jdpopkin/relative_range'
Conflicts:
	test/org/jetbrains/plugins/ideavim/ex/SubstituteCommandTest.java
2015-01-20 17:17:27 +03:00
Andrey Vlasovskikh 30f9888f51 Merge remote-tracking branch 'selesse/sort-fix' 2015-01-20 16:06:36 +03:00
Andrey Vlasovskikh d5a2b92121 Updated changelog 2015-01-20 15:59:39 +03:00
Andrey Vlasovskikh fd3eee6870 Merge remote-tracking branch 'dezgeg/fixes/vim-864-visual-substitute-incorrect-visual-marks' 2015-01-20 15:50:17 +03:00
Andrey Vlasovskikh 2d6d1003b7 Merge remote-tracking branch 'dezgeg/fixes/vim-575-split-cursor' 2015-01-20 15:44:46 +03:00
Andrey Vlasovskikh 499c590f5a Merge remote-tracking branch 'dezgeg/unit-tests' 2015-01-20 15:36:18 +03:00
Andrey Vlasovskikh 787b78ef36 Typo 2015-01-20 15:31:46 +03:00
Andrey Vlasovskikh 88a0b0fa23 Removed unused ExEntryPanel.processKey() 2015-01-20 15:31:33 +03:00
Andrey Vlasovskikh 1519f04930 Fixed potential NPEs 2015-01-20 15:30:17 +03:00
Andrey Vlasovskikh e0a1291de0 Merge remote-tracking branch 'dezgeg/fixes/vim-210-ex-focus' 2015-01-20 15:27:55 +03:00
Andrey Vlasovskikh 8a2d881002 Cleanup
Removed commented code, renamed '\0' to '\u0000' for consistency,
fixed nullable warnings, declared some variables final.
2015-01-20 14:50:55 +03:00
Tuomas Tynkkynen 4802b6f460 VIM-864 Fix visual marks getting changed during visual substitute
Previously, running a substitute command in visual mode would
incorrectly set the visual mode end mark (>) to the location of the last
search match.
2014-12-24 18:19:53 +02:00
Jackson Popkin 8c0e116a1c Fix incorrect behavior in substitution with offset ranges
Substitution commands with offset ranges like .,+2s/a/b/g previously
did not work the way they do in Vim (replace a with b on the current
line and the next two lines). This change fixes that bug.
2014-12-23 21:14:42 -05:00
Alex Selesse 8862878011 Fix broken sorting when sorting with leading whitespace 2014-12-14 12:17:51 -05:00
Tuomas Tynkkynen bdf3361243 VIM-575 Don't change cursor position of other splits in visual mode
If a file is opened in multiple splits, entering visual mode in one
split would change the cursor position in other splits as well.
2014-12-14 15:20:36 +02:00
Tuomas Tynkkynen 6b5216077b Add few simple mark tests. 2014-12-12 23:05:28 +02:00
Tuomas Tynkkynen 7e119f7963 Add tests for change number operations (<C-A>, <C-X>) 2014-12-12 23:05:28 +02:00
Tuomas Tynkkynen 933cbc7e51 Add unit tests for some replace commands
Adds tests for: |r|, |s|, |R|, and <Ins> in insert mode.
2014-12-12 23:05:28 +02:00
Tuomas Tynkkynen 65f30d4480 Add testcase for '>' in visual block mode 2014-12-12 23:05:28 +02:00
Tuomas Tynkkynen 1f8d3f119e Add unit tests for Ex ranges
Adds tests for ranges in Ex commands. Almost every kind of range has
basic tests, except the following are still totally untested:
    - \/, \?, \&
    - register ranges
    - syntax errors in ranges
2014-12-12 23:05:28 +02:00
Tuomas Tynkkynen 45fe858503 Add tests for case changing operations
Add tests for the following commands:
- gu, gU, g~ in normal mode
- u, U, ~ in visual mode
2014-12-12 23:05:28 +02:00
Tuomas Tynkkynen 0cc06ad186 Move ChangeActionTest.doTest() to VimTestCase.
This method is convenient in other tests as well.
2014-12-12 23:05:28 +02:00
Tuomas Tynkkynen 18cd7547ad VIM-210 Fix focus issues with the Ex panel
Previously, if the editor window had been splitted, under certain
conditions some actions related to the Ex panel would cause the editor
focus to change to a different split.

The required conditions for this bug to occur:
    - no docked windows (like the Project sidebar) are open
    - 'View -> Navigation bar' is disabled

At least these actions triggered the bug:
    - search with /
    - successfully executing an Ex command
    - dismissing the Ex window with Esc
    - Ex commands that opened the output panel (e.g. :!)

All the deleted lines of the form
    FileEditorManager.getInstance(project).openFile(vf, true);
seem to be very old, non-functional workarounds for the focus issue.
2014-12-09 13:36:03 +02:00
Tuomas Tynkkynen 7746a26062 VIM-855 Fix regexp character class bugs
Previously strchr and istrchr didn't consider NUL chars as end-of-string
terminators. This caused problems in regexps using character classes:
a regexp like "[^a]bc" would be effectively treated as "[^abc]bc" - i.e.
some literal characters from the rest of the pattern would accidentally be
included in the character class.
2014-12-09 01:01:53 +02:00
Andrey Vlasovskikh a47fc9d3be Don't share editor data contexts
The previous code threw "cannot share data context between Swing events"
throwables from DataManagerImpl$MyDataContext.getData since we used to
share DataContext objects passed to
VimShortcutKeyAction.actionPerformed() and
VimTypedActionHandler.execute() inside AnActionEvent objects with
runnables we invoked via SwingUtilities.invokeLater().
2014-12-07 18:40:51 +03:00
Andrey Vlasovskikh 8fdf75330c Updated changelog 2014-12-07 16:43:52 +03:00
Andrey Vlasovskikh d6ebaa26b0 Merge branch 'invoke-shortcuts-handler-later' 2014-12-07 16:42:31 +03:00
Andrey Vlasovskikh 27bd7ec836 Merge remote-tracking branch 'dezgeg/fixes/misc-issues' 2014-12-07 16:28:15 +03:00
Andrey Vlasovskikh 6752058922 Version 0.39 2014-12-03 16:07:30 +03:00
Andrey Vlasovskikh b965108dad Updated changelog 2014-12-03 16:06:20 +03:00
Andrey Vlasovskikh 6bf0f36567 Merge remote-tracking branch 'dezgeg/fixes/vim-702-fix-substitute-infinite-loop' 2014-12-03 15:59:43 +03:00
Andrey Vlasovskikh 69f1a70968 VIM-848 Show line numbers if they are enabled in the settings and there is no 'set number' 2014-12-03 15:42:59 +03:00
Tuomas Tynkkynen 47edfcac5e VIM-702 Fix infinite loop on s/$/\r/g
If the replacement contains newlines, the line number of the current
search position needs to be adjusted. Without this, e.g. s/$/\r/g would
get into an infinite loop.
2014-12-03 14:00:31 +02:00
Andrey Vlasovskikh c34599b954 Updated the changelog 2014-12-01 16:03:12 +03:00
Andrey Vlasovskikh 48b371c985 Don't show line numbers in non-file editors 2014-12-01 15:54:48 +03:00
Andrey Vlasovskikh 47165e7b9d EA-63002 Don't update line numbers in the caret movement event listener
This update may require moving the caret.
2014-12-01 15:54:31 +03:00
Andrey Vlasovskikh 69f4611552 Version 0.38 2014-12-01 14:01:25 +03:00
Andrey Vlasovskikh 31a25449a8 Updated the changelist 2014-12-01 13:59:34 +03:00
Andrey Vlasovskikh 26a247c0bf Revert "Unified tests initialization for IntelliJ 13+ Community and Ultimate"
This reverts commit 296ef1bdf9.
2014-11-28 22:29:15 +03:00
Andrey Vlasovskikh 1c7cd23475 Updated IntelliJ version 2014-11-28 21:44:37 +03:00
Andrey Vlasovskikh 296ef1bdf9 Unified tests initialization for IntelliJ 13+ Community and Ultimate 2014-11-28 20:22:43 +03:00
Andrey Vlasovskikh f2a0408801 VIM-586 Try to invoke Vim shortcuts handler later to restore input events sequence 2014-11-27 15:09:06 +03:00
Andrey Vlasovskikh 642659bc9b VIM-410 Use the standard editor line numbers for supporting 'nu'
Annotations-based line numbers reset all other annotations on caret
move, so the results of VCS annotate are reset all the time. It is
necessary for 'rnu', but for 'nu' we can use standard editor line
numbers and preserve the ability to show VCS annotations during caret
movement operations.
2014-11-26 19:49:09 +03:00
Andrey Vlasovskikh f0e8d065b7 Merge remote-tracking branch 'dezgeg/fixes/vim-723-paste-wrong-line' 2014-11-26 18:18:54 +03:00
Andrey Vlasovskikh 520d852c04 Merge remote-tracking branch 'dezgeg/fixes/vim-771-repeated-semicolon' 2014-11-26 18:12:14 +03:00
Andrey Vlasovskikh 8d4d7a421a Merge remote-tracking branch 'dezgeg/fixes/crashes' 2014-11-26 17:58:27 +03:00
Andrey Vlasovskikh 802b83b0fe VIM-818 Enable key repeat on Mac OS X every time it gets reset by the OS 2014-11-26 17:21:18 +03:00
Tuomas Tynkkynen 7ccb6c8411 Optimize character case changing operations
Previously, performing e.g. visual '~' on a large file would completely
lock up the IDE. The culprit seemed to be the calls to replaceText() one
character at a time, which is not a cheap operation since each
replaceText() will for example trigger a DocumentChanged event.
2014-11-22 13:15:15 +02:00
Tuomas Tynkkynen 1518831f37 Add some missing key names. 2014-11-22 13:15:15 +02:00
Tuomas Tynkkynen 3bdfaa02e1 'J' shouldn't add whitespace if there is trailing whitespace 2014-11-22 13:15:11 +02:00
Tuomas Tynkkynen e8de9f915c Make '>' not add trailing whitespace to empty lines. 2014-11-22 13:14:23 +02:00
Tuomas Tynkkynen 31f598d1e1 VIM-723 Fix pasting to an empty line
When pasting on an empty line, the pasted text would go to the start of
next line instead.
2014-11-17 03:47:50 +02:00
Tuomas Tynkkynen 46e6fd0847 VIM-771 Fix semicolon repeat for 'till char' motion
Based on empirical testing with Vim, ';' should work like this:
assuming "<caret>1:a 2:b 3:c" with ':' as the last f/t character:

- "t:" does nothing
- ";"  cursor goes to '2'
- "2;" cursor goes to '2', same as the previous
- "3;" cursor goes to '3'
2014-11-16 18:58:56 +02:00
Tuomas Tynkkynen 1441a60f4b Fix AIOOBE when '(' motion goes past start of file
If first character of the file is a newline, then findSentenceEnd()
could return -2 when the 'previous sentence' motion is performed,
leading to an eventual crash. Found by fuzzing.
2014-11-16 17:08:47 +02:00
Tuomas Tynkkynen ebdf107946 Fix AIOOBE crash when using 'b' on first line
If 'b' were used on the first word of the file, and the word was
preceded by whitespace, ArrayIndexOutOfBoundsException would occur.
Found by fuzzing.
2014-11-16 17:08:47 +02:00
Tuomas Tynkkynen 38d672c9f9 Fix KeyHandler crash when using '<' or '>'
The '<' and '>' commands weren't marked with FLAG_OP_PEND even though
they should, which sometimes caused EmptyStackException in KeyHandler
(when typing <I<><I<> for example). Found by fuzzing.
2014-11-16 17:08:46 +02:00
Tuomas Tynkkynen 75d34abd45 Fix IOOBE when 'i)' motion doesn't find other delimiter
Found by fuzzing.
2014-11-16 17:08:43 +02:00
Andrey Vlasovskikh 1d98738e4d Updated the changelog 2014-11-15 00:11:35 +03:00
Andrey Vlasovskikh 3cfa0e1844 Merge remote-tracking branch 'dezgeg/fixes/vim-515-cW-command' 2014-11-15 00:09:00 +03:00
Andrey Vlasovskikh 82211a4373 Updated the changelog 2014-11-15 00:08:32 +03:00
Andrey Vlasovskikh e324b04a94 Added Tuomas Tynkkynen to the list of contributors 2014-11-15 00:02:09 +03:00
Andrey Vlasovskikh 49d0c51d97 Merge branch 'vim-536-cc-second-to-last-line' 2014-11-15 00:00:43 +03:00
Andrey Vlasovskikh fe4bc3b4a9 Moved line line position calculation before deletion 2014-11-15 00:00:13 +03:00
Tuomas Tynkkynen 58d964063c VIM-515 Fix cW command detecting end-of-word incorrectly
A cW command on text like 'x$$$$' or '$xxxx' would incorrectly delete
just the first character, and not the rest.
2014-11-14 22:51:46 +02:00
Andrey Vlasovskikh 17d3e37e1d Merge branch 'vim-567-run-external-command-in-window' 2014-11-14 23:43:42 +03:00
Andrey Vlasovskikh 54f6a16bd6 Nullity checks 2014-11-14 23:41:17 +03:00
Andrey Vlasovskikh f4ffc5d198 Get rid of Reader and Writer classes in executeCommand() 2014-11-14 23:35:27 +03:00
Andrey Vlasovskikh 3d8010bf88 Removed debug output 2014-11-14 23:18:53 +03:00
Andrey Vlasovskikh ec2cc3a7f9 Code style 2014-11-14 23:17:50 +03:00
Andrey Vlasovskikh 52b7b9bcd8 Merge branch 'vim-705-multi-line-indent-broken' 2014-11-14 23:05:03 +03:00
Andrey Vlasovskikh 8ad0fcf42d Default value for @NotNull field mode 2014-11-14 23:04:33 +03:00
Andrey Vlasovskikh aa6cc45988 Made moveCaret(Editor, int, boolean) private 2014-11-14 23:02:32 +03:00
Tuomas Tynkkynen da22b8297b VIM-536 Fix 'cc' on second-to-last line in file
Previously, 'cc' on the second-to-last line of a file would instead open
a new line after the last line of the file.
2014-11-14 16:56:05 +02:00
Tuomas Tynkkynen 798d82e941 VIM-567 Extend :! to allow running non-filter commands
This commit allows the Ex command '!' to be ran without a range, with
the results displayed in a window.

For example, run ':! ls' in normal mode for a quick directory listing.
2014-11-11 20:32:24 +02:00
Tuomas Tynkkynen ac8ac302ca VIM-705 Fix repeated multiline indent
When a visual mode command is repeated, code calls into
MotionGroup#toggleVisual() to setup a 'fake' visual mode selection. But
when MotionGroup.moveCaret() is called, it notices that the indent
command has the FLAG_EXIT_VISUAL flag, and leaves visual mode right
away.
2014-11-10 23:32:09 +02:00
Tuomas Tynkkynen 22c3a73102 VIM-613 Fix repeat after 'd$'
Previously, repeating a 'd$' command would incorrectly delete the
newline from the line.
2014-11-10 16:36:40 +02:00
Andrey Vlasovskikh 1222fdb043 Merge pull request #47 from TylerNHansen/master
Update README.md - typo fix
2014-10-29 22:43:24 +03:00
Tyler Hansen 78a50c2f53 Update README.md 2014-10-29 12:19:13 -07:00
Andrey Vlasovskikh 6d261a7afa Merge pull request #46 from Baldrs/patch-1
Typo
2014-10-24 18:41:40 +04:00
Baldrs 2e37292478 Typo 2014-10-24 17:40:34 +03:00
Andrey Vlasovskikh a4907ec9c8 Links to GitHub and YouTrack in the plugin info 2014-10-24 16:41:00 +04:00
Andrey Vlasovskikh 992bfe73b6 Updated changes in plugin.xml 2014-10-24 16:37:29 +04:00
Andrey Vlasovskikh c186254a7e Updated dev version 2014-10-24 16:36:21 +04:00
Andrey Vlasovskikh 1dc739f32c Added :action and :actionlist to the docs 2014-10-24 16:35:56 +04:00
Andrey Vlasovskikh 9804cd83a6 VIM-652 Added a test for :action 2014-10-24 16:13:40 +04:00
Andrey Vlasovskikh aa5b99c47a Added smartbomb to the list of contributors 2014-10-24 16:04:57 +04:00
Andrey Vlasovskikh f95f5e8901 Merge branch 'action-command' 2014-10-24 16:02:21 +04:00
Andrey Vlasovskikh 206b303407 Renamed ExecuteActionByNameHandler to ActionHandler
The name of an Ex command handler should correspond to the Ex command
name.
2014-10-24 16:01:38 +04:00
Andrey Vlasovskikh 751bff53ee Removed checks for action execution problems not reproducible at the moment
We need to collect more data from the beta testers about these problems.
2014-10-24 16:00:23 +04:00
Andrey Vlasovskikh b6ef0c509d We don't need two Alexeys at the moment 2014-10-23 22:47:41 +04:00
Andrey Vlasovskikh 30304d6836 VIM-794 Fixed NCDFE related to 'number' in IDEs other than IntelliJ 2014-10-23 22:45:19 +04:00
Andrey Vlasovskikh f5df49b139 Don't allow short names for IdeaVim-specific :action and :actionlist 2014-10-23 19:01:58 +04:00
Andrey Vlasovskikh bf8ba1a49b Prettier output of :actionlist 2014-10-23 18:58:50 +04:00
Andrey Vlasovskikh 9f2697658b Fixed code style 2014-10-23 18:25:01 +04:00
smartbombandAndrey Vlasovskikh 36fd59b92c ExecuteActionByName use the content context on actions with the EnabledInModalContext flag set
(cherry picked from commit d375740)
2014-10-23 18:02:12 +04:00
Andrey Vlasovskikh 88d946546a Added Alexey Shmalko to the list of contributors 2014-10-23 17:30:06 +04:00
Andrey Vlasovskikh 6036c0c262 Updated CHANGES 2014-10-23 16:59:41 +04:00
Andrey Vlasovskikh 20e831b56a Updated tests after fixing VIM-501 2014-10-23 16:58:43 +04:00
Andrey Vlasovskikh 72b74e075c Merge branch 'visual_block_delete' 2014-10-23 16:55:17 +04:00
Andrey Vlasovskikh 3c6ede2f8f Normalize offsets in order to prevent selecting newlines 2014-10-23 16:53:31 +04:00
Andrey Vlasovskikh 5434edbd54 VIM-792 Fixed line-wise and block-wise paste commands for * and + registers 2014-10-23 16:09:56 +04:00
Andrey Vlasovskikh 6a8c7e4b17 VIM-511 Record caret adjustment changes to the document during <Enter> processing
We have to handle Enter by our VimShortcutKeyAction in order to be
able to record it as an action for repeating it via '.'. Since original
Enter handlers are not run in this case we invoke them manually by
collecting a list of actions that can be run for the editor component
on Enter and then running the first action ready to run.

Caret adjustments are detected on changes to the document caused by
Enter. This allows to position the caret properly (e.g. between {})
before recording Enter.
2014-10-23 15:26:22 +04:00
Alexey Shmalko 0ac659f2d1 Fix visual block deleting
Currently deleting visual block leaves last char in line untouched. This
patch fixes that as well as tests.
2014-10-21 21:40:43 +03:00
Tony Kay 7eae40ca9a added a failing test 2014-10-21 11:05:43 -07:00
Andrey Vlasovskikh b3d12c8b58 VIM-511 Fixed removing a paren just after inserting it with auto-inserting matching parens on 2014-10-21 21:47:06 +04:00
Andrey Vlasovskikh 3f92dba1b7 VIM-511 Updated test data 2014-10-21 21:16:11 +04:00
Andrey Vlasovskikh 0aedc08cfa More tests for VIM-511 2014-10-21 20:42:04 +04:00
Andrey Vlasovskikh 8312f5cffd VIM-511 Added a test for repeating a change that includes auto-inserted parens and quotes 2014-10-21 19:41:11 +04:00
Andrey Vlasovskikh 9f6338441e Updated CHANGES 2014-10-21 19:09:56 +04:00
Andrey Vlasovskikh 27efe0c9d6 Handle left and right motions during key repeat only as document (caret) changes
Previously they have been recorded twice: implicitly by a document
change listener as changes to the caret position and by a command
processor.
2014-10-21 18:24:36 +04:00
Andrey Vlasovskikh b5bf6c08d8 Repeat typing commands by inserting text instead of handling a typed key
It will prevent auto-completion and other auto-inserting typed key
handlers from messing up with the repeated text.
2014-10-21 18:22:19 +04:00
Andrey Vlasovskikh e3fce51ea1 VIM-511 Fixed editing offset after <BS> for '.' command 2014-10-21 16:56:54 +04:00
Andrey Vlasovskikh 13b4e93bf4 Run the test only if the system clipboard is available 2014-10-20 16:53:25 +04:00
Andrey Vlasovskikh 4ec0ab281f Removed the list of compatible IDEs
The same list is shown on the plugin's page and duplicated in the
README.
2014-10-20 16:09:32 +04:00
Andrey Vlasovskikh 39c96019b6 Typo 2014-10-20 16:08:29 +04:00
Andrey Vlasovskikh 21f2f60355 Updated CHANGES 2014-10-20 16:07:50 +04:00
Andrey Vlasovskikh 0de654dcaf Added Thomas B Homburg to the list of contributors 2014-10-20 16:02:11 +04:00
Andrey Vlasovskikh d59e472814 Added 'clipboard' to the list of :set commands 2014-10-20 16:01:09 +04:00
Andrey Vlasovskikh cc2ed452f0 Merge branch 'clipboard-unnamed'
Conflicts:
	src/com/maddyhome/idea/vim/option/Options.java
	test/org/jetbrains/plugins/ideavim/action/CopyActionTest.java
2014-10-20 15:59:15 +04:00
Andrey Vlasovskikh d4d3843725 VIM-476 Added default register reset on 'clipboard' change
Added a test for :set clipboard=unnamed.
2014-10-20 15:53:33 +04:00
Andrey Vlasovskikh dee16da1c2 Coding style 2014-10-20 14:52:22 +04:00
Andrey Vlasovskikh e09b85870f Added Jaime Sanchez to the list of contributors 2014-10-20 13:27:31 +04:00
Andrey Vlasovskikh 8596911a0e VIM-483 VIM-410 Added support for 'number' and 'relativenumber' commands
These commands override the line numbers setting in the IDE when the
Vim emulation is enabled.
2014-10-20 13:27:09 +04:00
Andrey Vlasovskikh 6c2de9f151 Extracted EditorGroup 2014-10-17 17:07:39 +04:00
Andrey Vlasovskikh d3a6b1e39e Use '\n' as universal line separator for sorting lines
The Document class takes care of detecting and using the correct
platform-specific line separators.
2014-10-17 14:54:48 +04:00
Andrey Vlasovskikh 3cb9b19aea Added Chang Wang to the list of contributors 2014-10-16 23:32:42 +04:00
Andrey Vlasovskikh 86aa59bb29 Merge branch 'vim-624' 2014-10-16 23:29:33 +04:00
smartbomb c6eeaed7da :actionlist added support for wildcards 2014-10-15 22:49:08 +02:00
smartbomb edba90f188 Renamed :findaction => :actionlist + added statusbar error message when calling invalid action names 2014-10-15 21:17:26 +02:00
Andrey Vlasovskikh 26b49b1a0c Made the description shorter 2014-10-15 15:22:40 +04:00
Andrey Vlasovskikh ef32648ddc Bumped version to 0.37 2014-10-15 15:17:42 +04:00
Andrey Vlasovskikh c873524cb1 VIM-784 Fixed visual line selection where start > end of the selection range
It was a regression introduced by the fix of VIM-632.
2014-10-15 15:10:22 +04:00
smartbomb 7943e34bde Fix action execution contexts, use a delay on popup actions to allow the command handler to unwind 2014-10-15 08:31:44 +02:00
smartbomb 74970c74b4 Implemented :findaction 2014-10-14 22:47:03 +02:00
Andrey Vlasovskikh 2d11561041 Added Andrew Brookins to the list of contributors 2014-10-14 15:28:23 +04:00
Andrey Vlasovskikh f7643b6bb3 Updated changelist 2014-10-14 15:28:07 +04:00
Andrey Vlasovskikh d3afd83e8e Merge branch 'VIM-407' 2014-10-14 15:25:43 +04:00
Andrey Vlasovskikh 969ca0119a Bumped version to 0.36 2014-10-14 14:22:38 +04:00
smartbomb 722431f5b2 VIM-652 Add support for executing and mapping arbitrary IDEA actions
* no tests performed..! *

Example usage:
:nnoremap gi :action GotoImplementation<CR>
:nnoremap gu :action FindUsages<CR>
:nnoremap gcw :action RenameElement<CR>

Action overview:
https://github.com/JetBrains/intellij-community/blob/6c6cb47c5a41025549157d64643a98a89481260d/platform/platform-resources-en/src/messages/ActionsBundle.properties
2014-10-13 21:58:38 +02:00
Andrey Vlasovskikh 6a1c792cda VIM-171 Added support for window navigation commands: left/right/up/down 2014-10-13 23:08:56 +04:00
Andrey Vlasovskikh c0ba39ab40 Use multi-caret API available from branches 135+ 2014-10-09 18:33:07 +04:00
Andrey Vlasovskikh 3e0e08c5e1 VIM-632 Restored visual block mode that was broken due to multiple carets support
Vim actions with multiple carets in modes other than visual block are
not supported yet. It will be a separate feature. The idea behind this
commit is to fix the regression in visual block mode.

Bounds of visual selection are no longer reversed if they are
overlapped, this fixes expanding the block selection in all directions.

IdeaVim no longer uses SelectionModel.hasBlockSelection() since it
always returns 'true' now.

There are a couple of places where we remove secondary carets when
moving the primary caret or re-setting visual mode. It may be
incompatible with the forthcoming support for multi-caret Vim actions.
2014-10-09 18:01:47 +04:00
Andrey Vlasovskikh 3d64373c22 Updated the changelog 2014-10-07 15:24:45 +04:00
Andrey Vlasovskikh 2557688657 Added Alexey Shmalko to the list of contributors 2014-10-07 15:11:55 +04:00
Andrey Vlasovskikh fcc564df25 Cleanup 2014-10-07 14:29:30 +04:00
Andrey Vlasovskikh 4ecbb93d01 Converted window actions into subclasses of VimCommandAction 2014-10-07 13:52:46 +04:00
Alexey Shmalko 9bdc9b3634 VIM-171 Add checks for that window is not null 2014-10-04 01:29:41 +03:00
Alexey Shmalko f46c3b0aa9 VIM-171 Add support for window cycling
Adds following keystrokes:
<C-W>w <C-W><C-W> next window
<C-W>W            previous window

With number both commands go to window with specified index.
2014-10-04 00:52:24 +03:00
Alexey Shmalko 095fdf07c5 VIM-171 Add support for closing all windows except current
Adds <C-W>o, <C-W><C-O> keystrokes.
2014-10-04 00:02:15 +03:00
Alexey Shmalko 648e988b64 VIM-171 Add support for closing window
Adds <C-W>c keystroke.
2014-10-03 23:41:53 +03:00
Alexey Shmalko b1add735d6 Add split action
This patch adds following keystrokes:
<C-W>s <C-W>S <C-W><C-S> horizontal split
<C-W>v <C-W><C-V>        vertical split
2014-10-02 20:52:13 +03:00
Andrey Vlasovskikh 3f5882118e Compatibility with builds 133+ / IntelliJ 13+ 2014-09-10 15:03:01 +04:00
Andrey Vlasovskikh 4e83f56696 Merge branch 'vim-265'
Conflicts:
	AUTHORS.md
2014-09-10 13:58:29 +04:00
Andrey Vlasovskikh ab250f1d9c Added salaam to the list of contributors 2014-09-10 13:57:40 +04:00
Andrey Vlasovskikh 4672dece51 VIM-770 Close the current tab on :quit instead of all tabs with the current file 2014-09-10 13:52:00 +04:00
Andrey Vlasovskikh a632de9214 Cleanup 2014-09-09 18:30:21 +04:00
Andrey Vlasovskikh e8ebba8b3d Removed unused declarations 2014-09-09 18:25:45 +04:00
Andrey Vlasovskikh 5cf8181474 Added Dathan Bennett to the list of contributors 2014-09-09 00:38:42 +04:00
Andrey Vlasovskikh a717e4785d VIM-569 Fixed <C-W> when the caret is at the end of a line 2014-09-09 00:36:39 +04:00
Dathan Bennett 16ce16c632 Add test for VIM-569 fix 2014-09-06 02:59:49 -07:00
Dathan Bennett 8d7bf2661a Set isChange to true when calling deleteRange from ctrl-w handler 2014-09-06 01:07:03 -07:00
salaamandJosh 9e1b026a88 VIM-265 Add window split commands
Conflicts:
	src/com/maddyhome/idea/vim/VimPlugin.java
	src/com/maddyhome/idea/vim/ex/CommandParser.java
2014-08-31 23:57:22 -05:00
Thomas B Homburg df8e455a6d Get default register from clipboard=unnamed setting 2014-08-26 22:51:17 +02:00
Chang Wang b35bec2839 deselect visual selection range '<,'> when poping up ex entry field. 2014-08-13 16:40:50 -07:00
Andrew Brookins 19365effa9 VIM-407 Add tests. Only skip the ending line if it is empty.
Conflicts:
	src/com/maddyhome/idea/vim/group/ChangeGroup.java
	test/org/jetbrains/plugins/ideavim/action/ShiftRightLinesActionTest.java
2014-05-22 22:04:14 -07:00
Andrey Vlasovskikh 3750417323 Bumped version to 0.35 2014-05-15 15:09:02 +04:00
Andrey Vlasovskikh d7bfb1ff10 Updated CHANGES 2014-05-15 15:04:12 +04:00
Andrey Vlasovskikh 1797771527 Added configuration via ~/.ideavimrc to the list of plugin features 2014-05-15 14:58:40 +04:00
Andrey Vlasovskikh e564eb5878 VIM-213 Use '< and '> marks for saving and restoring last visual selection 2014-05-15 02:49:50 +04:00
Andrey Vlasovskikh 9cd620af58 VIM-646 Don't update visual selection if command moves caret and exits visual mode 2014-05-12 21:50:50 +04:00
Andrey Vlasovskikh 1414ef8a4f Removed check for unused FLAG_KEEP_VISUAL flag 2014-05-12 20:06:46 +04:00
Andrey Vlasovskikh 110623f6ef Moved StringHelper.parseKeysSet() to VimCommandAction 2014-05-12 20:04:32 +04:00
Andrey Vlasovskikh 0887c72486 Updated index docs for all the visual mode commands 2014-05-12 20:00:17 +04:00
Andrey Vlasovskikh a516fd880e Made visual-only mode actions VimCommandActions 2014-05-12 19:28:24 +04:00
Andrey Vlasovskikh 50e15112d6 Use SelectionType in VisualRange instead of SubMode 2014-05-08 17:40:04 +04:00
Andrey Vlasovskikh 8b6f99385a Code style 2014-05-08 17:31:38 +04:00
Andrey Vlasovskikh 2d1b40f00c Added tests for 'gv' and 'o' in visual mode 2014-05-08 16:59:11 +04:00
Andrey Vlasovskikh 2fc2f30055 Removed debug output 2014-05-08 15:49:21 +04:00
Andrey Vlasovskikh 2094a19723 Extracted MarkGroup.setVisualSelectionMarks() 2014-05-08 02:02:38 +04:00
Andrey Vlasovskikh 5b1416424d VisualSelectPreviousAction is a VimCommandAction 2014-05-08 00:43:40 +04:00
Andrey Vlasovskikh 8b9e737c05 Fixed potential NPEs 2014-05-07 22:36:37 +04:00
Andrey Vlasovskikh cc0f4acec6 Replaced StringBuilder with string concatenation 2014-05-07 22:36:26 +04:00
Andrey Vlasovskikh 30884162a0 Nullity annotations 2014-05-07 22:28:42 +04:00
Andrey Vlasovskikh f1e7a8c444 Removed unused code 2014-05-07 22:22:24 +04:00
Andrey Vlasovskikh 3271939c87 Simplified conditions 2014-05-07 22:20:00 +04:00
Andrey Vlasovskikh c9cb487cbc Replaced StringBuilder with string concatenation where possible 2014-05-07 22:17:37 +04:00
Andrey Vlasovskikh 56f6b69adf Use Collections.addAll() 2014-05-07 22:16:42 +04:00
Andrey Vlasovskikh 77dcee1269 Use foreach loop 2014-05-07 22:15:50 +04:00
Andrey Vlasovskikh c9068ee4d1 Replaced StringBuffer with StringBuilder 2014-05-07 22:15:25 +04:00
Andrey Vlasovskikh e7addf7fa8 Added 'final' modifiers for fields where possible 2014-05-07 22:12:47 +04:00
Andrey Vlasovskikh 7cc0a8db92 Inlined constant arguments 2014-05-07 22:05:40 +04:00
Andrey Vlasovskikh bccb62a84f Inlined redundant local variables 2014-05-07 21:55:13 +04:00
Andrey Vlasovskikh d47570664b Simplified conditions 2014-05-07 21:53:55 +04:00
Andrey Vlasovskikh a7137558cc Removed unnecessary semicolons 2014-05-07 21:52:38 +04:00
Andrey Vlasovskikh 0251c5a33d Made constants final 2014-05-07 21:52:11 +04:00
Andrey Vlasovskikh 365722ef7e Removed redundant casts 2014-05-07 21:50:17 +04:00
Andrey Vlasovskikh 77e0c30e57 Removed unused assignments and empty conditions 2014-05-07 21:49:29 +04:00
Andrey Vlasovskikh 8a0cad765a Fixed potential NPEs 2014-05-07 21:38:21 +04:00
Andrey Vlasovskikh 272378b800 Fixed typos and dropped commented code 2014-05-07 21:00:16 +04:00
Andrey Vlasovskikh a34d17ff95 Fixed potential NPEs 2014-05-07 20:46:40 +04:00
Andrey Vlasovskikh 82c782e9f0 Cleanup 2014-05-07 19:40:55 +04:00
Andrey Vlasovskikh b7b46d2fee Removed unused code 2014-05-07 19:25:30 +04:00
Andrey Vlasovskikh 8916f0f314 Extracted more EventFacade methods 2014-05-06 20:32:42 +04:00
Andrey Vlasovskikh 8d727ef508 Extracted EventFacade.(un)registerCustomShortcutSet() 2014-05-06 19:44:35 +04:00
Andrey Vlasovskikh fd0be10492 Extracted EventFacade.addEditorFactoryListener() 2014-05-06 19:33:35 +04:00
Andrey Vlasovskikh a810f95101 Extracted EventFacade.*DocumentListener() 2014-05-06 19:26:36 +04:00
Andrey Vlasovskikh 8857545cf0 Introduced EventFacade for subscribing to IDE events 2014-05-06 19:18:47 +04:00
Andrey Vlasovskikh 2300c0005f Inferred nullity annotations 2014-05-06 18:32:55 +04:00
Andrey Vlasovskikh 827b91286f Removed unused DelegateCommandListener
There are no more actions marked with Command.FLAG_DELEGATE.
2014-05-06 18:04:38 +04:00
Andrey Vlasovskikh 4d8e35655d Extracted and inlined some variables 2014-05-06 17:34:53 +04:00
Andrey Vlasovskikh f7e6ae9f3c Removed unused code 2014-05-06 17:15:34 +04:00
Andrey Vlasovskikh 67679843b4 Moved getShortcutKeyAction() to VimShortcutKeyAction.getInstance() 2014-05-06 17:09:12 +04:00
Andrey Vlasovskikh b67b072be2 Updated CHANGES 2014-05-06 15:35:03 +04:00
Andrey Vlasovskikh d6896e4e76 VIM-690 Read initialization commands only from ~/.ideavimrc 2014-05-06 15:20:40 +04:00
Andrey Vlasovskikh f86c24a695 VIM-683 Allow Ctrl+PgUp/PgDown to be used outside of Vim emulation 2014-05-06 14:56:10 +04:00
Andrey Vlasovskikh b200c842b4 VIM-679 Allow \u000D\u000C as <CR> in mappings 2014-05-05 21:26:35 +04:00
Andrey Vlasovskikh c8df52a86c VIM-679 Allow \u0016 as an escape character for '|' in mappings 2014-05-05 20:51:39 +04:00
Andrey Vlasovskikh b17a592c95 VIM-679 Parse characters less than \u0020 as <C-$CHAR> 2014-05-05 20:40:14 +04:00
Andrey Vlasovskikh f71d6c7fab VIM-679 Don't trim whitespace-like characters from command arguments
Characters like '\u0018' may appear in mapping commands.
2014-04-30 21:08:16 +04:00
Andrey Vlasovskikh 30cfae91c0 Removed StringHelper.escape() in favor of updated toKeyNotation() 2014-04-30 20:10:33 +04:00
Andrey Vlasovskikh 5332128852 Extracted toEscapeNotation() 2014-04-30 19:39:04 +04:00
Andrey Vlasovskikh b593d90dff VIM-676 Handle control characters in .vimrc as pressed, not typed keystrokes 2014-04-30 18:46:45 +04:00
Andrey Vlasovskikh 02fac3b931 Extracted executeText() 2014-04-30 17:36:18 +04:00
1726 changed files with 250439 additions and 45423 deletions
+10
View File
@@ -0,0 +1,10 @@
root = true
[*.java]
indent_size = 2
indent_style = space
[*.kt]
indent_size = 2
indent_style = space
ktlint_standard_no-wildcard-imports = disabled
+1
View File
@@ -0,0 +1 @@
* text=auto eol=lf
+14
View File
@@ -0,0 +1,14 @@
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "gradle"
directory: "/"
schedule:
interval: "weekly"
day: "wednesday"
- package-ecosystem: "maven"
directory: "/.teamcity/"
schedule:
interval: "weekly"
day: "wednesday"
+31
View File
@@ -0,0 +1,31 @@
# This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle
# This workflow syncs changes from the docs folder of IdeaVim to the IdeaVim.wiki repository
name: Check new plugin dependencies
on:
workflow_dispatch:
schedule:
- cron: '0 5 * * *'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Fetch origin repo
uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v2
with:
java-version: '17'
distribution: 'adopt'
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
settings-path: ${{ github.workspace }} # location for the settings.xml file
- name: Check new plugins
run: ./gradlew scripts:checkNewPluginDependencies
@@ -0,0 +1,46 @@
# This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle
name: Close YouTrack on commit
on:
workflow_dispatch:
push:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 300
- name: Get tags
run: git fetch --tags origin
- name: Set up JDK 11
uses: actions/setup-java@v2
with:
java-version: '11'
distribution: 'adopt'
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
settings-path: ${{ github.workspace }} # location for the settings.xml file
# The last successful job was marked with a tag
- name: Get commit with last workflow
run: |
echo "LAST_COMMIT=$(git rev-list -n 1 tags/workflow-close-youtrack)" >> $GITHUB_ENV
- name: Update YouTrack
run: ./gradlew updateYoutrackOnCommit
env:
SUCCESS_COMMIT: ${{ env.LAST_COMMIT }}
YOUTRACK_TOKEN: ${{ secrets.YOUTRACK_TOKEN }}
- name: Update tags
run: |
git tag --delete workflow-close-youtrack || true
git push origin :refs/tags/workflow-close-youtrack || true
git tag workflow-close-youtrack
git push origin workflow-close-youtrack
+67
View File
@@ -0,0 +1,67 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
push:
branches: [ master ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
schedule:
- cron: '44 12 * * 4'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
language: [ 'java' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
steps:
- name: Checkout repository
uses: actions/checkout@v2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2
# ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
+32
View File
@@ -0,0 +1,32 @@
# This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle
name: Testing CI integrations
on:
workflow_dispatch:
schedule:
- cron: '0 5 * * *'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 300
- name: Set up JDK 11
uses: actions/setup-java@v2
with:
java-version: '11'
distribution: 'adopt'
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
settings-path: ${{ github.workspace }} # location for the settings.xml file
- name: Run tests
run: ./gradlew integrationsTest
env:
YOUTRACK_TOKEN: ${{ secrets.YOUTRACK_TOKEN }}
GITHUB_OAUTH: ${{ secrets.GITHUB_TOKEN }}
+35
View File
@@ -0,0 +1,35 @@
# This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle
name: Kover
on:
workflow_dispatch:
push:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 300
- name: Set up JDK 11
uses: actions/setup-java@v2
with:
java-version: '11'
distribution: 'adopt'
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
settings-path: ${{ github.workspace }} # location for the settings.xml file
- name: Run tests
run: ./gradlew koverXmlReport
# Upload Kover report to CodeCov
- uses: codecov/codecov-action@v3
with:
files: ${{ github.workspace }}/build/reports/kover/xml/report.xml
+17
View File
@@ -0,0 +1,17 @@
name: Dependabot auto-merge
on: pull_request
permissions:
contents: write
pull-requests: write
jobs:
dependabot:
runs-on: ubuntu-latest
if: ${{ github.actor == 'dependabot[bot]' }}
steps:
- name: Auto-merge Dependabot PR
run: gh pr merge --auto --rebase "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
+45
View File
@@ -0,0 +1,45 @@
# This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle
name: Update Changelog On PR
on:
workflow_dispatch:
pull_request_target:
types: [ closed ]
jobs:
build:
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 50
# See end of file updateChangeslog.yml for explanation of this secret
ssh-key: ${{ secrets.PUSH_TO_PROTECTED_BRANCH_SECRET }}
- name: Set up JDK 11
uses: actions/setup-java@v2
with:
java-version: '11'
distribution: 'adopt'
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
settings-path: ${{ github.workspace }} # location for the settings.xml file
- name: Update authors
id: update_authors
run: ./gradlew updateMergedPr -PprId=${{ github.event.number }}
env:
GITHUB_OAUTH: ${{ secrets.GITHUB_TOKEN }}
- name: Commit changes
uses: stefanzweifel/git-auto-commit-action@v4
with:
branch: master
commit_message: Update changelog after merging PR
commit_user_name: IdeaVim Bot
commit_user_email: maintainers@ideavim.dev
commit_author: IdeaVim Bot <maintainers@ideavim.dev>
file_pattern: CHANGES.md
+77
View File
@@ -0,0 +1,77 @@
name: Run UI Tests
on:
workflow_dispatch:
schedule:
- cron: '0 12 * * *'
jobs:
build-for-ui-test-mac-os:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Setup Java
uses: actions/setup-java@v2.1.0
with:
distribution: zulu
java-version: 11
- name: Setup FFmpeg
uses: FedericoCarboni/setup-ffmpeg@v1
with:
# Not strictly necessary, but it may prevent rate limit
# errors especially on GitHub-hosted macos machines.
token: ${{ secrets.GITHUB_TOKEN }}
- name: Build Plugin
run: gradle :buildPlugin
- name: Run Idea
run: |
mkdir -p build/reports
gradle :runIdeForUiTests > build/reports/idea.log &
- name: Wait for Idea started
uses: jtalk/url-health-check-action@1.5
with:
url: http://127.0.0.1:8082
max-attempts: 20
retry-delay: 10s
- name: Tests
run: gradle :testUi
- name: Move video
if: ${{ failure() }}
run: mv video build/reports
- name: Save fails report
if: ${{ failure() }}
uses: actions/upload-artifact@v2
with:
name: ui-test-fails-report-mac
path: |
build/reports
# build-for-ui-test-linux:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v2
# - name: Setup Java
# uses: actions/setup-java@v2.1.0
# with:
# distribution: zulu
# java-version: 11
# - name: Build Plugin
# run: gradle :buildPlugin
# - name: Run Idea
# run: |
# export DISPLAY=:99.0
# Xvfb -ac :99 -screen 0 1920x1080x16 &
# mkdir -p build/reports
# gradle :runIdeForUiTests #> build/reports/idea.log
# - name: Wait for Idea started
# uses: jtalk/url-health-check-action@1.5
# with:
# url: http://127.0.0.1:8082
# max-attempts: 15
# retry-delay: 30s
# - name: Tests
# run: gradle :testUi
# - name: Save fails report
# if: ${{ failure() }}
# uses: actions/upload-artifact@v2
# with:
# name: ui-test-fails-report-linux
# path: |
# ui-test-example/build/reports
+44
View File
@@ -0,0 +1,44 @@
# This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle
# This workflow syncs changes from the docs folder of IdeaVim to the IdeaVim.wiki repository
name: Sync docs
on:
workflow_dispatch:
push:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Fetch origin repo
uses: actions/checkout@v3
with:
path: origin
# See end of file updateChangeslog.yml for explanation of this secret
ssh-key: ${{ secrets.PUSH_TO_PROTECTED_BRANCH_SECRET }}
- name: Fetch docs repo
uses: actions/checkout@v3
with:
repository: JetBrains/ideavim.wiki
path: docs
- name: Sync docs
id: update_authors
run: cp -a origin/doc/. docs
- name: Commit changes
uses: stefanzweifel/git-auto-commit-action@v4
with:
branch: master
repository: docs
commit_message: Update docs
commit_user_name: IdeaVim Bot
commit_user_email: maintainers@ideavim.dev
commit_author: IdeaVim Bot <maintainers@ideavim.dev>
+33
View File
@@ -0,0 +1,33 @@
# This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle
# This workflow syncs changes from the docs folder of IdeaVim to the IdeaVim.wiki repository
name: Update Affected Rate field on YouTrack
on:
workflow_dispatch:
schedule:
- cron: '0 8 * * *'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Fetch origin repo
uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v2
with:
java-version: '17'
distribution: 'adopt'
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
settings-path: ${{ github.workspace }} # location for the settings.xml file
- name: Update YouTrack
run: ./gradlew scripts:updateAffectedRates
env:
YOUTRACK_TOKEN: ${{ secrets.YOUTRACK_TOKEN }}
+61
View File
@@ -0,0 +1,61 @@
# This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle
name: Update Authors
on:
workflow_dispatch:
schedule:
- cron: '0 9 * * *'
# Workflow run on push is disabled to avoid conflicts when merging PR
# push:
# branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 300
# See end of file updateChangeslog.yml for explanation of this secret
ssh-key: ${{ secrets.PUSH_TO_PROTECTED_BRANCH_SECRET }}
- name: Get tags
run: git fetch --tags origin
- name: Set up JDK 11
uses: actions/setup-java@v2
with:
java-version: '11'
distribution: 'adopt'
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
settings-path: ${{ github.workspace }} # location for the settings.xml file
# The last successful job was marked with a tag
- name: Get commit with last workflow
run: |
echo "LAST_COMMIT=$(git rev-list -n 1 tags/workflow-authors)" >> $GITHUB_ENV
- name: Update authors
id: update_authors
run: ./gradlew updateAuthors --stacktrace
env:
SUCCESS_COMMIT: ${{ env.LAST_COMMIT }}
GITHUB_OAUTH: ${{ secrets.GITHUB_TOKEN }}
- name: Commit changes
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Add ${{ steps.update_authors.outputs.authors }} to contributors list
commit_user_name: IdeaVim Bot
commit_user_email: maintainers@ideavim.dev
commit_author: IdeaVim Bot <maintainers@ideavim.dev>
file_pattern: AUTHORS.md
- name: Update tags
run: |
git tag --delete workflow-authors || true
git push origin :refs/tags/workflow-authors || true
git tag workflow-authors
git push origin workflow-authors
+65
View File
@@ -0,0 +1,65 @@
# This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle
name: Update Changelog
on:
workflow_dispatch:
schedule:
- cron: '0 10 * * *'
# Workflow run on push is disabled to avoid conflicts when merging PR
# push:
# branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 300
# See end of file updateChangeslog.yml for explanation of this secret
ssh-key: ${{ secrets.PUSH_TO_PROTECTED_BRANCH_SECRET }}
- name: Get tags
run: git fetch --tags origin
- name: Set up JDK 11
uses: actions/setup-java@v2
with:
java-version: '11'
distribution: 'adopt'
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
settings-path: ${{ github.workspace }} # location for the settings.xml file
# The last successful job was marked with a tag
- name: Get commit with last workflow
run: |
echo "LAST_COMMIT=$(git rev-list -n 1 tags/workflow-changelog)" >> $GITHUB_ENV
- name: Update changelog
run: ./gradlew updateChangelog
env:
SUCCESS_COMMIT: ${{ env.LAST_COMMIT }}
- name: Commit changes
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Update changelog. Action id - ${{ github.run_id }}
commit_user_name: IdeaVim Bot
commit_user_email: maintainers@ideavim.dev
commit_author: IdeaVim Bot <maintainers@ideavim.dev>
file_pattern: CHANGES.md
- name: Update tags
run: |
git tag --delete workflow-changelog || true
git push origin :refs/tags/workflow-changelog || true
git tag workflow-changelog
git push origin workflow-changelog
# Regarding secrets.PUSH_TO_PROTECTED_BRANCH_SECRET - we use branch protection rules to automate merges of the
# dependabot updates. See mergeDependatobPR.yml file.
# However, it turned out that GitHub accepts pushes from the actions as a PR and requires checks, that are always
# false for pushing from actions.
# This secret is created to implement the workaround described in https://stackoverflow.com/a/76135647/3124227
+41
View File
@@ -0,0 +1,41 @@
# This workflow will build a package using Gradle and then publish it to GitHub packages when a release is created
# For more information see: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-gradle
name: Update Formatting
on:
schedule:
- cron: '0 0 * * 0'
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 50
# See end of file updateChangeslog.yml for explanation of this secret
ssh-key: ${{ secrets.PUSH_TO_PROTECTED_BRANCH_SECRET }}
- name: Set up JDK 11
uses: actions/setup-java@v2
with:
java-version: '11'
distribution: 'adopt'
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
settings-path: ${{ github.workspace }} # location for the settings.xml file
- uses: findologic/intellij-format-action@1.0.1
with:
include-glob: '*.kt,*.java'
path: .
- name: Commit changes
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: Update formatting
commit_user_name: IdeaVim Bot
commit_user_email: maintainers@ideavim.dev
commit_author: IdeaVim Bot <maintainers@ideavim.dev>
+26 -3
View File
@@ -1,5 +1,28 @@
*.swp
/.gradle/
/.idea/
/idea/
/out/
/tmp/
!/.idea/scopes
!/.idea/copyright
!/.idea/icon.png
!/.idea/inspectionProfiles
!/.idea/fileTemplates
!/.idea/runConfigurations
!/.idea/codeStyles
!/.idea/vcs.xml
**/build/
**/out/
**/tmp/
*.DS_Store
.teamcity/.idea
.teamcity/target
.teamcity/*.iml
# Generated by gradle task "generateGrammarSource"
src/main/java/com/maddyhome/idea/vim/vimscript/parser/generated
# Created by github automation
settings.xml
-280
View File
@@ -1,280 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectCodeStyleSettingsManager">
<option name="PER_PROJECT_SETTINGS">
<value>
<option name="JAVA_INDENT_OPTIONS">
<value>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="8" />
<option name="USE_TAB_CHARACTER" value="false" />
<option name="SMART_TABS" value="false" />
<option name="LABEL_INDENT_SIZE" value="0" />
<option name="LABEL_INDENT_ABSOLUTE" value="false" />
<option name="USE_RELATIVE_INDENTS" value="false" />
</value>
</option>
<option name="JSP_INDENT_OPTIONS">
<value>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="8" />
<option name="USE_TAB_CHARACTER" value="false" />
<option name="SMART_TABS" value="false" />
<option name="LABEL_INDENT_SIZE" value="0" />
<option name="LABEL_INDENT_ABSOLUTE" value="false" />
<option name="USE_RELATIVE_INDENTS" value="false" />
</value>
</option>
<option name="XML_INDENT_OPTIONS">
<value>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="8" />
<option name="USE_TAB_CHARACTER" value="false" />
<option name="SMART_TABS" value="false" />
<option name="LABEL_INDENT_SIZE" value="0" />
<option name="LABEL_INDENT_ABSOLUTE" value="false" />
<option name="USE_RELATIVE_INDENTS" value="false" />
</value>
</option>
<option name="OTHER_INDENT_OPTIONS">
<value>
<option name="INDENT_SIZE" value="4" />
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="4" />
<option name="USE_TAB_CHARACTER" value="false" />
<option name="SMART_TABS" value="false" />
<option name="LABEL_INDENT_SIZE" value="0" />
<option name="LABEL_INDENT_ABSOLUTE" value="false" />
<option name="USE_RELATIVE_INDENTS" value="false" />
</value>
</option>
<option name="FIELD_NAME_PREFIX" value="my" />
<option name="STATIC_FIELD_NAME_PREFIX" value="our" />
<option name="LINE_COMMENT_AT_FIRST_COLUMN" value="false" />
<option name="BLOCK_COMMENT_AT_FIRST_COLUMN" value="false" />
<option name="KEEP_LINE_BREAKS" value="false" />
<option name="ELSE_ON_NEW_LINE" value="true" />
<option name="WHILE_ON_NEW_LINE" value="true" />
<option name="CATCH_ON_NEW_LINE" value="true" />
<option name="FINALLY_ON_NEW_LINE" value="true" />
<option name="ALIGN_MULTILINE_PARAMETERS_IN_CALLS" value="true" />
<option name="ALIGN_MULTILINE_BINARY_OPERATION" value="true" />
<option name="ALIGN_MULTILINE_ASSIGNMENT" value="true" />
<option name="ALIGN_MULTILINE_TERNARY_OPERATION" value="true" />
<option name="ALIGN_MULTILINE_THROWS_LIST" value="true" />
<option name="ALIGN_MULTILINE_EXTENDS_LIST" value="true" />
<option name="ALIGN_MULTILINE_PARENTHESIZED_EXPRESSION" value="true" />
<option name="SPACE_AFTER_TYPE_CAST" value="false" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="5" />
<option name="EXTENDS_LIST_WRAP" value="1" />
<option name="THROWS_LIST_WRAP" value="5" />
<option name="EXTENDS_KEYWORD_WRAP" value="1" />
<option name="THROWS_KEYWORD_WRAP" value="1" />
<option name="METHOD_CALL_CHAIN_WRAP" value="1" />
<option name="BINARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" />
<option name="FOR_STATEMENT_WRAP" value="5" />
<option name="ARRAY_INITIALIZER_WRAP" value="1" />
<option name="ASSIGNMENT_WRAP" value="1" />
<option name="IF_BRACE_FORCE" value="1" />
<option name="DOWHILE_BRACE_FORCE" value="1" />
<option name="WHILE_BRACE_FORCE" value="1" />
<option name="FOR_BRACE_FORCE" value="1" />
<option name="FIELD_ANNOTATION_WRAP" value="0" />
<XML>
<option name="XML_LEGACY_SETTINGS_IMPORTED" value="true" />
</XML>
<ADDITIONAL_INDENT_OPTIONS fileType="rb">
<option name="INDENT_SIZE" value="2" />
</ADDITIONAL_INDENT_OPTIONS>
<codeStyleSettings language="CFML">
<option name="KEEP_LINE_BREAKS" value="false" />
<option name="ELSE_ON_NEW_LINE" value="true" />
<option name="WHILE_ON_NEW_LINE" value="true" />
<option name="CATCH_ON_NEW_LINE" value="true" />
<option name="ALIGN_MULTILINE_PARAMETERS_IN_CALLS" value="true" />
<option name="ALIGN_MULTILINE_BINARY_OPERATION" value="true" />
<option name="ALIGN_MULTILINE_TERNARY_OPERATION" value="true" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="5" />
<option name="BINARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" />
<option name="FOR_STATEMENT_WRAP" value="5" />
<option name="ASSIGNMENT_WRAP" value="1" />
<option name="PARENT_SETTINGS_INSTALLED" value="true" />
</codeStyleSettings>
<codeStyleSettings language="ECMA Script Level 4">
<option name="KEEP_LINE_BREAKS" value="false" />
<option name="ELSE_ON_NEW_LINE" value="true" />
<option name="WHILE_ON_NEW_LINE" value="true" />
<option name="CATCH_ON_NEW_LINE" value="true" />
<option name="FINALLY_ON_NEW_LINE" value="true" />
<option name="ALIGN_MULTILINE_PARAMETERS_IN_CALLS" value="true" />
<option name="ALIGN_MULTILINE_BINARY_OPERATION" value="true" />
<option name="ALIGN_MULTILINE_TERNARY_OPERATION" value="true" />
<option name="ALIGN_MULTILINE_EXTENDS_LIST" value="true" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="5" />
<option name="EXTENDS_LIST_WRAP" value="1" />
<option name="EXTENDS_KEYWORD_WRAP" value="1" />
<option name="BINARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" />
<option name="FOR_STATEMENT_WRAP" value="5" />
<option name="ARRAY_INITIALIZER_WRAP" value="1" />
<option name="ASSIGNMENT_WRAP" value="1" />
<option name="IF_BRACE_FORCE" value="1" />
<option name="DOWHILE_BRACE_FORCE" value="1" />
<option name="WHILE_BRACE_FORCE" value="1" />
<option name="FOR_BRACE_FORCE" value="1" />
<option name="PARENT_SETTINGS_INSTALLED" value="true" />
</codeStyleSettings>
<codeStyleSettings language="GSP">
<indentOptions>
<option name="INDENT_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="Groovy">
<option name="LINE_COMMENT_AT_FIRST_COLUMN" value="false" />
<option name="BLOCK_COMMENT_AT_FIRST_COLUMN" value="false" />
<option name="KEEP_LINE_BREAKS" value="false" />
<option name="ELSE_ON_NEW_LINE" value="true" />
<option name="WHILE_ON_NEW_LINE" value="true" />
<option name="CATCH_ON_NEW_LINE" value="true" />
<option name="FINALLY_ON_NEW_LINE" value="true" />
<option name="ALIGN_MULTILINE_PARAMETERS_IN_CALLS" value="true" />
<option name="ALIGN_MULTILINE_BINARY_OPERATION" value="true" />
<option name="ALIGN_MULTILINE_ASSIGNMENT" value="true" />
<option name="ALIGN_MULTILINE_TERNARY_OPERATION" value="true" />
<option name="ALIGN_MULTILINE_THROWS_LIST" value="true" />
<option name="ALIGN_MULTILINE_EXTENDS_LIST" value="true" />
<option name="ALIGN_MULTILINE_PARENTHESIZED_EXPRESSION" value="true" />
<option name="SPACE_AFTER_TYPE_CAST" value="false" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="5" />
<option name="EXTENDS_LIST_WRAP" value="1" />
<option name="THROWS_LIST_WRAP" value="5" />
<option name="EXTENDS_KEYWORD_WRAP" value="1" />
<option name="THROWS_KEYWORD_WRAP" value="1" />
<option name="METHOD_CALL_CHAIN_WRAP" value="1" />
<option name="BINARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" />
<option name="FOR_STATEMENT_WRAP" value="5" />
<option name="ARRAY_INITIALIZER_WRAP" value="1" />
<option name="ASSIGNMENT_WRAP" value="1" />
<option name="IF_BRACE_FORCE" value="1" />
<option name="DOWHILE_BRACE_FORCE" value="1" />
<option name="WHILE_BRACE_FORCE" value="1" />
<option name="FOR_BRACE_FORCE" value="1" />
<option name="FIELD_ANNOTATION_WRAP" value="0" />
<option name="PARENT_SETTINGS_INSTALLED" value="true" />
<indentOptions>
<option name="INDENT_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="HTML">
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="8" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="JAVA">
<option name="LINE_COMMENT_AT_FIRST_COLUMN" value="false" />
<option name="BLOCK_COMMENT_AT_FIRST_COLUMN" value="false" />
<option name="KEEP_LINE_BREAKS" value="false" />
<option name="ELSE_ON_NEW_LINE" value="true" />
<option name="WHILE_ON_NEW_LINE" value="true" />
<option name="CATCH_ON_NEW_LINE" value="true" />
<option name="FINALLY_ON_NEW_LINE" value="true" />
<option name="ALIGN_MULTILINE_PARAMETERS_IN_CALLS" value="true" />
<option name="ALIGN_MULTILINE_BINARY_OPERATION" value="true" />
<option name="ALIGN_MULTILINE_ASSIGNMENT" value="true" />
<option name="ALIGN_MULTILINE_TERNARY_OPERATION" value="true" />
<option name="ALIGN_MULTILINE_THROWS_LIST" value="true" />
<option name="ALIGN_MULTILINE_EXTENDS_LIST" value="true" />
<option name="ALIGN_MULTILINE_PARENTHESIZED_EXPRESSION" value="true" />
<option name="SPACE_AFTER_TYPE_CAST" value="false" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="5" />
<option name="EXTENDS_LIST_WRAP" value="1" />
<option name="THROWS_LIST_WRAP" value="5" />
<option name="EXTENDS_KEYWORD_WRAP" value="1" />
<option name="THROWS_KEYWORD_WRAP" value="1" />
<option name="METHOD_CALL_CHAIN_WRAP" value="1" />
<option name="BINARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" />
<option name="FOR_STATEMENT_WRAP" value="5" />
<option name="ARRAY_INITIALIZER_WRAP" value="1" />
<option name="ASSIGNMENT_WRAP" value="1" />
<option name="IF_BRACE_FORCE" value="1" />
<option name="DOWHILE_BRACE_FORCE" value="1" />
<option name="WHILE_BRACE_FORCE" value="1" />
<option name="FOR_BRACE_FORCE" value="1" />
<option name="FIELD_ANNOTATION_WRAP" value="0" />
<option name="PARENT_SETTINGS_INSTALLED" value="true" />
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="8" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="JSP">
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="8" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="JavaScript">
<option name="KEEP_LINE_BREAKS" value="false" />
<option name="ELSE_ON_NEW_LINE" value="true" />
<option name="WHILE_ON_NEW_LINE" value="true" />
<option name="CATCH_ON_NEW_LINE" value="true" />
<option name="FINALLY_ON_NEW_LINE" value="true" />
<option name="ALIGN_MULTILINE_PARAMETERS_IN_CALLS" value="true" />
<option name="ALIGN_MULTILINE_BINARY_OPERATION" value="true" />
<option name="ALIGN_MULTILINE_TERNARY_OPERATION" value="true" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="5" />
<option name="BINARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" />
<option name="FOR_STATEMENT_WRAP" value="5" />
<option name="ARRAY_INITIALIZER_WRAP" value="1" />
<option name="ASSIGNMENT_WRAP" value="1" />
<option name="IF_BRACE_FORCE" value="1" />
<option name="DOWHILE_BRACE_FORCE" value="1" />
<option name="WHILE_BRACE_FORCE" value="1" />
<option name="FOR_BRACE_FORCE" value="1" />
<option name="PARENT_SETTINGS_INSTALLED" value="true" />
</codeStyleSettings>
<codeStyleSettings language="Python">
<option name="KEEP_LINE_BREAKS" value="false" />
<option name="ALIGN_MULTILINE_PARAMETERS_IN_CALLS" value="true" />
<option name="PARENT_SETTINGS_INSTALLED" value="true" />
</codeStyleSettings>
<codeStyleSettings language="SQL">
<option name="PARENT_SETTINGS_INSTALLED" value="true" />
</codeStyleSettings>
<codeStyleSettings language="XML">
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="8" />
</indentOptions>
</codeStyleSettings>
</value>
</option>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
</component>
</project>
+201
View File
@@ -0,0 +1,201 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<option name="AUTODETECT_INDENTS" value="false" />
<option name="OTHER_INDENT_OPTIONS">
<value>
<option name="CONTINUATION_INDENT_SIZE" value="4" />
</value>
</option>
<option name="LINE_SEPARATOR" value="&#10;" />
<JavaCodeStyleSettings>
<option name="FIELD_NAME_PREFIX" value="my" />
<option name="STATIC_FIELD_NAME_PREFIX" value="our" />
</JavaCodeStyleSettings>
<JetCodeStyleSettings>
<option name="NAME_COUNT_TO_USE_STAR_IMPORT" value="2147483647" />
<option name="NAME_COUNT_TO_USE_STAR_IMPORT_FOR_MEMBERS" value="2147483647" />
<option name="ALLOW_TRAILING_COMMA" value="true" />
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</JetCodeStyleSettings>
<ScalaCodeStyleSettings>
<option name="MULTILINE_STRING_CLOSING_QUOTES_ON_NEW_LINE" value="true" />
</ScalaCodeStyleSettings>
<ADDITIONAL_INDENT_OPTIONS fileType="rb">
<option name="INDENT_SIZE" value="2" />
</ADDITIONAL_INDENT_OPTIONS>
<codeStyleSettings language="CFML">
<option name="KEEP_LINE_BREAKS" value="false" />
<option name="ELSE_ON_NEW_LINE" value="true" />
<option name="WHILE_ON_NEW_LINE" value="true" />
<option name="CATCH_ON_NEW_LINE" value="true" />
<option name="ALIGN_MULTILINE_PARAMETERS_IN_CALLS" value="true" />
<option name="ALIGN_MULTILINE_BINARY_OPERATION" value="true" />
<option name="ALIGN_MULTILINE_TERNARY_OPERATION" value="true" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="5" />
<option name="BINARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" />
<option name="FOR_STATEMENT_WRAP" value="5" />
<option name="ASSIGNMENT_WRAP" value="1" />
</codeStyleSettings>
<codeStyleSettings language="ECMA Script Level 4">
<option name="KEEP_LINE_BREAKS" value="false" />
<option name="ELSE_ON_NEW_LINE" value="true" />
<option name="WHILE_ON_NEW_LINE" value="true" />
<option name="CATCH_ON_NEW_LINE" value="true" />
<option name="FINALLY_ON_NEW_LINE" value="true" />
<option name="ALIGN_MULTILINE_PARAMETERS_IN_CALLS" value="true" />
<option name="ALIGN_MULTILINE_BINARY_OPERATION" value="true" />
<option name="ALIGN_MULTILINE_TERNARY_OPERATION" value="true" />
<option name="ALIGN_MULTILINE_EXTENDS_LIST" value="true" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="5" />
<option name="EXTENDS_LIST_WRAP" value="1" />
<option name="EXTENDS_KEYWORD_WRAP" value="1" />
<option name="BINARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" />
<option name="FOR_STATEMENT_WRAP" value="5" />
<option name="ARRAY_INITIALIZER_WRAP" value="1" />
<option name="ASSIGNMENT_WRAP" value="1" />
<option name="IF_BRACE_FORCE" value="1" />
<option name="DOWHILE_BRACE_FORCE" value="1" />
<option name="WHILE_BRACE_FORCE" value="1" />
<option name="FOR_BRACE_FORCE" value="1" />
</codeStyleSettings>
<codeStyleSettings language="GSP">
<indentOptions>
<option name="INDENT_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="Groovy">
<option name="KEEP_LINE_BREAKS" value="false" />
<option name="ELSE_ON_NEW_LINE" value="true" />
<option name="CATCH_ON_NEW_LINE" value="true" />
<option name="FINALLY_ON_NEW_LINE" value="true" />
<option name="ALIGN_MULTILINE_PARAMETERS_IN_CALLS" value="true" />
<option name="ALIGN_MULTILINE_BINARY_OPERATION" value="true" />
<option name="ALIGN_MULTILINE_ASSIGNMENT" value="true" />
<option name="ALIGN_MULTILINE_TERNARY_OPERATION" value="true" />
<option name="ALIGN_MULTILINE_THROWS_LIST" value="true" />
<option name="ALIGN_MULTILINE_EXTENDS_LIST" value="true" />
<option name="SPACE_AFTER_TYPE_CAST" value="false" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="5" />
<option name="EXTENDS_LIST_WRAP" value="1" />
<option name="THROWS_LIST_WRAP" value="5" />
<option name="EXTENDS_KEYWORD_WRAP" value="1" />
<option name="THROWS_KEYWORD_WRAP" value="1" />
<option name="METHOD_CALL_CHAIN_WRAP" value="1" />
<option name="BINARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_WRAP" value="5" />
<option name="FOR_STATEMENT_WRAP" value="5" />
<option name="ASSIGNMENT_WRAP" value="1" />
<option name="IF_BRACE_FORCE" value="1" />
<option name="WHILE_BRACE_FORCE" value="1" />
<option name="FOR_BRACE_FORCE" value="1" />
<option name="FIELD_ANNOTATION_WRAP" value="0" />
<indentOptions>
<option name="INDENT_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="HTML">
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="8" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="JAVA">
<option name="LINE_COMMENT_AT_FIRST_COLUMN" value="false" />
<option name="BLOCK_COMMENT_AT_FIRST_COLUMN" value="false" />
<option name="KEEP_LINE_BREAKS" value="false" />
<option name="ELSE_ON_NEW_LINE" value="true" />
<option name="WHILE_ON_NEW_LINE" value="true" />
<option name="CATCH_ON_NEW_LINE" value="true" />
<option name="FINALLY_ON_NEW_LINE" value="true" />
<option name="ALIGN_MULTILINE_PARAMETERS_IN_CALLS" value="true" />
<option name="ALIGN_MULTILINE_BINARY_OPERATION" value="true" />
<option name="ALIGN_MULTILINE_ASSIGNMENT" value="true" />
<option name="ALIGN_MULTILINE_TERNARY_OPERATION" value="true" />
<option name="ALIGN_MULTILINE_THROWS_LIST" value="true" />
<option name="ALIGN_MULTILINE_EXTENDS_LIST" value="true" />
<option name="ALIGN_MULTILINE_PARENTHESIZED_EXPRESSION" value="true" />
<option name="SPACE_AFTER_TYPE_CAST" value="false" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="5" />
<option name="EXTENDS_LIST_WRAP" value="1" />
<option name="THROWS_LIST_WRAP" value="5" />
<option name="EXTENDS_KEYWORD_WRAP" value="1" />
<option name="THROWS_KEYWORD_WRAP" value="1" />
<option name="METHOD_CALL_CHAIN_WRAP" value="1" />
<option name="BINARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" />
<option name="FOR_STATEMENT_WRAP" value="5" />
<option name="ARRAY_INITIALIZER_WRAP" value="1" />
<option name="ASSIGNMENT_WRAP" value="1" />
<option name="IF_BRACE_FORCE" value="1" />
<option name="DOWHILE_BRACE_FORCE" value="1" />
<option name="WHILE_BRACE_FORCE" value="1" />
<option name="FOR_BRACE_FORCE" value="1" />
<option name="FIELD_ANNOTATION_WRAP" value="0" />
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="8" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="JSON">
<option name="KEEP_LINE_BREAKS" value="false" />
</codeStyleSettings>
<codeStyleSettings language="JSP">
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="8" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="JavaScript">
<option name="KEEP_LINE_BREAKS" value="false" />
<option name="ELSE_ON_NEW_LINE" value="true" />
<option name="WHILE_ON_NEW_LINE" value="true" />
<option name="CATCH_ON_NEW_LINE" value="true" />
<option name="FINALLY_ON_NEW_LINE" value="true" />
<option name="ALIGN_MULTILINE_PARAMETERS_IN_CALLS" value="true" />
<option name="ALIGN_MULTILINE_BINARY_OPERATION" value="true" />
<option name="ALIGN_MULTILINE_TERNARY_OPERATION" value="true" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="5" />
<option name="BINARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" />
<option name="FOR_STATEMENT_WRAP" value="5" />
<option name="ARRAY_INITIALIZER_WRAP" value="1" />
<option name="ASSIGNMENT_WRAP" value="1" />
<option name="IF_BRACE_FORCE" value="1" />
<option name="DOWHILE_BRACE_FORCE" value="1" />
<option name="WHILE_BRACE_FORCE" value="1" />
<option name="FOR_BRACE_FORCE" value="1" />
</codeStyleSettings>
<codeStyleSettings language="Python">
<option name="KEEP_LINE_BREAKS" value="false" />
<option name="PARENT_SETTINGS_INSTALLED" value="true" />
</codeStyleSettings>
<codeStyleSettings language="XML">
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="4" />
<option name="TAB_SIZE" value="8" />
</indentOptions>
</codeStyleSettings>
<codeStyleSettings language="kotlin">
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
</code_scheme>
</component>
+5
View File
@@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
</state>
</component>
+6
View File
@@ -0,0 +1,6 @@
<component name="CopyrightManager">
<copyright>
<option name="notice" value="Copyright 2003-2023 The IdeaVim authors&#10;&#10;Use of this source code is governed by an MIT-style&#10;license that can be found in the LICENSE.txt file or at&#10;https://opensource.org/licenses/MIT." />
<option name="myName" value="IdeaVim" />
</copyright>
</component>
+7
View File
@@ -0,0 +1,7 @@
<component name="CopyrightManager">
<settings>
<module2copyright>
<element module="Copyright" copyright="IdeaVim" />
</module2copyright>
</settings>
</component>
+1
View File
@@ -0,0 +1 @@
com.maddyhome.idea.vim.helper.MessageHelper.message("${PROPERTY_KEY}", ${PARAMETERS})
+1
View File
@@ -0,0 +1 @@
com.maddyhome.idea.vim.helper.MessageHelper.message("${PROPERTY_KEY}")
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

+69
View File
@@ -0,0 +1,69 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="BooleanMethodIsAlwaysInverted" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="HardCodedStringLiteral" enabled="false" level="WARNING" enabled_by_default="false">
<scope name="Production" level="WARNING" enabled="false">
<option name="ignoreForAssertStatements" value="true" />
<option name="ignoreForExceptionConstructors" value="true" />
<option name="ignoreForSpecifiedExceptionConstructors" value="" />
<option name="ignoreForJUnitAsserts" value="true" />
<option name="ignoreForClassReferences" value="true" />
<option name="ignoreForPropertyKeyReferences" value="true" />
<option name="ignoreForNonAlpha" value="true" />
<option name="ignoreAssignedToConstants" value="false" />
<option name="ignoreToString" value="true" />
<option name="nonNlsCommentPattern" value="NON-NLS" />
</scope>
<option name="ignoreForAssertStatements" value="true" />
<option name="ignoreForExceptionConstructors" value="true" />
<option name="ignoreForSpecifiedExceptionConstructors" value="" />
<option name="ignoreForJUnitAsserts" value="true" />
<option name="ignoreForClassReferences" value="true" />
<option name="ignoreForPropertyKeyReferences" value="true" />
<option name="ignoreForNonAlpha" value="true" />
<option name="ignoreAssignedToConstants" value="false" />
<option name="ignoreToString" value="false" />
<option name="nonNlsCommentPattern" value="NON-NLS" />
</inspection_tool>
<inspection_tool class="MissortedModifiers" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_requireAnnotationsFirst" value="true" />
</inspection_tool>
<inspection_tool class="MoveVariableDeclarationIntoWhen" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="PluginXmlI18n" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SSBasedInspection" enabled="true" level="WARNING" enabled_by_default="true">
<replaceConfiguration name="IdeaVim run for each caret" description="Please use IdeaVim version of `runForEachCaret` function" suppressId="ideavimRunForEachCaret" problemDescriptor="Replace with IdeaVim version" text="$editor$.caretModel.runForEachCaret { $expr$ }" recursive="false" caseInsensitive="false" type="Kotlin" pattern_context="default" reformatAccordingToStyle="true" shortenFQN="false" replacement="$editor$.vimForEachCaret { $expr$ }">
<constraint name="__context__" within="" contains="" />
<constraint name="editor" within="" contains="" />
<constraint name="expr" minCount="0" maxCount="2147483647" within="" contains="" />
</replaceConfiguration>
<replaceConfiguration name="Use IdeaVim method instead of the fixture" uuid="0f74da52-7360-33ae-9b40-d771aa128de6" description="Use assertState and other functions instead of myFixture.checkResult.&#10;This function also preformes assertion in neovim" suppressId="IdeaVimAssertState" problemDescriptor="Use IdeaVim testing methods" text="$fixture$.$check$($data$)" recursive="false" caseInsensitive="false" type="Kotlin" pattern_context="default" reformatAccordingToStyle="true" shortenFQN="false" replacement="assertState($data$)">
<constraint name="__context__" within="" contains="" />
<constraint name="fixture" regexp="myFixture" nameOfExprType="CodeInsightTestFixture" within="" contains="" />
<constraint name="check" regexp="checkResult" within="" contains="" />
<constraint name="data" within="" contains="" />
</replaceConfiguration>
<replaceConfiguration name="Use IdeaVim method instead of the fixture" uuid="0f74da52-7360-33ae-9b40-d771aa128de6" text="$fixture$.$check$($fileName$, $text$)" recursive="false" caseInsensitive="false" type="Kotlin" pattern_context="default" reformatAccordingToStyle="true" shortenFQN="false" replacement="configureByText($text$)">
<constraint name="__context__" within="" contains="" />
<constraint name="fixture" regexp="myFixture" nameOfExprType="CodeInsightTestFixture" within="" contains="" />
<constraint name="check" regexp="configureByText" within="" contains="" />
<constraint name="text" within="" contains="" />
<constraint name="fileName" within="" contains="" />
</replaceConfiguration>
<replaceConfiguration name="Use IdeaVim method instead of the fixture" uuid="0f74da52-7360-33ae-9b40-d771aa128de6" text="$fixture$.$check$($data$)" recursive="false" caseInsensitive="false" type="JAVA" pattern_context="default" reformatAccordingToStyle="true" shortenFQN="true" replacement="assertState($data$)">
<constraint name="__context__" within="" contains="" />
<constraint name="fixture" regexp="myFixture" within="" contains="" />
<constraint name="check" regexp="checkResult" within="" contains="" />
<constraint name="data" within="" contains="" />
</replaceConfiguration>
<replaceConfiguration name="Use IdeaVim method instead of the fixture" uuid="0f74da52-7360-33ae-9b40-d771aa128de6" text="$fixture$.$configure$($first$, $second$)" recursive="false" caseInsensitive="false" type="JAVA" pattern_context="default" reformatAccordingToStyle="true" shortenFQN="true" replacement="configureByText($second$)">
<constraint name="__context__" within="" contains="" />
<constraint name="fixture" regexp="myFixture" within="" contains="" />
<constraint name="configure" regexp="configureByText" within="" contains="" />
<constraint name="first" within="" contains="" />
<constraint name="second" within="" contains="" />
</replaceConfiguration>
</inspection_tool>
<inspection_tool class="UnstableApiUsage" enabled="false" level="WARNING" enabled_by_default="false" />
</profile>
</component>
+62
View File
@@ -0,0 +1,62 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<description>Inspections profile for Qodana</description>
<option name="myName" value="Qodana" />
<inspection_tool class="BooleanMethodIsAlwaysInverted" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="CanBeFinal" enabled="false" level="WARNING" enabled_by_default="false">
<option name="REPORT_CLASSES" value="false" />
<option name="REPORT_METHODS" value="false" />
<option name="REPORT_FIELDS" value="true" />
</inspection_tool>
<inspection_tool class="GrUnresolvedAccess" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="HardCodedStringLiteral" enabled="false" level="WARNING" enabled_by_default="false">
<scope name="Production" level="WARNING" enabled="false">
<option name="ignoreForAssertStatements" value="true" />
<option name="ignoreForExceptionConstructors" value="true" />
<option name="ignoreForSpecifiedExceptionConstructors" value="" />
<option name="ignoreForJUnitAsserts" value="true" />
<option name="ignoreForClassReferences" value="true" />
<option name="ignoreForPropertyKeyReferences" value="true" />
<option name="ignoreForNonAlpha" value="true" />
<option name="ignoreAssignedToConstants" value="false" />
<option name="ignoreToString" value="true" />
<option name="nonNlsCommentPattern" value="NON-NLS" />
</scope>
<option name="ignoreForAssertStatements" value="true" />
<option name="ignoreForExceptionConstructors" value="true" />
<option name="ignoreForSpecifiedExceptionConstructors" value="" />
<option name="ignoreForJUnitAsserts" value="true" />
<option name="ignoreForClassReferences" value="true" />
<option name="ignoreForPropertyKeyReferences" value="true" />
<option name="ignoreForNonAlpha" value="true" />
<option name="ignoreAssignedToConstants" value="false" />
<option name="ignoreToString" value="false" />
<option name="nonNlsCommentPattern" value="NON-NLS" />
</inspection_tool>
<inspection_tool class="MagicConstant" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="MissortedModifiers" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_requireAnnotationsFirst" value="true" />
</inspection_tool>
<inspection_tool class="SameParameterValue" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="SameReturnValue" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
<option name="processCode" value="true" />
<option name="processLiterals" value="true" />
<option name="processComments" value="true" />
</inspection_tool>
<inspection_tool class="SuperTearDownInFinally" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UnstableApiUsage" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="unused" enabled="false" level="WARNING" enabled_by_default="false" checkParameterExcludingHierarchy="false">
<option name="LOCAL_VARIABLE" value="true" />
<option name="FIELD" value="true" />
<option name="METHOD" value="true" />
<option name="CLASS" value="true" />
<option name="PARAMETER" value="true" />
<option name="REPORT_PARAMETER_FOR_PUBLIC_METHODS" value="true" />
<option name="ADD_MAINS_TO_ENTRIES" value="true" />
<option name="ADD_APPLET_TO_ENTRIES" value="true" />
<option name="ADD_SERVLET_TO_ENTRIES" value="true" />
<option name="ADD_NONJAVA_TO_ENTRIES" value="true" />
</inspection_tool>
</profile>
</component>
-10
View File
@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="EntryPointsManager">
<entry_points version="2.0" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="IntelliJ Plugin SDK" project-jdk-type="IDEA JDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>
-9
View File
@@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/ideavim.iml" filepath="$PROJECT_DIR$/ideavim.iml" />
</modules>
</component>
</project>
-36
View File
@@ -1,36 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="All tests" type="JUnit" factoryName="JUnit">
<extension name="coverage" enabled="false" merge="false" runner="idea">
<pattern>
<option name="PATTERN" value="com.maddyhome.idea.vim.*" />
<option name="ENABLED" value="true" />
</pattern>
<pattern>
<option name="PATTERN" value="org.jetbrains.plugins.ideavim.*" />
<option name="ENABLED" value="true" />
</pattern>
</extension>
<module name="ideavim" />
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
<option name="ALTERNATIVE_JRE_PATH" value="" />
<option name="PACKAGE_NAME" value="org.jetbrains.plugins.ideavim" />
<option name="MAIN_CLASS_NAME" value="" />
<option name="METHOD_NAME" value="" />
<option name="TEST_OBJECT" value="package" />
<option name="VM_PARAMETERS" value="-ea" />
<option name="PARAMETERS" value="" />
<option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
<option name="ENV_VARIABLES" />
<option name="PASS_PARENT_ENVS" value="true" />
<option name="TEST_SEARCH_SCOPE">
<value defaultName="moduleWithDependencies" />
</option>
<envs />
<patterns />
<RunnerSettings RunnerId="Cover" />
<RunnerSettings RunnerId="Run" />
<ConfigurationWrapper RunnerId="Cover" />
<ConfigurationWrapper RunnerId="Run" />
<method />
</configuration>
</component>
-10
View File
@@ -1,10 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="IdeaVim" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin">
<module name="ideavim" />
<option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -Didea.is.internal=true" />
<option name="PROGRAM_PARAMETERS" value="" />
<RunnerSettings RunnerId="Run" />
<ConfigurationWrapper RunnerId="Run" />
<method />
</configuration>
</component>
+25
View File
@@ -0,0 +1,25 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="IdeaVim full verification" type="GradleRunConfiguration" factoryName="Gradle">
<log_file alias="idea.log" path="$PROJECT_DIR$/build/idea-sandbox/system/log/idea.log" />
<ExternalSystemSettings>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="" />
<option name="taskDescriptions">
<list />
</option>
<option name="taskNames">
<list>
<option value="check" />
<option value="runPluginVerifier" />
</list>
</option>
<option name="vmOptions" value="" />
</ExternalSystemSettings>
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
<DebugAllEnabled>false</DebugAllEnabled>
<method v="2" />
</configuration>
</component>
+24
View File
@@ -0,0 +1,24 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="IdeaVim tests" type="GradleRunConfiguration" factoryName="Gradle">
<log_file alias="idea.log" path="$PROJECT_DIR$/build/idea-sandbox/system/log/idea.log" />
<ExternalSystemSettings>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="" />
<option name="taskDescriptions">
<list />
</option>
<option name="taskNames">
<list>
<option value="test" />
</list>
</option>
<option name="vmOptions" value="" />
</ExternalSystemSettings>
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
<DebugAllEnabled>false</DebugAllEnabled>
<method v="2" />
</configuration>
</component>
+24
View File
@@ -0,0 +1,24 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Start IJ with IdeaVim" type="GradleRunConfiguration" factoryName="Gradle">
<log_file alias="idea.log" path="$PROJECT_DIR$/build/idea-sandbox/system/log/idea.log" />
<ExternalSystemSettings>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" value="" />
<option name="taskDescriptions">
<list />
</option>
<option name="taskNames">
<list>
<option value="runIde" />
</list>
</option>
<option name="vmOptions" value="" />
</ExternalSystemSettings>
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
<DebugAllEnabled>false</DebugAllEnabled>
<method v="2" />
</configuration>
</component>
+3
View File
@@ -0,0 +1,3 @@
<component name="DependencyValidationManager">
<scope name="Copyright" pattern="file:*/&amp;&amp;!file:.github//*&amp;&amp;!file:.idea//*&amp;&amp;!file:.teamcity//*&amp;&amp;!file:assets//*&amp;&amp;!file:config//*&amp;&amp;!file:doc//*&amp;&amp;!file:gradle//*&amp;&amp;!file:gradlew&amp;&amp;!file:gradlew.bat&amp;&amp;!file:src/main/resources//*&amp;&amp;!file:antlr//*&amp;&amp;!file:java/com/maddyhome/idea/vim/regexp/RegExp.kt&amp;&amp;!file:java/com/maddyhome/idea/vim/ui/Tutor.kt&amp;&amp;!file:java/com/maddyhome/idea/vim/helper/ScrollViewHelper.kt" />
</component>
Generated
+13 -4
View File
@@ -1,7 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
<component name="IssueNavigationConfiguration">
<option name="links">
<list>
<IssueNavigationLink>
<option name="issueRegexp" value="[A-Z]+\-\d+" />
<option name="linkRegexp" value="https://youtrack.jetbrains.com/issue/$0" />
</IssueNavigationLink>
</list>
</option>
</component>
</project>
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>
+19
View File
@@ -0,0 +1,19 @@
package _Self
object Constants {
const val DEFAULT_CHANNEL = "default"
const val EAP_CHANNEL = "eap"
const val DEV_CHANNEL = "Dev"
const val VERSION = "2.4.0"
const val GITHUB_TESTS = "LATEST-EAP-SNAPSHOT"
const val NVIM_TESTS = "LATEST-EAP-SNAPSHOT"
const val PROPERTY_TESTS = "LATEST-EAP-SNAPSHOT"
const val LONG_RUNNING_TESTS = "LATEST-EAP-SNAPSHOT"
const val QODANA_TESTS = "LATEST-EAP-SNAPSHOT"
const val RELEASE = "2023.1.2"
const val RELEASE_DEV = "2023.1.2"
const val RELEASE_EAP = "2023.1.2"
}
+55
View File
@@ -0,0 +1,55 @@
package _Self
import _Self.buildTypes.Compatibility
import _Self.buildTypes.LongRunning
import _Self.buildTypes.Nvim
import _Self.buildTypes.PluginVerifier
import _Self.buildTypes.PropertyBased
import _Self.buildTypes.Qodana
import _Self.buildTypes.TestingBuildType
import _Self.subprojects.GitHub
import _Self.subprojects.OldTests
import _Self.subprojects.Releases
import _Self.vcsRoots.GitHubPullRequest
import jetbrains.buildServer.configs.kotlin.v2019_2.BuildType
import jetbrains.buildServer.configs.kotlin.v2019_2.Project
object Project : Project({
description = "Vim engine for IDEs based on the IntelliJ platform"
subProjects(Releases, OldTests, GitHub)
// VCS roots
vcsRoot(GitHubPullRequest)
// Active tests
buildType(TestingBuildType("Latest EAP", "<default>", version = "LATEST-EAP-SNAPSHOT"))
buildType(TestingBuildType("Latest EAP With Xorg", "<default>", version = "LATEST-EAP-SNAPSHOT"))
buildType(PropertyBased)
buildType(LongRunning)
buildType(Nvim)
buildType(PluginVerifier)
buildType(Compatibility)
buildType(Qodana)
})
// Common build type for all configurations
abstract class IdeaVimBuildType(init: BuildType.() -> Unit) : BuildType({
init()
requirements {
// These requirements define Linux-Medium configuration.
// Unfortunately, requirement by name (teamcity.agent.name) doesn't work
// IDK the reason for it, but on our agents this property is empty
equals("teamcity.agent.hardware.cpuCount", "4")
equals("teamcity.agent.os.family", "Linux")
}
failureConditions {
// Disable detection of the java OOM
javaCrash = false
}
})
+64
View File
@@ -0,0 +1,64 @@
package _Self.buildTypes
import _Self.IdeaVimBuildType
import jetbrains.buildServer.configs.kotlin.v2019_2.DslContext
import jetbrains.buildServer.configs.kotlin.v2019_2.buildFeatures.golang
import jetbrains.buildServer.configs.kotlin.v2019_2.buildSteps.script
import jetbrains.buildServer.configs.kotlin.v2019_2.triggers.schedule
object Compatibility : IdeaVimBuildType({
id("IdeaVimCompatibility")
name = "IdeaVim compatibility with external plugins"
vcs {
root(DslContext.settingsRoot)
branchFilter = "+:<default>"
}
steps {
script {
name = "Load Verifier"
scriptContent = """
mkdir verifier1
curl -f -L -o verifier1/verifier-cli-dev-all-1.jar "https://packages.jetbrains.team/files/p/ideavim/plugin-verifier/verifier-cli-dev-all-1.jar"
""".trimIndent()
}
script {
name = "Check"
scriptContent = """
# We use a custom build of verifier that downloads IdeaVim from dev channel
# To create a custom build: Download plugin verifier repo, add an if that switches to dev channel for IdeaVim repo
# At the moment it's com.jetbrains.pluginverifier.repository.repositories.marketplace.MarketplaceRepository#getLastCompatibleVersionOfPlugin
# Build using gradlew :intellij-plugin-verifier:verifier-cli:shadowJar
# Upload verifier-cli-dev-all.jar artifact to the repo in IdeaVim space repo
java --version
java -jar verifier1/verifier-cli-dev-all-1.jar check-plugin '${'$'}org.jetbrains.IdeaVim-EasyMotion' [latest-IU] -team-city
java -jar verifier1/verifier-cli-dev-all-1.jar check-plugin '${'$'}io.github.mishkun.ideavimsneak' [latest-IU] -team-city
java -jar verifier1/verifier-cli-dev-all-1.jar check-plugin '${'$'}eu.theblob42.idea.whichkey' [latest-IU] -team-city
java -jar verifier1/verifier-cli-dev-all-1.jar check-plugin '${'$'}IdeaVimExtension' [latest-IU] -team-city
# Outdated java -jar verifier/verifier-cli-dev-all.jar check-plugin '${'$'}github.zgqq.intellij-enhance' [latest-IU] -team-city
java -jar verifier1/verifier-cli-dev-all-1.jar check-plugin '${'$'}com.github.copilot' [latest-IU] -team-city
java -jar verifier1/verifier-cli-dev-all-1.jar check-plugin '${'$'}com.github.dankinsoid.multicursor' [latest-IU] -team-city
java -jar verifier1/verifier-cli-dev-all-1.jar check-plugin '${'$'}com.joshestein.ideavim-quickscope' [latest-IU] -team-city
""".trimIndent()
}
}
triggers {
schedule {
schedulingPolicy = daily {
hour = 4
}
branchFilter = ""
triggerBuild = always()
withPendingChangesOnly = false
}
}
features {
golang {
testFormat = "json"
}
}
})
+46
View File
@@ -0,0 +1,46 @@
package _Self.buildTypes
import _Self.Constants.LONG_RUNNING_TESTS
import _Self.IdeaVimBuildType
import jetbrains.buildServer.configs.kotlin.v2019_2.CheckoutMode
import jetbrains.buildServer.configs.kotlin.v2019_2.DslContext
import jetbrains.buildServer.configs.kotlin.v2019_2.buildSteps.gradle
import jetbrains.buildServer.configs.kotlin.v2019_2.triggers.schedule
import jetbrains.buildServer.configs.kotlin.v2019_2.triggers.vcs
object LongRunning : IdeaVimBuildType({
name = "Long running tests"
params {
param("env.ORG_GRADLE_PROJECT_downloadIdeaSources", "false")
param("env.ORG_GRADLE_PROJECT_ideaVersion", LONG_RUNNING_TESTS)
param("env.ORG_GRADLE_PROJECT_instrumentPluginCode", "false")
}
vcs {
root(DslContext.settingsRoot)
branchFilter = "+:<default>"
checkoutMode = CheckoutMode.AUTO
}
steps {
gradle {
tasks = "clean testLongRunning"
buildFile = ""
enableStacktrace = true
}
}
triggers {
vcs {
enabled = false
branchFilter = "+:<default>"
}
schedule {
enabled = true
schedulingPolicy = daily {
hour = 5
}
}
}
})
+65
View File
@@ -0,0 +1,65 @@
package _Self.buildTypes
import _Self.Constants.NVIM_TESTS
import _Self.IdeaVimBuildType
import jetbrains.buildServer.configs.kotlin.v2019_2.CheckoutMode
import jetbrains.buildServer.configs.kotlin.v2019_2.DslContext
import jetbrains.buildServer.configs.kotlin.v2019_2.buildSteps.gradle
import jetbrains.buildServer.configs.kotlin.v2019_2.buildSteps.script
import jetbrains.buildServer.configs.kotlin.v2019_2.failureConditions.BuildFailureOnMetric
import jetbrains.buildServer.configs.kotlin.v2019_2.failureConditions.failOnMetricChange
import jetbrains.buildServer.configs.kotlin.v2019_2.triggers.vcs
object Nvim : IdeaVimBuildType({
name = "Tests with nvim"
description = "Running tests with nvim integration"
params {
param("env.ORG_GRADLE_PROJECT_downloadIdeaSources", "false")
param("env.ORG_GRADLE_PROJECT_ideaVersion", NVIM_TESTS)
param("env.ORG_GRADLE_PROJECT_instrumentPluginCode", "false")
param("env.ideavim.nvim.path", "./nvim-linux64/bin/nvim")
}
vcs {
root(DslContext.settingsRoot)
branchFilter = "+:<default>"
checkoutMode = CheckoutMode.AUTO
}
steps {
script {
name = "Set up NeoVim"
scriptContent = """
wget https://github.com/neovim/neovim/releases/download/v0.7.2/nvim-linux64.tar.gz
tar xzf nvim-linux64.tar.gz
cd nvim-linux64/bin
chmod +x nvim
""".trimIndent()
}
gradle {
tasks = "clean testWithNeovim"
buildFile = ""
enableStacktrace = true
}
}
triggers {
vcs {
branchFilter = "+:<default>"
}
}
failureConditions {
failOnMetricChange {
metric = BuildFailureOnMetric.MetricType.TEST_COUNT
threshold = 20
units = BuildFailureOnMetric.MetricUnit.PERCENTS
comparison = BuildFailureOnMetric.MetricComparison.LESS
compareTo = build {
buildRule = lastSuccessful()
}
}
}
})
+36
View File
@@ -0,0 +1,36 @@
package _Self.buildTypes
import _Self.IdeaVimBuildType
import jetbrains.buildServer.configs.kotlin.v2019_2.CheckoutMode
import jetbrains.buildServer.configs.kotlin.v2019_2.DslContext
import jetbrains.buildServer.configs.kotlin.v2019_2.buildSteps.gradle
import jetbrains.buildServer.configs.kotlin.v2019_2.triggers.vcs
object PluginVerifier : IdeaVimBuildType({
name = "Plugin verification"
params {
param("env.ORG_GRADLE_PROJECT_downloadIdeaSources", "false")
param("env.ORG_GRADLE_PROJECT_instrumentPluginCode", "false")
}
vcs {
root(DslContext.settingsRoot)
branchFilter = "+:<default>"
checkoutMode = CheckoutMode.AUTO
}
steps {
gradle {
tasks = "clean runPluginVerifier"
buildFile = ""
enableStacktrace = true
}
}
triggers {
vcs {
branchFilter = "+:<default>"
}
}
})
+38
View File
@@ -0,0 +1,38 @@
package _Self.buildTypes
import _Self.Constants.PROPERTY_TESTS
import _Self.IdeaVimBuildType
import jetbrains.buildServer.configs.kotlin.v2019_2.CheckoutMode
import jetbrains.buildServer.configs.kotlin.v2019_2.DslContext
import jetbrains.buildServer.configs.kotlin.v2019_2.buildSteps.gradle
import jetbrains.buildServer.configs.kotlin.v2019_2.triggers.vcs
object PropertyBased : IdeaVimBuildType({
name = "Property based tests"
params {
param("env.ORG_GRADLE_PROJECT_downloadIdeaSources", "false")
param("env.ORG_GRADLE_PROJECT_ideaVersion", PROPERTY_TESTS)
param("env.ORG_GRADLE_PROJECT_instrumentPluginCode", "false")
}
vcs {
root(DslContext.settingsRoot)
branchFilter = "+:<default>"
checkoutMode = CheckoutMode.AUTO
}
steps {
gradle {
tasks = "clean testPropertyBased"
buildFile = ""
enableStacktrace = true
}
}
triggers {
vcs {
branchFilter = "+:<default>"
}
}
})
+63
View File
@@ -0,0 +1,63 @@
package _Self.buildTypes
import _Self.IdeaVimBuildType
import jetbrains.buildServer.configs.kotlin.v2019_2.CheckoutMode
import jetbrains.buildServer.configs.kotlin.v2019_2.DslContext
import jetbrains.buildServer.configs.kotlin.v2019_2.ParameterDisplay
import jetbrains.buildServer.configs.kotlin.v2019_2.buildSteps.gradle
import jetbrains.buildServer.configs.kotlin.v2019_2.failureConditions.BuildFailureOnMetric
import jetbrains.buildServer.configs.kotlin.v2019_2.failureConditions.failOnMetricChange
import jetbrains.buildServer.configs.kotlin.v2019_2.triggers.ScheduleTrigger
import jetbrains.buildServer.configs.kotlin.v2019_2.triggers.schedule
object PublishVimEngine : IdeaVimBuildType({
name = "Publish vim-engine"
description = "Build and publish vim-engine library"
artifactRules = "build/distributions/*"
buildNumberPattern = "0.0.%build.counter%"
params {
param("env.ORG_GRADLE_PROJECT_engineVersion", "%build.number%")
param("env.ORG_GRADLE_PROJECT_uploadUrl", "https://packages.jetbrains.team/maven/p/ij/intellij-dependencies")
password("env.ORG_GRADLE_PROJECT_spacePassword", "credentialsJSON:790b4e43-ee83-4184-b81b-678afab60409", display = ParameterDisplay.HIDDEN)
param("env.ORG_GRADLE_PROJECT_spaceUsername", "Aleksei.Plate")
}
vcs {
root(DslContext.settingsRoot)
branchFilter = "+:<default>"
checkoutMode = CheckoutMode.AUTO
}
steps {
gradle {
tasks = ":vim-engine:publish"
buildFile = ""
enableStacktrace = true
}
}
triggers {
schedule {
enabled = true
schedulingPolicy = weekly {
dayOfWeek = ScheduleTrigger.DAY.Sunday
}
branchFilter = ""
}
}
failureConditions {
failOnMetricChange {
metric = BuildFailureOnMetric.MetricType.ARTIFACT_SIZE
threshold = 5
units = BuildFailureOnMetric.MetricUnit.PERCENTS
comparison = BuildFailureOnMetric.MetricComparison.DIFF
compareTo = build {
buildRule = lastSuccessful()
}
}
}
})
+81
View File
@@ -0,0 +1,81 @@
package _Self.buildTypes
import _Self.Constants.QODANA_TESTS
import _Self.IdeaVimBuildType
import jetbrains.buildServer.configs.kotlin.v2019_2.CheckoutMode
import jetbrains.buildServer.configs.kotlin.v2019_2.DslContext
import jetbrains.buildServer.configs.kotlin.v2019_2.buildSteps.Qodana
import jetbrains.buildServer.configs.kotlin.v2019_2.buildSteps.gradle
import jetbrains.buildServer.configs.kotlin.v2019_2.buildSteps.qodana
import jetbrains.buildServer.configs.kotlin.v2019_2.failureConditions.BuildFailureOnMetric
import jetbrains.buildServer.configs.kotlin.v2019_2.failureConditions.failOnMetricChange
import jetbrains.buildServer.configs.kotlin.v2019_2.triggers.schedule
import jetbrains.buildServer.configs.kotlin.v2019_2.triggers.vcs
object Qodana : IdeaVimBuildType({
name = "Qodana checks"
params {
param("env.ORG_GRADLE_PROJECT_downloadIdeaSources", "false")
param("env.ORG_GRADLE_PROJECT_ideaVersion", QODANA_TESTS)
param("env.ORG_GRADLE_PROJECT_instrumentPluginCode", "false")
}
vcs {
root(DslContext.settingsRoot)
branchFilter = "+:<default>"
checkoutMode = CheckoutMode.AUTO
}
steps {
gradle {
name = "Generate grammar"
tasks = "generateGrammarSource"
}
qodana {
name = "Qodana"
param("clonefinder-languages", "")
param("collect-anonymous-statistics", "")
param("licenseaudit-enable", "")
param("clonefinder-languages-container", "")
param("linterVersion", "")
param("clonefinder-queried-project", "")
param("clonefinder-enable", "")
param("clonefinder-reference-projects", "")
linter = jvm {
version = Qodana.JVMVersion.LATEST
}
reportAsTests = true
additionalDockerArguments = "-e QODANA_TOKEN=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJvcmdhbml6YXRpb24iOiIzUFZrQSIsInByb2plY3QiOiIzN1FlQSIsInRva2VuIjoiM0t2bXoifQ.uohp81tM7iAfvvB6k8faarfpV-OjusAaEbWQ8iNrOgs"
additionalQodanaArguments = "--baseline qodana.sarif.json"
}
}
triggers {
vcs {
enabled = false
branchFilter = "+:<default>"
}
schedule {
schedulingPolicy = daily {
hour = 12
minute = 0
timezone = "SERVER"
}
param("dayOfWeek", "Sunday")
enabled = false
}
}
failureConditions {
failOnMetricChange {
threshold = 0
units = BuildFailureOnMetric.MetricUnit.DEFAULT_UNIT
comparison = BuildFailureOnMetric.MetricComparison.MORE
compareTo = value()
metric = BuildFailureOnMetric.MetricType.TEST_FAILED_COUNT
param("metricKey", "QodanaProblemsNew")
enabled = false
}
}
})
+87
View File
@@ -0,0 +1,87 @@
package _Self.buildTypes
import _Self.Constants.DEV_CHANNEL
import _Self.Constants.RELEASE_DEV
import _Self.IdeaVimBuildType
import jetbrains.buildServer.configs.kotlin.v2019_2.CheckoutMode
import jetbrains.buildServer.configs.kotlin.v2019_2.DslContext
import jetbrains.buildServer.configs.kotlin.v2019_2.buildFeatures.sshAgent
import jetbrains.buildServer.configs.kotlin.v2019_2.buildSteps.gradle
import jetbrains.buildServer.configs.kotlin.v2019_2.buildSteps.script
import jetbrains.buildServer.configs.kotlin.v2019_2.failureConditions.BuildFailureOnMetric
import jetbrains.buildServer.configs.kotlin.v2019_2.failureConditions.failOnMetricChange
import jetbrains.buildServer.configs.kotlin.v2019_2.triggers.schedule
object ReleaseDev : IdeaVimBuildType({
name = "Publish Dev Build"
description = "Build and publish Dev of IdeaVim plugin"
artifactRules = "build/distributions/*"
params {
param("env.ORG_GRADLE_PROJECT_ideaVersion", RELEASE_DEV)
password(
"env.ORG_GRADLE_PROJECT_publishToken",
"credentialsJSON:61a36031-4da1-4226-a876-b8148bf32bde",
label = "Password"
)
param("env.ORG_GRADLE_PROJECT_publishChannels", DEV_CHANNEL)
}
vcs {
root(DslContext.settingsRoot)
branchFilter = "+:<default>"
checkoutMode = CheckoutMode.AUTO
}
steps {
script {
name = "Pull git tags"
scriptContent = "git fetch --tags origin"
}
script {
name = "Pull git history"
scriptContent = "git fetch --unshallow"
}
gradle {
name = "Calculate new dev version"
tasks = "scripts:calculateNewDevVersion"
}
gradle {
name = "Set TeamCity build number"
tasks = "scripts:setTeamCityBuildNumber"
}
gradle {
tasks = "publishPlugin"
}
}
triggers {
schedule {
enabled = true
schedulingPolicy = daily {
hour = 2
}
branchFilter = ""
}
}
features {
sshAgent {
teamcitySshKey = "IdeaVim ssh keys"
}
}
failureConditions {
failOnMetricChange {
metric = BuildFailureOnMetric.MetricType.ARTIFACT_SIZE
threshold = 5
units = BuildFailureOnMetric.MetricUnit.PERCENTS
comparison = BuildFailureOnMetric.MetricComparison.DIFF
compareTo = build {
buildRule = lastSuccessful()
}
}
}
})
+111
View File
@@ -0,0 +1,111 @@
package _Self.buildTypes
import _Self.Constants.EAP_CHANNEL
import _Self.Constants.RELEASE_EAP
import _Self.IdeaVimBuildType
import jetbrains.buildServer.configs.kotlin.v2019_2.CheckoutMode
import jetbrains.buildServer.configs.kotlin.v2019_2.DslContext
import jetbrains.buildServer.configs.kotlin.v2019_2.buildFeatures.sshAgent
import jetbrains.buildServer.configs.kotlin.v2019_2.buildSteps.gradle
import jetbrains.buildServer.configs.kotlin.v2019_2.buildSteps.script
import jetbrains.buildServer.configs.kotlin.v2019_2.failureConditions.BuildFailureOnMetric
import jetbrains.buildServer.configs.kotlin.v2019_2.failureConditions.failOnMetricChange
object ReleaseEap : IdeaVimBuildType({
name = "Publish EAP Build"
description = "Build and publish EAP of IdeaVim plugin"
artifactRules = "build/distributions/*"
params {
param("env.ORG_GRADLE_PROJECT_ideaVersion", RELEASE_EAP)
password(
"env.ORG_GRADLE_PROJECT_publishToken",
"credentialsJSON:61a36031-4da1-4226-a876-b8148bf32bde",
label = "Password"
)
param("env.ORG_GRADLE_PROJECT_publishChannels", EAP_CHANNEL)
password(
"env.ORG_GRADLE_PROJECT_slackUrl",
"credentialsJSON:a8ab8150-e6f8-4eaf-987c-bcd65eac50b5",
label = "Slack Token"
)
}
vcs {
root(DslContext.settingsRoot)
branchFilter = "+:<default>"
checkoutMode = CheckoutMode.AUTO
}
steps {
script {
name = "Pull git tags"
scriptContent = "git fetch --tags origin"
}
script {
name = "Pull git history"
scriptContent = "git fetch --unshallow"
}
gradle {
name = "Calculate new eap version"
tasks = "scripts:calculateNewEapVersion"
}
gradle {
name = "Set TeamCity build number"
tasks = "scripts:setTeamCityBuildNumber"
}
gradle {
name = "Add release tag"
tasks = "scripts:addReleaseTag"
}
gradle {
tasks = "publishPlugin"
}
// Same as the script below. However, jgit can't find ssh keys on TeamCity
// gradle {
// name = "Push changes to the repo"
// tasks = "scripts:pushChanges"
// }
script {
name = "Push changes to the repo"
scriptContent = """
branch=$(git branch --show-current)
echo current branch is ${'$'}branch
if [ "master" != "${'$'}branch" ];
then
exit 1
fi
git push origin %build.number%
""".trimIndent()
}
}
features {
sshAgent {
teamcitySshKey = "IdeaVim ssh keys"
}
}
failureConditions {
failOnMetricChange {
metric = BuildFailureOnMetric.MetricType.ARTIFACT_SIZE
threshold = 5
units = BuildFailureOnMetric.MetricUnit.PERCENTS
comparison = BuildFailureOnMetric.MetricComparison.DIFF
compareTo = build {
buildRule = lastSuccessful()
}
}
}
requirements {
// These requirements define Linux-XLarge configuration.
// Unfortunately, requirement by name (teamcity.agent.name) doesn't work
// IDK the reason for it, but on our agents this property is empty
// equals("teamcity.agent.hardware.cpuCount", "16")
// equals("teamcity.agent.os.family", "Linux")
}
})
+155
View File
@@ -0,0 +1,155 @@
/*
* Copyright 2003-2023 The IdeaVim authors
*
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE.txt file or at
* https://opensource.org/licenses/MIT.
*/
package _Self.buildTypes
import _Self.Constants.DEFAULT_CHANNEL
import _Self.Constants.DEV_CHANNEL
import _Self.Constants.EAP_CHANNEL
import _Self.Constants.RELEASE
import _Self.IdeaVimBuildType
import jetbrains.buildServer.configs.kotlin.v2019_2.CheckoutMode
import jetbrains.buildServer.configs.kotlin.v2019_2.DslContext
import jetbrains.buildServer.configs.kotlin.v2019_2.ParameterDisplay
import jetbrains.buildServer.configs.kotlin.v2019_2.buildFeatures.sshAgent
import jetbrains.buildServer.configs.kotlin.v2019_2.buildSteps.gradle
import jetbrains.buildServer.configs.kotlin.v2019_2.buildSteps.script
import jetbrains.buildServer.configs.kotlin.v2019_2.failureConditions.BuildFailureOnMetric
import jetbrains.buildServer.configs.kotlin.v2019_2.failureConditions.failOnMetricChange
object ReleaseMajor : ReleasePlugin("major")
object ReleaseMinor : ReleasePlugin("minor")
object ReleasePatch : ReleasePlugin("patch")
sealed class ReleasePlugin(private val releaseType: String) : IdeaVimBuildType({
name = "Publish $releaseType release"
description = "Build and publish IdeaVim plugin"
artifactRules = "build/distributions/*"
params {
param("env.ORG_GRADLE_PROJECT_ideaVersion", RELEASE)
password(
"env.ORG_GRADLE_PROJECT_publishToken",
"credentialsJSON:61a36031-4da1-4226-a876-b8148bf32bde",
label = "Password"
)
param("env.ORG_GRADLE_PROJECT_publishChannels", "$DEFAULT_CHANNEL,$EAP_CHANNEL,$DEV_CHANNEL")
password(
"env.ORG_GRADLE_PROJECT_slackUrl",
"credentialsJSON:a8ab8150-e6f8-4eaf-987c-bcd65eac50b5",
label = "Slack Token"
)
password("env.ORG_GRADLE_PROJECT_youtrackToken", "credentialsJSON:3cd3e867-282c-451f-b958-bc95d56a8450", display = ParameterDisplay.HIDDEN)
param("env.ORG_GRADLE_PROJECT_releaseType", releaseType)
}
vcs {
root(DslContext.settingsRoot)
branchFilter = "+:<default>"
checkoutMode = CheckoutMode.AUTO
}
steps {
script {
name = "Pull git tags"
scriptContent = "git fetch --tags origin"
}
script {
name = "Pull git history"
scriptContent = "git fetch --unshallow"
}
gradle {
name = "Select branch"
tasks = "scripts:selectBranch"
}
gradle {
name = "Calculate new version"
tasks = "scripts:calculateNewVersion"
}
gradle {
name = "Set TeamCity build number"
tasks = "scripts:setTeamCityBuildNumber"
}
gradle {
name = "Update change log"
tasks = "scripts:changelogUpdateUnreleased"
}
gradle {
name = "Commit preparation changes"
tasks = "scripts:commitChanges"
}
gradle {
name = "Add release tag"
tasks = "scripts:addReleaseTag"
}
gradle {
name = "Reset release branch"
tasks = "scripts:resetReleaseBranch"
}
gradle {
name = "Publish release"
tasks = "publishPlugin"
}
// gradle {
// name = "Push changes to the repo"
// tasks = "scripts:pushChangesWithReleaseBranch"
// }
script {
name = "Push changes to the repo"
scriptContent = """
branch=$(git branch --show-current)
echo current branch is ${'$'}branch
if [ "master" != "${'$'}branch" ];
then
git checkout master
fi
git push origin --tags
git push origin
if [ "patch" != $releaseType ];
then
git checkout release
echo checkout release branch
git push --tags
git push origin --force
fi
git checkout ${'$'}branch
""".trimIndent()
}
gradle {
name = "Run Integrations"
tasks = "releaseActions"
}
gradle {
name = "Slack Notification"
tasks = "slackNotification"
}
}
features {
sshAgent {
teamcitySshKey = "IdeaVim ssh keys"
}
}
failureConditions {
failOnMetricChange {
metric = BuildFailureOnMetric.MetricType.ARTIFACT_SIZE
threshold = 5
units = BuildFailureOnMetric.MetricUnit.PERCENTS
comparison = BuildFailureOnMetric.MetricComparison.DIFF
compareTo = build {
buildRule = lastSuccessful()
}
}
}
})
+72
View File
@@ -0,0 +1,72 @@
@file:Suppress("ClassName")
package _Self.buildTypes
import _Self.IdeaVimBuildType
import jetbrains.buildServer.configs.kotlin.v2019_2.CheckoutMode
import jetbrains.buildServer.configs.kotlin.v2019_2.DslContext
import jetbrains.buildServer.configs.kotlin.v2019_2.buildSteps.gradle
import jetbrains.buildServer.configs.kotlin.v2019_2.failureConditions.BuildFailureOnMetric
import jetbrains.buildServer.configs.kotlin.v2019_2.failureConditions.failOnMetricChange
import jetbrains.buildServer.configs.kotlin.v2019_2.triggers.vcs
open class TestingBuildType(
private val testName: String,
private val branch: String,
private val version: String = testName,
private val javaVersion: String? = null,
private val javaPlugin: Boolean = true,
) : IdeaVimBuildType({
id("IdeaVimTests_${testName.vanish()}")
name = "Tests for IntelliJ $testName"
params {
param("env.ORG_GRADLE_PROJECT_downloadIdeaSources", "false")
param("env.ORG_GRADLE_PROJECT_legacyNoJavaPlugin", javaPlugin.not().toString())
param("env.ORG_GRADLE_PROJECT_ideaVersion", version)
param("env.ORG_GRADLE_PROJECT_instrumentPluginCode", "false")
if (javaVersion != null) {
param("env.ORG_GRADLE_PROJECT_javaVersion", javaVersion)
}
}
vcs {
root(DslContext.settingsRoot)
branchFilter = "+:$branch"
checkoutMode = CheckoutMode.AUTO
}
steps {
gradle {
tasks = "clean test"
buildFile = ""
enableStacktrace = true
}
}
triggers {
vcs {
branchFilter = "+:$branch"
}
}
failureConditions {
failOnMetricChange {
metric = BuildFailureOnMetric.MetricType.TEST_COUNT
threshold = 20
units = BuildFailureOnMetric.MetricUnit.PERCENTS
comparison = BuildFailureOnMetric.MetricComparison.LESS
compareTo = build {
buildRule = lastSuccessful()
}
}
}
})
private fun String.vanish(): String {
return this
.replace(' ', '_')
.replace('.', '_')
.replace('-', '_')
}
+78
View File
@@ -0,0 +1,78 @@
package _Self.subprojects
import _Self.Constants
import _Self.IdeaVimBuildType
import _Self.vcsRoots.GitHubPullRequest
import jetbrains.buildServer.configs.kotlin.v2019_2.CheckoutMode
import jetbrains.buildServer.configs.kotlin.v2019_2.Project
import jetbrains.buildServer.configs.kotlin.v2019_2.buildFeatures.PullRequests
import jetbrains.buildServer.configs.kotlin.v2019_2.buildFeatures.commitStatusPublisher
import jetbrains.buildServer.configs.kotlin.v2019_2.buildFeatures.pullRequests
import jetbrains.buildServer.configs.kotlin.v2019_2.buildSteps.gradle
import jetbrains.buildServer.configs.kotlin.v2019_2.triggers.VcsTrigger
import jetbrains.buildServer.configs.kotlin.v2019_2.triggers.vcs
object GitHub : Project({
name = "Pull Requests checks"
description = "Automatic checking of GitHub Pull Requests"
buildType(Github("clean test", "Tests"))
})
class Github(command: String, desc: String) : IdeaVimBuildType({
name = "GitHub Pull Requests $desc"
description = "Test GitHub pull requests $desc"
params {
param("env.ORG_GRADLE_PROJECT_downloadIdeaSources", "false")
param("env.ORG_GRADLE_PROJECT_ideaVersion", Constants.GITHUB_TESTS)
param("env.ORG_GRADLE_PROJECT_instrumentPluginCode", "false")
}
vcs {
root(GitHubPullRequest)
checkoutMode = CheckoutMode.AUTO
branchFilter = """
+:*
-:<default>
""".trimIndent()
}
steps {
gradle {
tasks = command
buildFile = ""
enableStacktrace = true
}
}
triggers {
vcs {
quietPeriodMode = VcsTrigger.QuietPeriodMode.USE_DEFAULT
branchFilter = ""
}
}
features {
pullRequests {
provider = github {
authType = token {
token = "credentialsJSON:90f3b439-6e91-40f7-a086-d4dd8e0ea9b8"
}
filterTargetBranch = "refs/heads/master"
filterAuthorRole = PullRequests.GitHubRoleFilter.EVERYBODY
}
}
commitStatusPublisher {
vcsRootExtId = "${GitHubPullRequest.id}"
publisher = github {
githubUrl = "https://api.github.com"
authType = personalToken {
token = "credentialsJSON:90f3b439-6e91-40f7-a086-d4dd8e0ea9b8"
}
}
param("github_oauth_user", "AlexPl292")
}
}
})
+23
View File
@@ -0,0 +1,23 @@
package _Self.subprojects
import _Self.buildTypes.TestingBuildType
import jetbrains.buildServer.configs.kotlin.v2019_2.Project
object OldTests : Project({
name = "Old IdeaVim tests"
description = "Tests for older versions of IJ"
buildType(TestingBuildType("IC-2018.1", "181-182", javaVersion = "1.8", javaPlugin = false))
buildType(TestingBuildType("IC-2018.2", "181-182", javaVersion = "1.8", javaPlugin = false))
buildType(TestingBuildType("IC-2018.3", "183", javaVersion = "1.8", javaPlugin = false))
buildType(TestingBuildType("IC-2019.1", "191-193", javaVersion = "1.8", javaPlugin = false))
buildType(TestingBuildType("IC-2019.2", "191-193", javaVersion = "1.8", javaPlugin = false))
buildType(TestingBuildType("IC-2019.3", "191-193", javaVersion = "1.8", javaPlugin = false))
buildType(TestingBuildType("IC-2020.1", "201", javaVersion = "1.8", javaPlugin = false))
buildType(TestingBuildType("IC-2020.2", "202", javaVersion = "1.8", javaPlugin = false))
buildType(TestingBuildType("IC-2020.3", "203-212", javaVersion = "1.8", javaPlugin = false))
buildType(TestingBuildType("IC-2021.1", "203-212", javaVersion = "1.8", javaPlugin = false))
buildType(TestingBuildType("IC-2021.2.2", "203-212", javaVersion = "1.8", javaPlugin = false))
buildType(TestingBuildType("IC-2021.3.2", "213-221", javaVersion = "1.8", javaPlugin = false))
buildType(TestingBuildType("IC-2022.2.3", branch = "222", javaPlugin = false))
})
+41
View File
@@ -0,0 +1,41 @@
package _Self.subprojects
import _Self.buildTypes.PublishVimEngine
import _Self.buildTypes.ReleaseDev
import _Self.buildTypes.ReleaseEap
import _Self.buildTypes.ReleaseMajor
import _Self.buildTypes.ReleaseMinor
import _Self.buildTypes.ReleasePatch
import jetbrains.buildServer.configs.kotlin.v2019_2.ParameterDisplay
import jetbrains.buildServer.configs.kotlin.v2019_2.Project
object Releases : Project({
name = "IdeaVim releases"
description = "Stable and EAP releases for IdeaVim"
params {
password(
"env.CERTIFICATE_CHAIN",
"credentialsJSON:1bab4a88-10e7-4bf9-856c-e6253499dc95",
display = ParameterDisplay.HIDDEN
)
password(
"env.PRIVATE_KEY_PASSWORD",
"credentialsJSON:7c12c867-fe09-4a2f-884d-6fd0ec0a1e79",
display = ParameterDisplay.HIDDEN
)
password(
"env.PRIVATE_KEY",
"credentialsJSON:5d8b553d-fd7e-4347-abd2-51d8d0f2b3f7",
display = ParameterDisplay.HIDDEN
)
}
// buildType(Release)
buildType(ReleaseMajor)
buildType(ReleaseMinor)
buildType(ReleasePatch)
buildType(ReleaseEap)
buildType(ReleaseDev)
buildType(PublishVimEngine)
})
+12
View File
@@ -0,0 +1,12 @@
package _Self.vcsRoots
import jetbrains.buildServer.configs.kotlin.v2019_2.vcs.GitVcsRoot
object GitHubPullRequest : GitVcsRoot({
name = "IdeaVim Pull Requests"
url = "git@github.com:JetBrains/ideavim.git"
branchSpec = "+:refs/(pull/*)/head"
authMethod = uploadedKey {
uploadedKey = "IdeaVim ssh keys"
}
})
@@ -0,0 +1,20 @@
package patches.buildTypes
import jetbrains.buildServer.configs.kotlin.v2019_2.*
import jetbrains.buildServer.configs.kotlin.v2019_2.ui.*
/*
This patch script was generated by TeamCity on settings change in UI.
To apply the patch, change the buildType with id = 'IdeaVimTests_Latest_EAP_With_Xorg'
accordingly, and delete the patch script.
*/
changeBuildType(RelativeId("IdeaVimTests_Latest_EAP_With_Xorg")) {
requirements {
add {
matches("teamcity.agent.jvm.os.family", "Linux")
}
add {
exists("env.DISPLAY")
}
}
}
+20
View File
@@ -0,0 +1,20 @@
package patches.buildTypes
import jetbrains.buildServer.configs.kotlin.v2019_2.*
import jetbrains.buildServer.configs.kotlin.v2019_2.ui.*
/*
This patch script was generated by TeamCity on settings change in UI.
To apply the patch, change the buildType with id = 'ReleasePatch'
accordingly, and delete the patch script.
*/
changeBuildType(RelativeId("ReleasePatch")) {
params {
expect {
password("env.ORG_GRADLE_PROJECT_youtrackToken", "credentialsJSON:3cd3e867-282c-451f-b958-bc95d56a8450", display = ParameterDisplay.HIDDEN)
}
update {
password("env.ORG_GRADLE_PROJECT_youtrackToken", "credentialsJSON:7bc0eb3a-b86a-4ebd-b622-d4ef12d7e1d3", display = ParameterDisplay.HIDDEN)
}
}
}
+104
View File
@@ -0,0 +1,104 @@
<?xml version="1.0"?>
<project>
<modelVersion>4.0.0</modelVersion>
<name>IdeaVim Config DSL Script</name>
<groupId>IdeaVim</groupId>
<artifactId>IdeaVim_dsl</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.jetbrains.teamcity</groupId>
<artifactId>configs-dsl-kotlin-parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<repositories>
<repository>
<id>jetbrains-all</id>
<url>https://download.jetbrains.com/teamcity-repository</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>teamcity-server</id>
<url>https://ideavim.teamcity.com/app/dsl-plugins-repository</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>JetBrains</id>
<url>https://download.jetbrains.com/teamcity-repository</url>
</pluginRepository>
</pluginRepositories>
<build>
<sourceDirectory>${basedir}</sourceDirectory>
<plugins>
<plugin>
<artifactId>kotlin-maven-plugin</artifactId>
<groupId>org.jetbrains.kotlin</groupId>
<version>${kotlin.version}</version>
<configuration/>
<executions>
<execution>
<id>compile</id>
<phase>process-sources</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>test-compile</id>
<phase>process-test-sources</phase>
<goals>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.jetbrains.teamcity</groupId>
<artifactId>teamcity-configs-maven-plugin</artifactId>
<version>${teamcity.dsl.version}</version>
<configuration>
<format>kotlin</format>
<dstDir>target/generated-configs</dstDir>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.jetbrains.teamcity</groupId>
<artifactId>configs-dsl-kotlin</artifactId>
<version>${teamcity.dsl.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.teamcity</groupId>
<artifactId>configs-dsl-kotlin-plugins</artifactId>
<version>1.0-SNAPSHOT</version>
<type>pom</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jdk8</artifactId>
<version>${kotlin.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-script-runtime</artifactId>
<version>${kotlin.version}</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
+34
View File
@@ -0,0 +1,34 @@
import jetbrains.buildServer.configs.kotlin.v2019_2.project
import jetbrains.buildServer.configs.kotlin.v2019_2.version
/*
The settings script is an entry point for defining a single
TeamCity project. TeamCity looks for the 'settings.kts' file in a
project directory and runs it if it's found, so the script name
shouldn't be changed and its package should be the same as the
project's id.
The script should contain a single call to the project() function
with a Project instance or an init function as an argument.
VcsRoots, BuildTypes, and Templates of this project must be
registered inside project using the vcsRoot(), buildType(), and
template() methods respectively.
Subprojects can be defined either in their own settings.kts or by
calling the subProjects() method in this project.
To debug settings scripts in command-line, run the
mvnDebug org.jetbrains.teamcity:teamcity-configs-maven-plugin:generate
command and attach your debugger to the port 8000.
To debug in IntelliJ Idea, open the 'Maven Projects' tool window (View ->
Tool Windows -> Maven Projects), find the generate task
node (Plugins -> teamcity-configs -> teamcity-configs:generate),
the 'Debug' option is available in the context menu for the task.
*/
version = "2023.05"
project(_Self.Project)
+492 -14
View File
@@ -3,27 +3,505 @@ IdeaVim Authors
The original author:
* [Rick Maddy](mailto:rmaddy@maddyhome.com)
* [![icon][mail]](mailto:rmaddy@maddyhome.com)
[![icon][github-off]](#)
&nbsp;
Rick Maddy
The current maintainer:
The current maintainers:
* [Andrey Vlasovskikh](mailto:andrey.vlasovskikh@gmail.com)
* [![icon][mail]](mailto:alexpl292@gmail.com)
[![icon][github]](https://github.com/AlexPl292)
&nbsp;
Alex Plate
Previous maintainers:
* [Oleg Shpynov](mailto:oleg.shpynov@jetbrains.com)
* [![icon][mail]](mailto:oleg.shpynov@jetbrains.com)
[![icon][github]](https://github.com/olegs)
&nbsp;
Oleg Shpynov
* [![icon][mail]](mailto:andrey.vlasovskikh@gmail.com)
[![icon][github]](https://github.com/vlasovskikh)
&nbsp;
Andrey Vlasovskikh
Contributors:
* [Dmitry Jemerov](mailto:yole@jetbrains.com)
* [Marquis Wang](mailto:marquis@marquiswang.com)
* [Julien Hoarau](mailto:madgnome@gmail.com)
* [Masanobu Imai](mailto:masanobu.imai@gmail.com)
* [poxu](mailto:poxvuibr@gmail.com)
* [Alexander Zolotov](mailto:alexander.zolotov@jetbrains.com)
* [John Lindquist](mailto:johnlindquist@gmail.com)
* [Ira Klotzko](mailto:iklotzko@ltech.com)
* [Alex Selesse](mailto:alex@selesse.com)
* [![icon][mail]](mailto:yole@jetbrains.com)
[![icon][github]](https://github.com/yole)
&nbsp;
Dmitry Jemerov
* [![icon][mail]](mailto:tony.kay@gmail.com)
[![icon][github]](https://github.com/awkay)
&nbsp;
Tony Kay
* [![icon][mail]](mailto:jamescmartinez@gmail.com)
[![icon][github]](https://github.com/jamescmartinez)
&nbsp;
James Martinez
* [![icon][mail]](mailto:almas337519@gmail.com)
[![icon][github]](https://github.com/strogiyotec)
&nbsp;
strogiyotec
* [![icon][mail]](mailto:raimon49@hotmail.com)
[![icon][github]](https://github.com/raimon49)
&nbsp;
raimon
* [![icon][mail]](mailto:agrsbm@gmail.com)
[![icon][github-off]](#)
&nbsp;
Alexander Griesbaum
* [![icon][mail]](mailto:manwe64@gmail.com)
[![icon][github]](https://github.com/baldrs)
&nbsp;
Baldrs
* [![icon][mail]](mailto:yury@shurup.com)
[![icon][github]](https://github.com/zyv)
&nbsp;
Yury V. Zaytsev
* [![icon][mail]](mailto:jflorian@doubledog.org)
[![icon][github]](https://github.com/jflorian)
&nbsp;
John Florian
* [![icon][mail]](mailto:marquis@marquiswang.com)
[![icon][github]](https://github.com/marquiswang)
&nbsp;
Marquis Wang
* [![icon][mail]](mailto:madgnome@gmail.com)
[![icon][github]](https://github.com/madgnome)
&nbsp;
Julien Hoarau
* [![icon][mail]](mailto:masanobu.imai@gmail.com)
[![icon][github]](https://github.com/masanobuimai)
&nbsp;
Masanobu Imai
* [![icon][mail]](mailto:poxvuibr@gmail.com)
[![icon][github]](https://github.com/poxu)
&nbsp;
poxu
* [![icon][mail]](mailto:alexander.zolotov@jetbrains.com)
[![icon][github]](https://github.com/zolotov)
&nbsp;
Alexander Zolotov
* [![icon][mail]](mailto:johnlindquist@gmail.com)
[![icon][github]](https://github.com/johnlindquist)
&nbsp;
John Lindquist
* [![icon][mail]](mailto:iklotzko@ltech.com)
[![icon][github]](https://github.com/iklotzko)
&nbsp;
Ira Klotzko
* [![icon][mail]](mailto:alex@selesse.com)
[![icon][github]](https://github.com/selesse)
&nbsp;
Alex Selesse
* [![icon][mail]](mailto:dbennett@palantir.com)
[![icon][github]](https://github.com/dathanb)
&nbsp;
Dathan Bennett
* [![icon][mail]](mailto:kphayen@gmail.com)
[![icon][github-off]](#)
&nbsp;
salaam
* [![icon][mail]](mailto:rasen.dubi@gmail.com)
[![icon][github]](https://github.com/rasendubi)
&nbsp;
Alexey Shmalko
* [![icon][mail]](mailto:a.m.brookins@gmail.com)
[![icon][github]](https://github.com/abrookins)
&nbsp;
Andrew Brookins
* [![icon][mail]](mailto:changwang83@gmail.com)
[![icon][github]](https://github.com/changwang)
&nbsp;
Chang Wang
* [![icon][mail]](mailto:josejaime.sanchez@gmail.com)
[![icon][github-off]](#)
&nbsp;
Jaime Sanchez
* [![icon][mail]](mailto:thomas@homburg.dk)
[![icon][github]](https://github.com/homburg)
&nbsp;
Thomas B Homburg
* [![icon][mail]](mailto:smartbomb@server.fake)
[![icon][github]](https://github.com/smartbomb)
&nbsp;
smartbomb
* [![icon][mail]](mailto:tuomas.tynkkynen@iki.fi)
[![icon][github]](https://github.com/dezgeg)
&nbsp;
Tuomas Tynkkynen
* [![icon][mail]](mailto:jackson@donorschoose.org)
[![icon][github]](https://github.com/jdpopkin)
&nbsp;
Jackson Popkin
* [![icon][mail]](mailto:yuyuyu1999@gmail.com)
[![icon][github-off]](#)
&nbsp;
Teruo Kunihiro
* [![icon][mail]](mailto:lubashka.994@mail.ru)
[![icon][github]](https://github.com/lubba)
&nbsp;
Liubov Paina
* [![icon][mail]](mailto:me@dhleong.net)
[![icon][github]](https://github.com/dhleong)
&nbsp;
Daniel Leong
* [![icon][mail]](mailto:aleksey@pri-num.com)
[![icon][github-off]](#)
&nbsp;
Aleksey Lagoshin
* [![icon][mail]](mailto:pbu_98@yahoo.com)
[![icon][github-off]](#)
&nbsp;
Paulo Bu
* [![icon][mail]](mailto:gaganis@yahoo.com)
[![icon][github]](https://github.com/gaganis)
&nbsp;
Giorgos Gaganis
* [![icon][mail]](mailto:pavel.fatin@jetbrains.com)
[![icon][github]](https://github.com/pavelfatin)
&nbsp;
Pavel Fatin
* [![icon][mail]](mailto:tietyt@gmail.com)
[![icon][github-off]](https://github.com/DanKaplanSES)
&nbsp;
tieTYT
* [![icon][mail]](mailto:nickgieschen@gmail.com)
[![icon][github]](https://github.com/nickgieschen)
&nbsp;
Nick Gieschen
* [![icon][mail]](mailto:ikenox@gmail.com)
[![icon][github]](https://github.com/ikenox)
&nbsp;
Naoto Ikeno
* [![icon][mail]](mailto:qzed@users.noreply.github.com)
[![icon][github-off]](#)
&nbsp;
Maximilian Luz
* [![icon][mail]](mailto:vparfinenko@excelsior-usa.com)
[![icon][github]](https://github.com/cypok)
&nbsp;
Vladimir Parfinenko
* [![icon][mail]](mailto:hassmann@hwdev.de)
[![icon][github-off]](https://github.com/lumie1337)
&nbsp;
Florian Hassmann
* [![icon][mail]](mailto:jpalus@fastmail.com)
[![icon][github]](https://github.com/jpalus)
&nbsp;
Jan Palus
* [![icon][mail]](mailto:kpetrov@ripe.net)
[![icon][github-off]](https://github.com/constpetrov)
&nbsp;
Konstantin Petrov
* [![icon][mail]](mailto:ya-ikmik2012@yandex.ru)
[![icon][github]](https://github.com/vasalf)
&nbsp;
Vasily Alferov
* [![icon][mail]](mailto:fkve97@gmail.com)
[![icon][github]](https://github.com/karavaevitalii)
&nbsp;
Vitalii Karavaev
* [![icon][mail]](mailto:johnlinp@gmail.com)
[![icon][github]](https://github.com/johnlinp)
&nbsp;
John Lin
* [![icon][mail]](mailto:alexpl292@gmail.com)
[![icon][github]](https://github.com/AlexPl292)
&nbsp;
Alex Plate
* [![icon][mail]](mailto:m.t.ellis@gmail.com)
[![icon][github]](https://github.com/citizenmatt)
&nbsp;
Matt Ellis
* [![icon][mail]](mailto:johngrib82@gmail.com)
[![icon][github]](https://github.com/johngrib)
&nbsp;
John Grib
* [![icon][mail]](mailto:vedranb@gmail.com)
[![icon][github]](https://github.com/vedran)
&nbsp;
Vedran Budimcic
* [![icon][mail]](mailto:andreigasparovici1@gmail.com)
[![icon][github]](https://github.com/andreigasparovici)
&nbsp;
Andrei Gasparovici
* [![icon][mail]](mailto:qtankle@gmail.com)
[![icon][github]](https://github.com/dos65)
&nbsp;
dos65
* [![icon][mail]](mailto:ttonyarra@gmail.com)
[![icon][github]](https://github.com/TonyArra)
&nbsp;
Tony Arra
* [![icon][mail]](mailto:mj@ziolko.dev)
[![icon][github]](https://github.com/mjziolko)
&nbsp;
Madeline Ziolko
[Original contribution from:
[![icon][mail]](mailto:bradziolko@gmail.com)
[![icon][github]](https://github.com/bradziolko)]
* [![icon][mail]](mailto:sumoooru2@gmail.com)
[![icon][github]](https://github.com/sumoooru2)
&nbsp;
sumoooru2
* [![icon][mail]](mailto:aqwsedrft1234@yahoo.co.jp)
[![icon][github]](https://github.com/gecko655)
&nbsp;
gecko655
* [![icon][mail]](mailto:megna.dany@gmail.com)
[![icon][github]](https://github.com/danielemegna)
&nbsp;
Daniele Megna
* [![icon][mail]](mailto:apottere@gmail.com)
[![icon][github]](https://github.com/apottere)
&nbsp;
Andrew Potter
* [![icon][mail]](mailto:romain.gautier@nimamoh.net)
[![icon][github]](https://github.com/Nimamoh)
&nbsp;
Romain Gautier
* [![icon][mail]](mailto:elliot.courant@wheniwork.com)
[![icon][github]](https://github.com/ECourant)
&nbsp;
Elliot Courant
* [![icon][mail]](mailto:simon.rainer@fau.de)
[![icon][github]](https://github.com/Vvalter)
&nbsp;
Simon Rainer
* [![icon][mail]](mailto:mziwisky@instructure.com)
[![icon][github]](https://github.com/mziwisky)
&nbsp;
Michael Ziwisky
* [![icon][mail]](mailto:pierce@plasticcow.com)
[![icon][github]](https://github.com/thecodewarrior)
&nbsp;
Pierce Corcoran
* [![icon][mail]](mailto:jonatantierno@gmail.com)
[![icon][github]](https://github.com/jonatantierno)
&nbsp;
Jonatan Tierno
* [![icon][mail]](mailto:brendan@annable.me)
[![icon][github]](https://github.com/BrendanAnnable)
&nbsp;
Brendan Annable
* [![icon][mail]](mailto:nerd.naveen@gmail.com)
[![icon][github]](https://github.com/NOLFXceptMe)
&nbsp;
Naveen Kumar Molleti
* [![icon][mail]](mailto:jorgen.granseth@bekk.no)
[![icon][github]](https://github.com/jorgengranseth)
&nbsp;
Jørgen Granseth
* [![icon][mail]](mailto:rafal@hajdacki.com)
[![icon][github]](https://github.com/hajdamak)
&nbsp;
Rafał Hajdacki
* [![icon][mail]](mailto:igrek+github@fastem.com)
[![icon][github]](https://github.com/igrekster)
&nbsp;
igrekster
* [![icon][mail]](mailto:lokomot476@gmail.com)
[![icon][github]](https://github.com/fan-tom)
&nbsp;
Alexey Gerasimov
* [![icon][mail]](mailto:a.grison+github@gmail.com)
[![icon][github]](https://github.com/agrison)
&nbsp;
Alexandre Grison
* [![icon][mail]](mailto:angel@knight-industries.com)
[![icon][github]](https://github.com/angelbot)
&nbsp;
John Weigel
* [![icon][mail]](mailto:runforprogram@163.com)
[![icon][github]](https://github.com/runforprogram)
&nbsp;
runforprogram
* [![icon][mail]](mailto:valery.isaev@jetbrains.com)
[![icon][github]](https://github.com/valis)
&nbsp;
valis
* [![icon][mail]](mailto:pmikulski@voleon.com)
[![icon][github]](https://github.com/pmnoxx)
&nbsp;
Piotr Mikulski
* [![icon][mail]](mailto:14farresa@gmail.com)
[![icon][github]](https://github.com/adriafarres)
&nbsp;
Adrià Farrés
* [![icon][mail]](mailto:patrick.j.elmquist@gmail.com)
[![icon][github]](https://github.com/patrick-elmquist)
&nbsp;
Patrick Elmquist
* [![icon][mail]](mailto:rieon@rieon.cn)
[![icon][github]](https://github.com/rieonke)
&nbsp;
Rieon Ke
* [![icon][mail]](mailto:jiirra@gmail.com)
[![icon][github]](https://github.com/KostkaBrukowa)
&nbsp;
KostkaBrukowa
* [![icon][mail]](mailto:wangyaohuicn@gmail.com)
[![icon][github]](https://github.com/yaohui-wyh)
&nbsp;
Yaohui Wang
* [![icon][mail]](mailto:iain.ballard@bjss.com)
[![icon][github]](https://github.com/i-e-b)
&nbsp;
Iain Ballard
* [![icon][mail]](mailto:brandoncc@gmail.com)
[![icon][github]](https://github.com/brandoncc)
&nbsp;
Brandon Conway
* [![icon][mail]](mailto:ga@anadoxin.org)
[![icon][github]](https://github.com/antekone)
&nbsp;
Grzegorz Antoniak
* [![icon][mail]](mailto:shaunpatterson@gmail.com)
[![icon][github]](https://github.com/shaunpatterson)
&nbsp;
Shaun Patterson
* [![icon][mail]](mailto:vladimir.petrenko@jetbrains.com)
[![icon][github]](https://github.com/vladimir-petrenko)
&nbsp;
Vladimir Petrenko
* [![icon][mail]](mailto:sergey.vorobyov@jetbrains.com)
[![icon][github]](https://github.com/DeveloperHacker)
&nbsp;
Sergei Vorobyov
* [![icon][mail]](mailto:daya0576@gmail.com)
[![icon][github]](https://github.com/daya0576)
&nbsp;
大牙(Henry Zhu)
* [![icon][mail]](mailto:mplacek@skilltech.pl)
[![icon][github]](https://github.com/MichalPlacek)
&nbsp;
MichalPlacek
* [![icon][mail]](mailto:shrikantsharat.k@gmail.com)
[![icon][github]](https://github.com/sharat87)
&nbsp;
Shrikant Sharat Kandula
* [![icon][mail]](mailto:michal.placek@yandex.com)
[![icon][github]](https://github.com/MichalPlacek)
&nbsp;
Michal Placek
* [![icon][mail]](mailto:eugene.nizienko@jetbrains.com)
[![icon][github]](https://github.com/nizienko)
&nbsp;
eugene nizienko
* [![icon][mail]](mailto:x@lipp.fi)
[![icon][github]](https://github.com/lippfi)
&nbsp;
Filipp Vakhitov
* [![icon][mail]](mailto:yzeiri.1@osu.edu)
[![icon][github]](https://github.com/myzeiri)
&nbsp;
Martin Yzeiri
* [![icon][mail]](mailto:jeyko1@gmail.com)
[![icon][github]](https://github.com/wrightwriter)
&nbsp;
Petar Guglev
* [![icon][mail]](mailto:contact@chylex.com)
[![icon][github]](https://github.com/chylex)
&nbsp;
chylex
* [![icon][mail]](mailto:daniel.egger@gmail.com)
[![icon][github]](https://github.com/DanEEStar)
&nbsp;
DanEEStar
* [![icon][mail]](mailto:ksrbkevinsuen@gmail.com)
[![icon][github]](https://github.com/ksrb)
&nbsp;
Kevin Suen
* [![icon][mail]](mailto:michael.schertenleib@inftec.ch)
[![icon][github]](https://github.com/cravay)
&nbsp;
Michael Schertenleib
* [![icon][mail]](mailto:piotr@near.org)
[![icon][github]](https://github.com/pmnoxx)
&nbsp;
Piotr Mikulski
* [![icon][mail]](mailto:lonrevip@gmail.com)
[![icon][github]](https://github.com/lonre)
&nbsp;
Lonre Wang
* [![icon][mail]](mailto:AlexPl292@gmail.com)
[![icon][github]](https://github.com/AlexPl292)
&nbsp;
Alex Pláte
* [![icon][mail]](mailto:david@dadon.fr)
[![icon][github]](https://github.com/ddadon10)
&nbsp;
David Dadon
* [![icon][mail]](mailto:hollandpirates@gmail.com)
[![icon][github]](https://github.com/PHPirates)
&nbsp;
Thomas Schouten
* [![icon][mail]](mailto:sr@mail25.de)
[![icon][github]](https://github.com/Vvalter)
&nbsp;
Simon Rainer
* [![icon][mail]](mailto:filipp.vakhitov@jetbrains.com)
[![icon][github]](https://github.com/lippfi)
&nbsp;
lippfi
* [![icon][mail]](mailto:3237686+Runinho@users.noreply.github.com)
[![icon][github]](https://github.com/Runinho)
&nbsp;
Runinho
* [![icon][mail]](mailto:me@yuhaowen.com)
[![icon][github]](https://github.com/adaext)
&nbsp;
Ada
* [![icon][mail]](mailto:dominic.palmer@outlook.com)
[![icon][github]](https://github.com/dominicpalmer)
&nbsp;
Dominic Palmer
* [![icon][mail]](mailto:kawagh.dev@gmail.com)
[![icon][github]](https://github.com/kawagh)
&nbsp;
kawagh
* [![icon][mail]](mailto:78074243+danisevas@users.noreply.github.com)
[![icon][github]](https://github.com/danisevas)
&nbsp;
Dani Sevastianov
* [![icon][mail]](mailto:oskar.persson@polken.se)
[![icon][github]](https://github.com/oskarpersson/)
&nbsp;
Oskar Persson
* [![icon][mail]](mailto:silence.m@hotmail.com)
[![icon][github]](https://github.com/Stzx)
&nbsp;
Silence Tai
* [![icon][mail]](mailto:tszsumng90@gmail.com)
[![icon][github]](https://github.com/samabcde)
&nbsp;
Sam Ng
* [![icon][mail]](mailto:ludwig.valda.vasquez@jetbrains.com)
[![icon][github]](https://github.com/ludwig-jb)
&nbsp;
ludwig-jb
Previous contributors:
* [![icon][mail]](mailto:hild@b4mad.net)
[![icon][github-off]](#)
&nbsp;
Marcel Hild
* [![icon][mail]](mailto:kevinz@weghst.com)
[![icon][github]](https://github.com/kevin70)
&nbsp;
kk
If you are a contributor and your name is not listed here, feel free to
contact the maintainer.
contact the maintainers.
<a href="https://icons8.com">Icons by Icons8</a>
[mail]: assets/icons/mail.png
[github]: assets/icons/github.png
[github-off]: assets/icons/github-off.png
+1077 -29
View File
File diff suppressed because it is too large Load Diff
+4
View File
@@ -0,0 +1,4 @@
## Code of Conduct
This project and the corresponding community is governed by the [JetBrains Open Source and Community Code of Conduct](https://confluence.jetbrains.com/display/ALL/JetBrains+Open+Source+and+Community+Code+of+Conduct). Please make sure you read it.
+172
View File
@@ -0,0 +1,172 @@
[![TeamCity Build][teamcity-build-status-svg]][teamcity-build-status]
IdeaVim is an open source project created by 80+ contributors. Would you like to make it even better? Thats wonderful!
This page is created to help you start contributing. And who knows, maybe in a few days this project will be brighter than ever!
:warning: The plugin is currently under a huge refactoring aiming to split into vim-engine and IdeaVim in order to
support the new [Fleet IDE](https://www.jetbrains.com/fleet/). Please see [Fleet refactoring](#Fleet-refactoring).
## Before you begin
- The project is written in Kotlin and Java. Choose whichever language you feel more comfortable with,
or maybe one that youd like to get to know better (why not start [learning Kotlin](https://kotlinlang.org/docs/tutorials/) right now?).
- If you come across some IntelliJ Platform code, these links may prove helpful:
* [IntelliJ architectural overview](https://www.jetbrains.org/intellij/sdk/docs/platform/fundamentals.html)
* [IntelliJ plugin development resources](https://www.jetbrains.org/intellij/sdk/docs/welcome.html)
- Having any difficulties?
Join the brand new
[![Join the chat at https://gitter.im/JetBrains/ideavim](https://badges.gitter.im/JetBrains/ideavim.svg)](https://gitter.im/JetBrains/ideavim?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
for IdeaVim developers and contributors!
OK, ready to do some coding?
## Yes, I'm ready for some coding
* Fork the repository and clone it to the local machine.
* Open the project with IntelliJ IDEA.
Yoo hoo! Youre all set to begin contributing.
We've prepared some useful configurations for you:
- `Start IJ with IdeaVim`
- `IdeaVim tests`
- `IdeaVim full verification`
![Prepared configurations light](assets/contributing/configs-light.png#gh-light-mode-only)![Prepared configurations dark](assets/contributing/configs-dark.png#gh-dark-mode-only)
And here are useful gradle commands:
* `./gradlew runIde` — start the dev version of IntelliJ IDEA with IdeaVim installed.
* `./gradlew test` — run tests.
* `./gradlew buildPlugin` — build the plugin. The result will be located in `build/distributions`. This file can be
installed by using `Settings | Plugin | >Gear Icon< | Install Plugin from Disk...`. You can stay with your personal build
for a few days or send it to a friend for testing.
## Warmup
- Pick a few relatively simple tasks that are tagged with
[#patch_welcome](https://youtrack.jetbrains.com/issues/VIM?q=%23patch_welcome%20%23Unresolved%20sort%20by:%20votes%20)
in the issue tracker.
- Read the javadoc for the `@VimBehaviorDiffers` annotation in the source code and fix the corresponding functionality.
- Implement one of the requested [#vim plugin](https://youtrack.jetbrains.com/issues/VIM?q=%23Unresolved%20tag:%20%7Bvim%20plugin%7D%20sort%20by:%20votes%20)s.
> :small_orange_diamond: Selected an issue to work on? Leave a comment in a YouTrack ticket or create a draft PR
> to indicate that you've started working on it so that you might get additional guidance and feedback from the maintainers.
## Where to start in the codebase
If you are looking for:
- Vim commands (`w`, `<C-O>`, `p`, etc.):
- Any particular command: `package-info.java`.
- How commands are executed in common: `EditorActionHandlerBase`.
- Key mapping: `KeyHandler.handleKey()`.
- Ex commands (`:set`, `:s`, `:nohlsearch`):
- Any particular ex command: package `com.maddyhome.idea.vim.ex.handler`.
- Vim script grammar: `Vimscript.g4`.
- Vim script parsing: package `com.maddyhome.idea.vim.vimscript.parser`.
- Vim script executor: `Executor`.
- Extensions:
- Extensions handler: `VimExtensionHandler`.
- Available extensions: package `com/maddyhome/idea/vim/extension`.
- Common features:
- State machine. How every particular keystroke is parsed in IdeaVim: `KeyHandler.handleKey()`.
- Options (`incsearch`, `iskeyword`, `relativenumber`): `OptionServiceImpl`.
- Plugin startup: `PluginStartup`.
- Notifications: `NotificationService`.
- Status bar icon: `StatusBar.kt`.
- On/off switch: `VimPlugin.setEnabled()`.
## Testing
Here are some guides for testing:
1. Read the javadoc for the `@VimBehaviorDiffers` annotation in the source code.
2. Please avoid senseless text like "dhjkwaldjwa", "asdasdasd", "123 123 123 123", etc. Use a few lines of code or
the following template:
```text
Lorem Ipsum
Lorem ipsum dolor sit amet,
consectetur adipiscing elit
Sed in orci mauris.
Cras id tellus in ex imperdiet egestas.
```
3. Don't forget to test your functionality with line start, line end, file start, file end, empty line, multiple
carets, dollar motion, etc.
##### Neovim
IdeaVim has an experimental integration with neovim in tests. Tests that are performed with `doTest` also executed in
neovim instance, and the state of IdeaVim is asserted to be the same as the state of neovim.
- Only tests that use `doTest` are checked with neovim.
- Tests with `@VimBehaviorDiffers` or `@TestWithoutNeovim` annotations don't use neovim.
#### Property-based tests
Property-based tests are located under `propertybased` package. These tests a flaky by nature
although in most cases they are stable. If the test fails on your TeamCity run, try to check the test output and understand
if the fail is caused by your changes. If it's not, just ignore the test.
## A common direction
Were trying to make IdeaVim close to the original Vim both in terms of functionality and architecture.
- Vim motions can be [either inclusive, exclusive, or linewise](http://vimdoc.sourceforge.net/htmldoc/motion.html#inclusive).
In IdeaVim, you can use `MotionType` for that.
- Have you read the [interesting things](https://github.com/JetBrains/ideavim#some-facts-about-vim) about IdeaVim?
Do you remember how `dd`, `yy`, and other similar commands work? `DuplicableOperatorAction` will help you with that.
And we also translate it to `d_` and `y_`: `KeyHandler.mapOpCommand()`.
- All IdeaVim extensions use the same command names as the originals (e.g. `<Plug>(CommentMotion)`, `<Plug>ReplaceWithRegisterLine`),
so you can reuse your `.vimrc` settings.
We also support proper command mappings (functions are mapped to `<Plug>...`), the operator function (`OperatorFunction`), and so on.
- Magic is supported as well. See `Magic`.
## Fleet refactoring
At the moment, IdeaVim is under an active refactoring aiming to split IdeaVim into two modules: vim-engine and IdeaVim.
If you develop a plugin that depends on IdeaVim: We have an instrument to check that our changes don't affect
the plugins in the marketplace. Also, we commit to support currently used API at least till the end of 2022.
If you still encounter any issues with the newer versions of IdeaVim, please [contact maintainers](https://github.com/JetBrains/ideavim#contact-maintainers).
We kindly ask you not to use anything from the new API (like `VimEditor`, `injector`) because at the moment we don't
guarantee the compatibility of this API in the future versions.
-----
### I read the whole page but something is still unclear.
Oh no! No cookies for the maintainers today! Please [tell us](https://github.com/JetBrains/ideavim#contact-maintainers) about it so we can help.
### Ive found a bug in this documentation.
No beer in the bar for us unless it's fixed. [Let us know](https://github.com/JetBrains/ideavim#contact-maintainers) situation so we might be able to fix it.
### The lack of documentation or a javadoc/ktdoc makes it difficult to start contributing.
This is just terrible. [You know what to do](https://github.com/JetBrains/ideavim#contact-maintainers).
### Resources:
* [Continuous integration builds](https://ideavim.teamcity.com/)
* [Bug tracker](https://youtrack.jetbrains.com/issues/VIM)
* [Chat on gitter](https://gitter.im/JetBrains/ideavim)
* [IdeaVim Channel](https://jb.gg/bi6zp7) on [JetBrains Server](https://discord.gg/jetbrains)
* [Plugin homepage](https://plugins.jetbrains.com/plugin/164-ideavim)
* [Changelog](CHANGES.md)
* [Contributors listing](AUTHORS.md)
[teamcity-build-status]: https://ideavim.teamcity.com/viewType.html?buildTypeId=Ideavim_IdeaVimTests_Latest_EAP&guest=1
[teamcity-build-status-svg]: https://ideavim.teamcity.com/app/rest/builds/buildType:(id:Ideavim_IdeaVimTests_Latest_EAP)/statusIcon.svg?guest=1
+17 -336
View File
@@ -1,340 +1,21 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
MIT License
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Copyright (c) 2003-present The IdeaVim authors
Preamble
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+339 -109
View File
@@ -1,171 +1,401 @@
<img src="src/main/resources/META-INF/pluginIcon.svg" width="80" height="80" alt="icon" align="left"/>
IdeaVim
=======
===
<div>
<a href="http://teamcity.jetbrains.com/viewType.html?buildTypeId=bt299&guest=1">
<img src="http://teamcity.jetbrains.com/app/rest/builds/buildType:(id:bt299)/statusIcon"/>
</a>
<span>Build<span>
</div>
[![Official JetBrains Project][jb-official-svg]][jb-official]
[![Contributions welcome][contributions-welcome-svg]][contributions-welcome]
[![Downloads][plugin-downloads-svg]][plugin-repo]
[![Rating][plugin-rating-svg]][plugin-repo]
[![Version][plugin-version-svg]][plugin-repo]
[![Gitter][gitter-svg]][gitter]
[![codecov](https://codecov.io/gh/JetBrains/ideavim/branch/master/graph/badge.svg)](https://codecov.io/gh/JetBrains/ideavim)
[![Twitter][twitter-svg]][twitter]
<div>
<a href="http://teamcity.jetbrains.com/viewType.html?buildTypeId=bt453&guest=1">
<img src="http://teamcity.jetbrains.com/app/rest/builds/buildType:(id:bt453)/statusIcon"/>
</a>
<span>Tests</span>
</div>
IdeaVim is a Vim engine for JetBrains IDEs.
IdeaVim is a Vim emulation plug-in for IDEs based on the IntelliJ platform.
IdeaVim can be used with IntelliJ IDEA, RubyMine, PyCharm, PhpStorm, WebStorm,
AppCode and Android Studio.
##### Contact maintainers:
* [Bug tracker](https://youtrack.jetbrains.com/issues/VIM)
* [@IdeaVim](https://twitter.com/ideavim) on Twitter
* [Chat on gitter](https://gitter.im/JetBrains/ideavim)
* [IdeaVim Channel](https://jb.gg/bi6zp7) on [JetBrains Server](https://discord.gg/jetbrains)
Resources:
##### Resources:
* [Plugin homepage](http://plugins.jetbrains.com/plugin/164)
* [Changelog](https://github.com/JetBrains/ideavim/blob/master/CHANGES.md)
* [Bug tracker](http://youtrack.jetbrains.com/issues/VIM)
* [Continuous integration builds](http://teamcity.jetbrains.com/project.html?projectId=IdeaVim&guest=1)
* [@IdeaVim](http://twitter.com/ideavim) in Twitter
* [Plugin homepage](https://lp.jetbrains.com/ideavim/)
* [Plugin on Marketplace](https://plugins.jetbrains.com/plugin/164-ideavim)
* [Changelog](CHANGES.md)
* [Continuous integration builds](https://ideavim.teamcity.com/)
#### Compatibility
Installation
IntelliJ IDEA, PyCharm, CLion, PhpStorm, WebStorm, RubyMine, AppCode, DataGrip, GoLand, Rider, Cursive,
Android Studio and other IntelliJ platform based IDEs.
Setup
------------
Use the IDE's plugin manager to install the latest version of the plugin.
Start the IDE normally and enable the Vim emulation using "Tools | Vim
Emulator" menu item. At this point you must use Vim keystrokes in all editors.
- IdeaVim can be installed via `Settings | Plugins`.
See the [detailed instructions](https://www.jetbrains.com/help/idea/managing-plugins.html#).
If you wish to disable the plugin, select the "Tools | Vim Emulator" menu so
it is unchecked. At this point IDE will work with it's regular keyboard
shortcuts.
- Use `Tools | Vim` in the menu to enable or disable vim.
Keyboard shortcut conflicts between the Vim emulation and the IDE can be
resolved via "File | Settings | Vim Emulation", "File | Settings | Keymap"
and key mapping commands in your ~/.ideavimrc or ~/.vimrc file.
- Use the `~/.ideavimrc` file as an analog of `~/.vimrc` ([learn more](#Files)). The XDG standard is supported, as well.
- Shortcut conflicts can be resolved by using:
- On Linux & Windows: `File | Settings | Editor | Vim` & `File | Settings | Keymap`,
- On macOS: `Preferences | Editor | Vim` & `Preferences | Keymap`,
- Regular Vim mappings in the `~/.ideavimrc` file.
Get Early Access
-------------------
Would you like to try new features and fixes? Join the Early Access Program and
receive EAP builds as updates!
1. Click the IdeaVim icon <img src="src/main/resources/META-INF/pluginIcon_noBorders.svg" width="16" height="16" alt="icon"/>
in the status bar | `Early Access Program` | `Subscribe to EAP`
Or subscribe to EAP updates manually:
1. Open `Settings | Plugins`
2. Click the gear icon :gear:, select `Manage Plugin Repositories`, and add the following url:
```
https://plugins.jetbrains.com/plugins/eap/ideavim
```
See [the changelog](CHANGES.md) for the list of unreleased features.
It is important to distinguish EAP builds from traditional pre-release software.
Please note that the quality of EAP versions may at times be way below even
usual beta standards.
You can always leave your feedback with:
* [@IdeaVim](https://twitter.com/ideavim) in Twitter
* [Bug tracker](https://youtrack.jetbrains.com/issues/VIM)
Summary of Supported Vim Features
---------------------------------
Supported:
Here are some examples of supported vim features and commands:
* Motion keys
* Deletion/changing
* Insert mode commands
* Marks
* Registers
* Undo/redo
* Visual mode commands
* Some Ex commands
* Some [:set options](https://github.com/JetBrains/ideavim/blob/master/doc/set-commands.md)
* Full Vim regexps for search and search/replace
* Normal / insert / visual / select / etc. modes
* Motion / deletion / change / window / etc. commands
* Key mappings
* Macros
* Digraphs
* Command line and search history
* Marks / Macros / Digraphs / Registers
* Some [set commands](https://github.com/JetBrains/ideavim/wiki/%22set%22-commands)
* Full Vim regexps for search and search/replace
* Vim web help
* `~/.ideavimrc` configuration file
Not supported (yet):
[IdeaVim plugins](https://github.com/JetBrains/ideavim/wiki/IdeaVim-Plugins):
* Window commands
* Jump lists
* Various less used commands
* vim-easymotion
* NERDTree
* vim-surround
* vim-multiple-cursors
* vim-commentary
* argtextobj.vim
* vim-textobj-entire
* ReplaceWithRegister
* vim-exchange
* vim-highlightedyank
* vim-paragraph-motion
* vim-indent-object
* match.it
etc
See also:
* [List of recently added commands](https://github.com/JetBrains/ideavim/blob/master/src/com/maddyhome/idea/vim/package-info.java)
* [List of commands covered with tests](https://github.com/JetBrains/ideavim/blob/master/index.txt)
* [Top features and bugs](http://youtrack.jetbrains.com/issues/VIM?q=%23Unresolved+sort+by%3A+votes)
* [The list of all supported commands](src/main/java/com/maddyhome/idea/vim/package-info.java)
* [Top feature requests and bugs](https://youtrack.jetbrains.com/issues/VIM?q=%23Unresolved+sort+by%3A+votes)
* [Vimscript support roadmap](vimscript-info/VIMSCRIPT_ROADMAP.md)
* [List of supported in-build functions](vimscript-info/FUNCTIONS_INFO.MD)
Files
-----
* ~/.ideavimrc
* `~/.ideavimrc`
* Your IdeaVim-specific Vim initialization commands
* ~/.vimrc
* Your Vim initializations
<details>
<summary><strong>Example</strong> (click to see)</summary>
Note, that IdeaVim currently parses .vimrc files via simple pattern matching,
see [VIM-669](http://youtrack.jetbrains.com/issue/VIM-669) for proper parsing
of VimL files.
```vim
""" Map leader to space ---------------------
let mapleader=" "
""" Plugins --------------------------------
set surround
set multiple-cursors
set commentary
set argtextobj
set easymotion
set textobj-entire
set ReplaceWithRegister
""" Plugin settings -------------------------
let g:argtextobj_pairs="[:],(:),<:>"
""" Common settings -------------------------
set showmode
set so=5
set incsearch
set nu
""" Idea specific settings ------------------
set ideajoin
set ideastatusicon=gray
set idearefactormode=keep
""" Mappings --------------------------------
map <leader>f <Plug>(easymotion-s)
map <leader>e <Plug>(easymotion-f)
map <leader>d <Action>(Debug)
map <leader>r <Action>(RenameElement)
map <leader>c <Action>(Stop)
map <leader>z <Action>(ToggleDistractionFreeMode)
map <leader>s <Action>(SelectInProjectView)
map <leader>a <Action>(Annotate)
map <leader>h <Action>(Vcs.ShowTabbedFileHistory)
map <S-Space> <Action>(GotoNextError)
map <leader>b <Action>(ToggleLineBreakpoint)
map <leader>o <Action>(FileStructurePopup)
```
</details>
<details>
<summary><strong>Suggested options</strong> (click to see)</summary>
Here is also a list of the suggested options from [defaults.vim](https://github.com/vim/vim/blob/master/runtime/defaults.vim)
```vim
" Show a few lines of context around the cursor. Note that this makes the
" text scroll if you mouse-click near the start or end of the window.
set scrolloff=5
" Do incremental searching.
set incsearch
" Don't use Ex mode, use Q for formatting.
map Q gq
```
</details>
Changes to the IDE
------------------
You can read your `~/.vimrc` file from `~/.ideavimrc` with this command:
### Undo/Redo
source ~/.vimrc
The IdeaVim plugin uses the undo/redo functionality of the IntelliJ platform,
so the behaviour of the `u` and `<C-R>` commands may differ from the original
Vim. Vim compatibility of undo/redo may be improved in the future releases.
Also note that if you have overridden the `user.home` JVM option, this
will affect where IdeaVim looks for your `.ideavimrc` file. For example, if you
have `-Duser.home=/my/alternate/home` then IdeaVim will source
`/my/alternate/home/.ideavimrc` instead of `~/.ideavimrc`.
See also [unresolved undo issues](http://youtrack.jetbrains.com/issues/VIM?q=%23Unresolved+Help+topic%3A+u).
### Escape
Using `<Esc>` in dialog windows remains problematic. For most dialog windows
the Vim emulator is put into the insert mode without the possibility to switch to
the normal mode. In some dialog windows the normal mode is on by default. The
usage of the Vim emulator in dialog windows is an area for improvements.
See also [unresolved escape issues](http://youtrack.jetbrains.com/issues/VIM?q=%23Unresolved+Help+topic%3A+i_Esc).
Alternatively, you can set up initialization commands using [XDG](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html) standard.
Put your settings to `$XDG_CONFIG_HOME/ideavim/ideavimrc` file.
Contributing
IdeaVim Plugins
--------------------
See [doc/IdeaVim Plugins.md](https://github.com/JetBrains/ideavim/wiki/IdeaVim-Plugins)
Executing IDE Actions
---------------------
IdeaVim adds various commands for listing and executing arbitrary IDE actions as
Ex commands or via `:map` command mappings:
### Executing actions:
* `<Action>({action_id})`
* For the mappings you can use a special `<Action>` keyword. Don't forget the parentheses.
* E.g. `map gh <Action>(ShowErrorDescription)` <- execute hover on `gh`.
* :warning: Mappings to `<Action>` don't work with `noremap`.
If you know the case when it's needed, please [let us know](https://github.com/JetBrains/ideavim#contact-maintainers).
* `:action {action_id}`
* Execute an action by `{action_id}`. Works from Ex command line.
* Please don't use `:action` in mappings. Use `<Action>` instead.
### Finding action ids:
* IJ provides `IdeaVim: track action Ids` command to show the id of the executed actions.
This command can be found in "Search everywhere" (double `shift`).
<details>
<summary><strong>"Track action Ids" Details</strong> (click to see)</summary>
<picture>
<source media="(prefers-color-scheme: dark)" srcset="assets/readme/track_action_dark.gif">
<img src="assets/readme/track_action_light.gif" alt="track action ids"/>
</picture>
</details>
* `:actionlist [pattern]`
* Find IDE actions by id or keymap pattern (E.g. `:actionlist extract`, `:actionlist <C-D`)
##### Examples:
```vim
" Map \r to the Reformat Code action
:map \r <Action>(ReformatCode)
" Map <leader>d to start debug
:map <leader>d <Action>(Debug)
" Map \b to toggle the breakpoint on the current line
:map \b <Action>(ToggleLineBreakpoint)
```
##### Some popular actions:
```
QuickJavaDoc - Quick Documentation (not only for java, all languages)
ShowErrorDescription - Show description of the error under the caret (cursor hovering)
QuickImplementations - Quick Definition
```
Vim Script
------------
### Where to Start
IdeaVim can execute custom scripts that are written with Vim Script.
At the moment we support all language features, but not all of the built-in functions and options are supported.
In order to contribute to IdeaVim you should have some understanding of Java.
See also these docs on the IntelliJ API:
* [IntelliJ architectural overview](http://confluence.jetbrains.com/display/IDEADEV/IntelliJ+IDEA+Architectural+Overview)
* [IntelliJ plugin development resources](http://confluence.jetbrains.com/display/IDEADEV/PluginDevelopment)
You can start by picking relatively simple tasks that are tagged with
[#patch_welcome](http://youtrack.jetbrains.com/issues/VIM?q=%23patch_welcome)
in the issue tracker.
Additionally, you may be interested in the
[Vim Script Discussion](https://github.com/JetBrains/ideavim/discussions/357) or
[Vim Script Roadmap](https://github.com/JetBrains/ideavim/blob/master/vimscript-info/VIMSCRIPT_ROADMAP.md).
### Development Environment
### IDE specific options
1. Fork IdeaVim on GitHub and clone the repository on your local machine.
You can evaluate the `has('ide')` function call and get `1` if it was called with IdeaVim or `0` if the function was called from Vim/NeoVim.
The option `&ide` contains the name and edition of your IDE, for example, "IntelliJ IDEA Ultimate Edition".
To see its value for the current IDE you are using, execute the `:echo &ide` command.
To write an IDE-specific configuration, use Vim's regexp match operators `=~?` (case-insensitive) / `=~#` (case-sensitive)
2. Open the project in IntelliJ IDEA 12+ (Community or Ultimate) using "File |
Open... | /path/to/ideavim".
**Example config:**
3. Set up a JDK if you haven't got it yet. Use "File | Project Structure | SDKs
| Add new JDK".
```vim
" options and mappings that are supported by both Vim and IdeaVim
set nu
set relativenumber
4. Set up an IntelliJ plugin SDK using "File | Project Structure | SDKs | Add
new IntelliJ IDEA Plugin SDK". The correct path to your current installation
of IntelliJ will be suggested automatically. You will be prompted to select a
JDK for your plugin SDK. Select the JDK from the previous step. You
**should** name your plugin SDK `IntelliJ Plugin SDK` in order to match the
name in the project settings stored in the Git repository.
if has('ide')
" mappings and options that exist only in IdeaVim
map <leader>f <Action>(GotoFile)
map <leader>g <Action>(FindInPath)
map <leader>b <Action>(Switcher)
5. Select a project SDK for your project using "File | Project Structure |
Project | Project SDK". Choose the plugin SDK you have created at the
previous step.
if &ide =~? 'intellij idea'
if &ide =~? 'community'
" some mappings and options for IntelliJ IDEA Community Edition
elseif &ide =~? 'ultimate'
" some mappings and options for IntelliJ IDEA Ultimate Edition
endif
elseif &ide =~? 'pycharm'
" PyCharm specific mappings and options
endif
else
" some mappings for Vim/Neovim
nnoremap <leader>f <cmd>Telescope find_files<cr>
endif
```
6. Build IdeaVim and run IntelliJ with IdeaVim enabled using the "IdeaVim" run
configuration (use "Run | Run... | IdeaVim").
:gem: Contributing
------------
7. In order to be able to run tests in your IntelliJ edition uncomment the
appropriate lines in the constructor of the `VimTestCase` class.
The power of contributing drives IdeaVim :muscle:. Even small contributions matter!
See [CONTRIBUTING.md](CONTRIBUTING.md) to start bringing your value to the project.
Authors
-------
See [AUTHORS.md](https://github.com/JetBrains/ideavim/blob/master/AUTHORS.md)
See [AUTHORS.md](AUTHORS.md)
for a list of authors and contributors.
IdeaVim tips and tricks
-------
- Use the power of IJ and Vim:
- `set ideajoin` to enable join via the IDE. See the [examples](https://jb.gg/f9zji9).
- Make sure `ideaput` is enabled for `clipboard` to enable native IJ insertion in Vim.
- Sync IJ bookmarks and Vim marks: `set ideamarks`
- Check out more [ex commands](https://github.com/JetBrains/ideavim/wiki/%22set%22-commands).
- Use your vim settings with IdeaVim. Put `source ~/.vimrc` in `~/.ideavimrc`.
- Control the status bar icon via the [`ideastatusicon` option](https://github.com/JetBrains/ideavim/wiki/%22set%22-commands).
- Not familiar with the default behaviour during a refactoring? See the [`idearefactormode` option](https://github.com/JetBrains/ideavim/wiki/%22set%22-commands).
Some facts about Vim
-------
Lets relax and have some fun now! Here are a few things we've found interesting during development
and would like to share with you.
- There are no such commands as `dd`, `yy`, or `cc`. For example, `dd` is not a separate command for deleting the line,
but a `d` command with a `d` motion.
Wait, but there isn't a `d` motion in Vim! Thats right, and thats why Vim has a dedicated set of commands
for which it checks whether the
[command equals to motion](https://github.com/vim/vim/blob/759d81549c1340185f0d92524c563bb37697ea88/src/normal.c#L6468)
and if so, it executes `_` motion instead.
`_` is an interesting motion that isn't even documented in vi, and it refers to the current line.
So, commands like `dd`, `yy`, and similar ones are simply translated to `d_`, `y_`, etc.
[Here](https://github.com/vim/vim/blob/759d81549c1340185f0d92524c563bb37697ea88/src/normal.c#L6502)
is the source of this knowledge.
- `x`, `D`, and `&` are not separate commands either. They are synonyms of `dl`, `d$`, and `:s\r`, respectively.
[Here](https://github.com/vim/vim/blob/759d81549c1340185f0d92524c563bb37697ea88/src/normal.c#L5365)
is the full list of synonyms.
- You can read a [post](https://github.com/JetBrains/ideavim/wiki/how-many-modes-does-vim-have) about how modes work in Vim and IdeaVim.
- Have you ever used `U` after `dd`? [Don't even try](https://github.com/vim/vim/blob/759d81549c1340185f0d92524c563bb37697ea88/src/ops.c#L874).
- A lot of variables that refer to visual mode start with two uppercase letters, e.g. `VIsual_active`. [Some examples](https://github.com/vim/vim/blob/master/src/normal.c#L17).
As mentioned [here](https://vi.stackexchange.com/a/42885/12441), this was done this way to avoid the clash with X11.
- Other [strange things](https://github.com/vim/vim/blob/759d81549c1340185f0d92524c563bb37697ea88/src/ex_docmd.c#L1845) from vi:
* ":3" jumps to line 3
* ":3|..." prints line 3
* ":|" prints current line
- Vim script doesn't skip white space before comma. `F(a ,b)` => E475.
- Fancy constants for [undolevels](https://vimhelp.org/options.txt.html#%27undolevels%27):
> The local value is set to -123456 when the global value is to be used.
License
-------
IdeaVim is licensed under the terms of the GNU Public license version 2.
IdeaVim is licensed under the MIT license.
Third-party components and licenses are listed in [ThirdPartyLicenses.md](ThirdPartyLicenses.md).
All releases before 2.0.0 were licensed under terms of GPL-2.0 or later.
The last commit before switch to MIT is 05852b07c6090ad40fde7d3cafe0b074604f7ac5.
You can read more about the license change here: https://github.com/JetBrains/ideavim/discussions/543
<!-- Badges -->
[jb-official]: https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub
[jb-official-svg]: https://jb.gg/badges/official.svg
[plugin-repo]: https://plugins.jetbrains.com/plugin/164-ideavim
[plugin-downloads-svg]: http://img.shields.io/jetbrains/plugin/d/IdeaVIM
[plugin-rating-svg]: http://img.shields.io/jetbrains/plugin/r/rating/IdeaVIM
[plugin-version-svg]: https://img.shields.io/jetbrains/plugin/v/ideavim?label=version
[gitter-svg]: https://badges.gitter.im/JetBrains/ideavim.svg
[gitter]: https://gitter.im/JetBrains/ideavim?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
[twitter]: https://twitter.com/ideavim
[twitter-svg]: https://img.shields.io/twitter/follow/ideavim?label=twitter%20%40ideavim
[contributions-welcome-svg]: http://img.shields.io/badge/contributions-welcome-brightgreen
[contributions-welcome]: https://github.com/JetBrains/ideavim/blob/master/CONTRIBUTING.md
+86
View File
@@ -0,0 +1,86 @@
IdeaVim project is licensed under MIT license except the following parts of it:
* File [RegExp.kt](src/main/java/com/maddyhome/idea/vim/regexp/RegExp.kt) is licensed under Vim License.
* File [ScrollViewHelper.kt](com/maddyhome/idea/vim/helper/ScrollViewHelper.kt) is licensed under Vim License.
* File [Tutor.kt](src/main/java/com/maddyhome/idea/vim/ui/Tutor.kt) is licensed under Vim License.
```
VIM LICENSE
I) There are no restrictions on distributing unmodified copies of Vim except
that they must include this license text. You can also distribute
unmodified parts of Vim, likewise unrestricted except that they must
include this license text. You are also allowed to include executables
that you made from the unmodified Vim sources, plus your own usage
examples and Vim scripts.
II) It is allowed to distribute a modified (or extended) version of Vim,
including executables and/or source code, when the following four
conditions are met:
1) This license text must be included unmodified.
2) The modified Vim must be distributed in one of the following five ways:
a) If you make changes to Vim yourself, you must clearly describe in
the distribution how to contact you. When the maintainer asks you
(in any way) for a copy of the modified Vim you distributed, you
must make your changes, including source code, available to the
maintainer without fee. The maintainer reserves the right to
include your changes in the official version of Vim. What the
maintainer will do with your changes and under what license they
will be distributed is negotiable. If there has been no negotiation
then this license, or a later version, also applies to your changes.
The current maintainers are listed here: https://github.com/orgs/vim/people.
If this changes it will be announced in appropriate places (most likely
vim.sf.net, www.vim.org and/or comp.editors). When it is completely
impossible to contact the maintainer, the obligation to send him
your changes ceases. Once the maintainer has confirmed that he has
received your changes they will not have to be sent again.
b) If you have received a modified Vim that was distributed as
mentioned under a) you are allowed to further distribute it
unmodified, as mentioned at I). If you make additional changes the
text under a) applies to those changes.
c) Provide all the changes, including source code, with every copy of
the modified Vim you distribute. This may be done in the form of a
context diff. You can choose what license to use for new code you
add. The changes and their license must not restrict others from
making their own changes to the official version of Vim.
d) When you have a modified Vim which includes changes as mentioned
under c), you can distribute it without the source code for the
changes if the following three conditions are met:
- The license that applies to the changes permits you to distribute
the changes to the Vim maintainer without fee or restriction, and
permits the Vim maintainer to include the changes in the official
version of Vim without fee or restriction.
- You keep the changes for at least three years after last
distributing the corresponding modified Vim. When the maintainer
or someone who you distributed the modified Vim to asks you (in
any way) for the changes within this period, you must make them
available to him.
- You clearly describe in the distribution how to contact you. This
contact information must remain valid for at least three years
after last distributing the corresponding modified Vim, or as long
as possible.
e) When the GNU General Public License (GPL) applies to the changes,
you can distribute the modified Vim under the GNU GPL version 2 or
any later version.
3) A message must be added, at least in the output of the ":version"
command and in the intro screen, such that the user of the modified Vim
is able to see that it was modified. When distributing as mentioned
under 2)e) adding the message is only required for as far as this does
not conflict with the license used for the changes.
4) The contact information as required under 2)a) and 2)d) must not be
removed or changed, except that the person himself can make
corrections.
III) If you distribute a modified version of Vim, you are encouraged to use
the Vim license for your changes and make them available to the
maintainer, including the source code. The preferred way to do this is
by e-mail or by uploading the files to a server and e-mailing the URL.
If the number of changes is small (e.g., a modified Makefile) e-mailing a
context diff will do. The e-mail address to be used is
<maintainer@vim.org>
IV) It is not allowed to remove this license from the distribution of the Vim
sources, parts of it or from a modified version. You may use this
license for previous Vim releases instead of the license that they came
with, at your option.
```
+42
View File
@@ -0,0 +1,42 @@
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/
### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store
+23
View File
@@ -0,0 +1,23 @@
/*
* Copyright 2003-2023 The IdeaVim authors
*
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE.txt file or at
* https://opensource.org/licenses/MIT.
*/
plugins {
kotlin("jvm")
}
group = "com.intellij"
version = "SNAPSHOT"
repositories {
mavenCentral()
}
dependencies {
compileOnly("com.google.devtools.ksp:symbol-processing-api:1.9.10-1.0.13")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.6.0")
}
@@ -0,0 +1,16 @@
/*
* Copyright 2003-2023 The IdeaVim authors
*
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE.txt file or at
* https://opensource.org/licenses/MIT.
*/
package com.intellij.vim.annotations
/**
* [command] is formatted the same way it is formatted in Vim (with optional part in square brackets).
*/
@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.SOURCE)
annotation class ExCommand(val command: String)
@@ -0,0 +1,13 @@
/*
* Copyright 2003-2023 The IdeaVim authors
*
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE.txt file or at
* https://opensource.org/licenses/MIT.
*/
package com.intellij.vim.annotations
@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.SOURCE)
annotation class VimscriptFunction(val name: String)
@@ -0,0 +1,55 @@
/*
* Copyright 2003-2023 The IdeaVim authors
*
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE.txt file or at
* https://opensource.org/licenses/MIT.
*/
package com.intellij.vim.processors
import com.google.devtools.ksp.KspExperimental
import com.google.devtools.ksp.getAnnotationsByType
import com.google.devtools.ksp.processing.Resolver
import com.google.devtools.ksp.processing.SymbolProcessor
import com.google.devtools.ksp.processing.SymbolProcessorEnvironment
import com.google.devtools.ksp.symbol.KSAnnotated
import com.google.devtools.ksp.symbol.KSClassDeclaration
import com.google.devtools.ksp.symbol.KSFile
import com.google.devtools.ksp.symbol.KSVisitorVoid
import com.intellij.vim.annotations.ExCommand
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import kotlin.io.path.Path
import kotlin.io.path.writeText
class ExCommandProcessor(private val environment: SymbolProcessorEnvironment): SymbolProcessor {
private val visitor = EXCommandVisitor()
private val commandToClass = mutableMapOf<String, String>()
private val json = Json { prettyPrint = true }
override fun process(resolver: Resolver): List<KSAnnotated> {
resolver.getAllFiles().forEach { it.accept(visitor, Unit) }
val filePath = Path(environment.options["generated_directory"]!!, environment.options["ex_commands_file"]!!)
val fileContent = json.encodeToString(commandToClass)
filePath.writeText(fileContent)
return emptyList()
}
private inner class EXCommandVisitor : KSVisitorVoid() {
@OptIn(KspExperimental::class)
override fun visitClassDeclaration(classDeclaration: KSClassDeclaration, data: Unit) {
val exCommandAnnotation = classDeclaration.getAnnotationsByType(ExCommand::class).firstOrNull() ?: return
val commands = exCommandAnnotation.command.split(",")
for (command in commands) {
commandToClass[command] = classDeclaration.qualifiedName!!.asString()
}
}
override fun visitFile(file: KSFile, data: Unit) {
file.declarations.forEach { it.accept(this, Unit) }
}
}
}
@@ -0,0 +1,55 @@
/*
* Copyright 2003-2023 The IdeaVim authors
*
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE.txt file or at
* https://opensource.org/licenses/MIT.
*/
package com.intellij.vim.processors
import com.google.devtools.ksp.KspExperimental
import com.google.devtools.ksp.getAnnotationsByType
import com.google.devtools.ksp.processing.Resolver
import com.google.devtools.ksp.processing.SymbolProcessor
import com.google.devtools.ksp.processing.SymbolProcessorEnvironment
import com.google.devtools.ksp.symbol.KSAnnotated
import com.google.devtools.ksp.symbol.KSClassDeclaration
import com.google.devtools.ksp.symbol.KSFile
import com.google.devtools.ksp.symbol.KSVisitorVoid
import com.intellij.vim.annotations.VimscriptFunction
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import kotlin.io.path.Path
import kotlin.io.path.writeText
class VimscriptFunctionProcessor(private val environment: SymbolProcessorEnvironment) : SymbolProcessor {
private val visitor = VimscriptFunctionVisitor()
private val nameToClass = mutableMapOf<String, String>()
private val json = Json { prettyPrint = true }
override fun process(resolver: Resolver): List<KSAnnotated> {
resolver.getAllFiles().forEach { it.accept(visitor, Unit) }
val filePath = Path(environment.options["generated_directory"]!!, environment.options["vimscript_functions_file"]!!)
val fileContent = json.encodeToString(nameToClass)
filePath.writeText(fileContent)
return emptyList()
}
// todo inspection that annotation is properly used on proper classes
private inner class VimscriptFunctionVisitor : KSVisitorVoid() {
@OptIn(KspExperimental::class)
override fun visitClassDeclaration(classDeclaration: KSClassDeclaration, data: Unit) {
val vimscriptFunctionAnnotation = classDeclaration.getAnnotationsByType(VimscriptFunction::class).firstOrNull() ?: return
val functionName = vimscriptFunctionAnnotation.name
nameToClass[functionName] = classDeclaration.qualifiedName!!.asString()
}
override fun visitFile(file: KSFile, data: Unit) {
file.declarations.forEach { it.accept(this, Unit) }
}
}
}
@@ -0,0 +1,20 @@
/*
* Copyright 2003-2023 The IdeaVim authors
*
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE.txt file or at
* https://opensource.org/licenses/MIT.
*/
package com.intellij.vim.providers
import com.google.devtools.ksp.processing.SymbolProcessor
import com.google.devtools.ksp.processing.SymbolProcessorEnvironment
import com.google.devtools.ksp.processing.SymbolProcessorProvider
import com.intellij.vim.processors.ExCommandProcessor
class ExCommandProcessorProvider : SymbolProcessorProvider {
override fun create(environment: SymbolProcessorEnvironment): SymbolProcessor {
return ExCommandProcessor(environment)
}
}
@@ -0,0 +1,20 @@
/*
* Copyright 2003-2023 The IdeaVim authors
*
* Use of this source code is governed by an MIT-style
* license that can be found in the LICENSE.txt file or at
* https://opensource.org/licenses/MIT.
*/
package com.intellij.vim.providers
import com.google.devtools.ksp.processing.SymbolProcessor
import com.google.devtools.ksp.processing.SymbolProcessorEnvironment
import com.google.devtools.ksp.processing.SymbolProcessorProvider
import com.intellij.vim.processors.VimscriptFunctionProcessor
public class VimscriptFunctionProcessorProvider : SymbolProcessorProvider {
override fun create(environment: SymbolProcessorEnvironment): SymbolProcessor {
return VimscriptFunctionProcessor(environment)
}
}
@@ -0,0 +1,2 @@
com.intellij.vim.providers.VimscriptFunctionProcessorProvider
com.intellij.vim.providers.ExCommandProcessorProvider
Binary file not shown.

After

Width:  |  Height:  |  Size: 194 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 638 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 364 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 981 KiB

+1009
View File
File diff suppressed because it is too large Load Diff
-4
View File
@@ -1,4 +0,0 @@
version-id:0.34
platform-version:120.0
idea.download.url=http://download.jetbrains.com/idea/ideaIU-13.zip
build.number=dev
-180
View File
@@ -1,180 +0,0 @@
<project name="IdeaVim">
<!--
* IdeaVim - A Vim emulator plugin for IntelliJ Idea
* Copyright (C) 2003-2009 Rick Maddy, Oleg Shpynov
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-->
<property file="build.properties"/>
<property name="idea" value="${basedir}/idea"/>
<property name="src" value="${basedir}/src"/>
<property name="resources" value="${basedir}/resources"/>
<property name="test" value="${basedir}/test"/>
<property name="idea.home" value="${idea}/unzip"/>
<property environment="env"/>
<property name="tools.jar" value="${env.JAVA_HOME}/lib/tools.jar"/>
<property name="version" value="${version-id}"/>
<property name="filename" value="ideavim-${version}"/>
<!--Output-->
<property name="out" value="${basedir}/out"/>
<property name="classes" value="${out}/classes"/>
<property name="build" value="${out}/build"/>
<property name="dist" value="${out}/dist"/>
<property name="test-reports" value="${out}/test-reports"/>
<path id="build.classpath">
<fileset dir="${idea.home}/lib">
<include name="*.jar"/>
</fileset>
<fileset dir="${java.home}/lib">
<include name="*.jar"/>
</fileset>
<pathelement path="${classes}"/>
</path>
<path id="test.classpath">
<path refid="build.classpath"/>
<pathelement path="${tools.jar}"/>
</path>
<!-- Clean all the generated stuff -->
<target name="clean" description="Removes all generated files">
<delete dir="${out}"/>
</target>
<!-- Compile all the sources to the ${classes} folder -->
<target name="compile">
<mkdir dir="${classes}"/>
<taskdef name="javac2" classname="com.intellij.ant.Javac2">
<classpath refid="build.classpath"/>
</taskdef>
<!-- The task requires the following libraries from IntelliJ IDEA distribution: -->
<!-- javac2.jar; jdom.jar; asm.jar; asm-commons.jar -->
<javac2 destdir="${classes}" debug="on" fork="true" encoding="UTF-8" includeantruntime="false">
<classpath refid="build.classpath"/>
<src path="${src}"/>
<include name="com/maddyhome/idea/**"/>
</javac2>
</target>
<!-- Create ideavim.jar for packing inside zip plugin package -->
<target name="jar">
<mkdir dir="${classes}"/>
<mkdir dir="${classes}/META-INF"/>
<copy file="resources/META-INF/plugin.xml" todir="${classes}/META-INF">
<filterset>
<filter token="VERSION" value="${version}"/>
<filter token="SINCE-VERSION" value="${platform-version}"/>
<filter token="BUILD-NUMBER" value="${build.number}"/>
</filterset>
</copy>
<copy todir="${classes}">
<fileset dir="${src}" excludes="**/*.java"/>
</copy>
<copy todir="${classes}">
<fileset dir="${resources}"/>
</copy>
<mkdir dir="${build}"/>
<jar basedir="${classes}" jarfile="${build}/IdeaVim.jar" compress="yes"/>
</target>
<target name="build" depends="unzip, clean, compile, jar" description="Compiles all source code and created plugin jar file"/>
<!-- Download IntelliJ IDEA distribution -->
<target name="download" description="Downloads IntelliJ IDEA artifacts">
<mkdir dir="${idea}"/>
<get src="${idea.download.url}" dest="${idea}" skipexisting="true"/>
</target>
<!-- Unpack idea-*.zip file for ideavim compilation -->
<target name="unzip" depends="download" description="Unzip downloaded artifacts and set up idea.home">
<delete dir="${idea}/unzip"/>
<mkdir dir="${idea}/unzip"/>
<basename property="idea.filename" file="${idea.download.url}"/>
<unzip dest="${idea}/unzip">
<fileset dir="${idea}" includes="${idea.filename}"/>
</unzip>
</target>
<target name="dist" depends="dist-src, dist-bin" description="Creates the src and bin distribution files"/>
<!-- Prepare layout for plugin distribution and creates zip file which can be published -->
<target name="dist-bin" depends="clean, build" description="Creates a zip file containing the plugin sources">
<delete dir="${build}/IdeaVim"/>
<mkdir dir="${build}/IdeaVim"/>
<copy file="${basedir}/LICENSE.txt" tofile="${build}/IdeaVim/LICENSE"/>
<copy todir="${build}/IdeaVim/lib">
<fileset dir="${build}" includes="*.jar"/>
</copy>
<copy file="${basedir}/README.md" tofile="${build}/IdeaVim/README"/>
<copy file="${basedir}/CHANGES.md" tofile="${build}/IdeaVim/CHANGES"/>
<zip basedir="${build}" zipfile="${dist}/${filename}-${build.number}.zip" compress="true" includes="IdeaVim/**"/>
</target>
<!-- Packs all the sources -->
<target name="dist-src" depends="clean" description="Creates the source tar file">
<mkdir dir="${dist}"/>
<tar basedir="." destfile="${dist}/${filename}-src.tar.gz" excludes=".git/**,.idea/**,idea/**,out/**,*.iws,*.iml" compression="gzip"/>
</target>
<target name="compile-tests" depends="compile">
<mkdir dir="${classes}"/>
<taskdef name="javac2" classname="com.intellij.ant.Javac2">
<classpath refid="build.classpath"/>
</taskdef>
<javac2 destdir="${classes}" debug="on" fork="true" encoding="UTF-8" includeantruntime="false">
<classpath refid="build.classpath"/>
<src path="${test}"/>
<include name="org/jetbrains/plugins/ideavim/**"/>
</javac2>
</target>
<target name="prepare-tests" depends="compile-tests">
<mkdir dir="${classes}/META-INF"/>
<copy file="resources/META-INF/plugin.xml" todir="${classes}/META-INF">
<filterset>
<filter token="VERSION" value="${version}"/>
<filter token="SINCE-VERSION" value="${platform-version}"/>
</filterset>
</copy>
<copy todir="${classes}">
<fileset dir="${resources}"/>
</copy>
<mkdir dir="${out}/IdeaVim"/>
</target>
<target name="test" depends="unzip, clean, prepare-tests">
<mkdir dir="${test-reports}"/>
<junit fork="true" logfailedtests="false" printsummary="true">
<classpath refid="test.classpath"/>
<jvmarg value="-Xmx256M"/>
<jvmarg value="-ea"/>
<jvmarg value="-Djava.awt.headless=true"/>
<jvmarg value="-Didea.plugins.path=${out}"/>
<jvmarg value="-Didea.load.plugins.id=IdeaVIM"/>
<formatter type="plain"/>
<batchtest todir="${test-reports}">
<fileset dir="${test}">
<include name="**/*Test.java"/>
</fileset>
</batchtest>
</junit>
</target>
</project>
+6
View File
@@ -0,0 +1,6 @@
Welcome to the IdeaVim wiki!
- List of IdeaVim plugins: [[plugins|IdeaVim Plugins]]
- Examples of `ideajoin` option (also known as "smart join"): [["ideajoin" examples|ideajoin-examples]]
- List of "set" commands: [["set" commands|set-commands]]
- Docs about "select" mode in vim: [[select mode|Select-mode]]
+398
View File
@@ -0,0 +1,398 @@
IdeaVim Plugins
--------------------
IdeaVim plugins work like the original Vim plugins. If you want to turn any of them on, you have to enable it via this command in your `~/.ideavimrc`:
```
Plug '<plugin-github-reference>'
```
If you reuse your existing `.vimrc` file using `source ~/.vimrc`, IdeaVim can parse and enable plugins that are defined
using [vim-plug](https://github.com/junegunn/vim-plug) or [vundle](https://github.com/VundleVim/Vundle.vim).
No additional set commands in `~/.ideavimrc` are required.
If you'd like to disable some plugin that's enabled in `.vimrc`, you can use `set no<extension-name>`
in `~/.ideavimrc`. E.g. `set nosurround`.
Available plugins:
<details>
<summary><h2>easymotion</h2></summary>
Original plugin: [vim-easymotion](https://github.com/easymotion/vim-easymotion).
### Setup:
- Install [IdeaVim-EasyMotion](https://plugins.jetbrains.com/plugin/13360-ideavim-easymotion/)
and [AceJump](https://plugins.jetbrains.com/plugin/7086-acejump/) plugins.
- Add the following command to `~/.ideavimrc`: `Plug 'easymotion/vim-easymotion'`
<details>
<summary>Alternative syntax</summary>
<code>Plugin 'easymotion/vim-easymotion'</code>
<br/>
<code>Plug 'https://github.com/easymotion/vim-easymotion'</code>
<br/>
<code>Plug 'vim-easymotion'</code>
<br/>
<code>set easymotion</code>
</details>
### Instructions
All commands with the mappings are supported. See the [full list of supported commands](https://github.com/AlexPl292/IdeaVim-EasyMotion#supported-commands).
</details>
<details>
<summary><h2>sneak</h2></summary>
Original plugin: [vim-sneak](https://github.com/justinmk/vim-sneak).
### Setup:
- Install [IdeaVim-sneak](https://plugins.jetbrains.com/plugin/15348-ideavim-sneak) plugin.
- Add the following command to `~/.ideavimrc`: `set sneak`
### Instructions
See the [docs](https://github.com/Mishkun/ideavim-sneak#usage)
</details>
<details>
<summary><h2>NERDTree</h2></summary>
Original plugin: [NERDTree](https://github.com/preservim/nerdtree).
### Setup:
- Add the following command to `~/.ideavimrc`: `Plug 'preservim/nerdtree'`
<details>
<summary>Alternative syntax</summary>
<code>Plugin 'preservim/nerdtree'</code>
<br/>
<code>Plug 'https://github.com/preservim/nerdtree'</code>
<br/>
<code>Plug 'nerdtree'</code>
<br/>
<code>set NERDTree</code>
</details>
### Instructions
[[See here|NERDTree-support]].
</details>
<details>
<summary><h2>surround</h2></summary>
Original plugin: [vim-surround](https://github.com/tpope/vim-surround).
### Setup:
- Add the following command to `~/.ideavimrc`: `Plug 'tpope/vim-surround'`
<details>
<summary>Alternative syntax</summary>
<code>Plugin 'tpope/vim-surround'</code>
<br/>
<code>Plug 'https://www.vim.org/scripts/script.php?script_id=1697'</code>
<br/>
<code>Plug 'vim-surround'</code>
<br/>
<code>set surround</code>
</details>
### Instructions
https://github.com/tpope/vim-surround/blob/master/doc/surround.txt
</details>
<details>
<summary><h2>multiple-cursors</h2></summary>
Original plugin: [vim-multiple-cursors](https://github.com/terryma/vim-multiple-cursors).
### Setup:
- Add the following command to `~/.ideavimrc`: `Plug 'terryma/vim-multiple-cursors'`
<details>
<summary>Alternative syntax</summary>
<code>Plugin 'terryma/vim-multiple-cursors'</code>
<br/>
<code>Plug 'https://github.com/terryma/vim-multiple-cursors'</code>
<br/>
<code>Plug 'vim-multiple-cursors'</code>
<br/>
<code>set multiple-cursors</code>
</details>
### Instructions
https://github.com/terryma/vim-multiple-cursors/blob/master/doc/multiple_cursors.txt
</details>
<details>
<summary><h2>commentary</h2></summary>
By [Daniel Leong](https://github.com/dhleong)
Original plugin: [commentary.vim](https://github.com/tpope/vim-commentary).
### Setup:
- Add the following command to `~/.ideavimrc`: `Plug 'tpope/vim-commentary'`
<details>
<summary>Alternative syntax</summary>
<code>Plugin 'tpope/vim-commentary'</code>
<br/>
<code>Plug 'https://github.com/tpope/vim-commentary'</code>
<br/>
<code>Plug 'vim-commentary'</code>
<br/>
<code>Plug 'tcomment_vim'</code>
<br/>
<code>set commentary</code>
</details>
### Instructions
https://github.com/tpope/vim-commentary/blob/master/doc/commentary.txt
</details>
<details>
<summary><h2>ReplaceWithRegister</h2></summary>
By [igrekster](https://github.com/igrekster)
Original plugin: [ReplaceWithRegister](https://github.com/vim-scripts/ReplaceWithRegister).
### Setup:
- Add the following command to `~/.ideavimrc`: `Plug 'vim-scripts/ReplaceWithRegister'`
<details>
<summary>Alternative syntax</summary>
<code>Plugin 'vim-scripts/ReplaceWithRegister'</code>
<br/>
<code>Plug 'ReplaceWithRegister'</code>
<br/>
<code>Plug 'https://github.com/inkarkat/vim-ReplaceWithRegister'</code>
<br/>
<code>Plug 'inkarkat/vim-ReplaceWithRegister'</code>
<br/>
<code>Plug 'vim-ReplaceWithRegister'</code>
<br/>
<code>Plug 'https://www.vim.org/scripts/script.php?script_id=2703'</code>
<br/>
<code>set ReplaceWithRegister</code>
</details>
### Instructions
https://github.com/vim-scripts/ReplaceWithRegister/blob/master/doc/ReplaceWithRegister.txt
</details>
<details>
<summary><h2>argtextobj</h2></summary>
Original plugin: [argtextobj.vim](https://www.vim.org/scripts/script.php?script_id=2699).
### Setup:
- Add the following command to `~/.ideavimrc`: `Plug 'vim-scripts/argtextobj.vim'`
<details>
<summary>Alternative syntax</summary>
<code>Plugin 'vim-scripts/argtextobj.vim'</code>
<br/>
<code>Plug 'https://github.com/vim-scripts/argtextobj.vim'</code>
<br/>
<code>Plug 'argtextobj.vim'</code>
<br/>
<code>Plug 'https://www.vim.org/scripts/script.php?script_id=2699'</code>
<br/>
<code>set argtextobj</code>
</details>
### Instructions
By default, only the arguments inside parenthesis are considered. To extend the functionality
to other types of brackets, set `g:argtextobj_pairs` variable to a comma-separated
list of colon-separated pairs (same as VIM's `matchpairs` option), like
`let g:argtextobj_pairs="(:),{:},<:>"`. The order of pairs matters when
handling symbols that can also be operators: `func(x << 5, 20) >> 17`. To handle
this syntax parenthesis, must come before angle brackets in the list.
https://www.vim.org/scripts/script.php?script_id=2699
</details>
<details>
<summary><h2>exchange</h2></summary>
By [fan-tom](https://github.com/fan-tom)
Original plugin: [vim-exchange](https://github.com/tommcdo/vim-exchange).
### Setup:
- Add the following command to `~/.ideavimrc`: `Plug 'tommcdo/vim-exchange'`
<details>
<summary>Alternative syntax</summary>
<code>Plugin 'tommcdo/vim-exchange'</code>
<br/>
<code>Plug 'https://github.com/tommcdo/vim-exchange'</code>
<br/>
<code>Plug 'vim-exchange'</code>
<br/>
<code>set exchange</code>
</details>
### Instructions
https://github.com/tommcdo/vim-exchange/blob/master/doc/exchange.txt
</details>
<details>
<summary><h2>textobj-entire</h2></summary>
By [Alexandre Grison](https://github.com/agrison)
Original plugin: [vim-textobj-entire](https://github.com/kana/vim-textobj-entire).
### Setup:
- Add the following command to `~/.ideavimrc`: `Plug 'kana/vim-textobj-entire'`
<details>
<summary>Alternative syntax</summary>
<code>Plugin 'kana/vim-textobj-entire'</code>
<br/>
<code>Plug 'vim-textobj-entire'</code>
<br/>
<code>Plug 'https://www.vim.org/scripts/script.php?script_id=2610'</code>
<br/>
<code>set textobj-entire</code>
</details>
### Instructions
https://github.com/kana/vim-textobj-entire/blob/master/doc/textobj-entire.txt
</details>
<details>
<summary><h2>highlightedyank</h2></summary>
By [KostkaBrukowa](https://github.com/KostkaBrukowa)
Original plugin: [vim-highlightedyank](https://github.com/machakann/vim-highlightedyank).
### Setup:
- Add the following command to `~/.ideavimrc`: `Plug 'machakann/vim-highlightedyank'`
<details>
<summary>Alternative syntax</summary>
<code>Plugin 'machakann/vim-highlightedyank'</code>
<br/>
<code>Plug 'https://github.com/machakann/vim-highlightedyank'</code>
<br/>
<code>Plug 'vim-highlightedyank'</code>
<br/>
<code>set highlightedyank</code>
</details>
### Instructions
If you want to optimize highlight duration, assign a time in milliseconds:
`let g:highlightedyank_highlight_duration = "1000"`
A negative number makes the highlight persistent.
If you want to change background color of highlight you can provide the rgba of the color you want e.g.
`let g:highlightedyank_highlight_color = "rgba(160, 160, 160, 155)"`
https://github.com/machakann/vim-highlightedyank/blob/master/doc/highlightedyank.txt
</details>
<details>
<summary><h2>vim-paragraph-motion</h2></summary>
Original plugin: [vim-paragraph-motion](https://github.com/dbakker/vim-paragraph-motion).
### Setup:
- Add the following command to `~/.ideavimrc`: `Plug 'dbakker/vim-paragraph-motion'`
<details>
<summary>Alternative syntax</summary>
<code>Plugin 'dbakker/vim-paragraph-motion'</code>
<br/>
<code>Plug 'https://github.com/dbakker/vim-paragraph-motion'</code>
<br/>
<code>Plug 'vim-paragraph-motion'</code>
<br/>
<code>Plug 'https://github.com/vim-scripts/Improved-paragraph-motion'</code>
<br/>
<code>Plug 'vim-scripts/Improved-paragraph-motion'</code>
<br/>
<code>Plug 'Improved-paragraph-motion'</code>
<br/>
<code>set vim-paragraph-motion</code>
</details>
### Instructions
https://github.com/dbakker/vim-paragraph-motion#vim-paragraph-motion
</details>
<details>
<summary><h2>vim-indent-object</h2></summary>
By [Shrikant Sharat Kandula](https://github.com/sharat87)
Original plugin: [vim-indent-object](https://github.com/michaeljsmith/vim-indent-object).
### Setup:
- Add the following command to `~/.ideavimrc`: `Plug 'michaeljsmith/vim-indent-object'`
<details>
<summary>Alternative syntax</summary>
<code>Plugin 'michaeljsmith/vim-indent-object'</code>
<br/>
<code>Plug 'https://github.com/michaeljsmith/vim-indent-object'</code>
<br/>
<code>Plug 'vim-indent-object'</code>
<br/>
<code>set textobj-indent</code>
</details>
### Instructions
https://github.com/michaeljsmith/vim-indent-object/blob/master/doc/indent-object.txt
</details>
<details>
<summary><h2>matchit.vim</h2></summary>
By [Martin Yzeiri](https://github.com/myzeiri)
Original plugin: [matchit.vim](https://github.com/chrisbra/matchit).
### Setup:
- Add the following command to `~/.ideavimrc`: `packadd matchit`
<details>
<summary>Alternative syntax</summary>
<code>Plug 'vim-matchit'</code>
<br/>
<code>Plug 'chrisbra/matchit'</code>
<br/>
<code>set matchit</code>
</details>
### Instructions
https://github.com/adelarsq/vim-matchit/blob/master/doc/matchit.txt
</details>
<details>
<summary><h2>IdeaVim-Quickscope</h2></summary>
Original plugin: [quick-scope](https://github.com/unblevable/quick-scope).
### Setup:
- Install [IdeaVim-Quickscope](https://plugins.jetbrains.com/plugin/19417-ideavim-quickscope) plugin.
- Add the following command to `~/.ideavimrc`: `set quickscope`
### Instructions
https://plugins.jetbrains.com/plugin/19417-ideavim-quickscope
</details>
+73
View File
@@ -0,0 +1,73 @@
# NERDTree
IdeaVim supports the NERDTree plugin. Update your `~/.ideavimrc` to turn it on:
```vim
Plug 'preservim/nerdtree'
```
or
```vim
set NERDTree
```
Use `set noNERDTree` to disable this extension.
<details>
<summary>Full list of aliases</summary>
```vim
set NERDTree
Plug 'preservim/nerdtree'
Plug 'https://github.com/preservim/nerdtree'
Plug 'https://github.com/scrooloose/nerdtree'
Plug 'scrooloose/nerdtree'
Plug 'nerdtree'
```
</details>
### Preview
<details>
<summary>Click to the the preview</summary>
<img src="images/nerdtree.gif" alt="NERDTree example"/>
</details>
### Supported commands
- `:NERDTree`
- `:NERDTreeFocus`
- `:NERDTreeToggle`
- `:NERDTreeClose`
- `:NERDTreeFind`
- `:NERDTreeRefreshRoot`
| Key | Description | Map Setting |
|---------|---------------------------------------------------------|--------------------------------|
| `o` | Open files, directories and bookmarks | `g:NERDTreeMapActivateNode` |
| `go` | Open selected file, but leave cursor in the NERDTree | `g:NERDTreeMapPreview` |
| `t` | Open selected node/bookmark in a new tab | `g:NERDTreeMapOpenInTab` |
| `T` | Same as 't' but keep the focus on the current tab | `g:NERDTreeMapOpenInTabSilent` |
| `i` | Open selected file in a split window | `g:NERDTreeMapOpenSplit` |
| `gi` | Same as i, but leave the cursor on the NERDTree | `g:NERDTreeMapPreviewSplit` |
| `s` | Open selected file in a new vsplit | `g:NERDTreeMapOpenVSplit` |
| `gs` | Same as s, but leave the cursor on the NERDTree | `g:NERDTreeMapPreviewVSplit` |
| `O` | Recursively open the selected directory | `g:NERDTreeMapOpenRecursively` |
| `x` | Close the current nodes parent | `g:NERDTreeMapCloseDir` |
| `X` | Recursively close all children of the current node | `g:NERDTreeMapCloseChildren` |
| `P` | Jump to the root node | `g:NERDTreeMapJumpRoot` |
| `p` | Jump to current nodes parent | `g:NERDTreeMapJumpParent` |
| `K` | Jump up inside directories at the current tree depth | `g:NERDTreeMapJumpFirstChild` |
| `J` | Jump down inside directories at the current tree depth | `g:NERDTreeMapJumpLastChild` |
| `<C-J>` | Jump down to next sibling of the current directory | `g:NERDTreeMapJumpNextSibling` |
| `<C-K>` | Jump up to previous sibling of the current directory | `g:NERDTreeMapJumpPrevSibling` |
| `r` | Recursively refresh the current directory | `g:NERDTreeMapRefresh` |
| `R` | Recursively refresh the current root | `g:NERDTreeMapRefreshRoot` |
| `m` | Display the NERDTree menu | `g:NERDTreeMapMenu` |
| `q` | Close the NERDTree window | `g:NERDTreeMapQuit` |
| `A` | Zoom (maximize/minimize) the NERDTree window | `g:NERDTreeMapToggleZoom` |
### Troubleshooting
If you see the the file is opened automatically on every movement in the Project View (`j`, `k`, etc.)
please make sure that you have "Open Files with Single click" disabled.
<img src="images/disable-one-click.png" alt="Disable one click"/>
+24
View File
@@ -0,0 +1,24 @@
# FAQ
## What is select mode?
This mode is where the selection works the same as system selection. When you start typing, the text in the selected area is removed and replaced by the new characters that are being typed in.
## Why is select mode enabled during refactoring?
With the help of the select mode, you can immediately enter the variable name during refactoring. You can go to the beginning or the end of a variable using the arrow keys. If you need to make more complex changes, you can always go back to normal mode with `<ESC>`.
## What if I want to use visual mode during refactoring?
Select mode is controlled by the `keymodel`, `selectmode` and `idearefactormode` options. Set `idearefactormode` to `visual` to adjust this behavior.
`set idearefactormode=visual`
## What if I don't want to change the mode during refactoring?
`set idearefactormode=keep`
# See Also
* IdeaVim options: https://github.com/JetBrains/ideavim/blob/master/doc/set-commands.md
* Vim documentation about select mode: https://vimhelp.org/visual.txt.html#Select-mode
* Stackoverflow explanation: https://vi.stackexchange.com/questions/4891/what-is-the-select-mode-and-when-is-it-relevant-to-use-it
+60
View File
@@ -0,0 +1,60 @@
Some examples of join command with `ideajoin` option enabled.
Put `set ideajoin` to your `~/.ideavimrc` to enable this functionality.
Now, you can press `J` (`shift+j`) on a line or a selected block of text to join the lines together.
* Automatic join concatenated lines:
```
"Hello" + -> "Hello world"
" world!"
```
* Nested if's:
```
if (a) { -> if (a && b) {
if (b) { ...
... }
}
}
```
* Comments:
```
// Hello -> // Hello world
// world
```
* Remove braces from one line for / if / while:
```
if (fail) { -> if (fail) return;
return;
}
```
* Kotlin one line method:
```
fun myNumber(): Int { -> fun myNumber(): Int = 42
return 42
}
```
* Join declaration and initialization:
```
int a; -> int a = 5;
a = 5;
```
* Chain call:
```
sb.append("a"); -> sb.append("a").append("b");
sb.append("b");
```
And other features provided by the plugins.
Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 MiB

+13
View File
@@ -0,0 +1,13 @@
Using actions from external plugins is the same, as tracking and reusing any IDE action. As an example, let's create a mapping that will toggle case of the word under caret using the CamelCase plugin when you press `<leader>t`.
**Steps to make this mapping**
1. Install the plugin via Marketplace
2. Enable action tracking. You can enable it by one of the following ways:
* Execute `:set trackactionids` ex command or just `:set tai`
* Open the "Find actions" window by pressing `Ctrl-Shift-A` and search for "Track Action Ids" to find the toggle that enables and disables action tracking
3. Execute the plugin action the way intended by plugin author "See Edit menu or use ⇧ + ⌥ + U / Shift + Alt + U" or just find the `Toggle Camel Case` action in the "Find actions" window (`Ctrl-Shift-A`). If you action tracking is on, you will see this notification in your right bottom corner:
<img alt="Notification" src="images/action-id-notification.png"/>
4. Copy the action id from the notification to create the following mapping in your .ideavimrc
```map <leader>t <Action>(de.netnexus.CamelCasePlugin.ToggleCamelCase)```
+43
View File
@@ -0,0 +1,43 @@
# How Many Modes Does Vim Have?
When asked this question, many people will say three: Normal, Visual, and Insert. Some will have heard about One-command mode, while others will know about the two types of modes that are available during selection: Visual and Select. The official documentation, however, identifies seven main modes and seven additional ones (search for `:h vim-mode` [here](https://vimhelp.org/intro.txt.html#vim-modes)). Whats more, the documentation for the built-in `mode()` function states that up to 35 different mode values may be returned (search for `:h mode()` [here](https://vimhelp.org/builtin.txt.html#mode%28%29)).
## Modes in Vim
The `mode()` function returns a string. Each character in this string represents a mode or its sub-mode. For example:
* n Normal
* i Insert
* no Operator-pending
* niI Normal using |i_CTRL-O| in |Insert-mode|
* niR Normal using |i_CTRL-O| in |Replace-mode|
The documentation for the function states that, if you check the mode, you should only compare by prefix rather than the whole string. Moreover, the list of modes can be extended.
During the development of IdeaVim, it turned out that even 35 modes were not enough to represent the full range of Vim states. For example, the `mode()` function does not cover the state when we enter Operator-pending mode after One-command mode. This information is important because we have to know that Vim should enter Insert mode after this particular Operator-pending command is finished.
All of the above shows that Vim itself doesnt have a strictly bounded set of modes. Rather, the list can be extended with new ones, and the regular modes, like Visual or Normal, may have “submodes” that specify certain details of Vims state.
Inside the code, the state of Vim is defined by the `State` variable in the `globals.h` file ([source](https://github.com/neovim/neovim/blob/master/src/nvim/globals.h#L637)). This is an integer variable with a [list of possible values](https://github.com/neovim/neovim/blob/master/src/nvim/vim.h#L47). However, this list does not define the full range of modes, and other variables from the `globals.h `file store information about specifics. For example, <code>[restart_edit](https://github.com/neovim/neovim/blob/389165cac1596bf602c50904a789722d65ceaac7/src/nvim/globals.h#L670)</code> is set when we enter One-command mode, and <code>[VIsual_active](https://github.com/neovim/neovim/blob/389165cac1596bf602c50904a789722d65ceaac7/src/nvim/globals.h#L535)</code> defines whether Visual mode is enabled (check out [this README](https://github.com/JetBrains/ideavim#some-facts-about-vim) to learn why this variable starts with two uppercase letters). Meanwhile, the <code>[get_real_mode](https://github.com/neovim/neovim/blob/389165cac1596bf602c50904a789722d65ceaac7/src/nvim/state.c#L154)</code> function helps determine whether Vim is in Select or Visual mode.
The `mode()` function, which delegates to <code>[get_mode()](https://github.com/neovim/neovim/blob/389165cac1596bf602c50904a789722d65ceaac7/src/nvim/state.c#L173)</code>, is a big set of “if” commands that collect the information from different variables and combine them into a string representation.
## Modes in IdeaVim
For a long time, IdeaVim used a stack to store the information about the current mode:
* The default value is Normal mode
* When entering Insert mode, an “INSERT” command is added to the stack
* If the user presses _Ctrl-O_ to enter One-time command mode, a “NORMAL” command is added to the stack.
* On _Esc_, the top value of the stack is popped, activating Insert mode.
* On the second _Esc_, the top value is popped again, deactivating Insert mode.
This solution worked well for a long time. However, it sometimes led to programming mistakes, as this structure allowed incorrect states when the stack contained a senseless mix of modes. For the most part, these downsides were manageable, and we were generally able to keep the state consistent. Nevertheless, we recently decided to perform a refactoring.
Now IdeaVim has a single `Mode` interface ([source](https://github.com/JetBrains/ideavim/blob/98886cb269752a5f989c90b1da90fc624b3a381c/vim-engine/src/main/kotlin/com/maddyhome/idea/vim/state/mode/Mode.kt#L27)) that represents the mode and all possible states of it. This solution is type-safe and helps developers of IdeaVim avoid setting illegal states.
+136 -20
View File
@@ -1,24 +1,140 @@
List of Supported Set Commands
==============================
The following `:set` commands can appear in `~/.vimrc` or set manually in the command mode:
The following `:set` commands can appear in `~/.ideavimrc` or be set manually in the command mode:
'digraph' 'dg' enable the entering of digraphs in Insert mode
'gdefault' 'gd' the ":substitute" flag 'g' is default on
'history' 'hi' number of command-lines that are remembered
'hlsearch' 'hls' highlight matches with last search pattern
'ignorecase' 'ic' ignore case in search patterns
'matchpairs' 'mps' pairs of characters that "%" can match
'nrformats' 'nf' number formats recognized for CTRL-A command
'scroll' 'scr' lines to scroll with CTRL-U and CTRL-D
'scrolljump' 'sj' minimum number of lines to scroll
'scrolloff' 'so' minimum nr. of lines above and below cursor
'selection' 'sel' what type of selection to use
'showmode' 'smd' message on status line to show current mode
'sidescroll' 'ss' minimum number of columns to scroll horizontal
'sidescrolloff' 'siso' min. nr. of columns to left and right of cursor
'smartcase' 'scs' no ignore case when pattern has uppercase
'timeoutlen' 'tm' time that is waited for a mapped key sequence
'undolevels' 'ul' maximum number of changes that can be undone
'visualbell' 'vb' use visual bell instead of beeping
'wrapscan' 'ws' searches wrap around the end of the file
'clipboard' 'cb' clipboard options
Standard clipboard options plus
`ideaput` (default on) - IdeaVim ONLY
enable native idea paste action for put operations
'digraph' 'dg' enable the entering of digraphs in Insert mode
'gdefault' 'gd' the ":substitute" flag 'g' is by default
'history' 'hi' number of command-lines that are remembered
'hlsearch' 'hls' highlight matches with the last search pattern
'ignorecase' 'ic' ignore case in search patterns
'iskeyword' 'isk' defines keywords for commands like 'w', '*', etc.
'incsearch' 'is' show where search pattern typed so far matches
`keymodel` `km` String (default "continueselect,stopselect")
List of comma separated words, which enable special things that keys
can do. These values can be used:
startsel Using a shifted special[1] key starts selection (either
Select mode or Visual mode, depending on "key" being
present in 'selectmode').
stopsel Using a NOT-shifted special[1] key stops selection.
Automatically enables `stopselect` and `stopvisual`
stopselect Using a NOT-shifted special[1] key stops - IdeaVim ONLY
select mode and removes selection.
stopvisual Using a NOT-shifted special[1] key stops - IdeaVim ONLY
visual mode and removes selection.
continueselect Using a shifted arrow key doesn't - IdeaVim ONLY
start selection, but in select mode
acts like startsel is enabled
continuevisual Using a shifted arrow key doesn't - IdeaVim ONLY
start selection, but in visual mode
acts like startsel is enabled
'matchpairs' 'mps' pairs of characters that "%" can match
'maxmapdepth' 'mmd' Maximum depth of mappings
'more' 'more' When on, listings pause when the whole screen is filled.
'nrformats' 'nf' number formats recognized for CTRL-A command
'number' 'nu' print the line number in front of each line
'relativenumber' 'rnu' show the line number relative to the line with
the cursor
'scroll' 'scr' lines to scroll with CTRL-U and CTRL-D
'scrolljump' 'sj' minimum number of lines to scroll
'scrolloff' 'so' minimum number of lines above and below the cursor
'selection' 'sel' what type of selection to use
`selectmode` `slm` String (default "")
This is a comma-separated list of words, which specify when to start
Select mode instead of Visual mode, when a selection is started.
Possible values:
mouse when using the mouse
key when using shifted special[1] keys
cmd when using "v", "V", or <C-V>
ideaselection when IDE sets a selection - IdeaVim ONLY
(examples: extend selection, wrap with while, etc.)
`startofline` `sol` When "on" some commands move the cursor to the first non-blank of the line.
When off the cursor is kept in the same column (if possible).
'showmode' 'smd' message on the status line to show current mode
'showcmd' 'sc' show (partial) command in the status bar
'sidescroll' 'ss' minimum number of columns to scroll horizontally
'sidescrolloff' 'siso' min. number of columns to left and right of cursor
'smartcase' 'scs' no ignore case when pattern is uppercase
'timeout' 'to' use timeout for mapped key sequences
'timeoutlen' 'tm' timeout duration for a mapped key sequence
'undolevels' 'ul' maximum number of changes that can be undone
'viminfo' 'vi' information to remember after restart
'visualbell' 'vb' use visual bell instead of beeping
'wrapscan' 'ws' searches wrap around the end of file
IdeaVim only commands:
`ideamarks` `ideamarks` Boolean (default true)
If true, creation of global mark will trigger creation of IDE's bookmark
and vice versa.
`idearefactormode` `idearefactormode` String(default "select")
Define the mode that would be enabled during
the refactoring (renaming, live template, introduce variable, etc)
Use one of the following values:
- keep - keep the mode that was enabled before starting a refactoring
- select - start refactoring in select mode
- visual - start refactoring in visual mode
This option has effect if you are in normal, insert or replace mode before refactoring start.
Visual or select mode are not changed.
`ideajoin` `ideajoin` Boolean (default false)
If true, join command will be performed via IDE
See wiki/`ideajoin` examples
`ideastatusicon` `ideastatusicon` String(default "enabled")
Define the behavior of IdeaVim icon in the status bar.
Use one of the following values:
- enabled - icon is shown in the status bar
- gray - use the gray version of the icon
- disabled - hide the icon
`ideawrite` `ideawrite` String (default "all")
"file" or "all". Defines the behaviour of ":w" command.
Value "all" enables execution of ":wa" (save all) command on ":w" (save).
This feature exists because some IJ options like "Prettier on save" or "ESlint on save"
work only with "save all" action. If this option is set to "all", these actions work
also with ":w" command.
`lookupkeys` `lookupkeys` List of strings
List of keys that should be processed by the IDE during the active lookup (autocompletion).
For example, <Tab> and <Enter> are used by the IDE to finish the lookup,
but <C-W> should be passed to IdeaVim.
Default value:
"<Tab>", "<Down>", "<Up>", "<Enter>", "<Left>", "<Right>",
"<C-Down>", "<C-Up>", "<PageUp>", "<PageDown>",
"<C-J>", "<C-Q>"
`ideavimsupport` `ideavimsupport` List of strings (default "dialog")
Define the list of additional buffers where IdeaVim is enabled.
- dialog - enable IdeaVim in dialogs
- singleline - enable IdeaVim in single line editors (not suggested)
----------
[1] - cursor keys, <End>, <Home>, <PageUp> and <PageDown>
+34
View File
@@ -0,0 +1,34 @@
# Configuring conflicting keys via .ideavimrc
IdeaVim allows defining handlers for the shortcuts that exist for both IDE and Vim (e.g. `<C-C>`).
```vim
" Use ctrl-c as an ide shortcut in normal and visual modes
sethandler <C-C> n-v:ide i:vim
```
This option consist of an optional shortcut and a list of space separated list of handlers:
`mode-list:handler mode-list:handler ...`
The `mode-list` is a dash separated list of modes that is similar to `guicursor` notation
and defines the following modes:
- n - normal mode
- i - insert mode
- x - visual mode
- v - visual and select modes
- a - all modes
The `handler` is an argument that may accept the following values:
- ide - use IDE handler
- vim - use Vim handler
Examples:
- `n:ide` - use IDE handler in normal mode
- `i-v:vim` - use Vim handler in normal, visual, and select modes
- `a:ide` - use IDE handler in all modes
By using `sethandler` you can define handlers:
- For a single shortcut: `sethandler <C-A> n:vim i-x:ide` - use Vim handler in normal mode and IDE handler in insert and visual modes,
- For all shortcuts: `sethandler n:vim i:ide` - use Vim handlers in normal mode and IDE handlers in insert mode.
If the definition of the handler is missing for some mode, it defaults to `vim`:
`sethandler <C-X> i:ide` - use IDE handler in insert mode and Vim handler in all other modes.
+38
View File
@@ -0,0 +1,38 @@
# Support Guide
This document is created to help our support team.
It's not intended to be read by the users as it brings to value to them.
## Support channels
- Main, YouTrack: https://youtrack.jetbrains.com/issues/VIM
- [Chat on gitter](https://gitter.im/JetBrains/ideavim)
- [IdeaVim Channel](https://jb.gg/bi6zp7) on [JetBrains Server](https://discord.gg/jetbrains)
- Rare: GitHub discussions - https://github.com/JetBrains/ideavim/discussions
## Expectations from the support
- Process incoming requests from all the support channels
- Request for an additional information
- Help users to answer simple cases
- Try to reproduce the issue
- Try to help user if this is misconfiguration / incorrect usage
- Pass actual bugs to the dev team
- Update "State" and "Area" fields
## YouTrack statuses
IdeaVim has multiple YouTrack statuses, main are:
- Submitted: issue is created by user, but not processed by our team. This is the default status for new tickets.
- Open: issues is processed by out team, what means that the issues is reproduced and accepted
- Waiting For Reply: Waiting for further information from the user. These issues are automatically closed if the
user doesn't reply in 30 days.
- Ready To Release: Bug is fixed, but not yet released
- Fixed: Bug is fixed
- Closed: Issue is closed by some other reason
# ~.ideavimrc file
`~/.ideavimrc` is the file that is used for IdeaVim configuration. It may affect behaviour of the program,
so it makes sense to additionally request this file in case the issues can't be reproduced.
+36
View File
@@ -0,0 +1,36 @@
#
# Copyright 2003-2023 The IdeaVim authors
#
# Use of this source code is governed by an MIT-style
# license that can be found in the LICENSE.txt file or at
# https://opensource.org/licenses/MIT.
#
# suppress inspection "UnusedProperty" for whole file
ideaVersion=2023.2.1
downloadIdeaSources=true
instrumentPluginCode=true
version=chylex-16
javaVersion=17
remoteRobotVersion=0.11.17
antlrVersion=4.10.1
kotlin.incremental.useClasspathSnapshot=false
# Please don't forget to update kotlin version in buildscript section
kotlinVersion=1.8.21
publishToken=token
publishChannels=eap
slackUrl=
youtrackToken=
# Gradle settings
org.gradle.jvmargs='-Dfile.encoding=UTF-8'
# Disable warning from gradle-intellij-plugin. Kotlin stdlib is included as compileOnly, so the warning is unnecessary
kotlin.stdlib.default.dependency=false
# Disable incremental annotation processing
ksp.incremental=false

Some files were not shown because too many files have changed in this diff Show More