1
0
mirror of https://github.com/chylex/IntelliJ-AceJump.git synced 2024-11-14 23:42:45 +01:00
Commit Graph

673 Commits

Author SHA1 Message Date
018d29007c
Add option to invert behavior of holding Shift when searching, and toggle with Enter 2024-10-31 03:57:33 +01:00
1fc06e8120
Update for latest IdeaVim 2024-09-05 09:10:21 +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
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
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
6e08d56cdf
Update for IDEA 2024.1 & latest IdeaVim 2024-07-15 13:45:39 +02:00
d22bcc220e
Update IdeaVim integration 2024-03-27 13:53:25 +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
8bb34d7f75
Make editor fade opacity configurable 2023-12-18 05:24:57 +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
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
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
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
184896a6cb
Update for IdeaVIM chylex-16 2023-10-04 02:41:05 +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
19ce1c69fd
Improve tag order for non-QWERTY layouts 2022-07-06 15:46:35 +02:00
f2a053505c
Remove no longer necessary actions 2022-07-06 15:46:35 +02:00
647cfb14f1
Remove unused code 2022-07-06 15:46:35 +02:00
c31ba60909
Implement a customized Vim easymotion plugin 2022-07-06 15:46:35 +02:00
9157ce19b0
Remove all special modes introduced in the rework 2021-11-14 14:35:54 +01:00
9a435feccc
Fix broken special actions in Rider 2021-09-29 08:56:15 +02:00
0b6ba62cda
Simplify existing modes and add new vim shortcuts 2021-05-15 20:58:58 +02:00
dfd5b122a0
Optimizations 2021-05-15 20:30:18 +02:00
98997b4d86
[WIP] Fix tests 2021-05-08 03:54:27 +02:00
1e172e9c49
[WIP] Implement jumping across splitters 2021-05-08 02:39:27 +02:00
01b37c878e [WIP] Add more vim-friendly jump actions (declaration, usages) 2021-04-11 08:34:52 +02:00
1630c706a9 [WIP] Fix easymotion-like actions in visual mode 2021-04-08 13:57:11 +02:00
041a130c5f [WIP] Add a few easymotion-like actions 2021-04-07 03:05:11 +02:00
7561bfde36 [WIP] Make quick jump the default mode and rename non-quick jump to advanced mode 2021-04-07 00:16:50 +02:00
724e469f21 [WIP] Remove 'From Caret' mode 2021-04-06 02:09:29 +02:00
bce9a5f636 [WIP] Add quick jump mode 2021-03-29 18:43:00 +02:00
bfe0aa536e [WIP] Change plugin version 2021-03-29 18:42:40 +02:00