1
0
mirror of https://github.com/chylex/IntelliJ-AceJump.git synced 2024-10-17 06:42:47 +02:00
Commit Graph

1014 Commits

Author SHA1 Message Date
cb814e0999
Set version to chylex-25 2024-09-05 09:11:05 +02:00
1fc06e8120
Update for latest IdeaVim 2024-09-05 09:10:21 +02:00
841f2fd125
Set version to chylex-24 2024-09-05 06:44:02 +02:00
6c8f19e311
Fix edge case where generated tags may have a double character tag that is the only tag starting with its first character 2024-09-05 06:43:41 +02:00
ce4f3b5f03
Fix IntelliJ SDK warning about services in class initializer 2024-09-05 02:44:39 +02:00
46f42c88eb
Optimize screen visibility checks during search
Search results are tested for visibility on the screen. There is already an optimization that only checks results on visible lines, but the number of offset-to-XY conversions still scales linearly with the number of results, which can be very large in files with long lines.

A simple observation is that every line has a first and last offset that is visible on the screen (which may be different for each line due to proportional fonts).

This commit caches the visible offset range for every line involved in one search query, so testing visibility of a search result becomes a check if its offset is inside its line's visible offset range. Finding the visible offset range requires two XY-to-offset conversions per line, so the total number of conversions is bounded by the number of lines that can fit on the screen.

The worst case for this optimization is when every line has exactly one search result; before, this would lead to one offset-to-XY conversion per line, whereas now it leads to two XY-to-offset conversions per line. However, the maximum number of conversions is twice the number of visible lines, which will generally be very small.
2024-09-05 02:12:48 +02:00
43dfec940e
Set version to chylex-23 2024-09-04 11:40:16 +02:00
abe06ec7be
Increase width of editor fade opacity slider 2024-09-04 11:39:59 +02:00
3fc3cbc7f8
Optimize tagging 2024-09-04 11:33:26 +02:00
5979579042
Set version to chylex-22 2024-09-04 08:50:33 +02:00
ea61d49aa6
Refactor TagMarker to reduce allocations during rendering 2024-09-04 08:50:13 +02:00
dbc6db108d
Redo tag generation (eliminate explicit prefix chars) 2024-09-04 08:44:52 +02:00
01c38df82a
Search in the middle of words again unless pressing an uppercase letter, and rebind Space to cycling search boundaries 2024-09-03 21:50:03 +02:00
a3a86cf447
Update for IDEA 2024.2 2024-09-03 20:58:08 +02:00
59fbd4e19c
Set version to chylex-21 2024-07-15 13:46:02 +02:00
6e08d56cdf
Update for IDEA 2024.1 & latest IdeaVim 2024-07-15 13:45:39 +02:00
9a14fb87e3
Set version to chylex-20 2024-03-27 13:53:41 +01:00
d22bcc220e
Update IdeaVim integration 2024-03-27 13:53:25 +01:00
1f76a8bd25
Set version to chylex-19 2023-12-29 21:45:12 +01:00
2e31ddd504
Use top row remapping only for tags 2023-12-29 21:45:12 +01:00
47a34f6f14
Disable searching in the middle of a word unless Space is pressed when typing tag 2023-12-29 21:45:12 +01:00
575283b2be
Set version to chylex-18 2023-12-18 05:25:09 +01:00
8bb34d7f75
Make editor fade opacity configurable 2023-12-18 05:24:57 +01:00
8d1ef031d2
Set version to chylex-17 2023-12-18 03:44:20 +01:00
a9375ec414
Remove unused code 2023-12-18 03:44:01 +01:00
b42112cc9e
Do not try to tag folded regions 2023-12-18 02:36:41 +01:00
8e42c82821
Use distance from current caret for tag order 2023-12-18 02:32:54 +01:00
48bcf9f284
Add QWERTZ (CZ) layout that remaps top row to digits 2023-12-18 00:58:37 +01:00
2681d9901f
Change priority order of two-character tags 2023-12-18 00:45:28 +01:00
b13d629046
Add option to set different colors for two-character tags 2023-12-17 22:41:36 +01:00
92dcd033fb
Make priority of unknown characters lower than known characters 2023-12-17 21:49:24 +01:00
fa3505b850
Set version to chylex-16 2023-12-14 00:09:49 +01:00
dacac684f0
Make two-character tag prefixes customizable 2023-12-14 00:09:27 +01:00
e627db3a24
Fix Shift mode not working when accepting a tag 2023-12-13 22:52:18 +01:00
084d729baa
Set version to chylex-15 2023-12-13 20:16:51 +01:00
e01edccb5b
Redesign tags to look like easymotion vim plugin 2023-12-13 20:16:13 +01:00
655ccde60e
Work around IntelliJ terminal plugin stealing Enter keys 2023-12-13 17:48:23 +01:00
eb2ea55fb8
Rework tagging to match easymotion (no search query refinement, no double letter tags) 2023-12-13 15:19:57 +01:00
a6381a2a34
Update Gradle to 8.5 and IntelliJ to 2023.3 2023-12-12 23:19:03 +01:00
e005983d4c
Set version to chylex-14 2023-11-17 08:56:13 +01:00
8f4d9748ad
Scroll after jumping in vim mode 2023-11-17 08:55:49 +01:00
76c6458ef4
Re-add action to go to declaration after jump 2023-11-17 08:52:46 +01:00
2f53e9da6d
Update for IdeaVIM chylex-20 2023-11-17 08:52:23 +01:00
100001ffca
Set version to chylex-13 2023-10-04 02:41:33 +02:00
184896a6cb
Update for IdeaVIM chylex-16 2023-10-04 02:41:05 +02:00
8563400946
Set plugin version to chylex-12 2023-10-04 02:40:51 +02:00
a07c61a384
Fully depend on IdeaVIM and remake actions 2023-07-28 07:50:39 +02:00
e072003c5c
Update dependency versions and gitignore 2023-07-27 22:07:17 +02:00
8062cf5cab
Update dependency versions 2023-01-09 07:19:07 +01:00
9151ee376c
Set plugin version to chylex-11 2022-07-06 15:46:45 +02:00