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