Commit Graph
90 Commits
Author SHA1 Message Date
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
Daniel Imms 23328a394b Fix trusted types in dom renderer
Fixes #4156
2022-09-27 13:01:36 -07: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 0727741ca1 Remove iterators from IDecorationService
They're too low performance for typical use cases

Fixes #4079
2022-08-27 20:50:16 -07:00
Daniel Imms bff529e1e2 Simplify dom tests and fix assertion 2022-07-30 23:41:08 -07:00
Daniel Imms e0d4384d3c Merge branch 'master' into underline 2022-07-30 06:40:41 -07:00
Daniel Imms ff33834eb2 Merge branch 'master' into inactiveSelection 2022-07-29 14:51:22 -07:00
Daniel Imms b0c29cac9a Merge pull request #3932 from Tyriar/tyriar/dim_bg
Fix inverse dim rendering on canvas+webgl
2022-07-29 14:50:47 -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 d2be5f992a Merge remote-tracking branch 'upstream/master' into underline 2022-07-28 07:01:41 -07:00
Daniel Imms 84b259dfa5 Merge remote-tracking branch 'upstream/master' into tyriar/dim_bg 2022-07-28 06:57: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 f4ffb13ece Render dim bg in all renderers
Fixes #3534
2022-07-24 10:59:24 -07:00
Daniel Imms 19fb806214 Fix tests 2022-07-23 13:44:12 -07:00
Daniel Imms 1f89223c2a DOM renderer underline color 2022-07-23 10:26:20 -07:00
Daniel Imms 8184e0824b Add tests for dom underline styles 2022-07-23 10:13:26 -07:00
Daniel Imms 72d18f7d5e DOM renderer underline style 2022-07-23 09:20:53 -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
Megan RoggeandDaniel Imms bc9c9dd6fd fix #3846 (#3849)
Co-authored-by: Daniel Imms <2193314+Tyriar@users.noreply.github.com>
2022-06-02 18:02:36 +00:00
Megan Rogge 6b16732192 exclude box and block glyphs from contrast ratio demands (#3844) 2022-06-01 17:05:27 -07:00
Daniel Imms 98c40e3f8e Add opaque selection dom renderer tests 2022-05-27 10:46:23 -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 d6ad4a4fc3 Remove unneeded dep 2022-05-17 11:41:13 -07:00
Daniel Imms d7fdf17eab Ensure color mode is set for selection foreground overrides 2022-05-17 11:20:20 -07:00
Daniel Imms eb96187801 Support selectionForeground in dom
Part of #3810
2022-05-16 10:08:51 -07:00
Daniel ImmsandMegan Rogge a458bae36d Update src/browser/renderer/dom/DomRendererRowFactory.ts
Co-authored-by: Megan Rogge <megan.rogge@microsoft.com>
2022-05-13 08:46:40 -07:00
Daniel Imms 1a50cfabe0 Dom renderer: top decorations above selection
Fixes #3799
2022-05-13 07:56:45 -07:00
Daniel Imms 7b4423819e Support setting the layer of a decoration
Fixes #3778
2022-05-12 10:51:11 -07:00
Daniel Imms 324ea2ecb7 Clean up/resolve todos 2022-05-11 09:54:40 -07:00
Daniel Imms c0b4edaf31 Reduce duplicate with getDecorationsAtCell method 2022-05-11 08:37:42 -07:00
Daniel Imms 7c87f5b47a Start to use new API in search addon 2022-05-10 05:31:49 -07:00
Daniel Imms 9f1db12b1b bg/fg decorations mostly working in canvas renderer 2022-05-09 16:19:58 -07:00
Daniel Imms 13abd2aa96 Support min contrast ratio in decoration fg/bg 2022-05-09 15:39:02 -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
Megan Rogge da33543ffb align isPowerlineGlyph across renderers (#3743) 2022-04-20 14:25:46 -07:00
Megan Rogge 38f0dd9be2 apply to dom and webgl too (#3742) 2022-04-19 18:46:39 -07:00
Simon Lamon 1dcc1d1baf fix test and replace options with rawOptions 2022-01-08 08:20:50 +00:00
Jörg Breitbart 0c60478953 fix DECTCEM in DOM renderer 2021-10-10 19:36:20 +02:00
Daniel Imms a2352f345b Merge branch 'master' into strikethrough 2021-07-09 06:53:05 -07:00
Daniel Imms f52d631fa4 Add eslint type assertions rule
Fixes #3359
2021-06-04 06:23:12 -07:00
Simon Lamon d19a740825 Support strikethrough text style 2021-05-15 17:35:23 +02:00
Daniel Imms b03a25f4c7 Webgl ligature support
Fixes #3094
2021-04-02 11:15:57 -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