Commit Graph
125 Commits
Author SHA1 Message Date
Ayman Bagabas fad97bc4d5 Clean up 2024-04-08 04:40:17 +03: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 b0407e20cf Merge branch 'master' into setcell-refactor 2023-11-02 11:17:18 -07:00
Daniel Imms 0fd04aa76d Replace all instances of xterm-addon 2023-11-01 10:35:10 -07: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
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
Per Bothner cf243adfe3 Merge branch 'master' into clusters 2023-08-14 12:22:55 -07:00
Daniel Imms 530f758905 Restrict comments to 100 characters
This is a rule I try enforce in PR but it's a bit of a hassle, this will
give a lint warning when it happens resulting in:

- Yellow underline in supported editors when eslint is installed
- Compilation will succeed since it's a warning not an error
- CI will fail as it does not allow lint warnings

Special case comments are ignored which includes @vt comments, table
comments and commented out code.
2023-08-12 09:04:41 -07:00
Per Bothner 302da18c81 Rename local variable precedingInfo in InputHandler to precedingJoinState 2023-08-07 13:08:35 -07:00
Per Bothner f1035405e6 Move precedingJoinState from EscapeSequenceParser to InputHandler
This allows InputHandler._parser to be IEscapeSequenceParser
rather than EscapeSequenceParser.
2023-08-06 12:44:43 -07:00
Per Bothner 6b2459317b Null out following columns after grapheme cluster 2023-08-03 22:29:36 -07:00
Daniel Imms 7baff4e249 Merge branch 'master' into clusters 2023-08-02 11:41:22 -07:00
Daniel Imms 2e638598e4 Simplify condition 2023-07-30 06:55:45 -07:00
Daniel Imms 5660c404f0 Differentiate special color indexes and others 2023-07-28 16:32:05 -07:00
Daniel Imms 79c1fff853 Add IntRange type for ColorIndex
Fixes #4614
2023-07-28 13:51:46 -07:00
Per Bothner 693f6b2d14 Merge branch 'master' into clusters 2023-06-27 13:31:23 -07:00
Daniel Imms ffadc0b31d Fix NPEs on buffer line and windowsPty option 2023-06-09 08:47:17 -07:00
Daniel Imms 22a4dc4b6b Merge pull request #4478 from jerch/fix_4469
fix DECRQM reports
2023-05-24 06:47:52 -07:00
jerch cf403bc45c Merge branch 'master' into clusters 2023-05-21 22:25:34 +02:00
Daniel Imms 325d133a75 Add overline to vt comments
Part of #4529
2023-05-21 08:16:57 -07:00
Daniel Imms 2bfd95fe54 Add support for SGR 53, 55 overline
Specced in ECMA-48
2023-05-20 09:56:56 -07:00
Per Bothner 41760dfb09 xterm-addon-unicode-graphemes - fix 'yarn test' 2023-05-18 08:55:52 -07: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 b35415ed16 flip SET 2 & 12 perma flags, add DECSET 67 (DECBKM) as perma reset 2023-04-16 21:08:42 +02:00
Daniel Imms 18be346df9 Clear line wrapped state on explicit line feed
Fixes #4457
See microsoft/vscode#178014
2023-03-28 11:35:21 -07:00
Jason Lin 81a3c80bc4 polish 2022-10-31 11:07:42 +11:00
Jason Lin f6fabebf8d polish 2022-10-31 11:07:42 +11:00
Jason Lin 839271096e Don't reset the url 2022-10-31 11:07:42 +11:00
Jason Lin 6a087e9896 'CSI 0 m' should clear the extended attribute
This change also removes `_currentLinkId` from `InputHandler` and uses
`_curAttrData.extended.urlId` directly so that we don't need to worry
about keep them in sync any more.
2022-10-31 11:07:42 +11:00
Daniel Imms 114924f3fa Add eslint-plugin-jsdoc and enable check-param-names 2022-10-15 08:38:14 -07:00
Daniel Imms 00f6d3a88c Register all event emitters, make some services disposable 2022-10-08 09:00:14 -07:00
Daniel Imms ac659cb412 Prevent overriding of Disposable.dispose
A common mistake made was overriding dispose and not calling super.dispose,
so a TS trick is now used to move it to a readonly property instead of a
member method which prevents it being overridden.
2022-10-08 08:27:10 -07:00
Daniel Imms 4d97729010 Revert "Merge pull request #4166 from Tyriar/event_with_emitter"
This reverts commit d22f7c9edd, reversing
changes made to 1f8e6f0952.
2022-10-06 09:48:54 -07:00
Daniel Imms ed15a8e170 Create new event with emitter object to simplify code 2022-10-01 08:45:40 -07:00
Daniel Imms 969db2bcf9 Merge pull request #4163 from Tyriar/4147
Inline dirty row service into input handler
2022-10-01 08:28:29 -07:00
Daniel Imms 1a22c44f2b Make all emitters readonly 2022-10-01 08:02:32 -07:00
Daniel Imms cf9949840b Use readonly over getter for exposing events
Fixes #4164
2022-10-01 07:52:26 -07:00
Daniel Imms 3a90f7e7c0 Inline dirty row service into input handler
Fixes #4147
2022-10-01 07:39:02 -07:00
Jörg Breitbart 21105b4017 Merge remote-tracking branch 'upstream/master' into protected 2022-09-07 19:51:51 +02:00
Jörg Breitbart b01a94f5bb rename to respectProtect 2022-09-07 19:47:28 +02:00
Jörg Breitbart e72e575c0f fix typo in docs 2022-09-04 13:15:47 +02:00
Jörg Breitbart 318b60418e cleanup vtfeaures docs 2022-09-04 12:54:27 +02:00
Jörg Breitbart 68fe100841 cleanup 2022-09-04 11:51:41 +02:00
Jörg Breitbart d511720f63 reshape DECRQSS 2022-09-04 11:34:31 +02:00
Jörg Breitbart 2608db2728 unit tests, fix DECRQSS report 2022-09-04 11:04:07 +02:00