Commit Graph
856 Commits
Author SHA1 Message Date
Ayman Bagabas fad97bc4d5 Clean up 2024-04-08 04:40:17 +03:00
Ayman Bagabas 805cabafe8 Merge remote-tracking branch 'upstream/master' into osc52 2024-04-07 23:22:01 +03:00
Daniel Imms 37efeeb044 Make process node check stricter
Fixes #4995
2024-03-16 09:08:54 -07:00
Daniel Imms 47409f39f6 Set up shared context on browser even if process exists
Fixes #4995
2024-03-16 09:05:45 -07:00
Daniel Imms 33a7a9b6a2 Implement rescaleOverlappingGlyphs in webgl
Part of #4969
2024-03-14 07:14:13 -07:00
Daniel Imms 8d1771ef64 Tweak docs 2024-02-02 12:03:08 -08:00
arencoskun cae42772e8 Move function to CoreTerminal, add additional argument to specify if the input was user input or not. 2024-02-01 14:11:29 +03:00
Daniel Imms 2e03680128 Add channels.toColor tests 2023-12-28 09:32:57 -08:00
Daniel Imms 94a9ce8566 Move toColor into channels
It operates on rgba channels, not a packed 32 bit int
2023-12-28 09:29:30 -08:00
Daniel Imms 8733d2cfa2 Separate link provider service from linkifier 2023-12-23 08:21:35 -08:00
Daniel Imms 341d9f0597 Merge pull request #4920 from Tyriar/tyriar/bg_blend
Add bg+powerline background blend behavior
2023-12-19 08:57:03 -08:00
Daniel Imms 22f1ce4a11 Add bg+powerline background blend behavior
When a with bg is selected, the cell's regular background will be blended
with 50% opacity selectionBackground in order to retain the bg color info
as well as getting the color to change and getting decent contrast.

This commit also fixes a terrible, nasty bug where the standalone shared
renderer tests were causing the terminal to open multiple times and not
get the WebGL addon activated the second time. So some tests were actually
testing the DOM renderer :o

Fixes #4918
2023-12-19 08:16:48 -08:00
Daniel Imms 1943636f02 Help embedders avoid memory leaks by clearing options
Related microsoft/vscode#192838
2023-12-08 12:14:22 -08:00
Daniel Imms aed94e5317 xterm-addon-clipboard to scoped module 2023-11-03 11:45:21 -07:00
Daniel Imms a4e6713823 Merge remote-tracking branch 'upstream/master' into pr/aymanbagabas/4220 2023-11-03 11:35:23 -07: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
Daniel Imms b0407e20cf Merge branch 'master' into setcell-refactor 2023-11-02 11:17:18 -07:00
Daniel Imms 2f074b87f3 Explain VARIANT_OFFSET 2023-11-02 10:45:46 -07:00
Daniel Imms 6214f4c2e6 Varinat -> Variant 2023-11-02 10:43:56 -07:00
Daniel Imms 390e4f30c8 Merge remote-tracking branch 'upstream/master' into pr/tisilent/4703 2023-11-02 10:39:15 -07:00
Daniel Imms 1770bb1b65 Merge pull request #4839 from JasonXJ/ctrl-backspace
Send correct code for ctrl+[alt+]+backspace
2023-11-02 09:28:06 -07:00
Daniel Imms 0fd04aa76d Replace all instances of xterm-addon 2023-11-01 10:35:10 -07:00
Daniel Imms bb9728ccd1 from xterm -> from scoped 2023-11-01 06:50:08 -07:00
Ayman Bagabas 96fcfbded1 Merge branch 'master' into osc52 2023-10-20 13:47:45 -07:00
David Fiala 0d0166b4bc provide a declaration for 'process' needed for nodejs detect
We provide no further type information as it will not be used except for a presence check for nodejs detection.
2023-10-19 11:19:27 -07:00
David Fiala 6c5fb36c36 proper isNode detection for node v21.0.0 2023-10-19 09:52:29 -07:00
Daniel Imms 6e12d94f11 Move window resize listeners over to onWindowChange 2023-10-17 09:10:04 -07:00
Daniel Imms c80453f602 Use correct document when creating elements 2023-10-16 11:09:36 -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
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
Jason Lin 023c778c4d Send correct code for ctrl+[alt+]+backspace
We should send ^H (instead of ^?) for ctrl+backspace. This is what xterm
and gnome-terminal do.
2023-10-11 14:59:35 +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
Ayman Bagabas 092aeaeb6f Fix rename clipboard selection for clarity 2023-09-21 10:33:44 -04:00
Ayman Bagabas db5bfc7525 Add support to ANSI OSC52
Add support to ANSI OSC52 sequence to manipulate selection and clipboard
data. The sequence specs supports multiple clipboard selections but we
only support the common ones, system and primary clipboard selections.

This adds a new event listener to the common terminal module
`onClipboard` to allow external implementations to hook into it.

The addon uses the browser Clipboard API to read/write from and to the
clipboard. The default `ClipboardProvider` uses the browser Clipboard
API. This means it only supports read/write to and from the system
clipboard.

Reference: https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Operating-System-Commands
Fixes: xtermjs#3260
Signed-off-by: Ayman Bagabas <ayman.bagabas@gmail.com>
2023-09-20 17:46:52 -04:00
Daniel Imms 543b82567f Don't re-render after parse is the viewport did not change
Fixes #4814
2023-09-20 06:43:21 -07:00
tisilent 457060f89d Modify the isCursorInitialized default true 2023-09-13 18:15:37 +08:00
Daniel Imms bfa6f656ef Merge branch 'master' into underline-dotted 2023-09-11 08:47:04 -07:00
Per Bothner 930e5c4280 Merge branch 'master' into clusters 2023-09-06 22:11:46 -07:00
Per Bothner 630d213bd0 Fix 2 comment typos. 2023-09-06 16:42:58 -07:00
Daniel Imms 4ed97cae3a Merge branch 'master' into playwright 2023-09-01 07:46:35 -07:00
YAYA 刘玉婷 7fa56fde0b Merge branch 'master' into underline-dotted 2023-09-01 14:12:01 +08:00
Per Bothner 44e19775f5 Merge branch 'master' into clusters 2023-08-27 11:58:57 -07:00
Daniel Imms fbebabe2e6 Add @playwright/test support 2023-08-27 08:08:52 -07:00
Daniel Imms 37b0e4018c More adoption of MutableDisposable 2023-08-27 07:03:27 -07:00
tisilent bec1642123 Modify variantOffset calculation logic 2023-08-25 14:17:36 +08:00
Per Bothner dc6dd6d2a8 Remove precedingCodepoint - use precedingJoinState instead
repeatPrecedingCharacter (for REP sequence) changed to look at
the grapheme cluser to the "left" in the BufferLine, and repeat that.
This is an extension of the xterm behavior, and changes the
semantics of REP, so is not fully compatible.
However, the new behavior is cleaner and saner.

Moved precedingJoinState property to EscapeSequenceParser.
2023-08-24 07:58:06 -07:00
Daniel Imms 1965daff50 Warn on eslint rule @typescript-eslint/no-useless-constructor 2023-08-24 06:24:25 -07:00
tisilent e09ed98cf1 Merge branch 'underline-dotted' of https://github.com/tisilent/xterm.js into underline-dotted 2023-08-24 11:05:05 +08:00