Commit Graph
70 Commits
Author SHA1 Message Date
Daniel Imms b3fb8db6b3 Replace dom helper with HTMLElement.remove() 2023-01-05 09:14:16 -08:00
Jörg Breitbart becec91e98 better regexp, fix offset issue in #4294 2022-12-08 17:35:45 +01:00
Jörg Breitbart 3bf72cdefc DOM renderer fix with much better performance 2022-12-05 15:50:29 +01:00
Jörg Breitbart 39c2e57ad3 hack around DOM renderer issue, fix api tests 2022-12-04 22:26:29 +01:00
Sebastian Malton 11e90591f9 Change clearing innerText to using replaceChildren to fix testing using jsdom
Signed-off-by: Sebastian Malton <sebastian@malton.name>
2022-10-19 10:09:12 -04:00
Daniel Imms 22e8a2f8e7 Remove old dimension properties 2022-10-15 18:07:05 -07:00
Daniel Imms 89e0b87eac Move to device/css in domrenderer 2022-10-15 14:22:04 -07:00
Daniel Imms ddc4e75583 Add new dimensions properties, helper creation function
Part of #3925
2022-10-15 10:31:43 -07:00
Daniel Imms a37ea14d10 Use options service in renderers 2022-10-09 10:57:49 -07:00
Daniel Imms e47296c1b9 Use options service directly in renderers 2022-10-09 09:28:18 -07:00
Daniel Imms 6e35bcd767 Use theme service in more places 2022-10-08 13:55:23 -07:00
Daniel Imms c4750eaf77 Create basic theme service
Part of #4184
2022-10-08 11:43:19 -07:00
Daniel Imms 5d8e4a0af4 Add lint rule to ensure _on prefix is only for event emitters 2022-10-08 11:05:52 -07:00
Daniel Imms eecf52e949 Add lint rule to ensure on prefix is only for event emitters
Fixes #4183
2022-10-08 10:57:31 -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 c5d015c908 Merge branch 'master' into shared_cache 2022-10-04 13:54:14 -07:00
Daniel Imms f6a61acc86 Merge branch 'master' into feature/lint-by-putout 2022-10-04 09:52:10 -07:00
Daniel Imms 590a8219e3 Merge remote-tracking branch 'upstream/master' into shared_cache 2022-10-02 13:42:44 -07:00
Daniel Imms c5f9eacbb1 Move other render parts to shared folder 2022-10-01 17:41:16 -07:00
Daniel Imms ed15a8e170 Create new event with emitter object to simplify code 2022-10-01 08:45:40 -07:00
Daniel Imms cf9949840b Use readonly over getter for exposing events
Fixes #4164
2022-10-01 07:52:26 -07:00
coderaiser 25eb7d6472 chore: lint using 🐊Putout 2022-09-15 17:19:34 +03:00
Mihai Parparita a39a468f19 Make terminal rendering work in popout windows
Add support for the parent element (what is passed to Terminal.open)
being in a different (same origin) window. Accesses to DOM APIs such
as requestAnimationFrame and devicePixelRatio thus need to be scoped
to the corrent window, instead of assuming that it's the same as the
window/global scope where the code is running.

This is done by inferring a parent window at the creation time, and
then storing it in CoreBrowserService, which is already passed to most
places that need it.

To catch future regressions, an ESLint rule that checks for global
accesses is added (it uses AST selectors via the no-restricted-syntax
rule).

This should also be applicable when the parent element is an iframe.

Fixes #3758
2022-09-08 16:59:31 -07:00
Daniel Imms 4a6e7bee21 Fix lgtm recommendations 2022-08-30 14:09:39 -07:00
Daniel Imms 6493679b2e Inactive selection bg in dom renderer
Part of #3803
2022-07-29 11:00:36 -07:00
Daniel Imms 9cb25fbf06 Rename ITheme.selection to selectionBackground
This makes it consistent with selectionForeground and other theme keys and
as a result will make the API easier to work with, especially when inactive
selection is done (#3803)
2022-07-29 10:34:27 -07:00
Daniel Imms 1c6ce99419 Move canvas renderer contents into addon 2022-07-27 10:26:02 -07:00
Daniel Imms 7a17a26e18 Remove link matchers
Fixes #2703
2022-07-27 06:49:35 -07:00
Daniel Imms efb939d171 Fix column selection issues
The following parts were not respecting the column selection edge case where the
start column was greater than the end column while the start row was less than the
end row:

- Webgl renderer
- DOM renderer
- Selection service (ie. getSelection(), I don't think this was a
  regression)

Fixes #3855
2022-06-14 06:51:54 -07:00
Daniel Imms 6ced3014cf Support opaque selections in DOM renderer
Brings the DOM renderer closer to the webgl renderer which draws the text
on top of the selection. This is done by leveraging the override system
similar to in webgl and as well as forcing the element above the selection.
This also improves contrast color caching for the DOM renderer.

This should result in a slight performance hit but only when a selection
is being made. The improved contrast seems worth it.

Fixes #3838
2022-05-27 10:38:32 -07:00
Daniel Imms d1a87facfd Fix selectionForeground column select mode on dom/canvas 2022-05-17 12:10:52 -07:00
Daniel Imms eb96187801 Support selectionForeground in dom
Part of #3810
2022-05-16 10:08:51 -07:00
Daniel Imms 0c6877f46f Move color to common, work with IColor
IColor is needed for the minimum contrast ratio function currently.
2022-05-09 14:00:39 -07:00
Daniel Imms 63eb9a4555 Initial bg/fg renderer decoration proof of concept
Part of #3770
2022-05-09 12:44:51 -07:00
Simon Lamon 1dcc1d1baf fix test and replace options with rawOptions 2022-01-08 08:20:50 +00:00
Daniel Imms f52d631fa4 Add eslint type assertions rule
Fixes #3359
2021-06-04 06:23:12 -07:00
Daniel Imms b7320794bb Ligature support for dom renderer
Fixes #3283
2021-04-02 10:34:14 -07:00
Daniel Imms 999116c536 Convert CharacterJoinerRegistry to a service
Part of #3094, #3283
2021-04-02 07:43:39 -07:00
Johannes Rieken 64ac67026a avoid innerHTML usages 2020-12-02 16:25:19 +00:00
Daniel Imms 9f033cb1d2 Fix rendering of multi-line selection when only top row is visible
Fixes #3069
2020-09-07 09:40:02 -07:00
Puneethnaik 61432ab65d Made changes according as per Review Comments. 2020-06-09 23:34:53 +05:30
Puneethnaik 0ccdc8d1ca Merge branch 'master' of https://github.com/xtermjs/xterm.js into #2737_fix 2020-06-06 16:42:28 +05:30
Daniel Imms 15f1759580 Introduce removeElementFromParent helper 2020-06-04 07:20:59 -07:00
Josh Goldberg fbb8c6273b Switched to parentElement optionals 2020-06-04 10:12:36 -04:00
Josh Goldberg 8ee08a3be7 ESLint? What is that? Never heard of the thing. 2020-06-03 16:16:00 -04:00
Josh Goldberg 5af1554bbf Only removeChild valid children in DomRenderer dispose 2020-06-03 16:05:53 -04:00
Puneethnaik e226a111f9 Merge branch 'master' of https://github.com/xtermjs/xterm.js into #2737_fix 2020-06-03 19:48:39 +05:30
Puneethnaik d5bc65ec0e 1. Removed logic to blend selection with background with 0.3 opacity from ColorManager to a function in color namespace.
2. Changed the DomRenderer and CanvasRenderer where the function defined in color namespace is called.
2020-06-03 19:48:34 +05:30