Cursor Agent and Daniel Imms
3f39edb025
Restore source files after removing only build artifacts
...
Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com >
2026-05-30 16:13:32 +00:00
Cursor Agent and Daniel Imms
5f3882efe7
Remove stray emit artifacts from src/common and fix import path
...
Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com >
2026-05-30 16:12:51 +00:00
Cursor Agent and Daniel Imms
1d125ac715
Restructure common into layered folders (issue #5963 )
...
Reorganize src/common into platform (base, encoding, data, buffer,
parser, input), integration (services, terminal), and public API layers.
- Move core utilities to common/base/
- Move TextDecoder to common/encoding/
- Move Types, CircularList, Color, TaskQueue, SortedList to common/services/
- Move CoreTerminal, InputHandler, WindowsMode to common/terminal/
- Define ICharset in common/data/Charsets.ts (re-exported from Types)
- Update imports across src/, addons/, and test/
- Add per-layer tsconfig.json files and REARCHITECTURE.md
- Root common/tsconfig.json remains the composite build entry
Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com >
2026-05-30 16:12:18 +00:00
Cursor Agent and Daniel Imms
f8cef535c7
Rename altClickForMouseEvents to mouseEventsRequireAlt
...
Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com >
2026-05-27 21:41:44 +00:00
Cursor Agent and Daniel Imms
fbb2a9710f
Add altClickForMouseEvents option for issue #5952
...
When enabled during mouse events mode, click/drag/move events require the alt
key while wheel events are unaffected. Selection stays enabled by default
and takes precedence over macOptionClickForcesSelection.
Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com >
2026-05-27 20:13:31 +00:00
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
Daniel Imms
5f3a4646be
Move non-state methods into MouseService
...
Fixes #5756
2026-03-11 10:49:55 +09:00
Daniel Imms
d63445be94
Move custom mouse event handler into MouseStateService
...
Don't need to keep it in CoreBrowserTerminal
2026-03-11 10:36:35 +09: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
Daniel Imms
c2db7d4c8a
Add scrollbar.showScrollbar
...
Fixes #5676
2026-02-05 07:20:23 -08:00
Daniel Imms
6ef653e589
Merge remote-tracking branch 'upstream/master' into de_vs
2026-02-03 07:05:50 -08:00
Daniel Imms
8a00898533
Implement blink rendering
...
Fixes #944
2026-02-03 03:46:21 -08:00
Daniel Imms
77695cb405
Make arrows configurable via API
2026-02-02 12:33:33 -08:00
Daniel Imms
bab7db13db
Remove cancelEvent/cancel function
2026-01-31 22:18:32 -08:00
Daniel Imms
9fca3d8ecf
Merge branch 'master' into 5626
2026-01-31 09:12:15 -08:00
Daniel Imms
f80dbf3d03
Fix lint, split up namespace and interface
2026-01-30 06:21:15 -08:00
Daniel Imms
e8d99d50a6
Remove vs dependency in common
...
Fixes #5631
2026-01-30 06:03:16 -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
meganrogge
a20ff565b0
add showCursorImmediately option
2026-01-13 10:36:35 -06:00
Daniel Imms
ee47054678
Implement win32-input-mode
...
Fixes #2357
2026-01-10 05:27:03 -08:00
Daniel Imms
50b0f3d7ee
Add vtExtensions.kittySgrBoldFaintControl
2026-01-10 04:31:36 -08:00
Daniel Imms
992da3cc4d
Hook up vt extensions option
2026-01-09 07:07:10 -08:00
Daniel Imms
2265fa2ade
Implement kitty keyboard protocol (CSI u)
...
Fixes #4198
2026-01-09 05:59:57 -08:00
Daniel Imms
857c4529cd
Save cursor and restore more modes
...
Fixes #1526
2025-12-30 04:49:54 -08:00
Daniel Imms
ca5a681363
Add quirks setting to control DECSET/DECRST 12
...
Fixes #5314
2025-12-28 07:34:55 -08:00
Daniel Imms
5d24866042
Move customGlyphs option into webgl addon
...
Fixes #5480
2025-12-24 08:35:06 -08:00
Daniel Imms
663b94011a
Remove remnants of deprecated options
...
Following up on #5462
2025-12-23 08:24:35 -08:00
Daniel Imms
9a7517d3eb
Clear selection on vertical resize
...
Fixes #5300
2025-10-19 01:15:30 -07:00
Anthony Kim
26ecba8de1
Fix sluggish mouse problem. Now similar to trackpad
2025-09-08 21:03:05 -07:00
Anthony Kim
ebddd5d346
Move from CoreBrowerTerminal to CoreMouseService. Still slow though
2025-08-28 22:54:50 -07:00
Daniel Imms
e5b838a01b
scrollOnDisplayErase -> scrollOnEraseInDisplay
2025-04-21 06:39:15 -07:00
Adrian Błasiak
26d29abef1
Merge branch 'master' into master
2025-04-15 11:03:04 +02:00
Asem Dreibati
db925ad65d
Merge branch 'master' into di-enhancement
2024-12-23 16:06:48 +03:00
Jacob Bandes-Storch
ae2622e5ce
Add reflowCursorLine option
2024-12-05 18:03:27 -08:00
blashaq
92c21a6950
+ scrollOnDisplayErase option
2024-11-23 10:58:19 +00:00
Asem Dreibati
a1b438cea6
Store the DI decorator's id in specific property ( #5131 ).
2024-10-29 10:31:57 +03:00
Daniel Imms
bf41eb4204
Add top/bottom border overview ruler options
2024-07-15 09:14:49 -07:00
Daniel Imms
9c7e2ea98e
Remove IEvent and runAndSubscribe
2024-07-14 08:17:16 -07:00
Daniel Imms
90ff6f3d06
Migrate most EventEmitter to base/ Emitter
2024-07-14 07:41:56 -07:00
Daniel Imms
0f373512d2
Fix ICoreMouseService injecting
2024-07-11 08:37:48 -07:00
Daniel Imms
2b8ccb5e51
Deprecate fast scroll modifier as it's no longer possible
...
Not possible via the component we import. We could add this but I
doubt it was being used anyway.
2024-07-10 08:30:32 -07:00
Daniel Imms
884141cd8f
Support theming of scroll bar slider
2024-07-10 07:54:39 -07:00
Daniel Imms
9b26bb4436
Support theming of overview ruler border
2024-07-10 07:30:38 -07:00
Daniel Imms
416f12fcc3
Remove ScrollSource
...
This isn't used anymore, it was used earlier to workaround recursion between
the viewport and the terminal objects
2024-07-10 07:01:44 -07:00
Daniel Imms
33a7a9b6a2
Implement rescaleOverlappingGlyphs in webgl
...
Part of #4969
2024-03-14 07:14:13 -07:00
Daniel Imms
bb9728ccd1
from xterm -> from scoped
2023-11-01 06:50:08 -07:00
Daniel Imms
41c62288f0
Expose a documentOverride setting
...
This lets the embedder choose which Document object to use for creating
elements, adding event listeners, etc. The reason this exists is because
when working with multiple windows it can be convenient to create all
elements under the primary window to make instanceof usage consistent.
See microsoft/vscode#195595
2023-10-13 13:41:53 -07:00
Daniel Imms
e21e52569c
Merge branch 'master' into clusters
2023-08-18 15:20:02 -07:00