Commit Graph
8566 Commits
Author SHA1 Message Date
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