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
e59a6c1f7b
Reuse shared StringBuilder in BufferLine.translateToString
...
Avoid per-call allocation when translating many lines in sequence by
resetting a module-level work StringBuilder before and after each use.
Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com >
2026-05-27 19:31:00 +00:00
Cursor Agent and Daniel Imms
42facac2d9
Use StringBuilder in BufferLine.translateToString
...
Replace O(n²) string concatenation in the translate loop with
StringBuilder.append, matching the pattern used elsewhere in the project.
Fixes #5939
Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com >
2026-05-27 18:16:51 +00:00
Daniel Imms
2d3909be2c
Fix lint
2026-05-02 06:54:41 -07:00
Daniel Imms
1e189625fa
Merge remote-tracking branch 'upstream/master' into inst_const_enuym
2026-05-02 06:49:10 -07:00
Daniel Imms
80debafa11
Convert a lot of top level consts to const enums
2026-05-02 06:44:25 -07:00
Daniel Imms
52d4b2719c
Move cache into Buffer owned object, use WeakRefs
...
This allows O(1) clearing of the cache, a single TTL timer and we
can avoid making BufferLine's Disposable
2026-05-02 05:32:43 -07:00
Daniel Imms
7615cd210a
Store a boolean on whether the cache is trimmed
2026-05-02 04:35:18 -07:00
Daniel Imms
4d4b994c35
Support caching of trimRight
2026-05-02 04:35:18 -07:00
Daniel Imms
66fcdb2583
Fix test/startCol handling
2026-05-01 14:11:14 -07:00
Daniel Imms
2a18600d18
Cache translateToString calls inside BufferLine
...
Fixes #5863
2026-05-01 14:06:39 -07:00
Daniel Imms
3ef43aedb1
Cache work cell in hot loops
2026-01-31 10:26:15 -08:00
Daniel Imms
bad7e329df
Add @typescript-eslint/prefer-nullish-coalescing eslint rule
2026-01-31 08:43:05 -08:00
Daniel Imms
b16724f06a
Improve docs of BufferLine.translateToString
2023-11-03 08:53:53 -07:00
Daniel Imms
5630239a6d
Merge remote-tracking branch 'upstream/master' into pr/JasonXJ/4742
2023-11-03 08:47:05 -07:00
Jason Lin
c3aa63cffa
translateToString() adds one more entry to outColumns
...
Previously, for string 'ab好', outColumns=[0, 1, 2]. Now it becomes [0,
1, 2, 4]. This allows the user to know where does the last character
ends.
2023-10-11 16:23:03 +11:00
Jason Lin
1b940de0bf
Allow selection in the a11y tree and sync the selection to terminal
2023-10-11 16:23:03 +11:00
Per Bothner
bde7bdc11d
Change setCellFromCodePoint API and rename to setCellFromCodepoint
...
Replace fg, bg, and eAttrs parameters by single IAttributeData parameter.
In addition to making for a simpler/cleaner API, it also increases flexibility
for future CellData or BufferLine changes.
(Rename function to reduce risk of using accidentally using old function.)
Also removed redundant eraseAttr parameter in deleteCells, insertCells, and replaceCells.
2023-09-25 18:21:02 -07:00
Daniel Imms
5ccf4d3311
Merge remote-tracking branch 'upstream/master' into pr/PerBothner/4519-1
2023-08-23 05:09:42 -07:00
Daniel Imms
921da1a2ea
Ignore no-unused-vars in .api, organize all remaining imports
2023-08-23 04:47:53 -07:00
Daniel Imms
7baff4e249
Merge branch 'master' into clusters
2023-08-02 11:41:22 -07:00
Jörg Breitbart
37153018b9
fix BCE
2023-07-24 16:06:19 +02:00
Per Bothner
67e968926c
Cleanup - fix various tests.
2023-05-17 18:37:27 -07:00
Per Bothner
2f7fe1189c
New unicode-graphemes addon.
...
Handle grapheme cluster lookup as well as wcwidth.
This is based on Unicode 15, and could replace the unicode11 addon.
2023-05-16 18:31:31 -07:00
Jörg Breitbart
309ba47483
change batch size to 500
2022-12-05 20:03:25 +01:00
Jörg Breitbart
3a2ae96960
Merge branch 'master' into buffer_optimizations
2022-12-03 11:24:51 +01:00
Daniel Imms
5204374494
Add no-multi-asterisks rule
2022-10-15 08:43:06 -07:00
Jörg Breitbart
14b99dca76
Merge branch 'master' into buffer_optimizations
2022-10-09 21:41:06 +02:00
Daniel Imms
52ed65d7bd
Move w objects to $ prefix variables
...
Fixes #4138
2022-10-01 07:26:07 -07:00
Jörg Breitbart
785b932d75
lazy cleanup on buffer
2022-09-28 15:57:58 +02:00
Jörg Breitbart
7bba07e24e
rename fourByteCells to uint32Cells
2022-09-28 13:18:31 +02:00
Jörg Breitbart
39eea8ed88
remove useless condition
2022-09-28 13:15:34 +02:00
Jörg Breitbart
20c1f1a5f7
fix resize edge cases: always report cleanup state
2022-09-28 12:14:09 +02:00
Jörg Breitbart
e87f70d6d6
removed EMPTY_DATA branch
2022-09-28 11:55:26 +02:00
Jörg Breitbart
6225cc2b9c
optimize certain resize conditions
2022-09-13 14:37:29 +02:00
Daniel Imms
d3fd3d0f22
Merge pull request #4098 from jerch/protected
...
protection flag support
2022-09-12 05:52:43 -07:00
Daniel Imms
822ac527ba
Correct type and use ! to highlight the unsafe part
2022-09-09 12:48:55 -07:00
Daniel Imms
2032f409cf
Copy extended attributes to dest in reflow
...
Fixes #4108
2022-09-09 12:28:27 -07:00
Jörg Breitbart
b01a94f5bb
rename to respectProtect
2022-09-07 19:47:28 +02:00
Jörg Breitbart
fc46d69a57
add protection flag to DECSED/DECSEL, add DECSCA
2022-09-03 23:52:30 +02:00
Daniel Imms
4a50ca81c6
Optimize gc for WebglRenderer._updateModel and BufferLine.loadCell
...
RectangleRenderer not done yet
2022-08-28 09:06:42 -07:00
Daniel Imms
cc8748313e
Expose underline attrs as getter/setter
...
In preparation for storing them in a packed format for glyph caching
2022-07-23 07:13:29 -07:00
Jörg Breitbart
fd5f5e3204
extend AttributeData with eAttrs, implement SGR 4 subparams, tests
2020-03-08 18:57:05 +01:00
Jörg Breitbart
2b4da1f88e
add wide char handling to bufferline primitives
2019-12-21 21:40:01 +01:00
Daniel Imms
cfd158cbff
Remove unused imports
2019-10-21 18:48:49 -07:00
Daniel Imms
ae216c3088
Move AttributeData into separate file
2019-06-14 23:00:33 -07:00
Daniel Imms
45682f0e76
Move Content to Constants
2019-06-14 22:55:06 -07:00
Daniel Imms
4330741c5d
Move CellData into new file
2019-06-14 22:51:08 -07:00
Daniel Imms
3adddbf95a
Move some buffer constants into buffer/Constants
2019-06-14 22:39:35 -07:00
Daniel Imms
0b2df9d611
Split common/ Types.ts into .d.ts and Constants.ts
2019-06-14 21:30:51 -07:00