Daniel Imms and Cursor
17ad33dc3d
Remove TypeScript path mappings in favor of relative imports
...
Fixes https://github.com/xtermjs/xterm.js/issues/5896
TypeScript path mappings for common/*, browser/*, and headless/*
were not rewritten in emitted JavaScript, which forced webpack resolve
aliases and NODE_PATH workarounds so runtime could resolve modules.
That added build complexity and broke tooling such as ESLint import/no-cycle.
Changes:
- Convert ~750 imports across src/, addons/, and test/ to relative paths
- Remove common/browser/headless paths and src catch-all mappings from tsconfigs
(keep @xterm/addon-* demo and addon typings paths)
- Remove webpack resolve.alias for common, browser, headless, and vs
- Drop NODE_PATH from unit tests, benchmarks, and VS Code launch config
- Fix addon-image IIPImageStorage to import ./Types after removing catch-all *
Verified: npm run build, esbuild, package, package-headless
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-31 09:16:10 -07:00
Cursor Agent and Daniel Imms
224c113b64
Move linkId declaration above use site in print loop
...
Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com >
2026-05-27 19:36:45 +00:00
Cursor Agent and Daniel Imms
c6e4627b45
Hoist _getCurrentLinkId() in print() loop
...
Avoid calling _getCurrentLinkId() twice per codepoint when a hyperlink
is active by reading the link id once before the print loop.
Fixes #5940
Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com >
2026-05-27 18:18:24 +00:00
Cursor Agent and Daniel Imms
c5ab83d697
Remove stale FIXME comments from charAttributes JSDoc
...
Fixes #5913 . Blinking is supported in renderers via TextBlinkStateManager,
and bright background colors (100-107) are handled in the SGR loop.
Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com >
2026-05-27 15:33:03 +00:00
Daniel Imms
80debafa11
Convert a lot of top level consts to const enums
2026-05-02 06:44:25 -07:00
Daniel Imms
874e767b40
Merge pull request #5840 from xtermjs/fix_apc
...
changes in APC handling
2026-05-01 10:22:52 -07:00
Jörg Breitbart
92339ac9dd
fix #5849
2026-04-28 21:45:50 +02:00
Jörg Breitbart
4e9abe7d96
fix vt feature listing
2026-04-26 14:34:42 +02:00
Jörg Breitbart
56986cb7eb
register APC fallback handler
2026-04-25 11:10:24 +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
Daniel Imms
2331abe6bd
Rename CoreMouseService to MouseStateService
...
Part of #5756
2026-03-11 10:31:57 +09:00
Anthony Kim
f5e81afba7
Fix ^C not working to end for newer fish + kitty keyboard protocol
2026-03-05 16:46:03 -08:00
Daniel Imms
b2133d93f0
Merge pull request #5659 from Tyriar/dead_code2
...
Remove unreachable code in SGR handling 100
2026-02-01 06:07:15 -08:00
Daniel Imms
a5e4f90139
Remove unreachable code in SGR handling 100
...
The implementation seems to be wrong. This looks like a remnant left over from
term.js before bright SGR was implemented.
2026-02-01 05:59:00 -08:00
Daniel Imms
7a2794a552
Clear dangling timeout that keeps unit tests event loop alive
...
This fixes the issue where test-unit could run for up to 5 seconds after
the tests have already finished.
2026-01-31 16:21:03 -08:00
Daniel Imms
21e4301e38
Merge pull request #5642 from Tyriar/startsWith
...
Prefer startsWith over indexOf === 0
2026-01-31 10:27:15 -08:00
Daniel Imms
39037ee806
Prefer startsWith over indexOf === 0
...
Faster and make code clearer
2026-01-31 10:20:44 -08:00
Daniel Imms
9fca3d8ecf
Merge branch 'master' into 5626
2026-01-31 09:12:15 -08:00
Daniel Imms
bad7e329df
Add @typescript-eslint/prefer-nullish-coalescing eslint rule
2026-01-31 08:43:05 -08:00
Daniel Imms
01450f044a
Merge pull request #5632 from Tyriar/5631
...
Remove vs dependency in common
2026-01-30 06:39:28 -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
Anthony Kim
48df6117ed
Add ApcParser
2026-01-21 08:31:07 -08:00
Daniel Imms
ee47054678
Implement win32-input-mode
...
Fixes #2357
2026-01-10 05:27:03 -08:00
Daniel Imms
73cba6dda3
Clean up, add sgr extension to api
2026-01-10 04:38:06 -08:00
Daniel Imms
50b0f3d7ee
Add vtExtensions.kittySgrBoldFaintControl
2026-01-10 04:31:36 -08:00
Daniel Imms
e07832a420
Merge branch 'master' into 4198_kitty
2026-01-09 12:51:48 -08:00
Daniel Imms
7a544d8346
Add SGR 221 and 222
...
Fixes #5601
2026-01-09 12:13:40 -08:00
Daniel Imms
c624a47780
Maintain different buffer flags, stack limit, tests
2026-01-09 11:59:50 -08:00
Daniel Imms
5a29d489c3
Separate out kitty keyboard handlers
2026-01-09 11:46:57 -08:00
Daniel Imms
4a67836a5b
Remove support responses
...
Wrong place for them
2026-01-09 11:42:00 -08:00
Daniel Imms
992da3cc4d
Hook up vt extensions option
2026-01-09 07:07:10 -08:00
Daniel Imms
3fbaef06ef
Align behavior closer with kitty
2026-01-09 06:53:12 -08:00
Daniel Imms
2265fa2ade
Implement kitty keyboard protocol (CSI u)
...
Fixes #4198
2026-01-09 05:59:57 -08:00
Daniel Imms
16a13f8504
Fix exception on resize during write
...
Fixes #5588
2026-01-08 18:03:42 -08:00
Daniel Imms
9db31db886
Add undefined checks in erase calls
...
This is likely a race condition during a resize which is hard to say
what the right behavior is. Instead of hard failing by throwing an
error, silently ignore if this happens.
Fixes #5587
2026-01-05 11:10:56 -08:00
Daniel Imms
da4243cf02
Don't skip new tests, implement CSI Ps ^
2025-12-30 06:59:27 -08:00
Daniel Imms
857c4529cd
Save cursor and restore more modes
...
Fixes #1526
2025-12-30 04:49:54 -08:00
Daniel Imms
5174a7310f
Add RIS metadata comment
...
Fixes #5043
2025-12-29 05:00:13 -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
28b62a5e0b
Ignore soft hyphen
...
Fixes #4961
2025-12-27 14:51:07 -08:00
Daniel Imms
d8a93b757a
Support reporting XTVERSION
...
Fixes #5342
2025-12-26 11:06:55 -08:00
Chris Lloyd and Claude
af5dbfcd2c
Add DECRQM support for synchronized output mode
...
Applications can now detect synchronized output support by querying
CSI ? 2026 $ p and receiving CSI ? 2026 ; <mode> $ y response.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-12-09 08:26:04 -08:00
Chris Lloyd and Claude
5d0eae8576
Fix spec URL to use master branch
...
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-12-09 08:23:37 -08:00
Chris Lloyd and Claude
6b63c5f260
Address PR review feedback for synchronized output
...
- Remove synchronizedOutputTimeout public API, hardcode 1s timeout
- Extract SynchronizedOutputHandler class for cleaner code
- Update spec URL to contour-terminal/vt-extensions
- Remove unnecessary comment in InputHandler
- Delete unit tests, add integration tests in SharedRendererTests
- Fix whitespace issue
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-12-09 07:58:31 -08:00
Chris Lloyd and Claude
7228e2e2dc
Add synchronized output support (DEC mode 2026)
...
Implement synchronized output mode (CSI ? 2026 h/l) which allows
applications to batch terminal updates and render them atomically,
preventing screen tearing during rapid output.
Features:
- BSU (CSI ? 2026 h) pauses rendering, buffering row updates
- ESU (CSI ? 2026 l) flushes buffer and renders atomically
- Configurable timeout via synchronizedOutputTimeout option (default 5s)
- Exposed via terminal.modes.synchronizedOutputMode
Closes #3375
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-12-04 11:16:25 -08:00
Daniel Imms
59241e467c
Update src/common/InputHandler.ts
2025-10-22 19:02:14 -07:00
Anthony Kim
09e26980d3
I dont think we need () => in front of typeof data === 'string'
2025-10-22 16:23:35 -07:00
Anthony Kim
c3bb36bad9
if trace, debug each AND remove array.from
2025-10-22 16:11:22 -07:00
Anthony Kim
2c57b3219b
Only show char codes for parsing data on trace
2025-10-22 09:47:33 -07:00