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

1100 Commits

Author SHA1 Message Date
04c1519261
Optimize screen visibility checks during search
When 'Search whole file' is disabled, 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 01:48:30 +02:00
breandan
efc81b8fde moved to gradle/libs.versions.toml 2024-08-02 15:47:33 -04:00
breandan
974c5cf258 Merge remote-tracking branch 'origin/master' 2024-08-02 15:11:58 -04:00
breandan
ae458094cf update to intellij gradle plugin v2 2024-08-02 15:11:49 -04:00
breandan
db62460d83
Merge pull request #460 from skyrylyuk/AceJump-139
#139 Improve test coverage - Add plugin for calculation Code Coverage
2024-08-02 15:07:08 -04:00
breandan
09888c2c34
Merge pull request #462 from KaelWD/patch-1
Add ENGRAM key layout
2024-08-02 14:55:30 -04:00
Kael
1d1f469663
Add ENGRAM key layout 2024-07-08 18:41:53 +10:00
Serhiy Kyrylyuk
21df680792 #139 Improve test coverage - Add plugin for calculation Code Coverage 2024-06-27 12:39:20 +03:00
breandan
1af49c2e91
Merge pull request #458 from Zilainfo/add-canary-key-layout
Add CANARY keyboard layout
2024-05-30 16:06:27 -04:00
kstas
ec7a769ae7 Add CANARY keyboard layout 2024-05-29 20:47:38 +03:00
breandan
d6d162e4cc Merge remote-tracking branch 'origin/master' 2024-04-29 10:10:20 -04:00
breandan
9d478c5b6e benchmark test latency 2024-04-29 10:10:12 -04:00
breandan
b66868664e
remove obsolete warning 2024-04-23 21:02:02 -04:00
breandan
c68487c989 build against platform 2024.1, #457 2024-04-06 16:43:35 -04:00
breandan
ca2b0a8dbe fix language 2024-02-27 10:21:51 -05:00
breandan
76bc72335b update versions 2024-02-26 23:11:57 -05:00
breandan
fe4e180aeb add Jinho's project 2024-02-26 19:56:10 -05:00
breandan
932c933969 update versions and change notes, release 3.8.18 2024-01-01 17:46:38 -05:00
breandan
16f205b11b
Merge pull request #455 from chylex/pr-folds
Do not assign tags inside folded regions
2024-01-01 17:29:17 -05:00
d0ead7d87a
Do not assign tags inside folded regions
Closes #453
2024-01-01 11:39:35 +01:00
breandan
c2e672f869 add tmux-copycat 2023-12-19 18:25:04 -05:00
breandan
1256ffc237 update comparison chart 2023-12-19 18:20:00 -05:00
breandan
29a71bdddc fixes #404 2023-12-19 17:22:16 -05:00
breandan
9d2e7f7569 adjust hint styling and fix #394 2023-12-19 07:57:25 -05:00
breandan
751e6d890b
fixes #452 2023-12-12 08:41:59 -05:00
breandan
283c1a5644 update change notes and release 3.8.17 2023-11-04 02:30:56 -04:00
breandan
73a37df7e2 add helpers for read and write actions 2023-10-28 18:10:14 -04:00
9921409aff
Add buttons to reset colors to default values in Settings
Closes #411
2023-10-28 13:58:06 +02:00
breandan
3039b5fbb3
Merge pull request #450 from chylex/pr/kotlin-stdlib
Do not bundle kotlin stdlib
2023-10-28 00:21:29 -04:00
cb3d4559f9
Do not bundle kotlin stdlib
Fixes #449
2023-10-27 20:42:45 +02:00
breandan
d905909e31 attempt to fix #446 2023-09-16 16:34:46 -04:00
breandan
64c6956b88 add tmux plugins 2023-08-28 21:12:52 -04:00
breandan
b1a044dbf8 update change notes 2023-08-28 17:27:29 -04:00
breandan
e46cbe1d06 Merge remote-tracking branch 'origin/master' 2023-08-28 17:09:18 -04:00
breandan
f64e25a0a9 fixes #442 2023-08-28 17:09:12 -04:00
breandan
eba043dfb2
further instructions for locating AceJump.xml 2023-08-25 20:54:44 -04:00
breandan
a746b0a516
add note about settings deserialization 2023-08-25 09:33:49 -04:00
breandan
209b6c97b7 update versions 2023-08-08 01:19:41 -04:00
breandan
3c89cd07b9 try @YannCebron's solution to #415, pt. II 2023-07-26 22:08:35 -10:00
breandan
2ffcc2c57a try @YannCebron's solution to #415 2023-07-26 21:49:42 -10:00
breandan
56b1dfa9a9 quiet plugin verifier error 2023-06-18 14:22:04 -04:00
breandan
48cadfef4c update versions, acknowledge @wuruofan 2023-06-18 14:11:42 -04:00
breandan
6d47331c71
Merge pull request #440 from wuruofan/master
fix(compatibility): avoid 'java.lang.NoSuchFieldError: Companion' error on lower version IDEA ide
2023-06-18 13:45:42 -04:00
wuruofan
3339f6bdb8 fix(compatibility): avoid 'java.lang.NoSuchFieldError: Companion' error on lower version IDEA ide such as PhpStorm, DevEco Studio etc, which related to FileEditorManagerEx.getInstanceEx() companion
Related issues: [#434](https://github.com/acejump/AceJump/issues/434), [#438](https://github.com/acejump/AceJump/issues/438), [#435](https://github.com/acejump/AceJump/issues/435), etc.
2023-06-12 16:34:18 +08:00
breandan
e7e85a6944 update to gradle 8.2-rc-2 and new property assignment syntax 2023-06-11 21:42:16 -04:00
breandan
1839efb59f update version 2023-05-28 19:20:17 -04:00
breandan
da913f61b6 Merge remote-tracking branch 'origin/master' 2023-05-13 15:04:28 -04:00
breandan
7dd12a0457 fixes #431 2023-05-13 15:04:06 -04:00
breandan
dae7bd8fa4 fixes #431 2023-05-13 14:59:39 -04:00
breandan
7d39ea2fef fixes #429 2023-04-28 16:55:42 -04:00