Daniel Imms and Cursor
f484584b70
Speed up decoration cell lookup with a per-line index
...
Refs #5176 .
forEachDecorationAtCell and getDecorationsAtCell previously scanned every
registered decoration on each call. With thousands of search highlights this
becomes O(total decorations) per cell and blocks rendering during viewport
refreshes.
Maintain a Map of buffer line -> decorations that cover that line. Multi-line
decorations are indexed on every line in their span, so mixed single-line and
multi-line workloads stay fast without falling back to a full scan.
Keep the index aligned with buffer mutations:
- Register and unregister decorations in the line buckets on add/dispose.
- On trim, shift line keys synchronously (before marker handlers run).
- On insert/delete, re-index affected decorations in a microtask after marker
line updates are applied.
Inject IBufferService so line listeners follow the active buffer. Add unit
tests for trim, dispose-on-trim, insert, and dense single-line plus multi-line
lookup. Add DecorationService.benchmark.ts to measure sparse hits and
viewport-sized grid scans with 20k decorations.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-26 09:30:25 -07:00
jerch
73d87b2c20
Merge branch 'master' into fix_apc
2026-04-28 21:26:18 +02:00
Jörg Breitbart
32ad3a18bf
disable wrong webgl tests
2026-04-28 20:42:38 +02:00
Jörg Breitbart
b7e535e2ec
APC perf test
2026-04-24 17:09:37 +02:00
Jörg Breitbart
ee7d84bdd3
make linter happy
2026-04-24 14:19:55 +02:00
Jörg Breitbart
9c8de633e9
multiple changes in APC handling:
...
- change interface to IFunctionIdentifier (API change)
- extend parser states APC_ENTRY, APC_INTERMEDIATE, APC_PASSTHROUGH
- remove APC_STRING
- change ApcParser.start to retrieve ident
- change actions APC_START and APC_PUT
2026-04-24 13:53:31 +02:00
Jörg Breitbart
22778b5b49
fix utf8 terminal benchmark
2026-04-24 09:15:26 +02:00
Daniel Imms
2331abe6bd
Rename CoreMouseService to MouseStateService
...
Part of #5756
2026-03-11 10:31:57 +09:00
Daniel Imms
eccbc60aa0
Migrate to tsgo
...
Fixes #5689
2026-02-13 06:59:24 -08:00
Daniel Imms
d155bb6767
Move overviewRuler API under scrollbar
...
Fixes #5678
2026-02-05 09:14:58 -08:00
Anthony Kim
cba6e3d191
Add api to expose screenElement
2026-02-03 15:49:07 -08:00
Daniel Imms
6ef653e589
Merge remote-tracking branch 'upstream/master' into de_vs
2026-02-03 07:05:50 -08:00
Daniel Imms
d36af624cf
Remove vs/, fix lint and build
2026-02-02 06:10:43 -08:00
Daniel Imms
b8e5ec7304
Fix lint
2026-02-01 08:41:01 -08:00
Daniel Imms
6a3d2480e0
Get playwright tests reliably passing in wsl
2026-02-01 08:35:49 -08:00
Daniel Imms
1c79c5511c
Merge pull request #5653 from Tyriar/input_handler_tests
...
Add remaining input handler tests, unskip modes that don't change
2026-01-31 22:09:48 -08:00
Daniel Imms
dc487dfd6f
Assert no mode changes and unskip
2026-01-31 22:01:35 -08:00
Daniel Imms
36baf70bea
Unskip supported InputHandler tests
2026-01-31 21:05:36 -08:00
Daniel Imms
5e532c13c6
Enable linting on test/ folder
2026-01-31 20:57:51 -08:00
Daniel Imms
51b9a713da
Implement more InputHandler tests
...
Part of #2117
2026-01-31 18:21:32 -08:00
Daniel Imms
431d511c95
Fix benchmark usage, add instructions
2026-01-31 15:28:11 -08:00
Daniel Imms
042bb4bed9
Optimize Emitter.fire for 0 and 1 listeners
...
Before:
Context "Emitter.fire()"
Context "0 listeners"
Case "#1 " : 1 runs - average throughput: 97.77 MB/s
Context "1 listener"
Case "#1 " : 1 runs - average throughput: 49.30 MB/s
Context "2 listeners"
Case "#1 " : 1 runs - average throughput: 35.37 MB/s
Context "5 listeners"
Case "#1 " : 1 runs - average throughput: 15.32 MB/s
After:
Context "Emitter.fire()"
Context "0 listeners"
Case "#1 " : 1 runs - average throughput: 376.94 MB/s
Context "1 listener"
Case "#1 " : 1 runs - average throughput: 84.29 MB/s
Context "2 listeners"
Case "#1 " : 1 runs - average throughput: 32.36 MB/s
Context "5 listeners"
Case "#1 " : 1 runs - average throughput: 15.93 MB/s
2026-01-31 14:42:23 -08:00
Daniel Imms
9fca3d8ecf
Merge branch 'master' into 5626
2026-01-31 09:12:15 -08:00
Daniel Imms
6f87ae77a7
Support color scheme reporting
...
CSI ? 996 n
CSI ? 2031 h
CSI ? 2031 l
Fixes #5626
2026-01-27 10:19:26 -08:00
Anthony Kim
b01ba7db28
Add apc tests parser.test.ts
2026-01-21 14:17:01 -08:00
Daniel Imms
6c2792a1d5
Fix tests
2026-01-10 05:33:08 -08:00
Daniel Imms
8112fbf210
Merge pull request #5598 from Tyriar/5588
...
Fix exception on resize during write
2026-01-08 18:10:41 -08:00
Daniel Imms
16a13f8504
Fix exception on resize during write
...
Fixes #5588
2026-01-08 18:03:42 -08:00
Daniel Imms
bd8454db55
Another poll case
2026-01-08 17:37:44 -08:00
Daniel Imms
a437d12004
Poll to avoid a race
2026-01-08 17:25:26 -08:00
Daniel Imms
6efb319ece
Add tests more thorough tests for onSelectionChange
2026-01-08 17:01:56 -08:00
Daniel Imms
b69afe5765
Merge remote-tracking branch 'upstream/master' into onSelectionChangeClear
2026-01-08 16:51:54 -08:00
Daniel Imms
613aa6ba23
Fire onSelectionChange when starting to drag
2026-01-08 16:51:45 -08:00
Daniel Imms
7389a1097d
Update tests to use unicode for proposed check
2026-01-03 14:57:55 -08:00
Daniel Imms
44a8c7efbc
Fix test expectations
2025-12-31 17:08:05 -08:00
Daniel Imms
42872a84dd
Add tests for CSI Pm d, e, f, g, m
...
Fixes #2117
2025-12-31 05:18:17 -08:00
Daniel Imms
da4243cf02
Don't skip new tests, implement CSI Ps ^
2025-12-30 06:59:27 -08:00
Daniel Imms
54e66f3ac4
Add some more CSI tests
2025-12-30 06:48:28 -08:00
Daniel Imms
595c119404
Move skip into dom file
2025-12-30 06:05:46 -08:00
Daniel Imms
481431fbc1
Update playwright test to latest
2025-12-30 06:03:17 -08:00
Daniel Imms
0b9a7cb856
Migrate MouseTracking and Terminal to playwright proxy
...
Fixes #5555
2025-12-30 05:37:09 -08:00
Daniel Imms
a8a4455189
Migrate InputHandler.test.ts to playwright proxy
...
Part of #5555
2025-12-30 05:27:28 -08:00
Daniel Imms
88ce0d40e7
Add unit test for CSI Ps SP @ - SL
...
Part of #2117
2025-12-30 05:04:20 -08:00
Daniel Imms
e27cc2c089
Remove private API access from tests/demo
2025-12-30 04:06:26 -08:00
Daniel Imms
214289aaab
Add dimensions API
...
Fixes #702
2025-12-30 03:58:26 -08:00
Daniel Imms
bd16eeed90
Merge pull request #5506 from Tyriar/shared_compile
...
Fix type error in SharedRendererTests.ts
2025-12-27 03:01:27 -08:00
Daniel Imms
373bf513f1
Fix type error in SharedRendererTests.ts
2025-12-27 02:55:43 -08:00
Daniel Imms
25a5497329
Remove unused skip canvas exceptions from playwright
2025-12-27 02:53:28 -08:00
Daniel Imms
f68d1e5d58
Skip sync output tests for now
2025-12-21 13:03:25 -08:00
Daniel Imms
6733e13a44
Invert initial assertion
2025-12-20 07:33:18 -08:00