Compare commits

...
4300 Commits
Author SHA1 Message Date
Daniel Imms 24f431b290 Merge pull request #3333 from Tyriar/v4_12
v4.12.0
2021-05-11 07:11:42 -07:00
Daniel Imms 0c47cd4d4d v4.12.0 2021-05-11 07:09:41 -07:00
Daniel Imms 33f0105d29 Merge pull request #3332 from Tyriar/scroll_refresh
Make sure all rows are refreshed on input
2021-05-11 07:02:41 -07:00
Daniel Imms bcbcc71bfc Trigger scroll when ignoring event
This is a less aggressive fix that doesn't regress tests
2021-05-11 06:52:04 -07:00
Daniel Imms da39129bd2 Revert "Make sure all rows are refreshed on input"
This reverts commit 973eb7b350.
2021-05-11 06:48:17 -07:00
Daniel Imms 973eb7b350 Make sure all rows are refreshed on input
Fixes #3323
2021-05-11 05:10:04 -07:00
Daniel Imms 8f9f2550ef Merge pull request #3327 from Tyriar/tasks
Don't start npm start until watch is done
2021-05-10 05:36:54 -07:00
Daniel Imms 673695068e Don't start npm start until watch is done 2021-05-10 05:35:06 -07:00
Daniel Imms 07c123309f Merge pull request #3322 from vladdoster/patch-1
(docs) update README.md
2021-05-07 04:59:19 -07:00
vlad doster 6a63be9107 (docs) update README.md
- correct spelling
- correct grammar
- reduce verbiage
- correct punctuation
2021-05-07 04:38:12 -05:00
Daniel Imms 978b2a9886 Merge pull request #3321 from xtermjs/dependabot/npm_and_yarn/addons/xterm-addon-ligatures/lodash-4.17.21
Bump lodash from 4.17.19 to 4.17.21 in /addons/xterm-addon-ligatures
2021-05-06 14:18:43 -07:00
dependabot[bot] d1ce8a0586 Bump lodash from 4.17.19 to 4.17.21 in /addons/xterm-addon-ligatures
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.19 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.19...4.17.21)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-06 21:08:45 +00:00
Daniel Imms dc61950311 Merge pull request #3320 from xtermjs/dependabot/npm_and_yarn/lodash-4.17.21
[Security] Bump lodash from 4.17.20 to 4.17.21
2021-05-06 14:07:58 -07:00
dependabot-preview[bot] 0ba0845563 [Security] Bump lodash from 4.17.20 to 4.17.21
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.20 to 4.17.21. **This update includes a security fix.**
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.20...4.17.21)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-05-06 20:39:34 +00:00
Daniel Imms d70ba1dc23 Merge pull request #3318 from meganrogge/bufferRange
Fix selection range
2021-05-06 05:02:25 -07:00
meganrogge 9403478049 tweak test 2021-05-05 19:49:33 -07:00
meganrogge 20f320327c Tweak range 2021-05-05 19:45:36 -07:00
meganrogge 9a5f85cc24 remove .only 2021-05-05 12:29:55 -07:00
meganrogge be32590ef0 fix #https://github.com/microsoft/vscode/issues/123000 2021-05-05 08:21:26 -07:00
Daniel Imms e5c9b0e27f Merge pull request #3314 from jeanp413/fix-undefined-soundService
Fixes undefined soundService
2021-05-04 10:39:25 -07:00
jeanp413 58527bb2ff Fixes undefined soundService 2021-05-04 11:23:31 -05:00
Daniel Imms 4a7bbe6738 Merge pull request #3313 from Tyriar/scroll_suppress
Ensure all viewport scroll events are handled by buffer
2021-04-28 13:00:38 -07:00
Daniel Imms d616aaa4f8 Ensure all viewport scroll events are handled by buffer
Some scroll events were never making it to the buffer service when using
a trackpad.

See microsoft/vscode#121017
Fixes #3311
2021-04-28 12:51:40 -07:00
Daniel Imms 376b29673b Merge pull request #3296 from Tyriar/asserttimeout
Don't assert on leave events
2021-04-06 14:05:39 -07:00
Daniel Imms 636e59b949 Merge branch 'master' into asserttimeout 2021-04-06 13:15:01 -07:00
Daniel Imms e3615f63e0 Merge pull request #3299 from bmf-ribeiro/feat/enable-windows-integration-tests
Feat/enable windows integration tests
2021-04-06 13:07:01 -07:00
Daniel Imms 0b02a3c774 Merge branch 'master' into asserttimeout 2021-04-06 13:00:42 -07:00
Daniel Imms 87ef131945 Merge branch 'master' into feat/enable-windows-integration-tests 2021-04-06 12:59:16 -07:00
Daniel Imms 6370a936b8 Merge pull request #3298 from bmf-ribeiro/feat/2714-start-server-on-integration-tests
Fix #2714 - Start demo server before running integration tests
2021-04-06 12:58:31 -07:00
Bruno Ribeiro e686527f87 Try to enable windows integration tests 2021-04-06 17:47:12 +01:00
Bruno Ribeiro c312317af0 Merge branch 'master' into feat/2714-start-server-on-integration-tests 2021-04-06 17:34:01 +01:00
Bruno Ribeiro b8af0ecf05 Await for server to be fully started 2021-04-06 17:21:39 +01:00
Bruno Ribeiro ab659fda5f Remove Start Test Server from pipelines as it now starts in the tests 2021-04-06 16:51:17 +01:00
Bruno Ribeiro 27c87319c1 Fix #2714 - Start demo server before running integration tests
- Use port 3001 instead of  300 to not conflict with the demo
2021-04-06 15:48:48 +01:00
Daniel Imms 5d4cea2119 Merge branch 'master' into asserttimeout 2021-04-06 07:07:58 -07:00
Daniel Imms 26cda84eab Merge pull request #3295 from xtermjs/Tyriar-patch-1
Fix whitespace
2021-04-06 06:50:22 -07:00
Daniel Imms c4fc90e3f8 Don't assert on leave events 2021-04-06 06:50:07 -07:00
Daniel Imms 985040e1cc Merge branch 'master' into Tyriar-patch-1 2021-04-06 06:34:52 -07:00
Daniel Imms 95fcf2f354 Merge pull request #3294 from Tyriar/pollfor
Give actionable error when pollFor times out
2021-04-06 06:34:43 -07:00
Daniel Imms 1422d935d0 Fix whitespace 2021-04-06 06:34:20 -07:00
Daniel Imms 5973e8f0dd Remove unused function 2021-04-06 06:28:49 -07:00
Daniel Imms 934467d484 Give actionable error when pollFor times out 2021-04-06 06:27:39 -07:00
Daniel Imms eedc314ca2 Merge pull request #3290 from nikonso/feat/3014-add-onBell-event-listener
Fix #3014  - Add onBell event listener to allow embeders to hook into it
2021-04-06 05:56:43 -07:00
Daniel Imms 2556137b51 Remove only 2021-04-06 05:44:36 -07:00
Daniel Imms 826493161a Api polish 2021-04-06 05:40:56 -07:00
Daniel Imms 19716957e4 Fix api test 2021-04-06 05:40:29 -07:00
Daniel Imms 3d29357d1d Fix test/lint 2021-04-06 05:34:20 -07:00
Daniel Imms 9143cf4904 Merge branch 'master' into feat/3014-add-onBell-event-listener 2021-04-06 05:28:29 -07:00
Daniel Imms c7978f78a2 Merge pull request #3291 from whattheserver/patch-1
Update README.md
2021-04-06 05:25:57 -07:00
WhatTheServer af26e27e23 Update README.md 2021-04-04 00:09:10 -04:00
Bruno Ribeiro 7b7b7a36db Fix #3014
- Add onBell event listener to allow embeders to hook into it
2021-04-03 16:34:00 +01:00
Daniel Imms 8a1d2cf0f4 Whitespace change to force ligatures publish 2021-04-02 14:22:49 -07:00
Daniel Imms 98f2576497 Merge pull request #3286 from Tyriar/webgl_liga
Webgl ligature support
2021-04-02 11:39:45 -07:00
Daniel Imms 00fa7bec42 Null out secondary ligature chars in cache 2021-04-02 11:32:02 -07:00
Daniel Imms b03a25f4c7 Webgl ligature support
Fixes #3094
2021-04-02 11:15:57 -07:00
Daniel Imms cf8a3514bc Merge pull request #3285 from Tyriar/dom_ligatures
Support for ligatures in DOM renderer
2021-04-02 10:45:41 -07:00
Daniel Imms b7320794bb Ligature support for dom renderer
Fixes #3283
2021-04-02 10:34:14 -07:00
Daniel Imms d8113aa533 Default to Fira Code in demo 2021-04-02 10:21:20 -07:00
Daniel Imms 16a70bdeb7 Merge pull request #3264 from LabhanshAgrawal/local_fonts
Enable using ligatures addon outside electron
2021-04-02 09:43:34 -07:00
Daniel Imms 0564ad4653 Add comments to webpack configs 2021-04-02 09:42:10 -07:00
Daniel Imms a57910e2fa Check navigator safely in node 2021-04-02 08:33:00 -07:00
Daniel Imms 4fa58c978b Fix lint 2021-04-02 07:58:59 -07:00
Daniel Imms 54cdbb3035 Merge branch 'master' into local_fonts 2021-04-02 07:57:51 -07:00
Daniel Imms 367eb45586 Merge pull request #3284 from Tyriar/tyriar/charJoinerService
Convert CharacterJoinerRegistry to a service
2021-04-02 07:57:38 -07:00
Daniel Imms 1124f8b513 Improve error when adding char joiner before open 2021-04-02 07:57:24 -07:00
Daniel Imms 233b78d258 Merge pull request #3282 from Tyriar/spacing_eslint
Require spacing of objects outside of test files
2021-04-02 07:52:37 -07:00
Daniel Imms 5f96f33cf0 Fix dangling comma 2021-04-02 07:50:22 -07:00
Daniel Imms b511f1b52a Fix other case of no spacing 2021-04-02 07:46:30 -07:00
Daniel Imms 6b3fd2f31a Merge branch 'master' into spacing_eslint 2021-04-02 07:45:31 -07:00
Daniel Imms 6501ab044c Merge branch 'master' into tyriar/charJoinerService 2021-04-02 07:44:28 -07:00
Daniel Imms 999116c536 Convert CharacterJoinerRegistry to a service
Part of #3094, #3283
2021-04-02 07:43:39 -07:00
Daniel Imms f19d7f0b70 Require spacing of objects outside of test files 2021-04-02 07:08:06 -07:00
Daniel Imms 1e499c7867 Disable ligatures addon by default
Since it needs a user action to trigger the permissions prompt
2021-04-02 06:57:11 -07:00
Daniel Imms b9d3deae56 Merge branch 'master' into local_fonts 2021-04-02 06:42:48 -07:00
Daniel Imms 0421f6ebcf Merge pull request #3279 from Tyriar/tyriar/powerline
Don't pad powerline glyphs and use ideographic text baseline
2021-04-01 17:45:44 -07:00
Daniel Imms a510ffb3c0 Use ideographic baseline for canvas 2021-04-01 17:10:14 -07:00
Daniel Imms 62f5b8291d Use ideographic over middle
This seems to correctly center the glyphs within the cell, making powerline
fonts appear perfectly aligned.

Fixes #3281
2021-04-01 17:05:29 -07:00
Megan Rogge f9945b3439 Merge pull request #3276 from meganrogge/webgl
add onContextLoss to webgl addon
2021-04-01 17:02:57 -07:00
Daniel Imms 62ca4b7e13 Correct restricted glyph padding 2021-04-01 17:00:02 -07:00
Megan Rogge 6f59b56958 Merge branch 'master' into webgl 2021-04-01 16:57:21 -07:00
meganrogge 113086f97a tweak readme, expose API 2021-04-01 16:57:19 -07:00
Daniel Imms b6d3120086 Restrict all sides of powerline glyphs 2021-04-01 16:55:27 -07:00
Daniel Imms 117f990055 Don't pad powerline glyphs
Fixes #3278
2021-04-01 16:39:59 -07:00
Daniel Imms 337c11d580 Merge pull request #3277 from meganrogge/bufferService
Move scroll to BufferService
2021-04-01 16:01:30 -07:00
Daniel Imms ecb485d2f5 Remove _cachedBlankLine 2021-04-01 15:54:47 -07:00
Daniel Imms c5339116b5 Add note to readme on handling context loss 2021-04-01 15:45:10 -07:00
meganrogge b1877b4dc7 onRecoverContext -> onContextLoss 2021-04-01 13:32:35 -07:00
meganrogge 1c087f6bcd cherry picked commits and scrollSource 2021-04-01 13:24:02 -07:00
meganrogge e40f340036 use bufferService methods 2021-04-01 13:18:20 -07:00
meganrogge c096633f91 get tests to pass
Co-authored-by: Daniel Imms <daimms@microsoft.com>
2021-04-01 13:17:53 -07:00
meganrogge b074c2552a use bufferService in terminal to reduce code a bunch 2021-04-01 13:17:48 -07:00
meganrogge e2885f3a38 move stuff to inputHandler and move scroll to bufferService 2021-04-01 13:16:39 -07:00
Megan Rogge 47ac4dd9fe Merge branch 'master' into webgl 2021-04-01 12:18:21 -07:00
meganrogge fa7889cdd0 add onRecovercontext event 2021-04-01 12:17:34 -07:00
Daniel Imms 759379dfb1 Merge pull request #3205 from schrej/fix/scroll-events
emit onScroll events when user is scrolling
2021-04-01 12:11:47 -07:00
Daniel Imms 87ed4f07cd Tidy up syncTextArea 2021-04-01 12:05:24 -07:00
Daniel Imms 07499380d1 Remove RenderService check, it must be passed to ctor 2021-04-01 12:05:21 -07:00
Daniel Imms 3ae61fc1dd Use buffer y for relative cursor pos 2021-04-01 12:05:17 -07:00
Daniel Imms 085a2b545f Remove now unneeded CharSizeService 2021-04-01 12:05:12 -07:00
kena0ki 49cb6f74bc Remove non-null assertion 2021-04-01 12:05:05 -07:00
kena0ki d4a93fe7e4 Use RenderService.dimensions instead of CharSizeService for textarea position 2021-04-01 12:05:00 -07:00
Daniel Imms f4861aa74a Move onScroll next to _onScroll 2021-04-01 08:54:29 -07:00
Daniel Imms 1925f1f442 Improve whitespace 2021-04-01 08:41:29 -07:00
Daniel Imms 6355852d09 Merge remote-tracking branch 'ups/master' into pr/schrej/3205 2021-04-01 08:36:14 -07:00
Daniel Imms e1641c57fc Merge pull request #3169 from kena0ki/issue#3024
Use RenderService.dimensions instead of CharSizeService for textarea position
2021-04-01 08:34:39 -07:00
Daniel Imms 7b920adbe9 Tidy up syncTextArea 2021-04-01 08:26:35 -07:00
Daniel Imms 05516750b5 Remove RenderService check, it must be passed to ctor 2021-04-01 08:23:35 -07:00
Daniel Imms b62a64519f Use buffer y for relative cursor pos 2021-04-01 08:23:18 -07:00
Daniel Imms e9e716964e Remove now unneeded CharSizeService 2021-04-01 08:19:12 -07:00
kena0ki a15f61bb85 Remove non-null assertion 2021-04-01 00:11:30 +09:00
kena0ki de334ea116 Use RenderService.dimensions instead of CharSizeService for textarea position 2021-03-31 23:32:53 +09:00
Daniel Imms dd952ac166 Merge pull request #3230 from marvinthepa/682_url_selector
Use linkifier2 to double click select links
2021-03-30 06:25:26 -07:00
Daniel Imms d2471b4301 Update src/browser/Types.d.ts 2021-03-30 06:19:39 -07:00
Daniel Imms 04092c80e8 Update src/browser/services/SelectionService.ts 2021-03-30 06:19:34 -07:00
Daniel Imms b7e0489a53 Remove offset from link
The link range is absolute, not relative to viewport
2021-03-30 06:18:17 -07:00
Daniel Imms daf1128df7 Merge branch 'master' into 682_url_selector 2021-03-30 05:34:38 -07:00
Daniel Imms 36c436d4e0 Merge pull request #3273 from Tyriar/webgl_stable
Remove experimental note from webgl renderer
2021-03-30 05:33:59 -07:00
Daniel Imms edf783f155 Merge pull request #3270 from xtermjs/dependabot/npm_and_yarn/y18n-4.0.1
[Security] Bump y18n from 4.0.0 to 4.0.1
2021-03-30 05:16:20 -07:00
Daniel Imms dafe7ea3da Remove experimental note from webgl renderer
Fixes #2033
2021-03-30 04:45:41 -07:00
dependabot-preview[bot] cbe056c27e [Security] Bump y18n from 4.0.0 to 4.0.1
Bumps [y18n](https://github.com/yargs/y18n) from 4.0.0 to 4.0.1. **This update includes a security fix.**
- [Release notes](https://github.com/yargs/y18n/releases)
- [Changelog](https://github.com/yargs/y18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yargs/y18n/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-03-29 18:46:53 +00:00
Daniel Imms e78561b7b6 Merge pull request #3269 from coderaiser/lint-using-putout
Lint using putout part 3
2021-03-29 02:07:47 -07:00
coderaiser de791cfb35 chore: lint using putout 2021-03-28 15:27:03 +03:00
Daniel Imms 6d1a2f3b57 Merge pull request #3267 from jerch/writeSync_fix
writeSync callstack fix
2021-03-26 05:10:35 -07:00
Jörg Breitbart e106cd02cf fix callstack overflow of writeSync 2021-03-26 12:46:39 +01:00
Thomas Zilz 787ef30279 Revert "Noch mehr änderungen"
This reverts commit b666e6a924.
2021-03-25 14:09:47 +01:00
Thomas Zilz 61519cc10c Revert "Test test"
This reverts commit 61213159ee.
2021-03-25 14:09:44 +01:00
Thomas Zilz b666e6a924 Noch mehr änderungen 2021-03-25 13:59:20 +01:00
Thomas Zilz 61213159ee Test test 2021-03-25 13:55:29 +01:00
Labhansh Agrawal 67934ff35f Enable using ligatures addon outside electron 2021-03-24 20:44:14 +05:30
Daniel Imms 8c1833f117 Merge pull request #3258 from dstein64/master
Add gifcast to "Real-world uses" in README.md
2021-03-19 18:10:37 -07:00
Daniel Steinberg c2f4c4dd32 Add gifcast to "Real-world uses" in README.md 2021-03-19 18:40:36 -04:00
Daniel Imms c4ed61e831 Merge pull request #3257 from xtermjs/Tyriar-patch-1
Change warning to one per session not terminal
2021-03-19 06:32:45 -07:00
Daniel Imms 5c5ca4e213 Change warning to one per session not terminal 2021-03-19 06:24:42 -07:00
Daniel Imms 6edfa513f3 Merge pull request #3256 from jerch/silence_writeSync_warning
silence writeSync warning
2021-03-19 06:02:40 -07:00
Jörg Breitbart 5170a12cb1 silence writeSync warning 2021-03-19 01:07:43 +01:00
Daniel Imms 9a90f1f4ab Merge pull request #3251 from Python-37/Fix-bug-of-some-IMEs-cannot-input-in-terminal
Fix bug of some IMEs cannot input in terminal
2021-03-18 08:49:56 -07:00
Daniel Imms 886f285ab7 Remove old setting dimensions 2021-03-18 08:31:13 -07:00
Daniel Imms 00bdd2805a Ensure in js that the textarea is always > 1x1px 2021-03-18 08:14:27 -07:00
Daniel Imms d392bdb5ea Merge branch 'master' into Fix-bug-of-some-IMEs-cannot-input-in-terminal 2021-03-18 07:00:43 -07:00
jerch 145b4874cb Merge pull request #3222 from jerch/async_handlers
async parser handler support
2021-03-17 22:50:14 +01:00
Jörg Breitbart 869c11f1d8 interface for subparser stack saves 2021-03-17 22:39:09 +01:00
Jörg Breitbart 8e7cdd2587 interface for inputhandler parse stack, proper typing of LogService.logLevel 2021-03-17 22:29:01 +01:00
Jörg Breitbart 76fdf9d378 Merge branch 'async_handlers' of github.com:jerch/xterm.js into async_handlers 2021-03-17 22:08:36 +01:00
Jörg Breitbart a7488456d8 Merge branch 'master' into async_handlers 2021-03-17 22:08:19 +01:00
Martin Sander 5185e5f894 Use linkifier2 to double click select links
Also works with right click select.
Fixes #682.
2021-03-16 16:42:38 +01:00
jerch c19cc9b2d6 Merge branch 'master' into async_handlers 2021-03-15 21:53:59 +01:00
Python-37 7968b7ce7e Fix bug of some IMEs cannot input in terminal
Fix bug of QQ pinyin and Rime IME cannot input characters in terminal.
2021-03-10 17:27:58 +08:00
Megan Rogge ee88fca8c0 Merge pull request #3249 from xtermjs/release
v 4.11.0
2021-03-09 10:21:03 -08:00
meganrogge 9b3fbc9b84 v 4.11.0 2021-03-09 10:18:14 -08:00
Jörg Breitbart cdd238d75e do not timeout on faulty async handlers, continue with false to give default handlers chance to run 2021-02-28 13:53:06 +01:00
Jörg Breitbart 48a93c379f log a warning if an async handler takes too long 2021-02-27 22:24:55 +01:00
Jörg Breitbart cc005a274d multiple changes:
- reorder exception throwing to be sync to band position
- document WriteBuffer._innerWrite
- remove any declarations
- remove conditional assigments
- use faster return value branching in all parsers
- remove dead code in benchmark
2021-02-27 20:18:41 +01:00
Jörg Breitbart 26bf1ab840 Merge branch 'master' into async_handlers 2021-02-25 19:07:28 +01:00
Jörg Breitbart b4635eddf3 make reset async aware 2021-02-25 19:04:37 +01:00
Jörg Breitbart 6b57921567 async handler API tests 2021-02-25 17:41:16 +01:00
Jörg Breitbart d500b0f204 inputhandler tests 2021-02-25 17:06:32 +01:00
Jörg Breitbart 9985ae2c38 fix linter warning 2021-02-25 15:44:39 +01:00
Jörg Breitbart bce3269e44 async OSC/DCS registering/dispose tests on parser instance 2021-02-25 15:41:10 +01:00
Daniel Imms 187f072f43 Merge pull request #3244 from nxshell/patch-1
feat: Add nxshell which use xtermjs
2021-02-16 04:42:09 -08:00
nxshell 3ab2376517 feat: Add nxshell which use xtermjs 2021-02-16 19:37:03 +08:00
Jörg Breitbart 26502114d4 minor tweaks, API docs update 2021-02-15 16:24:29 +01:00
Jörg Breitbart 5db479c25d update public API 2021-02-08 03:35:42 +01:00
Jörg Breitbart d0b555687f update parser hooks api and tests 2021-02-08 03:28:49 +01:00
Jörg Breitbart 041e259c11 OSC impl, OscParser tests 2021-02-08 03:03:28 +01:00
Jörg Breitbart d59f4d2f6f async impl for DCS, DcsParser tests 2021-02-08 01:53:59 +01:00
Jörg Breitbart 898a18db21 Merge branch 'master' into async_handlers 2021-02-07 23:14:30 +01:00
Daniel Imms a73fe62b7a Merge pull request #3243 from jeanp413/measure-charsize-on-devicePixelRatioChange
Force char size measurement when devicePixelRatio changes
2021-02-05 11:39:31 -08:00
jeanp413 350f6cfea1 Fixes https://github.com/microsoft/vscode/issues/102194 2021-02-05 11:15:39 -05:00
Daniel Imms 2936f80013 Merge pull request #3233 from marvinthepa/3056_hover_callback_link_providers
Add hover and leave callbacks for linkprovider
2021-02-03 05:35:15 -08:00
Daniel Imms dec9f6d254 Merge branch 'master' into 3056_hover_callback_link_providers 2021-02-03 05:29:08 -08:00
Daniel Imms bd6676d3b6 Move options to addon and avoid recreating options 2021-02-03 05:28:23 -08:00
Daniel Imms d9309d33af Merge pull request #3232 from jeanp413/fix-3221
Fix webgl renderer does not render when writing if a selection exists
2021-02-03 05:17:18 -08:00
Daniel Imms bb9802e754 Merge branch 'master' into fix-3221 2021-02-03 05:10:48 -08:00
ew eec804dd7c Add hover and leave callbacks for linkprovider
Fixes #3056.
2021-02-03 10:25:33 +01:00
jeanp413 ff6d3a0768 Refresh selection on resize as dimensions changed 2021-02-03 01:29:39 -05:00
jeanp413 94d37bbe4c Keep selection on resize and when changing colors 2021-02-03 00:24:53 -05:00
Daniel Imms 36136a4c29 Merge pull request #3241 from mmis1000/fix/serialize-addon-typings
SerializeAddon: fix parameter name in typing
2021-02-02 19:58:01 -08:00
Mmis1000 8b273e6939 SerializeAddon: fix parameter name in typing 2021-02-03 11:01:55 +08:00
Daniel Imms 2340fa1c91 Merge branch 'master' into fix-3221 2021-02-02 11:57:57 -08:00
Daniel Imms 70051da2ab Merge pull request #3101 from mmis1000/feature/xterm-addon-serialize-restore-layout-and-cursor
Feature/xterm addon serialize restore layout and cursor
2021-02-01 09:46:52 -08:00
Daniel Imms 5659bf3283 Merge branch 'master' into feature/xterm-addon-serialize-restore-layout-and-cursor 2021-02-01 09:36:05 -08:00
Daniel Imms 8de8ac10d4 Merge pull request #3240 from Tyriar/debug
Fix Demo Server debug launch config
2021-02-01 09:35:48 -08:00
Daniel Imms 46c93f1b63 Move util function into page.evaluate 2021-02-01 09:34:38 -08:00
Daniel Imms e3a9d0d14f Merge branch 'master' into debug 2021-02-01 09:29:10 -08:00
Daniel Imms 0a4b403f6a Fix Demo Server debug launch config 2021-02-01 09:28:26 -08:00
Daniel Imms b94b4f5353 Merge branch 'master' into feature/xterm-addon-serialize-restore-layout-and-cursor 2021-02-01 09:01:09 -08:00
Daniel Imms d84576e160 Merge pull request #3239 from hantatsang/fix/2642-terminal-open-check-shadow-dom
Terminal.open: support WebComponent when checking DOM Node
2021-02-01 02:37:38 -08:00
hantatsang a0903fbf9b terminal.open: support webcomponent in dom node check 2021-01-31 11:43:59 +11:00
Daniel Imms 4b29b8a9c6 Merge pull request #3237 from Tyriar/r4_10
v4.10.0
2021-01-29 09:25:08 -08:00
Daniel Imms c994c67dd9 v4.10.0 2021-01-29 09:14:31 -08:00
jeanp413 0b09f0bafd Fixes #3221 2021-01-24 23:17:36 -05:00
Mmis1000 54bb0ee189 SerializeAddon: comment the intent of several check 2021-01-25 10:52:48 +08:00
Jörg Breitbart 68b7f88523 async parser tests for CSI and ESC 2021-01-24 17:09:16 +01:00
Jörg Breitbart a9eb1de4b4 Merge branch 'master' into async_handlers 2021-01-24 09:11:51 +01:00
jerch 28bcd88fb0 Merge pull request #3229 from jerch/replace_expect_testing
replace expect testing with assert
2021-01-23 19:07:26 +01:00
jerch bee4b0ff06 Merge branch 'master' into replace_expect_testing 2021-01-23 19:00:39 +01:00
Daniel Imms 559b3c1392 Merge pull request #3228 from nishant-d/master
added Devtron's usages
2021-01-23 09:12:47 -08:00
Jörg Breitbart d3c9f70bec replace expect testing with assert 2021-01-23 17:09:43 +01:00
Jörg Breitbart 4ba7aef441 Merge branch 'master' into async_handlers 2021-01-23 13:06:50 +01:00
Jörg Breitbart 2f07ed9976 simplify stack save in parser 2021-01-23 13:05:57 +01:00
jerch ff74caf50d Merge pull request #3200 from kena0ki/issue3032
Filter U+FEFF (BOM) when decoding input data
2021-01-23 13:03:57 +01:00
Ken Aoki 3d941f2fdf add BOM skip logic 2021-01-23 11:42:16 +00:00
Ken Aoki 93aab95f7b filter U+FEFF (BOM) when decoding input data 2021-01-23 04:39:57 +00:00
Mmis1000 079702282c SerializeAddon: move test util into seperate file 2021-01-23 12:26:30 +08:00
nishant-d db8e449a8a added Devtron's usages 2021-01-23 09:35:43 +05:30
Mmis1000 a2480bae51 Remove dummy buffer cell in favor of just remember the location 2021-01-23 11:57:08 +08:00
mmis1000andDaniel Imms cd501f9dcc Update addons/xterm-addon-serialize/src/MyBufferCell.ts
Co-authored-by: Daniel Imms <tyriar@tyriar.com>
2021-01-23 10:20:03 +08:00
mmis1000andDaniel Imms 354f3e03a2 Fix: inconsistent styles
Co-authored-by: Daniel Imms <tyriar@tyriar.com>
2021-01-23 10:19:03 +08:00
Jörg Breitbart b07ca8bb24 fix timeout issue on macos 2021-01-22 21:34:12 +01:00
Jörg Breitbart 22d777c9f9 make linter happy 2021-01-22 21:24:54 +01:00
Jörg Breitbart adfeffec76 deprecate writeSync 2021-01-22 21:17:34 +01:00
Jörg Breitbart 4a1bdad759 fix tests for async handlers in inputhandler 2021-01-22 19:48:50 +01:00
Daniel Imms 00ef60ebaf Merge branch 'master' into feature/xterm-addon-serialize-restore-layout-and-cursor 2021-01-22 09:13:07 -08:00
Jörg Breitbart 0ad9f70645 Merge branch 'master' into async_handlers 2021-01-22 17:49:31 +01:00
Daniel Imms 4da5d557a5 Merge pull request #3227 from marvinthepa/3225_onSelectionChange_on_clear
Store old selection when firing onSelectionChange
2021-01-22 08:37:36 -08:00
jerch a1dc85ee57 Merge pull request #3223 from jerch/simplify_handler_interface
cleanup parser handler interface
2021-01-22 17:17:48 +01:00
Martin Sander 554b4a8224 Store old selection when firing onSelectionChange 2021-01-22 16:41:57 +01:00
Jörg Breitbart 3f659a15da minor fixes:
- better perf for short DCS without params (8 times faster)
- test perf for class and string based interfaces of OSC and DCS
  separately
- undo wrong commit on parser
2021-01-21 15:58:03 +01:00
Jörg Breitbart dd5b295219 release active handler list on dispose in DcsHandler 2021-01-21 13:08:01 +01:00
Jörg Breitbart 9d0200252b fix possible OSC handler bug skipping the fallback handler 2021-01-21 13:05:57 +01:00
Jörg Breitbart d67faff92a simplify return eval 2021-01-21 11:38:47 +01:00
Jörg Breitbart c50c134e25 simplify parser handler interface:
- remove setHandler
- apply boolean return to ESC|CSI|OSC|DCS handlers
  (rewrite empty return defaulting to true)
- rename addHandler to registerHandler
2021-01-20 23:03:55 +01:00
Jörg Breitbart bc1048062d early version of async support for CSI and ESC handlers 2021-01-20 20:05:14 +01:00
Daniel Imms 74ea558bfc Merge pull request #3219 from marvinthepa/3216_onSelectionChange_on_right_click
fire onSelectionChange on right click select
2021-01-19 10:24:55 -08:00
Martin Sander c6f93701f5 fire onSelectionChange on right click select
fixes #3216.
2021-01-16 10:14:11 +01:00
Daniel Imms 8a4772ca39 Merge pull request #3215 from marvinthepa/3193_onSelectionChange_on_clear
fire onSelectionChange on empty selection
2021-01-15 10:17:21 -08:00
Daniel ImmsandMegan Rogge 66c80d8b78 Simplify checks
Co-authored-by: Megan Rogge <merogge@microsoft.com>
2021-01-15 09:39:34 -08:00
Martin Sander 0cb38cfdcb fire onSelectionChange on empty selection
Fire the onSelectionChange event when a selection is cleared by
single-clicking somewhere inside the terminal area.

fixes #3193.

This also slightly changes the behaviour when re-selecting the same area
in the terminal. Before, this fired onSelectionChange, but it does not
anymore, even when changing the direction of the selection.
2021-01-14 23:08:34 +01:00
Jakob b0605e4cd1 Merge branch 'master' into fix/scroll-events 2021-01-13 11:12:14 +01:00
Jakob Schrettenbrunner 82a9ee62d7 emit onScroll event when user is scrolling 2021-01-12 22:35:47 +00:00
Jakob Schrettenbrunner 8b2b0f6abc add richer ScrollEvent that includes the source 2021-01-12 22:32:20 +00:00
Daniel Imms c669c3fba7 Merge pull request #3194 from kena0ki/issue3191
Prevent input characters using IME from being duplicated
2021-01-11 14:28:02 -08:00
Daniel Imms 8860726c68 Merge branch 'master' into issue3191 2021-01-11 09:51:02 -08:00
Daniel Imms f64724f54f Merge pull request #3187 from chenjigeng/fix/select-all
fix shift+cmd+a will Select all
2021-01-11 09:41:14 -08:00
Daniel Imms fd222b58b5 Merge branch 'master' into fix/select-all 2021-01-11 09:29:35 -08:00
Daniel Imms 83ba481e3d Merge pull request #3125 from kena0ki/issue#2734
Fix search addon not expanding selection to left when appropriate
2021-01-11 09:29:18 -08:00
Daniel Imms 7d5bbc341f Merge branch 'master' into issue#2734 2021-01-11 09:20:47 -08:00
Daniel ImmsandMegan Rogge 519e44d30e Clean up, improve comments
Co-authored-by: Megan Rogge <merogge@microsoft.com>
2021-01-11 09:19:53 -08:00
Daniel Imms 3bb2c158fd Merge pull request #3213 from Tyriar/update_yarn
Update yarn.lock for font-finder
2021-01-11 08:53:20 -08:00
Daniel Imms 5ada5f0c0c Update yarn.lock for font-finder
Previous update was likely done using npm, not yarn
2021-01-11 08:31:56 -08:00
Daniel Imms ea1fcc6a5f Merge pull request #3163 from slawekzachcial/add-osc-4
Add support for OSC 4 ; color ; color spec
2021-01-11 07:54:04 -08:00
Daniel Imms 19c14b076b Remove resolved TODO 2021-01-11 07:40:25 -08:00
Slawek Zachcial 676aabc3ed Merge branch 'master' into add-osc-4 2021-01-09 16:57:18 +01:00
Slawek Zachcial 5c33e4008d Make _parseAnsiColorChange available for tests in TestInputHandler 2021-01-09 14:30:24 +01:00
Daniel Imms 772e446192 Merge pull request #3210 from meganrogge/windows-git-bash
Get demo working for git bash on windows
2021-01-08 11:33:34 -08:00
meganroggeandPretaSOFT 66be7797cf Get demo working for git bash on windows
Co-authored-by: Megan Rogge merogge@microsoft.com
Co-authored-by: Daniel Imms daimms@microsoft.com
2021-01-08 11:02:34 -08:00
Daniel Imms 3261c53c08 Merge pull request #3209 from Nokel81/freeze-default-colours
freeze the default ANSI colours const
2021-01-08 07:10:12 -08:00
Sebastian Malton 5bab94730f freeze the default ANSI colours const 2021-01-08 09:46:12 -05:00
Daniel Imms 801aeb8462 Merge pull request #3207 from CyanSalt/commas
Add Commas to the Real-world uses List
2021-01-05 23:27:50 -08:00
Sun Xiaoran cbe5abcf27 Add Commas to the Real-world uses List 2021-01-06 14:10:10 +08:00
Daniel Imms 72dbd43be6 Merge pull request #3204 from meganrogge/master
set this._buffer to new buffer
2021-01-05 10:20:57 -08:00
Daniel ImmsandPretaSOFT 7145130835 Fix onBufferChange event not working after reset
Co-authored-by: Megan Rogge (megan.rogge@microsoft.com)
2021-01-05 09:32:09 -08:00
meganrogge b34289cc44 use reset 2021-01-05 07:10:27 -08:00
meganrogge fe2b1c0d43 set this._buffer to new buffer 2021-01-04 11:32:11 -08:00
Daniel Imms 4de6f1c255 Merge pull request #3203 from meganrogge/master
cache buffer to fix VS Code issue #111562
2021-01-04 10:35:46 -08:00
meganrogge 8baff9bade cache buffer 2021-01-04 08:31:22 -08:00
jerch f8f7e7e4c1 Merge pull request #3188 from UziTech/update-font-finder
fix: update font-finder to v1.1.0
2021-01-02 19:34:40 +01:00
jerch 7523505af1 Merge branch 'master' into update-font-finder 2021-01-02 19:23:35 +01:00
jerch d94b119e9d Merge pull request #3190 from jrieken/joh/trustedTypes
Avoid innerHTML usages
2021-01-02 19:21:55 +01:00
kena0ki 3cab8511e4 Prevent input characters using IME from being duplicated 2020-12-31 22:55:54 +09:00
Slawek Zachcial 7d3f5375a8 Implement OSC 4 for list of colors 2020-12-09 22:30:23 +01:00
Johannes Rieken b2c4ed638b fix bad none-breaking whitespace 2020-12-09 09:08:14 +00:00
Slawek Zachcial 2804bfa8b7 Make safe references to colorManager in _changeAnsiColor 2020-12-07 23:20:10 +01:00
Johannes Rieken 64ac67026a avoid innerHTML usages 2020-12-02 16:25:19 +00:00
Slawek Zachcial 5a74ce2e59 Add Ansi color change positive test 2020-11-30 22:00:04 +01:00
Slawek Zachcial f4a56389cd Fix quotes 2020-11-29 23:22:31 +01:00
Slawek Zachcial 52b64beefc Make InputHandler parseAnsiColorChange private 2020-11-29 16:30:05 +01:00
Tony Brix ec1234e8d8 fix: update font-finder to v1.1.0 2020-11-27 14:19:05 -06:00
condichen@tencent.com b7695d2fd6 fix shift+cmd+a will Select all 2020-11-28 00:56:45 +08:00
Slawek Zachcial 4c6dc45d20 Merge branch 'master' into add-osc-4 2020-11-24 22:54:26 +01:00
Daniel Imms 5cb048094e Merge pull request #3181 from awmottaz/master
Make alt+click behavior configurable
2020-11-24 09:04:21 -08:00
Daniel Imms e3cccd619b Update typings/xterm.d.ts 2020-11-24 09:03:59 -08:00
Tony Mottaz 88f0b91056 add altClickMovesCursor option to Services type 2020-11-22 10:01:02 -06:00
Tony Mottaz 78ddb9feba Add 'altClickMovesCursor' option to getOption/setOption in Terminal 2020-11-22 10:00:41 -06:00
Tony Mottaz f68ff2a455 Check for alt+click option sooner 2020-11-22 10:00:02 -06:00
Tony Mottaz 04e2bdd6ec Make alt+click behavior configurable 2020-11-20 19:50:03 -06:00
Daniel Imms 84fa6be370 Merge pull request #3175 from dsanders11/patch-1
use Array.includes
2020-11-11 12:50:07 -08:00
David Sanders af2f744186 use Array.includes 2020-11-11 09:43:17 -08:00
Daniel Imms 5f4b719444 Merge pull request #3172 from KKoukiou/a11y-fix
Fix a11y violation because of using role='listitem' without role='list' parent
2020-11-10 08:53:45 -08:00
Katerina Koukiou 9616851e52 Fix a11y violation because of using role='listitem' without role='list' parent 2020-11-10 16:36:59 +01:00
Daniel Imms 4645fda126 Merge pull request #3170 from blois/shadow_root
Incorporate shadowRoot in focus calculation.
2020-11-09 16:17:09 -08:00
Pete Blois 057a8f6f1b Incorporate shadowRoot in focus calculation.
This adds a call to getRootNode to get either the Document or the
ShadowRoot to use when calculating whether the textarea has focus.

getRootNode is guarded for older browser compatibility (IE).
2020-11-09 13:12:03 -08:00
Slawek Zachcial e6917d1933 Clarify color spec description 2020-11-08 22:07:24 +01:00
Slawek Zachcial 6535995753 Update OSC 4 description to match #3036 2020-11-08 22:05:25 +01:00
Slawek Zachcial 77ed5ba7ed Add terminal sequence doc 2020-11-08 10:19:12 +01:00
Slawek Zachcial bc86b7804c Use all and not only 16 Ansi colors in CharAtlas config 2020-11-07 21:36:05 +01:00
Slawek Zachcial d5f4ae53c9 Add IAnsiColorChangeEvent related tests 2020-11-07 21:36:05 +01:00
Slawek Zachcial b898e016f3 Add IAnsiColorChangeEvent type 2020-11-07 21:36:05 +01:00
Slawek Zachcial 712f0ae2a7 Merge branch 'master' into add-osc-4 2020-11-05 22:02:48 +01:00
Daniel Imms c553107d23 Merge pull request #3167 from xtermjs/dependabot/npm_and_yarn/webpack-cli-4.2.0
Bump webpack-cli from 4.1.0 to 4.2.0
2020-11-05 08:35:34 -08:00
Slawek Zachcial b127436cc4 Fix TODO comment 2020-11-05 08:51:01 +01:00
dependabot-preview[bot] b61ac11a76 Bump webpack-cli from 4.1.0 to 4.2.0
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/webpack-cli@4.1.0...webpack-cli@4.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-05 07:38:01 +00:00
Slawek Zachcial b22d7f1140 Move color parsing from Terminal to InputHandler 2020-11-04 22:19:55 +01:00
Daniel Imms 925aaf18a1 Merge pull request #3165 from xtermjs/dependabot/npm_and_yarn/webpack-5.4.0
Bump webpack from 5.3.2 to 5.4.0
2020-11-04 06:46:09 -08:00
Daniel Imms 797ed47791 Merge pull request #3164 from xtermjs/dependabot/npm_and_yarn/ts-loader-8.0.8
Bump ts-loader from 8.0.7 to 8.0.8
2020-11-04 06:45:49 -08:00
dependabot-preview[bot] 4128a6e2f1 Bump webpack from 5.3.2 to 5.4.0
Bumps [webpack](https://github.com/webpack/webpack) from 5.3.2 to 5.4.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.3.2...v5.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-04 07:28:16 +00:00
dependabot-preview[bot] 69f34be4b8 Bump ts-loader from 8.0.7 to 8.0.8
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 8.0.7 to 8.0.8.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v8.0.7...v8.0.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-04 07:27:51 +00:00
Slawek Zachcial 1c3da7e2e6 Merge branch 'master' into add-osc-4 2020-11-03 18:57:51 +01:00
Slawek Zachcial 5c7644adc0 Add rudimenatary and not fully working support of OSC 4 2020-11-03 18:36:28 +01:00
Daniel Imms f974010aa3 Merge pull request #3162 from xtermjs/dependabot/npm_and_yarn/mocha-8.2.1
Bump mocha from 8.2.0 to 8.2.1
2020-11-03 06:58:51 -08:00
dependabot-preview[bot] d4d18f741f Bump mocha from 8.2.0 to 8.2.1
Bumps [mocha](https://github.com/mochajs/mocha) from 8.2.0 to 8.2.1.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v8.2.0...v8.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-11-03 07:36:13 +00:00
Daniel Imms d97b54b9be Merge pull request #3161 from nasrob/update-to-webpack-5
fixes #3154 upgraded webpack to version 5.3.2
2020-11-02 06:09:21 -08:00
Daniel Imms a7b94fbe1a Revert "Reference tsc/webpack in root dir"
This reverts commit fd6bf6d667.
2020-11-02 05:40:18 -08:00
Daniel Imms 2ab9de91fe Format tsconfig.json 2020-11-02 05:37:31 -08:00
Daniel Imms fd6bf6d667 Reference tsc/webpack in root dir 2020-11-02 05:36:23 -08:00
Daniel Imms 38e81f053f Merge pull request #3133 from coderaiser/lint/putout
Using putout linter on xterm codebase part 2
2020-11-02 05:15:07 -08:00
coderaiser c6f1b456f5 feature: tsconfig: es2017 -> es2016.Array.Include 2020-11-01 09:46:31 +02:00
Nasser Boukehil 8484978ef0 fixes #3154 upgraded webpack to version 5.3.2 with types property in ligatures tsconfig 2020-10-31 21:03:01 +01:00
coderaiser c4919b9a6b feature: tsconfig: es2015 -> es2017 2020-10-31 15:13:12 +02:00
Daniel Imms 02e4db4c82 Merge pull request #3136 from kena0ki/termfit
Fix "term.fit is not a function" error when change padding value in the demo
2020-10-30 12:23:17 -07:00
Daniel Imms 5200766617 Merge branch 'master' into feature/xterm-addon-serialize-restore-layout-and-cursor 2020-10-30 09:38:33 -07:00
Daniel Imms 8d9badb588 Merge pull request #3089 from UziTech/rerender-hidden
Render initially hidden terminal when visible
2020-10-30 08:55:29 -07:00
Daniel Imms fc534a1067 Merge pull request #3158 from xtermjs/dependabot/npm_and_yarn/types/jsdom-16.2.5
Bump @types/jsdom from 16.2.4 to 16.2.5
2020-10-29 13:46:58 -07:00
Daniel Imms f68ef19868 Merge pull request #3157 from xtermjs/dependabot/npm_and_yarn/types/webpack-4.41.24
Bump @types/webpack from 4.41.23 to 4.41.24
2020-10-29 13:46:46 -07:00
dependabot-preview[bot] 0a2e40502f Bump @types/jsdom from 16.2.4 to 16.2.5
Bumps [@types/jsdom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsdom) from 16.2.4 to 16.2.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jsdom)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-29 20:34:06 +00:00
dependabot-preview[bot] e843a2f61e Bump @types/webpack from 4.41.23 to 4.41.24
Bumps [@types/webpack](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack) from 4.41.23 to 4.41.24.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-29 20:33:16 +00:00
Daniel Imms d95a633f16 Merge pull request #3149 from xtermjs/dependabot/npm_and_yarn/playwright-1.5.2
Bump playwright from 1.5.1 to 1.5.2
2020-10-28 19:16:51 -07:00
Daniel Imms 6f41aad2ef Merge pull request #3153 from xtermjs/dependabot/npm_and_yarn/types/ws-7.2.9
Bump @types/ws from 7.2.8 to 7.2.9
2020-10-28 17:00:10 -07:00
dependabot-preview[bot] e76cbd9c3f Bump @types/ws from 7.2.8 to 7.2.9
Bumps [@types/ws](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/ws) from 7.2.8 to 7.2.9.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/ws)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-28 23:50:58 +00:00
dependabot-preview[bot] 0c8b299996 Bump playwright from 1.5.1 to 1.5.2
Bumps [playwright](https://github.com/Microsoft/playwright) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/Microsoft/playwright/releases)
- [Commits](https://github.com/Microsoft/playwright/compare/v1.5.1...v1.5.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-28 23:50:40 +00:00
Daniel Imms 86420d2535 Merge pull request #3151 from xtermjs/dependabot/npm_and_yarn/types/ws-7.2.8
Bump @types/ws from 7.2.7 to 7.2.8
2020-10-28 06:22:40 -07:00
Daniel Imms 9e4dcdaf91 Merge pull request #3147 from xtermjs/dependabot/npm_and_yarn/source-map-loader-1.1.2
Bump source-map-loader from 1.1.1 to 1.1.2
2020-10-28 06:14:05 -07:00
Daniel Imms 45e7bf274a Merge pull request #3148 from xtermjs/dependabot/npm_and_yarn/eslint-7.12.1
Bump eslint from 7.12.0 to 7.12.1
2020-10-28 06:13:48 -07:00
Daniel Imms 62cf413d54 Merge pull request #3150 from xtermjs/dependabot/npm_and_yarn/typescript-4.0.5
Bump typescript from 4.0.3 to 4.0.5
2020-10-28 06:12:57 -07:00
dependabot-preview[bot] 3e0a270891 Bump @types/ws from 7.2.7 to 7.2.8
Bumps [@types/ws](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/ws) from 7.2.7 to 7.2.8.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/ws)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-28 13:01:39 +00:00
dependabot-preview[bot] 22d79eef26 Bump typescript from 4.0.3 to 4.0.5
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.0.3 to 4.0.5.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.0.3...v4.0.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-28 13:01:11 +00:00
dependabot-preview[bot] 31d806afce Bump eslint from 7.12.0 to 7.12.1
Bumps [eslint](https://github.com/eslint/eslint) from 7.12.0 to 7.12.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.12.0...v7.12.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-28 13:00:07 +00:00
dependabot-preview[bot] 1e9ca83120 Bump source-map-loader from 1.1.1 to 1.1.2
Bumps [source-map-loader](https://github.com/webpack-contrib/source-map-loader) from 1.1.1 to 1.1.2.
- [Release notes](https://github.com/webpack-contrib/source-map-loader/releases)
- [Changelog](https://github.com/webpack-contrib/source-map-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/source-map-loader/compare/v1.1.1...v1.1.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-28 12:59:33 +00:00
Tony Brix 3d9a33bb69 move measure before refreshRows 2020-10-25 10:59:30 -05:00
Tony Brix ea989ed691 Merge branch 'master' into rerender-hidden 2020-10-25 09:58:09 -05:00
jerch ee2c5969fa Merge branch 'master' into feature/xterm-addon-serialize-restore-layout-and-cursor 2020-10-25 15:35:22 +01:00
jerch 8e151ee6ef Merge pull request #3143 from xtermjs/dependabot/npm_and_yarn/ts-loader-8.0.7
Bump ts-loader from 8.0.6 to 8.0.7
2020-10-25 12:00:21 +01:00
jerch dc904b27a2 Merge branch 'master' into dependabot/npm_and_yarn/ts-loader-8.0.7 2020-10-25 11:49:09 +01:00
jerch 4de539a1ff Merge pull request #3142 from xtermjs/dependabot/npm_and_yarn/eslint-7.12.0
Bump eslint from 7.11.0 to 7.12.0
2020-10-25 11:45:02 +01:00
dependabot-preview[bot] 913de3158e Bump ts-loader from 8.0.6 to 8.0.7
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 8.0.6 to 8.0.7.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v8.0.6...v8.0.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-25 09:14:57 +00:00
dependabot-preview[bot] 049ca653ed Bump eslint from 7.11.0 to 7.12.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.11.0 to 7.12.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.11.0...v7.12.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-25 08:59:56 +00:00
coderaiser 246d137c2c src: lint using putout 2020-10-25 10:05:41 +02:00
coderaiser 99b1a7a49b bin: lint using putout 2020-10-25 01:13:40 +03:00
jerch 9fa068f574 Merge pull request #3109 from mmis1000/fix/addon-serialize-benchmark
Fix/addon serialize benchmark
2020-10-24 23:43:59 +02:00
jerch eb5f964bcb Merge branch 'master' into feature/xterm-addon-serialize-restore-layout-and-cursor 2020-10-24 14:57:37 +02:00
jerch 91337d7e57 Merge branch 'master' into fix/addon-serialize-benchmark 2020-10-24 14:57:13 +02:00
jerch cb555d5297 Merge branch 'master' into rerender-hidden 2020-10-24 14:02:17 +02:00
jerch 50dd3cb841 Merge pull request #3114 from jerch/fix_3108
marker fixes
2020-10-24 14:01:18 +02:00
jerch b7750cbf91 Merge branch 'master' into fix_3108 2020-10-24 13:44:19 +02:00
jerch dde47269de Merge branch 'master' into rerender-hidden 2020-10-24 13:43:59 +02:00
jerch bc3f2a12c0 Merge pull request #3132 from xtermjs/dependabot/npm_and_yarn/mocha-8.2.0
Bump mocha from 8.1.3 to 8.2.0
2020-10-24 13:42:06 +02:00
jerch bdb112b23c Merge branch 'master' into dependabot/npm_and_yarn/mocha-8.2.0 2020-10-24 13:32:29 +02:00
jerch 214ccd14ac Merge pull request #3139 from xtermjs/dependabot/npm_and_yarn/ts-loader-8.0.6
Bump ts-loader from 8.0.4 to 8.0.6
2020-10-24 13:30:12 +02:00
jerch e5f3820285 Merge branch 'master' into dependabot/npm_and_yarn/ts-loader-8.0.6 2020-10-24 13:21:37 +02:00
jerch f75b4cfa93 Merge pull request #3140 from xtermjs/dependabot/npm_and_yarn/types/webpack-4.41.23
Bump @types/webpack from 4.41.22 to 4.41.23
2020-10-24 13:21:01 +02:00
jerch f5d651dda1 Merge branch 'master' into dependabot/npm_and_yarn/types/webpack-4.41.23 2020-10-24 13:14:21 +02:00
jerch a90254e778 Merge branch 'master' into dependabot/npm_and_yarn/ts-loader-8.0.6 2020-10-24 13:03:05 +02:00
jerch a6bcfcfba4 Merge pull request #3135 from xtermjs/dependabot/npm_and_yarn/webpack-cli-4.1.0
Bump webpack-cli from 3.3.12 to 4.1.0
2020-10-24 13:01:34 +02:00
jerch 78ae1d09f7 Merge branch 'master' into dependabot/npm_and_yarn/webpack-cli-4.1.0 2020-10-24 12:51:21 +02:00
jerch 1132da8563 Merge pull request #3131 from xtermjs/dependabot/npm_and_yarn/types/chai-4.2.14
Bump @types/chai from 4.2.12 to 4.2.14
2020-10-24 12:49:52 +02:00
jerch 199b9ceb6d Merge branch 'master' into dependabot/npm_and_yarn/types/chai-4.2.14 2020-10-24 12:40:02 +02:00
jerch 8e41d22f8d Merge pull request #3128 from xtermjs/dependabot/npm_and_yarn/playwright-1.5.1
Bump playwright from 1.4.2 to 1.5.1
2020-10-24 12:39:17 +02:00
jerch 57bd61697c Merge branch 'master' into dependabot/npm_and_yarn/playwright-1.5.1 2020-10-24 12:32:16 +02:00
jerch 3e8b8dc6ef Merge pull request #3122 from xtermjs/dependabot/npm_and_yarn/eslint-7.11.0
Bump eslint from 7.10.0 to 7.11.0
2020-10-24 12:31:03 +02:00
jerch b4bc830cee Merge branch 'master' into dependabot/npm_and_yarn/eslint-7.11.0 2020-10-24 12:19:02 +02:00
jerch 2e43f615f6 Merge pull request #3121 from xtermjs/dependabot/npm_and_yarn/source-map-loader-1.1.1
Bump source-map-loader from 1.1.0 to 1.1.1
2020-10-24 12:17:46 +02:00
jerch 5f2d1d2b4e Merge branch 'master' into dependabot/npm_and_yarn/source-map-loader-1.1.1 2020-10-24 12:07:11 +02:00
jerch 4ee305fa21 Merge pull request #3119 from xtermjs/dependabot/npm_and_yarn/deep-equal-2.0.4
Bump deep-equal from 2.0.3 to 2.0.4
2020-10-24 12:06:34 +02:00
jerch 4b3e16dbd0 Merge branch 'master' into dependabot/npm_and_yarn/deep-equal-2.0.4 2020-10-24 11:58:13 +02:00
jerch a7c836e42c Merge pull request #3117 from xtermjs/dependabot/npm_and_yarn/types/ws-7.2.7
Bump @types/ws from 7.2.6 to 7.2.7
2020-10-24 11:57:13 +02:00
dependabot-preview[bot] 886c057d0f Bump @types/webpack from 4.41.22 to 4.41.23
Bumps [@types/webpack](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack) from 4.41.22 to 4.41.23.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-21 09:34:39 +00:00
dependabot-preview[bot] 038704786d Bump ts-loader from 8.0.4 to 8.0.6
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 8.0.4 to 8.0.6.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/8.0.4...v8.0.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-21 09:33:24 +00:00
Ken Aoki c61076830f Replace function call from term.fit() to addons.fit.instance.fit() 2020-10-21 06:44:17 +00:00
dependabot-preview[bot] 02fccfbdc7 Bump webpack-cli from 3.3.12 to 4.1.0
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 3.3.12 to 4.1.0.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/v3.3.12...webpack-cli@4.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-19 15:48:14 +00:00
dependabot-preview[bot] b250cedf81 Bump mocha from 8.1.3 to 8.2.0
Bumps [mocha](https://github.com/mochajs/mocha) from 8.1.3 to 8.2.0.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v8.1.3...v8.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-18 01:30:59 +00:00
dependabot-preview[bot] 7243e330fc Bump @types/chai from 4.2.12 to 4.2.14
Bumps [@types/chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chai) from 4.2.12 to 4.2.14.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chai)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-16 16:46:16 +00:00
dependabot-preview[bot] 17a7fb2a6e Bump playwright from 1.4.2 to 1.5.1
Bumps [playwright](https://github.com/Microsoft/playwright) from 1.4.2 to 1.5.1.
- [Release notes](https://github.com/Microsoft/playwright/releases)
- [Commits](https://github.com/Microsoft/playwright/compare/v1.4.2...v1.5.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-15 09:50:26 +00:00
Ken Aoki d3d8ec3b20 Fix search not expanding selection to left when appropriate (revenge) 2020-10-13 09:55:10 +00:00
Ken Aoki b6074df4bf Revert "Fix search not expanding selection to left when appropriate"
This reverts commit a9d2b8a55c.
2020-10-13 06:44:01 +00:00
dependabot-preview[bot] f3cc9469a7 Bump eslint from 7.10.0 to 7.11.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.10.0 to 7.11.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.10.0...v7.11.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-10 22:07:29 +00:00
Ken Aoki a9d2b8a55c Fix search not expanding selection to left when appropriate 2020-10-10 04:04:52 +00:00
dependabot-preview[bot] 73e235d9f8 Bump source-map-loader from 1.1.0 to 1.1.1
Bumps [source-map-loader](https://github.com/webpack-contrib/source-map-loader) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/webpack-contrib/source-map-loader/releases)
- [Changelog](https://github.com/webpack-contrib/source-map-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/source-map-loader/compare/v1.1.0...v1.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-09 16:59:40 +00:00
Tony Brix 17ec85e39e Merge branch 'master' into rerender-hidden 2020-10-09 10:23:20 -05:00
dependabot-preview[bot] 723c64e481 Bump deep-equal from 2.0.3 to 2.0.4
Bumps [deep-equal](https://github.com/inspect-js/node-deep-equal) from 2.0.3 to 2.0.4.
- [Release notes](https://github.com/inspect-js/node-deep-equal/releases)
- [Changelog](https://github.com/inspect-js/node-deep-equal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/inspect-js/node-deep-equal/compare/v2.0.3...v2.0.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-10-05 15:57:08 +00:00
Jörg Breitbart faa60be6fb add missing insert and delete events to CircularList.splice 2020-10-03 17:11:49 +02:00
Jörg Breitbart e95f9815d8 Merge branch 'master' into fix_3108 2020-10-03 16:43:04 +02:00
Jörg Breitbart 9b62d8a01a basic marker test cases 2020-10-03 16:32:46 +02:00
dependabot-preview[bot] 1c206c2c27 Bump @types/ws from 7.2.6 to 7.2.7
Bumps [@types/ws](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/ws) from 7.2.6 to 7.2.7.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/ws)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-30 03:51:40 +00:00
Daniel Imms 782797ca11 Merge pull request #3116 from bhrg3se/master
added TRASA in "Real-world uses" list
2020-09-29 10:37:40 -07:00
bhrg3se b34ee5157e added TRASA in "Real-world uses" list 2020-09-29 19:55:58 +05:45
Daniel Imms ae37c43cd4 Merge pull request #3112 from xtermjs/dependabot/npm_and_yarn/playwright-1.4.2
Bump playwright from 1.3.0 to 1.4.2
2020-09-28 09:15:56 -07:00
dependabot-preview[bot] 272b1d2194 Bump playwright from 1.3.0 to 1.4.2
Bumps [playwright](https://github.com/Microsoft/playwright) from 1.3.0 to 1.4.2.
- [Release notes](https://github.com/Microsoft/playwright/releases)
- [Commits](https://github.com/Microsoft/playwright/compare/v1.3.0...v1.4.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-28 16:05:45 +00:00
Daniel Imms 260e2dab16 Merge pull request #3115 from xtermjs/dependabot/npm_and_yarn/eslint-7.10.0
Bump eslint from 7.9.0 to 7.10.0
2020-09-28 09:03:36 -07:00
dependabot-preview[bot] 7c78390e2b Bump eslint from 7.9.0 to 7.10.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.9.0 to 7.10.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.9.0...v7.10.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-28 15:50:17 +00:00
Jörg Breitbart f5a4eed27c add super.dispose, add oDispose to API 2020-09-27 15:59:11 +02:00
Daniel Imms b0768f18ca Merge pull request #3113 from zaataylor/patch-1
Fix spelling error in README
2020-09-26 15:16:40 -07:00
zaataylor 4d1e532069 Fix spelling error in README
I corrected the spelling error for the Internet Explorer 11 browser mentioned in the "Browser Support" section.
2020-09-26 13:11:24 -04:00
Mmis1000 5beb7f52c2 Serialize addon: Change benchmark random source from /dev/random to /dev/urandom 2020-09-23 21:22:40 +08:00
Mmis1000 eaaf9b7af1 Serialize addon: Fix file path in benchmark 2020-09-23 21:21:54 +08:00
Tony Brix 3c9687decf Merge branch 'master' into rerender-hidden 2020-09-21 17:46:06 -05:00
Daniel Imms a5e269a3f9 Merge pull request #3104 from xtermjs/dependabot/npm_and_yarn/ts-loader-8.0.4
Bump ts-loader from 8.0.3 to 8.0.4
2020-09-21 14:52:45 -07:00
Daniel Imms 30d84b1202 Merge pull request #3106 from xtermjs/dependabot/npm_and_yarn/typescript-4.0.3
Bump typescript from 4.0.2 to 4.0.3
2020-09-21 14:51:52 -07:00
Daniel Imms 0aa1079cd0 Merge pull request #3107 from xtermjs/dependabot/npm_and_yarn/webpack-4.44.2
Bump webpack from 4.44.1 to 4.44.2
2020-09-21 14:51:36 -07:00
dependabot-preview[bot] 1091255d2c Bump webpack from 4.44.1 to 4.44.2
Bumps [webpack](https://github.com/webpack/webpack) from 4.44.1 to 4.44.2.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.44.1...v4.44.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-21 15:55:09 +00:00
dependabot-preview[bot] 56e63d762b Bump typescript from 4.0.2 to 4.0.3
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.0.2 to 4.0.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.0.2...v4.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-21 15:54:34 +00:00
dependabot-preview[bot] f3c8b8f395 Bump ts-loader from 8.0.3 to 8.0.4
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 8.0.3 to 8.0.4.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v8.0.3...8.0.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-21 15:53:19 +00:00
Mmis1000 47be9a2df4 Fix another error about impossible wrap 2020-09-18 22:02:30 +08:00
Mmis1000 aee1629c25 Reuse the cell object to redice gc 2020-09-18 21:02:56 +08:00
mmis1000 8587eea54c Merge branch 'master' into feature/xterm-addon-serialize-restore-layout-and-cursor 2020-09-18 15:28:33 +08:00
mmis1000 d7ed109f9d Support the isWrapped handling 2020-09-18 15:21:59 +08:00
Mmis1000 84dfe8fccc CLearup comment 2020-09-18 01:20:41 +08:00
Mmis1000 6904dc5009 Handle BCE + line scroll
Using an additional field for store the current background and compare
  against it to generate proper color sequence
2020-09-18 00:36:10 +08:00
Mmis1000 b89227d365 Workaround firefox bug that yield -0 on bit op 2020-09-16 22:47:23 +08:00
mmis1000 6c01630090 Remove the unused options 2020-09-16 15:13:30 +08:00
mmis1000 10282e4cb1 Move the test util to static method 2020-09-16 14:54:15 +08:00
mmis1000 8518b354a7 Fix test that breaks by the option change 2020-09-16 14:45:14 +08:00
mmis1000 00a8b80ef7 Implement cursor adn alt screen.
Fix background serialize
2020-09-16 14:28:08 +08:00
Daniel Imms 1a0a56c1f2 Merge pull request #3100 from Tyriar/fix_build
Fix publish build
2020-09-15 10:49:58 -07:00
Daniel Imms 055267ee9c Fix publish build 2020-09-15 10:49:21 -07:00
Daniel Imms 6e9040e6ba Merge pull request #3099 from Tyriar/role
Move role=document to xterm element
2020-09-15 10:38:14 -07:00
Daniel Imms a32776e2af Move role=document to xterm element
Feedback in microsoft/vscode#98918 said this could improve the UX on
screen readers
2020-09-15 10:33:28 -07:00
Tony Brix 1d6d6eb716 Merge branch 'master' into rerender-hidden 2020-09-15 09:55:22 -05:00
mmis1000 881a4a0dbb Try implement cursor restortion 2020-09-15 17:58:56 +08:00
Daniel Imms 003cf96910 Merge pull request #3096 from xtermjs/dependabot/npm_and_yarn/eslint-7.9.0
Bump eslint from 7.8.1 to 7.9.0
2020-09-14 10:41:58 -07:00
dependabot-preview[bot] 3cb87af315 Bump eslint from 7.8.1 to 7.9.0
Bumps [eslint](https://github.com/eslint/eslint) from 7.8.1 to 7.9.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.8.1...v7.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-14 16:07:24 +00:00
Mmis1000 edee1a1067 Handle alt screen 2020-09-13 21:33:32 +08:00
Daniel Imms e32d8774eb Merge branch 'master' into rerender-hidden 2020-09-11 05:56:26 -07:00
Daniel Imms 49d5608fa6 Define member bar in ctor 2020-09-11 05:29:24 -07:00
Daniel Imms 56bfdb64d4 Merge pull request #3088 from UziTech/patch-2
fix: fit addon proposing infinite dimensions
2020-09-11 05:25:09 -07:00
Tony Brix 9513c231c9 fix: rerender hidden terminal when visible 2020-09-11 00:42:18 -05:00
Tony Brix dd92161da5 test: test proposing dimensions on hidden terminal 2020-09-10 19:54:31 -05:00
Tony Brix 55571a1ae8 fix: fit addon proposing infinite dimensions 2020-09-10 12:31:27 -05:00
Daniel Imms c112990d8f Merge pull request #3087 from Tyriar/playwright
Update playwright to 1.3.0
2020-09-10 08:09:13 -07:00
Daniel Imms 23dba6aebd Remove commented out calls 2020-09-10 08:01:31 -07:00
Daniel Imms f669b8ed1d Fix 2444 regression test 2020-09-10 07:52:02 -07:00
Daniel Imms 9a22cbe44b Fix selection api test on Windows 2020-09-10 07:45:38 -07:00
Daniel Imms 883ddba934 Improve search test
Was failing on Windows
2020-09-10 07:38:14 -07:00
Daniel Imms 8f7295b8a2 Avoid cache in integration test jobs 2020-09-10 06:54:25 -07:00
Daniel Imms 0ba97f6941 Put customOscHandlerCallStack on window 2020-09-10 06:38:43 -07:00
Daniel Imms d979c077a0 Update playwright to 1.3.0
Fixes #2917
2020-09-10 06:31:59 -07:00
Daniel Imms 4e18a78c02 Merge pull request #3086 from Tyriar/addon_test_projects
Create addon test tsconfig projects
2020-09-09 14:26:19 -07:00
Daniel Imms 1d6e8abcca More other addons api tests into test project 2020-09-09 13:54:43 -07:00
Daniel Imms 82a65be446 Include new out-test path in test-api 2020-09-09 12:58:39 -07:00
Daniel Imms 0778a823d1 Exclude test dirs in npmignore 2020-09-09 12:54:01 -07:00
Daniel Imms eca36458b3 Move webgl addon test code into own tsconfig
Part of #2917
2020-09-09 12:53:33 -07:00
Daniel Imms 3504e2ebd5 Merge pull request #3084 from Tyriar/release490
v4.9.0
2020-09-08 16:36:32 -07:00
Daniel Imms 6c22e3df6b v4.9.0 2020-09-08 09:35:05 -07:00
Daniel Imms 33bf765b80 Merge pull request #3067 from mmis1000/fix/addon-serialize-cjk-handling
Fix cjk handling in SerializeAddon
2020-09-08 06:25:40 -07:00
Daniel Imms d960793f0c Merge pull request #3062 from IllusionMH/numeric-fontWeight-3051
Add number type to fontWeight & fontWeightBold options
2020-09-08 06:21:38 -07:00
Daniel Imms 4975f389ff Use assert over expect 2020-09-08 06:18:37 -07:00
Daniel Imms 4649ad7e7b Merge pull request #3077 from xtermjs/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-4.0.0
Bump @typescript-eslint/eslint-plugin from 3.10.1 to 4.0.0
2020-09-07 11:32:28 -07:00
dependabot-preview[bot] a425c325b7 Bump @typescript-eslint/eslint-plugin from 3.10.1 to 4.0.0
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 3.10.1 to 4.0.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v4.0.0/packages/eslint-plugin)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-07 18:21:07 +00:00
Daniel Imms c77025b18c Merge pull request #3079 from xtermjs/dependabot/npm_and_yarn/eslint-7.8.1
Bump eslint from 7.7.0 to 7.8.1
2020-09-07 11:19:18 -07:00
Daniel Imms c6abc85810 Merge pull request #3081 from Tyriar/3069_multiline_selection
Fix rendering of multi-line selection when only top row is visible
2020-09-07 09:59:11 -07:00
Daniel Imms 710223ab27 Merge pull request #3082 from Tyriar/3080_selection_canvas
Fix last/first line of selection sometimes not drawing
2020-09-07 09:57:58 -07:00
Daniel Imms ca9df42a73 Fix last/first line of selection sometimes not drawing
The last ydisp wasn't being updated on early exits.

Fixes #3080
2020-09-07 09:46:43 -07: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
dependabot-preview[bot] 9613f36280 Bump eslint from 7.7.0 to 7.8.1
Bumps [eslint](https://github.com/eslint/eslint) from 7.7.0 to 7.8.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v7.7.0...v7.8.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-07 16:04:56 +00:00
Daniel Imms 41673f2c20 Merge pull request #3078 from xtermjs/dependabot/npm_and_yarn/types/webpack-4.41.22
Bump @types/webpack from 4.41.21 to 4.41.22
2020-09-07 09:02:56 -07:00
dependabot-preview[bot] 6c98f82ffe Bump @types/webpack from 4.41.21 to 4.41.22
Bumps [@types/webpack](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack) from 4.41.21 to 4.41.22.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-07 15:51:27 +00:00
Daniel Imms a90ef52bda Merge pull request #3076 from xtermjs/dependabot/npm_and_yarn/types/jsdom-16.2.4
Bump @types/jsdom from 16.2.3 to 16.2.4
2020-09-07 08:49:49 -07:00
dependabot-preview[bot] 86884d2d88 Bump @types/jsdom from 16.2.3 to 16.2.4
Bumps [@types/jsdom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsdom) from 16.2.3 to 16.2.4.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jsdom)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-09-07 15:32:12 +00:00
Daniel Imms 47c486e1be Merge pull request #3075 from Tyriar/clearTextureAtlas
Expose API to clear texture atlas
2020-09-06 15:16:51 -07:00
Daniel Imms e07b9684bb Expose API to clear texture atlas
Using canvases on Electron (and plain Chromium I believe), when resuming
from sleep the graphics card may release the texture which results in
the terminal display and char atlas being corrupt. This API allows the
consumer to clear the texture atlas right after resuming, atlas warm up
is not done to simplify this process because the fact that atlases are
shared between multiple terminals complicates this.

Related microsoft/vscode#69665
2020-09-06 14:50:09 -07:00
Daniel Imms 10fb48869e Merge pull request #3073 from Tyriar/tyriar/link_dispose
Support ILink.dispose
2020-09-04 22:11:49 -07:00
Daniel Imms 9f3746a3a1 Improve test case 2020-09-04 22:04:59 -07:00
Daniel Imms 50fc84f7d7 Support ILink.dispose
When displaying hovers/overlays using the link provider API currently
it's not possible to know when unused links are no longer cached in
xterm.js which can result in leaked event listeners.
2020-09-04 21:57:51 -07:00
IllusionMH 3e0f0331b3 Add tests for fontWeight normalization 2020-09-05 00:48:12 +03:00
IllusionMH b918f0d34a Use FontWeight as return type 2020-09-04 23:35:38 +03:00
IllusionMH f0e3159ece Add number type to fontWeight & fontWeightBold options 2020-09-04 23:08:34 +03:00
Daniel Imms ecfc7336c5 Merge pull request #3072 from Tyriar/deps2
Upgrade serialize-javascript
2020-09-04 12:53:34 -07:00
Daniel Imms aec8c68bf6 Upgrade serialize-javascript 2020-09-04 12:08:26 -07:00
mmis1000 0fb63561fb Fix cjk handling in SerializeAddon 2020-09-03 13:23:01 +08:00
Daniel Imms 106ea62b4c Merge pull request #3064 from IllusionMH/validate-constructor-options-3063
Validate constructor options
2020-09-02 08:36:04 -07:00
IllusionMH e73bf11849 Log error instead of throwing. Move test to service. 2020-09-01 22:20:37 +03:00
IllusionMH 8d9eda5d0a Add test 2020-09-01 02:37:25 +03:00
IllusionMH cf0b7ce2d0 Validate constructor options 2020-09-01 01:03:49 +03:00
Daniel Imms 60419a7cc6 Merge pull request #3061 from xtermjs/dependabot/npm_and_yarn/mocha-8.1.3
Bump mocha from 8.1.1 to 8.1.3
2020-08-31 12:46:29 -07:00
dependabot-preview[bot] 1b12b2d15d Bump mocha from 8.1.1 to 8.1.3
Bumps [mocha](https://github.com/mochajs/mocha) from 8.1.1 to 8.1.3.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v8.1.1...v8.1.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-31 16:20:40 +00:00
Daniel Imms b5844990c4 Merge pull request #3060 from xtermjs/dependabot/npm_and_yarn/source-map-loader-1.1.0
Bump source-map-loader from 1.0.2 to 1.1.0
2020-08-31 09:18:56 -07:00
dependabot-preview[bot] 2652768310 Bump source-map-loader from 1.0.2 to 1.1.0
Bumps [source-map-loader](https://github.com/webpack-contrib/source-map-loader) from 1.0.2 to 1.1.0.
- [Release notes](https://github.com/webpack-contrib/source-map-loader/releases)
- [Changelog](https://github.com/webpack-contrib/source-map-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/source-map-loader/compare/v1.0.2...v1.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-31 16:12:37 +00:00
Daniel Imms 1f8a6bece4 Merge pull request #3059 from Tyriar/ts4
Upgrade to typescript 4
2020-08-29 09:39:53 -07:00
Daniel Imms 8817ddf020 Remove empty deps 2020-08-28 20:58:06 -07:00
Daniel Imms 5d61956aff Get rid of removed typescript-eslint rules 2020-08-28 20:41:50 -07:00
Daniel Imms 83ece031a7 typescript@4.0 2020-08-28 19:35:26 -07:00
Daniel Imms 566fad4108 Merge pull request #3043 from xtermjs/dependabot/npm_and_yarn/types/mocha-8.0.3
Bump @types/mocha from 8.0.2 to 8.0.3
2020-08-24 12:55:01 -07:00
Daniel Imms a4aa111eaa Merge pull request #3052 from xtermjs/dependabot/npm_and_yarn/ts-loader-8.0.3
Bump ts-loader from 8.0.2 to 8.0.3
2020-08-24 12:54:45 -07:00
dependabot-preview[bot] f6ed184d49 Bump ts-loader from 8.0.2 to 8.0.3
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 8.0.2 to 8.0.3.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v8.0.2...v8.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-24 15:59:17 +00:00
Daniel Imms c1820501a8 Merge pull request #3046 from Intervue/patch-1
Update README.md to add intervue
2020-08-24 06:40:21 -07:00
dependabot-preview[bot] c7f50c5c28 Bump @types/mocha from 8.0.2 to 8.0.3
Bumps [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) from 8.0.2 to 8.0.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mocha)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-24 13:21:31 +00:00
Daniel Imms 371c96e1da Merge pull request #3048 from xtermjs/dependabot/npm_and_yarn/source-map-loader-1.0.2
Bump source-map-loader from 1.0.1 to 1.0.2
2020-08-24 06:19:46 -07:00
dependabot-preview[bot] 11bd8b7eb1 Bump source-map-loader from 1.0.1 to 1.0.2
Bumps [source-map-loader](https://github.com/webpack-contrib/source-map-loader) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/webpack-contrib/source-map-loader/releases)
- [Changelog](https://github.com/webpack-contrib/source-map-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/source-map-loader/compare/v1.0.1...v1.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-21 15:13:37 +00:00
Intervue cb418eb8d1 Update README.md 2020-08-20 18:18:48 +05:30
Daniel Imms f811fb937e Merge pull request #3040 from akshaykmr/patch-1
readme: adds TeleType cli-tool to Real-world uses section
2020-08-13 06:02:05 -07:00
Akshay Kumar 2a6ccb8009 adds TeleType cli-tool to Real-world uses section 2020-08-13 16:49:25 +05:30
Daniel Imms bf49f99810 Merge pull request #3039 from xtermjs/dependabot/npm_and_yarn/types/mocha-8.0.2
Bump @types/mocha from 8.0.1 to 8.0.2
2020-08-12 08:38:04 -07:00
dependabot-preview[bot] e027a5f97b Bump @types/mocha from 8.0.1 to 8.0.2
Bumps [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) from 8.0.1 to 8.0.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mocha)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-12 15:08:48 +00:00
Daniel Imms d1ecb571d8 Merge pull request #3033 from xtermjs/dependabot/npm_and_yarn/mocha-8.1.1
Bump mocha from 8.1.0 to 8.1.1
2020-08-10 13:37:03 -07:00
dependabot-preview[bot] 1e3937830f Bump mocha from 8.1.0 to 8.1.1
Bumps [mocha](https://github.com/mochajs/mocha) from 8.1.0 to 8.1.1.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v8.1.0...v8.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-10 14:13:23 +00:00
Daniel Imms 38b2fcb460 Merge pull request #3035 from xtermjs/dependabot/npm_and_yarn/jsdom-16.4.0
Bump jsdom from 16.3.0 to 16.4.0
2020-08-10 07:11:37 -07:00
dependabot-preview[bot] c7ed42226f Bump jsdom from 16.3.0 to 16.4.0
Bumps [jsdom](https://github.com/jsdom/jsdom) from 16.3.0 to 16.4.0.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/master/Changelog.md)
- [Commits](https://github.com/jsdom/jsdom/compare/16.3.0...16.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-10 11:49:09 +00:00
Daniel Imms d0dfad4c92 Merge pull request #3031 from xtermjs/dependabot/npm_and_yarn/ts-loader-8.0.2
Bump ts-loader from 8.0.1 to 8.0.2
2020-08-03 06:40:43 -07:00
dependabot-preview[bot] c66123b91f Bump ts-loader from 8.0.1 to 8.0.2
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 8.0.1 to 8.0.2.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v8.0.1...v8.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-03 13:31:14 +00:00
Daniel Imms 8d912e891e Merge pull request #3028 from xtermjs/dependabot/npm_and_yarn/types/mocha-8.0.1
Bump @types/mocha from 8.0.0 to 8.0.1
2020-07-31 19:28:13 -07:00
dependabot-preview[bot] 23fd6b8e60 Bump @types/mocha from 8.0.0 to 8.0.1
Bumps [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mocha)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-31 22:06:10 +00:00
Daniel Imms 0320e6e22a Merge pull request #3027 from xtermjs/dependabot/npm_and_yarn/mocha-8.1.0
Bump mocha from 8.0.1 to 8.1.0
2020-07-31 15:04:28 -07:00
dependabot-preview[bot] 9e70d8fc84 Bump mocha from 8.0.1 to 8.1.0
Bumps [mocha](https://github.com/mochajs/mocha) from 8.0.1 to 8.1.0.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v8.0.1...v8.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-31 21:26:19 +00:00
Daniel Imms 27e28eccac Merge pull request #3026 from Tyriar/docker
Remove docker from root
2020-07-31 06:31:58 -07:00
Daniel Imms 0cb0313fc9 Remove docker from root
We will keep the devcontainer as that is something we want to continue to
support.

Fixes #3000
2020-07-31 06:23:05 -07:00
Daniel Imms 94a34c3703 Merge pull request #3023 from xtermjs/dependabot/npm_and_yarn/elliptic-6.5.3
[Security] Bump elliptic from 6.5.2 to 6.5.3
2020-07-30 07:03:40 -07:00
dependabot-preview[bot] c04c836f12 [Security] Bump elliptic from 6.5.2 to 6.5.3
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.2 to 6.5.3. **This update includes a security fix.**
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.5.2...v6.5.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-30 13:52:44 +00:00
Daniel Imms c5a9d2c52d Merge pull request #3024 from xtermjs/dependabot/npm_and_yarn/webpack-4.44.1
Bump webpack from 4.44.0 to 4.44.1
2020-07-30 06:51:23 -07:00
dependabot-preview[bot] c0050672ab Bump webpack from 4.44.0 to 4.44.1
Bumps [webpack](https://github.com/webpack/webpack) from 4.44.0 to 4.44.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.44.0...v4.44.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-30 11:23:30 +00:00
Daniel Imms 705f94518f Merge pull request #3021 from sergeichestakov/add-replit
Add Repl.it to Real-world uses
2020-07-29 13:46:53 -07:00
Sergei Chestakov a096217526 Merge branch 'master' into add-replit 2020-07-29 13:11:49 -07:00
sergeichestakov 795768667e Add Repl.it to Real-world uses 2020-07-29 13:08:50 -07:00
Daniel Imms 5e9a8c6321 Merge pull request #3020 from Tyriar/vsc98918
Use document role instead of list
2020-07-29 05:34:06 -07:00
Daniel Imms 03df0565bd Use document role instead of list
See microsoft/vscode#98918
2020-07-29 05:29:30 -07:00
Daniel Imms 3ef6856b36 Merge pull request #3018 from xtermjs/dependabot/npm_and_yarn/webpack-4.44.0
Bump webpack from 4.43.0 to 4.44.0
2020-07-27 05:28:20 -07:00
dependabot-preview[bot] 48e9f33263 Bump webpack from 4.43.0 to 4.44.0
Bumps [webpack](https://github.com/webpack/webpack) from 4.43.0 to 4.44.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.43.0...v4.44.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-27 07:54:25 +00:00
Daniel Imms 9559dd47da Merge pull request #3017 from xtermjs/dependabot/npm_and_yarn/types/chai-4.2.12
Bump @types/chai from 4.2.11 to 4.2.12
2020-07-24 05:23:59 -07:00
dependabot-preview[bot] ad7f8c303c Bump @types/chai from 4.2.11 to 4.2.12
Bumps [@types/chai](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chai) from 4.2.11 to 4.2.12.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chai)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-24 07:41:38 +00:00
Daniel Imms edb7a0edda Merge pull request #3015 from xtermjs/dependabot/npm_and_yarn/typescript-3.9.7
Bump typescript from 3.9.6 to 3.9.7
2020-07-17 06:22:42 -07:00
dependabot-preview[bot] aedcbba211 Bump typescript from 3.9.6 to 3.9.7
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 3.9.6 to 3.9.7.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v3.9.6...v3.9.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-17 07:43:13 +00:00
Daniel Imms ab63b51681 Merge pull request #3013 from xtermjs/dependabot/npm_and_yarn/lodash-4.17.19
[Security] Bump lodash from 4.17.15 to 4.17.19
2020-07-16 05:28:25 -07:00
dependabot-preview[bot] 63f5d0c266 [Security] Bump lodash from 4.17.15 to 4.17.19
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19. **This update includes a security fix.**
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-16 07:46:50 +00:00
Daniel Imms 349ebd3846 Merge pull request #3012 from xtermjs/dependabot/npm_and_yarn/ts-loader-8.0.1
Bump ts-loader from 8.0.0 to 8.0.1
2020-07-15 05:06:55 -07:00
dependabot-preview[bot] ce496bc389 Bump ts-loader from 8.0.0 to 8.0.1
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v8.0.0...v8.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-15 07:36:40 +00:00
Daniel Imms be1af82ee0 Merge pull request #3010 from Tyriar/mocha8
@types/mocha@8
2020-07-13 06:38:03 -07:00
Daniel Imms 11bfb03add @types/mocha@8 2020-07-13 06:21:25 -07:00
Daniel Imms b89d4b102e Merge pull request #3008 from andrew-schlackman/fix-renderer-pause2
fix renderer pause again with handling of undefined
2020-07-13 06:02:48 -07:00
Andrew Schlackman 0abd121653 fix renderer pause again with handling of undefined 2020-07-12 10:07:47 -04:00
Daniel Imms eeb095b095 Merge pull request #3007 from xtermjs/Tyriar-patch-1
v4.8.1
2020-07-10 12:22:21 -07:00
Daniel Imms 266a289520 Update package.json 2020-07-10 12:21:15 -07:00
Daniel Imms 3c1d6b575a Merge pull request #3005 from Tyriar/fix_passive
Indicate non-passive scroll events for viewport
2020-07-10 12:19:12 -07:00
Daniel Imms bd08862074 Merge pull request #3006 from Tyriar/revert
Revert "fix renderer pausing inadvertently in some cases"
2020-07-10 12:18:36 -07:00
Daniel Imms 70e0c0385a Revert "fix renderer pausing inadvertently in some cases"
This reverts commit 5738f4545f.
2020-07-10 12:14:59 -07:00
Daniel Imms 454cf1fb26 Indicate non-passive scroll events for viewport
Fixes #3004
2020-07-10 12:13:26 -07:00
Daniel Imms 6d1029b3c7 Merge pull request #3002 from xtermjs/Tyriar-patch-1
v4.8.0
2020-07-10 06:35:26 -07:00
Daniel Imms f13f8fb38a v4.8.0 2020-07-10 06:23:36 -07:00
Daniel Imms 2447064604 Merge pull request #2996 from jeanp413/fix-sync-textarea
Sync textarea with cursor
2020-07-10 06:19:18 -07:00
Daniel Imms 85a2589c0c Merge pull request #2999 from andrew-schlackman/fix-renderer-pause
fix renderer pausing inadvertently in some cases
2020-07-10 06:11:01 -07:00
Daniel Imms 2c821155ae Merge pull request #3001 from xtermjs/dependabot/npm_and_yarn/jsdom-16.3.0
Bump jsdom from 16.2.2 to 16.3.0
2020-07-10 05:18:20 -07:00
dependabot-preview[bot] c040be1ad2 Bump jsdom from 16.2.2 to 16.3.0
Bumps [jsdom](https://github.com/jsdom/jsdom) from 16.2.2 to 16.3.0.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/master/Changelog.md)
- [Commits](https://github.com/jsdom/jsdom/compare/16.2.2...16.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-10 07:44:47 +00:00
jeanp413 2b91bb83fa 💄 2020-07-09 20:35:01 -05:00
Andrew Schlackman 5738f4545f fix renderer pausing inadvertently in some cases 2020-07-09 16:20:37 -04:00
Daniel Imms 01432a31d6 Merge pull request #2997 from Tyriar/deps
Update vulnerable dev dependencies
2020-07-09 06:36:02 -07:00
Daniel Imms 798a7fd52e sinon@6.3.5
Fixes vulnerable just-extend
2020-07-09 06:22:47 -07:00
Daniel Imms cee121f414 mkdirp@0.5.5
Updates vulnerable minimist
2020-07-09 06:21:31 -07:00
Daniel Imms a4fe871865 Merge pull request #2995 from xtermjs/dependabot/npm_and_yarn/ts-loader-8.0.0
Bump ts-loader from 7.0.5 to 8.0.0
2020-07-09 05:16:47 -07:00
jeanp413 d85c80df95 💄 2020-07-09 03:59:59 -05:00
jeanp413 95d01dec52 Sync textarea with cursor. Fixes #2598 2020-07-09 03:56:40 -05:00
dependabot-preview[bot] 1506097faa Bump ts-loader from 7.0.5 to 8.0.0
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 7.0.5 to 8.0.0.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v7.0.5...v8.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-09 07:38:24 +00:00
Daniel Imms dc541c2664 Merge pull request #2992 from xtermjs/dependabot/npm_and_yarn/types/webpack-4.41.21
Bump @types/webpack from 4.41.20 to 4.41.21
2020-07-08 06:13:24 -07:00
dependabot-preview[bot] 694da35f99 Bump @types/webpack from 4.41.20 to 4.41.21
Bumps [@types/webpack](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack) from 4.41.20 to 4.41.21.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-08 13:02:38 +00:00
Daniel Imms 3c7697420c Merge pull request #2993 from LabhanshAgrawal/ligatures
Bump font-ligatures to 1.3.3
2020-07-08 06:01:00 -07:00
Labhansh Agrawal 4a407dbe76 Bump font-ligatures to 1.3.3 2020-07-08 16:57:37 +05:30
Daniel Imms 2479660028 Merge pull request #2986 from xtermjs/dependabot/npm_and_yarn/typescript-3.9.6
Bump typescript from 3.9.5 to 3.9.6
2020-07-07 09:57:02 -07:00
dependabot-preview[bot] 612b922eeb Bump typescript from 3.9.5 to 3.9.6
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 3.9.5 to 3.9.6.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-07 13:19:44 +00:00
Daniel Imms ea2336b68e Merge pull request #2989 from xtermjs/dependabot/npm_and_yarn/ws-7.3.1
Bump ws from 7.3.0 to 7.3.1
2020-07-07 06:18:04 -07:00
dependabot-preview[bot] 0c953a88c3 Bump ws from 7.3.0 to 7.3.1
Bumps [ws](https://github.com/websockets/ws) from 7.3.0 to 7.3.1.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.3.0...7.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-07 13:01:07 +00:00
Daniel Imms a551c69e9e Merge pull request #2991 from xtermjs/dependabot/npm_and_yarn/types/webpack-4.41.20
Bump @types/webpack from 4.41.18 to 4.41.20
2020-07-07 05:59:27 -07:00
Daniel Imms 7e7be15ab8 Merge pull request #2990 from xtermjs/dependabot/npm_and_yarn/types/glob-7.1.3
Bump @types/glob from 7.1.2 to 7.1.3
2020-07-07 05:59:14 -07:00
dependabot-preview[bot] cb0242782a Bump @types/webpack from 4.41.18 to 4.41.20
Bumps [@types/webpack](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack) from 4.41.18 to 4.41.20.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-07 07:53:25 +00:00
dependabot-preview[bot] 04655b1db5 Bump @types/glob from 7.1.2 to 7.1.3
Bumps [@types/glob](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/glob) from 7.1.2 to 7.1.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/glob)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-07 07:52:51 +00:00
Daniel Imms 7ce47c474a Merge pull request #2985 from xtermjs/dependabot/npm_and_yarn/source-map-loader-1.0.1
Bump source-map-loader from 1.0.0 to 1.0.1
2020-07-01 05:30:37 -07:00
dependabot-preview[bot] b6259d3e7e Bump source-map-loader from 1.0.0 to 1.0.1
Bumps [source-map-loader](https://github.com/webpack-contrib/source-map-loader) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/webpack-contrib/source-map-loader/releases)
- [Changelog](https://github.com/webpack-contrib/source-map-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/source-map-loader/compare/v1.0.0...v1.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-01 07:48:02 +00:00
Daniel Imms 3e6bcc09b3 Merge pull request #2984 from xtermjs/dependabot/npm_and_yarn/types/ws-7.2.6
Bump @types/ws from 7.2.5 to 7.2.6
2020-06-30 05:20:23 -07:00
dependabot-preview[bot] fbc34b649c Bump @types/ws from 7.2.5 to 7.2.6
Bumps [@types/ws](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/ws) from 7.2.5 to 7.2.6.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/ws)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-30 07:41:08 +00:00
Daniel Imms 4a0cb00450 Merge pull request #2982 from xtermjs/dependabot/npm_and_yarn/types/webpack-4.41.18
Bump @types/webpack from 4.41.17 to 4.41.18
2020-06-26 08:25:54 -07:00
dependabot-preview[bot] 0cf32d9b4d Bump @types/webpack from 4.41.17 to 4.41.18
Bumps [@types/webpack](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack) from 4.41.17 to 4.41.18.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-26 07:45:33 +00:00
Daniel Imms f6bf7dcd92 Merge pull request #2977 from xtermjs/dependabot/npm_and_yarn/webpack-cli-3.3.12
Bump webpack-cli from 3.3.11 to 3.3.12
2020-06-19 04:43:14 -07:00
dependabot-preview[bot] 4f59d1561a Bump webpack-cli from 3.3.11 to 3.3.12
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 3.3.11 to 3.3.12.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/v3.3.12/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/v3.3.11...v3.3.12)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-19 07:45:20 +00:00
Daniel Imms 86af9aa59d Merge pull request #2974 from Tyriar/r470
v4.7.0
2020-06-11 09:46:59 -07:00
Daniel Imms 1cd4f79347 v4.7.0 2020-06-11 09:27:41 -07:00
Daniel Imms f928c7e156 Merge pull request #2973 from daniel-j-davis/fix_2617
Fix getSelection not working sometimes for single character selections
2020-06-11 06:29:20 -07:00
Daniel Davis 0e6611b528 onSelectionChange() not getting called for single character selection #2617 2020-06-11 14:12:42 +01:00
Daniel Imms afc39106c3 Merge pull request #2931 from DavidSichau/master
fixed warnings about non passive events
2020-06-11 05:23:16 -07:00
Daniel Imms 06c8de381b Merge pull request #2970 from xtermjs/dependabot/npm_and_yarn/mocha-8.0.1
Bump mocha from 7.2.0 to 8.0.1
2020-06-11 04:33:27 -07:00
Daniel Imms ac0e1aeb19 Merge pull request #2952 from Puneethnaik/#2737_fix
non-transparent selection covers text
2020-06-11 04:31:25 -07:00
Daniel Imms 1171a20262 Merge branch 'master' into dependabot/npm_and_yarn/mocha-8.0.1 2020-06-11 04:21:43 -07:00
Daniel Imms 8fa729a702 Merge branch 'master' into #2737_fix 2020-06-11 04:21:24 -07:00
Daniel Imms 53eb54e656 Merge pull request #2971 from Tyriar/font_fix
Fix ligatures addon breaking CI
2020-06-11 04:21:01 -07:00
Daniel Imms 3b9047be0f Fix fira code download 2020-06-11 04:14:38 -07:00
dependabot-preview[bot] 2562311606 Bump mocha from 7.2.0 to 8.0.1
Bumps [mocha](https://github.com/mochajs/mocha) from 7.2.0 to 8.0.1.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v7.2.0...v8.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-11 07:53:05 +00:00
Daniel Imms 98d0760898 Add tests, support #rrggbbaa in css.toColor 2020-06-10 18:37:13 -07:00
Daniel Imms 4c943ddb0d Space out exports 2020-06-10 12:39:11 -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 8a3366b1eb Merge pull request #2967 from xtermjs/dependabot/npm_and_yarn/typescript-3.9.5
Bump typescript from 3.9.3 to 3.9.5
2020-06-05 12:58:10 -07:00
dependabot-preview[bot] c669cfbb23 Bump typescript from 3.9.3 to 3.9.5
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 3.9.3 to 3.9.5.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v3.9.3...v3.9.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-05 13:05:50 +00:00
Daniel Imms 45749f6017 Merge pull request #2968 from xtermjs/dependabot/npm_and_yarn/types/glob-7.1.2
Bump @types/glob from 7.1.1 to 7.1.2
2020-06-05 06:04:03 -07:00
dependabot-preview[bot] bc6bb417ac Bump @types/glob from 7.1.1 to 7.1.2
Bumps [@types/glob](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/glob) from 7.1.1 to 7.1.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/glob)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-05 07:50:19 +00:00
Daniel Imms 5342ba6b10 Merge pull request #2966 from xtermjs/remove_elements_helper
Add a helper to remove elements from their parent
2020-06-04 07:42:18 -07:00
Daniel Imms a1dc0d1936 Add tests for removeElementFromParent 2020-06-04 07:32:34 -07:00
Daniel Imms 15f1759580 Introduce removeElementFromParent helper 2020-06-04 07:20:59 -07:00
Daniel Imms fb25be3ecd Merge pull request #2962 from JoshuaKGoldberg/dom-renderer-dispose-children
Only removeChild valid children in DomRenderer dispose
2020-06-04 07:15:38 -07:00
Josh Goldberg fbb8c6273b Switched to parentElement optionals 2020-06-04 10:12:36 -04:00
Daniel Imms 289014b32e Merge pull request #2965 from JoshuaKGoldberg/patch-2
Bumped Dockerfile Node from 8 to 12
2020-06-04 07:11:10 -07:00
Josh Goldberg 9b91e3d5e2 Bumped Dockerfile Node from 8 to 12
This seemed to work for me, but I'm new here and don't particularly trust myself. 😄
2020-06-04 10:07:54 -04:00
Daniel Imms d57e099e6e Merge pull request #2964 from xtermjs/dependabot/npm_and_yarn/types/ws-7.2.5
Bump @types/ws from 7.2.4 to 7.2.5
2020-06-04 06:25:32 -07:00
dependabot-preview[bot] c5d30a9c63 Bump @types/ws from 7.2.4 to 7.2.5
Bumps [@types/ws](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/ws) from 7.2.4 to 7.2.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/ws)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-04 08:17:01 +00: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
Daniel Imms 106d74caa2 Merge pull request #2953 from coderaiser/lint/simplify
Using putout linter on xterm codebase
2020-06-02 05:35:45 -07:00
Daniel Imms 825784e0ec Merge pull request #2956 from xtermjs/dependabot/npm_and_yarn/types/webpack-4.41.17
Bump @types/webpack from 4.41.16 to 4.41.17
2020-06-02 04:21:21 -07:00
dependabot-preview[bot] 80c6c7f399 Bump @types/webpack from 4.41.16 to 4.41.17
Bumps [@types/webpack](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack) from 4.41.16 to 4.41.17.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-02 07:58:26 +00:00
David Sichau 156563e832 Merge branch 'master' into master 2020-06-02 08:49:55 +02:00
coderaiser b92260870a Merge branch 'master' into lint/simplify 2020-06-01 17:11:46 +03:00
coderaiser 04f2b6e9ff CoreMouseService: reports: while pop -> [] 2020-06-01 17:07:14 +03:00
coderaiserandDaniel Imms a9862a1a6f Update src/common/buffer/Buffer.ts
Co-authored-by: Daniel Imms <tyriar@tyriar.com>
2020-06-01 16:30:17 +03:00
Daniel Imms 2e2acd77f3 Merge pull request #2954 from xtermjs/dependabot/npm_and_yarn/types/webpack-4.41.16
Bump @types/webpack from 4.41.13 to 4.41.16
2020-06-01 05:44:04 -07:00
dependabot-preview[bot] 75e8999a88 Bump @types/webpack from 4.41.13 to 4.41.16
Bumps [@types/webpack](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack) from 4.41.13 to 4.41.16.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 11:40:33 +00:00
Daniel Imms 7bf62a3078 Merge pull request #2955 from xtermjs/dependabot/npm_and_yarn/nyc-15.1.0
Bump nyc from 15.0.1 to 15.1.0
2020-06-01 04:38:44 -07:00
dependabot-preview[bot] 0030ed214d Bump nyc from 15.0.1 to 15.1.0
Bumps [nyc](https://github.com/istanbuljs/nyc) from 15.0.1 to 15.1.0.
- [Release notes](https://github.com/istanbuljs/nyc/releases)
- [Changelog](https://github.com/istanbuljs/nyc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/istanbuljs/nyc/compare/v15.0.1...v15.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 08:21:24 +00:00
coderaiser f63f1f7b95 chore: lint using putout 2020-06-01 00:04:17 +03:00
Puneethnaik 6daa3f4499 ColorManager.ts : modified the setTheme function to add opacity of 0.3 to the selection color if selection color provided is opaque. 2020-05-31 12:42:14 +05:30
Daniel Imms 4e6151d011 Merge pull request #2951 from roke22/patch-1
Added Laravel Ssh Web Client to readme file
2020-05-29 06:45:54 -07:00
Jose J. Anton 18330b47ed Added Laravel Ssh Web Client
Added Laravel Ssh Web Client
2020-05-29 14:55:49 +02:00
Daniel Imms 864f1a9be9 Merge pull request #2950 from JoshuaKGoldberg/patch-1
Add Codecademy to README.md list
2020-05-27 14:44:14 -07:00
Josh Goldberg 1b6e24d94a Add Codecademy to README.md list
💖
2020-05-27 16:26:09 -04:00
Daniel Imms 617e702a94 Merge pull request #2949 from xtermjs/dependabot/npm_and_yarn/source-map-loader-1.0.0
Bump source-map-loader from 0.2.4 to 1.0.0
2020-05-27 06:25:17 -07:00
dependabot-preview[bot] 6c0de23915 Bump source-map-loader from 0.2.4 to 1.0.0
Bumps [source-map-loader](https://github.com/webpack-contrib/source-map-loader) from 0.2.4 to 1.0.0.
- [Release notes](https://github.com/webpack-contrib/source-map-loader/releases)
- [Changelog](https://github.com/webpack-contrib/source-map-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/source-map-loader/compare/v0.2.4...v1.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-27 07:49:40 +00:00
Daniel Imms 869d791f44 Merge pull request #2942 from sfx101/patch-1
Added DockerStacks link to real world uses
2020-05-26 08:12:25 -07:00
Daniel Imms e5499711c3 Merge pull request #2947 from xtermjs/dependabot/npm_and_yarn/ts-loader-7.0.5
Bump ts-loader from 7.0.4 to 7.0.5
2020-05-26 07:54:47 -07:00
Daniel Imms 3fbd215854 Merge pull request #2948 from xtermjs/dependabot/npm_and_yarn/mocha-7.2.0
Bump mocha from 7.1.2 to 7.2.0
2020-05-26 07:54:33 -07:00
dependabot-preview[bot] b7132e7fa7 Bump mocha from 7.1.2 to 7.2.0
Bumps [mocha](https://github.com/mochajs/mocha) from 7.1.2 to 7.2.0.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v7.1.2...v7.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-25 08:04:35 +00:00
dependabot-preview[bot] 7f201e3e6b Bump ts-loader from 7.0.4 to 7.0.5
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 7.0.4 to 7.0.5.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v7.0.4...v7.0.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-25 08:04:03 +00:00
Subhadip Naskar cebbac8265 Added DockerStacks link to real world uses 2020-05-22 10:48:17 +05:30
Daniel Imms 227a1f5aa3 Merge pull request #2940 from xtermjs/dependabot/npm_and_yarn/typescript-3.9.3
Bump typescript from 3.9.2 to 3.9.3
2020-05-20 05:24:47 -07:00
dependabot-preview[bot] 07bdc10245 Bump typescript from 3.9.2 to 3.9.3
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 3.9.2 to 3.9.3.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v3.9.2...v3.9.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-20 08:06:43 +00:00
Daniel Imms 1b9b6f0cbf Merge pull request #2938 from xtermjs/dependabot/npm_and_yarn/typescript-eslint/parser-2.34.0
Bump @typescript-eslint/parser from 2.33.0 to 2.34.0
2020-05-19 05:36:29 -07:00
dependabot-preview[bot] 1f6ebb3dac Bump @typescript-eslint/parser from 2.33.0 to 2.34.0
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 2.33.0 to 2.34.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v2.34.0/packages/parser)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-19 12:28:45 +00:00
Daniel Imms 3abb66500d Merge pull request #2939 from xtermjs/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-2.34.0
Bump @typescript-eslint/eslint-plugin from 2.33.0 to 2.34.0
2020-05-19 05:27:05 -07:00
dependabot-preview[bot] b6b2e67180 Bump @typescript-eslint/eslint-plugin from 2.33.0 to 2.34.0
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 2.33.0 to 2.34.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v2.34.0/packages/eslint-plugin)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-19 07:57:29 +00:00
Daniel Imms db9d950fb4 Merge pull request #2936 from xtermjs/dependabot/npm_and_yarn/types/jsdom-16.2.3
Bump @types/jsdom from 16.2.2 to 16.2.3
2020-05-18 07:45:18 -07:00
dependabot-preview[bot] bdd8b8d32f Bump @types/jsdom from 16.2.2 to 16.2.3
Bumps [@types/jsdom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsdom) from 16.2.2 to 16.2.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jsdom)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-18 08:12:37 +00:00
Daniel Imms d8bc7ceaff Merge pull request #2934 from xtermjs/tyriar/2933
Fix exception when disposing Terminal twice
2020-05-15 12:29:23 -07:00
Daniel Imms 6a0f7b0713 Fix exception when disposing Terminal twice
Fixes #2933
2020-05-15 10:58:09 -07:00
Daniel Imms 3ac8a89f9b Merge pull request #2932 from xtermjs/dependabot/npm_and_yarn/types/jsdom-16.2.2
Bump @types/jsdom from 16.2.1 to 16.2.2
2020-05-15 08:38:11 -07:00
dependabot-preview[bot] fcec9c793c Bump @types/jsdom from 16.2.1 to 16.2.2
Bumps [@types/jsdom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsdom) from 16.2.1 to 16.2.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jsdom)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-15 08:14:52 +00:00
David Sichau 2140930793 fixed warnings about non passive events 2020-05-14 15:03:13 +02:00
Daniel Imms 2c16a7e0d7 Merge pull request #2930 from xtermjs/dependabot/npm_and_yarn/types/webpack-4.41.13
Bump @types/webpack from 4.41.12 to 4.41.13
2020-05-14 05:41:14 -07:00
dependabot-preview[bot] 325559e5d1 Bump @types/webpack from 4.41.12 to 4.41.13
Bumps [@types/webpack](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack) from 4.41.12 to 4.41.13.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-14 08:05:09 +00:00
Daniel Imms 3ec926750a Merge pull request #2929 from Tyriar/4_6_0
v4.6.0 and bump all addons
2020-05-13 07:29:15 -07:00
Daniel Imms 6d8e9c43c9 v4.6.0 and bump all addons 2020-05-13 07:05:58 -07:00
Daniel Imms 69f3f302d6 Merge pull request #2928 from xtermjs/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-2.33.0
Bump @typescript-eslint/eslint-plugin from 2.32.0 to 2.33.0
2020-05-13 06:37:16 -07:00
dependabot-preview[bot] 1282900140 Bump @typescript-eslint/eslint-plugin from 2.32.0 to 2.33.0
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 2.32.0 to 2.33.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v2.33.0/packages/eslint-plugin)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-13 13:23:37 +00:00
Daniel Imms 768710b2d7 Merge pull request #2927 from xtermjs/dependabot/npm_and_yarn/typescript-eslint/parser-2.33.0
Bump @typescript-eslint/parser from 2.32.0 to 2.33.0
2020-05-13 05:43:51 -07:00
Daniel Imms 8750ad4ec2 Merge pull request #2926 from xtermjs/dependabot/npm_and_yarn/typescript-3.9.2
Bump typescript from 3.8.3 to 3.9.2
2020-05-13 05:42:33 -07:00
dependabot-preview[bot] 409d995080 Bump @typescript-eslint/parser from 2.32.0 to 2.33.0
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 2.32.0 to 2.33.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v2.33.0/packages/parser)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-13 08:09:36 +00:00
dependabot-preview[bot] a151b72fc5 Bump typescript from 3.8.3 to 3.9.2
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 3.8.3 to 3.9.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v3.8.3...v3.9.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-13 08:09:16 +00:00
Daniel Imms 0626b7ec22 Merge pull request #2923 from xtermjs/dependabot/npm_and_yarn/typescript-eslint/parser-2.32.0
Bump @typescript-eslint/parser from 2.31.0 to 2.32.0
2020-05-12 08:27:10 -07:00
dependabot-preview[bot] 91205710ef Bump @typescript-eslint/parser from 2.31.0 to 2.32.0
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 2.31.0 to 2.32.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v2.32.0/packages/parser)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-12 14:53:11 +00:00
Daniel Imms 5a4f352bb0 Merge pull request #2924 from xtermjs/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-2.32.0
Bump @typescript-eslint/eslint-plugin from 2.31.0 to 2.32.0
2020-05-12 07:51:31 -07:00
dependabot-preview[bot] f62a14e976 Bump @typescript-eslint/eslint-plugin from 2.31.0 to 2.32.0
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 2.31.0 to 2.32.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v2.32.0/packages/eslint-plugin)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-12 12:08:11 +00:00
Daniel Imms 5f3fb410f7 Merge pull request #2925 from xtermjs/dependabot/npm_and_yarn/ts-loader-7.0.4
Bump ts-loader from 7.0.3 to 7.0.4
2020-05-12 05:06:27 -07:00
dependabot-preview[bot] 2d8dfde660 Bump ts-loader from 7.0.3 to 7.0.4
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 7.0.3 to 7.0.4.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v7.0.3...v7.0.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-12 07:54:10 +00:00
Daniel Imms 7fb885ce7d Merge pull request #2921 from Tyriar/2826_api_check
Add a proposed API check option
2020-05-11 04:46:45 -07:00
Daniel Imms 4aa3097cd1 Merge pull request #2922 from xtermjs/dependabot/npm_and_yarn/ws-7.3.0
Bump ws from 7.2.5 to 7.3.0
2020-05-11 04:35:48 -07:00
dependabot-preview[bot] 0b87d9a39c Bump ws from 7.2.5 to 7.3.0
Bumps [ws](https://github.com/websockets/ws) from 7.2.5 to 7.3.0.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.2.5...7.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-11 08:29:28 +00:00
Daniel Imms 92fdf0ce58 Fix lint issue 2020-05-08 12:41:26 -07:00
Daniel Imms aa59f34aab Add a proposed API check option
Part of #2826
2020-05-08 12:41:10 -07:00
Daniel Imms 05c149783f Merge pull request #2914 from drauggres/bug/demo_addons_list
Fix demo. Clear addons list on terminal recreation
2020-05-08 11:27:51 -07:00
Daniel Imms c3bc436e49 Merge branch 'master' into bug/demo_addons_list 2020-05-08 11:26:25 -07:00
Daniel Imms 64328ee39c Merge pull request #2920 from xtermjs/dependabot/npm_and_yarn/ts-loader-7.0.3
Bump ts-loader from 7.0.2 to 7.0.3
2020-05-07 04:53:58 -07:00
dependabot-preview[bot] 61667c1c23 Bump ts-loader from 7.0.2 to 7.0.3
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 7.0.2 to 7.0.3.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v7.0.2...v7.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-07 07:52:11 +00:00
Daniel Imms 3a9cdbab0d Merge pull request #2916 from xtermjs/tyriar/intersecting
Remove intersecting lower priority links
2020-05-06 06:55:51 -07:00
Daniel Imms 27af770068 Remove intersecting lower priority links
Fixes #2848
2020-05-06 06:16:36 -07:00
Sergey Volkov 71e45cdd25 Fix demo. Clear addons list on terminal recreation 2020-05-06 15:28:23 +03:00
Daniel Imms f9adf8ad83 Merge pull request #2912 from xtermjs/tyriar/2911
Workaround for hover firing multiple times
2020-05-06 04:59:33 -07:00
Daniel Imms f886698dc3 Workaround for hover firing multiple times
Fixes #2911
2020-05-06 04:53:25 -07:00
Daniel Imms 7ab0a42b24 Merge pull request #2908 from Tyriar/line_links
Change link provider API to provide all links for a line
2020-05-06 03:05:32 -07:00
Daniel Imms 99e2a3db1c Add test for multiple links on one line 2020-05-06 02:56:52 -07:00
Daniel Imms 9ca6733f68 Fix api tests 2020-05-06 02:50:35 -07:00
Daniel Imms 6d5ae1416a Correct api usage in tests
assertions should still fail
2020-05-05 18:35:37 -07:00
Daniel Imms 0707398a5b Remove logs 2020-05-05 18:27:11 -07:00
Daniel Imms 75e4e2089e Improve api 2020-05-05 18:26:07 -07:00
Daniel Imms 484883f442 Fix Linkifier2 tests 2020-05-05 18:24:45 -07:00
Daniel Imms d488b49fc4 Change link provider API to return all links for the line
Fixes #2848
2020-05-05 18:19:57 -07:00
Daniel Imms 1168c6c52f Merge pull request #2903 from theflyingape/patch-1
Update README.md
2020-05-05 05:50:14 -07:00
Daniel Imms f4e87cdbb3 Merge pull request #2905 from xtermjs/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-2.31.0
Bump @typescript-eslint/eslint-plugin from 2.30.0 to 2.31.0
2020-05-05 05:33:03 -07:00
dependabot-preview[bot] 24c64bfc7f Bump @typescript-eslint/eslint-plugin from 2.30.0 to 2.31.0
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 2.30.0 to 2.31.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v2.31.0/packages/eslint-plugin)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-05 12:06:10 +00:00
Daniel Imms ed5aeb7472 Merge pull request #2906 from xtermjs/dependabot/npm_and_yarn/typescript-eslint/parser-2.31.0
Bump @typescript-eslint/parser from 2.30.0 to 2.31.0
2020-05-05 05:04:34 -07:00
dependabot-preview[bot] eb3f933290 Bump @typescript-eslint/parser from 2.30.0 to 2.31.0
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 2.30.0 to 2.31.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v2.31.0/packages/parser)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-05 08:06:57 +00:00
Robert Hurst 832c43a509 Update README.md
A TypeScript port (app & client) of the venerable Hack & Slash game.
2020-05-04 09:57:35 -04:00
Daniel Imms 31d3ae451c Merge pull request #2899 from Tyriar/memoryleak
Fix listener leaks causing Terminal memory from not getting freed
2020-05-03 15:30:29 -07:00
Daniel Imms e413133602 Remove unused helper 2020-05-03 15:26:02 -07:00
Daniel Imms 06b8d36cf0 Fix other leaking listeners 2020-05-03 14:37:20 -07:00
Daniel Imms b75e42a56c Fix terminal object leaking 2020-05-03 12:46:37 -07:00
Daniel Imms 66b2c01549 Merge pull request #2898 from Tyriar/eslint_js
Disable eslint in all js files
2020-05-03 07:39:11 -07:00
Daniel Imms 065eb13a9d Merge pull request #2751 from jerch/underline_core
Underline styles and colors - core part
2020-05-03 07:32:32 -07:00
Daniel Imms 15bb9aa137 Disable eslint in all js files
This was causing distracting editor diagnostics
2020-05-03 07:31:46 -07:00
Daniel Imms 07862c2e52 Fixing minor comments 2020-05-03 07:26:27 -07:00
Daniel Imms a8b6252c3c Fix compile after merge 2020-05-03 07:20:58 -07:00
Daniel Imms bbbf128b7c Fix tests 2020-05-03 07:19:10 -07:00
Daniel Imms 62b8398719 Merge branch 'master' into pr/jerch/2751 2020-05-03 07:14:02 -07:00
Daniel Imms 3ea9a7511e Merge pull request #2724 from jerch/reverse_wraparound
Reverse wraparound
2020-05-03 07:11:25 -07:00
Daniel Imms 076d51fc35 Merge branch 'master' into reverse_wraparound 2020-05-03 07:05:14 -07:00
Daniel Imms 210fa7f655 Move commented test into Terminal.test 2020-05-03 07:04:01 -07:00
Daniel Imms fbdb01d43c Merge pull request #2847 from LabhanshAgrawal/ligatures-addon
Merge ligatures addon into core repo
2020-05-03 06:54:46 -07:00
Daniel Imms 36e241cd8d Alphabetize tsconfig addons 2020-05-03 06:49:05 -07:00
Daniel Imms c5b0068c9b Remove coveralls 2020-05-03 06:48:00 -07:00
Daniel Imms ed7bab7f02 Correct package.json repo links 2020-05-03 06:46:38 -07:00
Daniel Imms 001e16e081 Copyright 2020-05-03 06:45:12 -07:00
Daniel Imms 41670dc181 Remove test dependence on applyAddon 2020-05-03 06:44:17 -07:00
Daniel Imms 6c6900ede8 Bring ligatures readme install/usage up to date 2020-05-03 06:35:36 -07:00
Daniel Imms b450470142 Remove old addon api 'apply' call 2020-05-03 06:32:32 -07:00
Daniel Imms d98fcf8d1f Update copyright 2020-05-03 06:29:02 -07:00
Daniel Imms 5b90b8a3ad Clean up ligatures readme 2020-05-03 06:26:23 -07:00
Daniel Imms e343e690f2 Merge branch 'master' into ligatures-addon 2020-05-03 06:22:14 -07:00
Daniel Imms 6f1f4ba98f Merge pull request #2867 from rishab-pdx/#2840
Different behavior when search two same words in only one row
2020-05-03 06:21:14 -07:00
Daniel Imms 7a34b4de73 Merge pull request #2895 from Tyriar/eslint_warn
Make all eslint rules warnings
2020-05-03 06:15:15 -07:00
Daniel Imms b84831f148 Make all eslint rules warnings
eslint warnings normally don't exit with non-zero when warnings fail unless
'--max-warnings 0' is used. This commit adds that and changes all rules to
be warnings in order to improve feedback in the editor. After this commit
all warning diagnostics (yellow) are stylistic/lint-related ones that will
still fail lint, which error diagnostics (red) are actual errors that will
fail compilation (from tsc).

Fixes #2886
2020-05-03 06:07:53 -07:00
Daniel Imms d9ecafeb2a Merge pull request #2892 from Eugeny/fixed-dpr-listener
fixed ScreenDprListener never being fired
2020-05-02 15:54:52 -07:00
EugeneandDaniel Imms 930de9aeb7 Update src/browser/ScreenDprMonitor.ts
Co-authored-by: Daniel Imms <tyriar@tyriar.com>
2020-05-02 22:48:30 +02:00
Eugene Pankov 40a09d7412 fixed ScreenDprListener never being fired 2020-05-02 16:20:46 +02:00
Labhansh Agrawal ad9aabbb7e fix ci errors 2020-05-01 14:26:03 +05:30
Labhansh Agrawal 195bce0485 add dependencies as externals in webpack 2020-05-01 14:26:03 +05:30
Labhansh Agrawal 42b88f34f4 remove azure devops config 2020-05-01 14:26:03 +05:30
Labhansh Agrawal 7bde7039bb add webpack config 2020-05-01 14:26:03 +05:30
Labhansh Agrawal 4702a0af9d lint 2020-05-01 14:26:03 +05:30
Labhansh Agrawal c818381ef1 add ligatures addon config 2020-05-01 14:26:03 +05:30
Labhansh Agrawal ef4ecf7c8e clean up dev dependencies 2020-05-01 14:26:03 +05:30
Labhansh Agrawal fb65cea115 set up similar to other addons 2020-05-01 14:26:03 +05:30
Labhansh Agrawal dcca79baef delete non-required files 2020-05-01 14:26:03 +05:30
Labhansh Agrawal 15df03ba09 clone ligatures addon repo 2020-05-01 14:26:03 +05:30
rishab 5eb33e9d8a Merge branch 'master' of https://github.com/xtermjs/xterm.js into #2840 2020-04-30 14:05:01 -07:00
Daniel Imms 939de5d151 Merge pull request #2888 from lunaroyster/master
Added @ as a character in URL paths for the weblinks addon
2020-04-30 06:30:59 -07:00
Daniel Imms 4c440b8552 Merge pull request #2890 from xtermjs/dependabot/npm_and_yarn/ts-loader-7.0.2
Bump ts-loader from 7.0.1 to 7.0.2
2020-04-30 05:10:20 -07:00
dependabot-preview[bot] 1c73fd5454 Bump ts-loader from 7.0.1 to 7.0.2
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 7.0.1 to 7.0.2.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v7.0.1...v7.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-30 08:01:12 +00:00
lunaroysterandEricWangUTM 9567ae4bfe Added @ as a character to pathCharacterSet for xterm-addons-web-links
Co-authored-by: lunaroyster <oneinaquadrillion@live.com>
Co-authored-by: EricWangUTM <yifeng.wang@mail.utoronto.ca>
2020-04-30 04:35:34 +00:00
rishab 853b454eae Merge branch 'master' of https://github.com/xtermjs/xterm.js into #2840 2020-04-29 19:56:45 -07:00
Daniel Imms 94b1fec91e Merge pull request #2883 from xtermjs/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-2.30.0
Bump @typescript-eslint/eslint-plugin from 2.29.0 to 2.30.0
2020-04-28 05:57:46 -07:00
dependabot-preview[bot] a6a5c010fe Bump @typescript-eslint/eslint-plugin from 2.29.0 to 2.30.0
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 2.29.0 to 2.30.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v2.30.0/packages/eslint-plugin)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-28 12:46:07 +00:00
Daniel Imms 52bcbaed08 Merge pull request #2882 from xtermjs/dependabot/npm_and_yarn/typescript-eslint/parser-2.30.0
Bump @typescript-eslint/parser from 2.29.0 to 2.30.0
2020-04-28 05:44:20 -07:00
dependabot-preview[bot] 74ac45730f Bump @typescript-eslint/parser from 2.29.0 to 2.30.0
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 2.29.0 to 2.30.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v2.30.0/packages/parser)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-28 08:06:37 +00:00
Jörg Breitbart 0d0f04de5c resolve master conflicts 2020-04-27 16:16:31 +02:00
Jörg Breitbart e1be294147 Merge branch 'master' into reverse_wraparound 2020-04-27 16:11:39 +02:00
Daniel Imms 45077d7106 Merge pull request #2880 from xtermjs/dependabot/npm_and_yarn/mocha-7.1.2
Bump mocha from 7.1.1 to 7.1.2
2020-04-27 06:16:14 -07:00
dependabot-preview[bot] e65ead3f20 Bump mocha from 7.1.1 to 7.1.2
Bumps [mocha](https://github.com/mochajs/mocha) from 7.1.1 to 7.1.2.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v7.1.1...v7.1.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-27 13:01:17 +00:00
Daniel Imms 5ed6d0fedb Merge pull request #2879 from xtermjs/dependabot/npm_and_yarn/ws-7.2.5
Bump ws from 7.2.3 to 7.2.5
2020-04-27 05:59:41 -07:00
dependabot-preview[bot] 673138c5af Bump ws from 7.2.3 to 7.2.5
Bumps [ws](https://github.com/websockets/ws) from 7.2.3 to 7.2.5.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.2.3...7.2.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-27 08:26:57 +00:00
Rishab 0e145a1a57 Merge branch 'master' into #2840 2020-04-26 14:42:43 -07:00
Daniel Imms a8bcfc62d0 Merge pull request #2876 from Tyriar/layers3
Move more parts of Terminal into CoreTerminal and move everything else into browser/
2020-04-26 11:19:05 -07:00
Daniel Imms 394bb38913 Remove src/tsconfig.json from eslintrc 2020-04-26 11:11:04 -07:00
Daniel Imms 80c5c94e7e Remove src project 2020-04-26 11:06:30 -07:00
Daniel Imms 03bfd2c842 Move Terminal*.test into browser 2020-04-26 10:59:32 -07:00
Daniel Imms bdb438972f Fix errors in Terminal and elsewhere
This was mostly ! to compel TS, we should actually fix this down the road
but that can come later.
2020-04-26 10:44:44 -07:00
Daniel Imms f256206fd4 Move Terminal and AccessibilityManager into browser 2020-04-26 10:18:05 -07:00
Daniel Imms 4d01929503 Introduce ICoreTerminal 2020-04-26 10:11:24 -07:00
Daniel Imms 2a9b76246b Move scroll into CoreTerminal 2020-04-26 10:02:59 -07:00
Daniel Imms 21bcef5008 Move a bunch of scroll logic into CoreTerminal
This change will now reset userScrolling on RIS
2020-04-26 09:54:44 -07:00
Daniel Imms 46e7fc61cc Move WriteBuffer into CoreTerminal 2020-04-26 09:38:34 -07:00
Daniel Imms b9dee59900 Move InputHandler init into CoreTerminal 2020-04-26 09:36:56 -07:00
Daniel Imms 2fd4c149fd Merge pull request #2874 from Tyriar/layers2
Move InputHandler into common
2020-04-26 09:08:50 -07:00
Daniel Imms d085768e8b Fix some lint issues 2020-04-26 08:23:38 -07:00
Daniel Imms 6f9730c652 Merge branch 'master' into layers2 2020-04-26 08:14:47 -07:00
Daniel Imms b79a0a9832 Remove unwanted vscode setting 2020-04-26 08:12:53 -07:00
Daniel Imms 212061be50 Move InputHandler.test into common, fix strict errors 2020-04-26 08:11:53 -07:00
Daniel Imms c931341259 Remove Terminal dep in InputHandler.test 2020-04-26 08:08:49 -07:00
Daniel Imms 51dc03a730 Merge pull request #2873 from jerch/fix_2872
Fix missing ybase calc in print
2020-04-26 08:08:26 -07:00
Jörg Breitbart 31670da633 fix sloppy coding in InputHandler 2020-04-26 16:53:15 +02:00
Jörg Breitbart 51a808c094 some refactoring 2020-04-26 16:34:15 +02:00
Daniel Imms d756086b8e Move InputHandler into common
Part of #2749
Part of #1507
2020-04-26 07:24:30 -07:00
Daniel Imms 81d289b266 Remove RenderService dep in InputHandler 2020-04-26 07:03:11 -07:00
Jörg Breitbart 71c2551a2e Merge branch 'reverse_wraparound' of github.com:jerch/xterm.js into reverse_wraparound 2020-04-26 15:59:27 +02:00
Jörg Breitbart ab2c8c7382 Merge branch 'master' into reverse_wraparound 2020-04-26 15:59:10 +02:00
Daniel Imms ba40fe4ff4 Remove Terminal dependency from InputHandler 🎉 2020-04-26 06:46:37 -07:00
Daniel Imms dbced5c1a4 Move Terminal.is into InputHandler 2020-04-26 06:38:10 -07:00
Daniel Imms 3a1a0d6590 Remove input handler Terminal.resize dep 2020-04-26 06:34:36 -07:00
Daniel Imms 451d9aab96 Register forwardEvent calls 2020-04-26 06:21:16 -07:00
Daniel Imms a6949d522e Move resize event into bufferservice 2020-04-26 06:16:13 -07:00
Daniel Imms eba372e2cc More some of Terminal.resize into bufferservice 2020-04-25 20:52:59 -07:00
Daniel Imms a3ac0d542d Remove unused imports 2020-04-25 20:39:58 -07:00
Daniel Imms 0709b0dc3b Break input handler dep on Terminal.scroll 2020-04-25 19:28:00 -07:00
rishab 5bb710e921 Merge branch 'master' of https://github.com/xtermjs/xterm.js 2020-04-25 17:39:30 -07:00
Rishab a5c1e594b3 Merge pull request #1 from rishab-pdx/#2840
handle wrap back with find previous
2020-04-25 17:37:12 -07:00
rishab 08f8f51ade handle wrap back with find previous
wrap back search selection to last selected result when we hit top
2020-04-25 17:33:48 -07:00
Daniel Imms 3897950e22 Remove a11y event dep, introduce forwardEvent helper 2020-04-25 16:45:46 -07:00
Daniel Imms e9db1ecd1f Remove Terminal.handleTitle dep 2020-04-25 16:37:31 -07:00
Daniel Imms 9346eba2f2 Remove Terminal.showCursor dep from input handler 2020-04-25 16:18:43 -07:00
Daniel Imms c5ba1d62e7 Remove mouseEvents from Terminal
Depend on CoreMouseService directly
2020-04-25 13:31:45 -07:00
Daniel Imms 37996bcd15 Move sendFocus to core service 2020-04-25 13:26:06 -07:00
Daniel Imms d5729f9216 Move insertMode into core service 2020-04-25 11:26:20 -07:00
Daniel Imms 4cec11be9c Move bracketed paste mode to coreservice 2020-04-25 11:11:05 -07:00
Daniel Imms b80c14639e Move option listeners to core 2020-04-25 10:34:37 -07:00
Daniel Imms 0d3bd2052b Remove remaining common service inits to common 2020-04-25 10:26:29 -07:00
Daniel Imms 353a8c5388 Create CoreTerminal, fix createInstance in strict mode 2020-04-25 10:21:56 -07:00
Daniel Imms dac3037ee4 Merge pull request #2871 from Tyriar/layers
Support dependency injection in UnicodeService
2020-04-25 08:44:25 -07:00
Daniel Imms e3c81048af Use DI with Linkifier2 2020-04-25 07:29:07 -07:00
Daniel Imms c752ca84df Merge pull request #2870 from Tyriar/selection
Make sure selection gets redrawn when switching renderers
2020-04-25 07:27:17 -07:00
Daniel Imms a5d50960a7 Support DI in UnicodeService 2020-04-25 07:27:09 -07:00
Daniel Imms af0845b4a3 Merge branch 'master' into selection 2020-04-25 07:18:27 -07:00
Daniel Imms 8d77b1ae16 Merge pull request #2869 from Tyriar/vs95556
Invalidate all links above when the terminal scrolls
2020-04-25 07:17:20 -07:00
Daniel Imms c185529ad5 Make sure selection gets redrawn when switching renderers
Fixes #2555
2020-04-25 07:11:43 -07:00
Daniel Imms 3a5def98e5 Correct selection types being optional 2020-04-25 06:56:00 -07:00
Daniel Imms 603c68bd69 Merge branch 'master' into vs95556 2020-04-25 06:46:02 -07:00
Daniel Imms 2f984964da Merge pull request #2868 from Tyriar/2595_selection_colors
Refresh model colors after changing theme
2020-04-25 06:42:01 -07:00
Daniel Imms 22aaf0471a Invalidate all links above when the terminal scrolls
See microsoft/vscode#95556
2020-04-25 06:41:25 -07:00
Daniel Imms 1134d0d7d4 Refresh model colors after changing theme
Fixes #2595
2020-04-25 06:22:08 -07:00
rishab 45ff3ee637 Update SearchAddon.ts 2020-04-25 03:13:32 -07:00
rishab 50ba6bfa1b Wrap search back if there exists a result in search
Search must wrap back as it does when there are multiple lines.
2020-04-25 03:13:19 -07:00
Daniel Imms cdcbb1d6da Merge pull request #2866 from xtermjs/dependabot/npm_and_yarn/deep-equal-2.0.3
Bump deep-equal from 2.0.2 to 2.0.3
2020-04-24 05:09:50 -07:00
dependabot-preview[bot] 49bf22ace4 Bump deep-equal from 2.0.2 to 2.0.3
Bumps [deep-equal](https://github.com/inspect-js/node-deep-equal) from 2.0.2 to 2.0.3.
- [Release notes](https://github.com/inspect-js/node-deep-equal/releases)
- [Changelog](https://github.com/inspect-js/node-deep-equal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/inspect-js/node-deep-equal/compare/v2.0.2...v2.0.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-24 08:02:20 +00:00
Daniel Imms 22fa95cf87 Merge pull request #2865 from xtermjs/dependabot/npm_and_yarn/webpack-4.43.0
Bump webpack from 4.42.1 to 4.43.0
2020-04-22 05:30:31 -07:00
dependabot-preview[bot] a76a889924 Bump webpack from 4.42.1 to 4.43.0
Bumps [webpack](https://github.com/webpack/webpack) from 4.42.1 to 4.43.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.42.1...v4.43.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-22 08:27:07 +00:00
Daniel Imms 8f7c6a635f Merge pull request #2864 from Tyriar/center_text
Center webgl text vertically
2020-04-21 18:23:14 -07:00
Daniel Imms 9ece6b1fbc Center webgl text vertically
Fixes #2613
2020-04-21 18:20:10 -07:00
Daniel Imms 9d7a45f459 Merge pull request #2862 from xtermjs/dependabot/npm_and_yarn/typescript-eslint/parser-2.29.0
Bump @typescript-eslint/parser from 2.28.0 to 2.29.0
2020-04-21 03:33:20 -07:00
dependabot-preview[bot] 0465ba24a2 Bump @typescript-eslint/parser from 2.28.0 to 2.29.0
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 2.28.0 to 2.29.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v2.29.0/packages/parser)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-21 10:22:18 +00:00
Daniel Imms b622c89967 Merge pull request #2861 from xtermjs/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-2.29.0
Bump @typescript-eslint/eslint-plugin from 2.28.0 to 2.29.0
2020-04-21 03:20:43 -07:00
dependabot-preview[bot] 7efb141f88 Bump @typescript-eslint/eslint-plugin from 2.28.0 to 2.29.0
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 2.28.0 to 2.29.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v2.29.0/packages/eslint-plugin)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-21 08:13:30 +00:00
Daniel Imms d093912f9d Merge pull request #2859 from xtermjs/dependabot/npm_and_yarn/ts-loader-7.0.1
Bump ts-loader from 7.0.0 to 7.0.1
2020-04-20 07:20:17 -07:00
dependabot-preview[bot] 92e5c8d228 Bump ts-loader from 7.0.0 to 7.0.1
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v7.0.0...v7.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-20 13:06:59 +00:00
Daniel Imms 68995e6ed8 Merge pull request #2858 from xtermjs/dependabot/npm_and_yarn/types/webpack-4.41.12
Bump @types/webpack from 4.41.11 to 4.41.12
2020-04-20 06:05:01 -07:00
dependabot-preview[bot] edac29fe51 Bump @types/webpack from 4.41.11 to 4.41.12
Bumps [@types/webpack](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack) from 4.41.11 to 4.41.12.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-20 08:35:06 +00:00
Daniel Imms e7f72a1ba8 Merge pull request #2857 from Tyriar/decoration_customizations
Allow embedders to customize link decorations independently
2020-04-19 04:24:50 -07:00
Daniel Imms d0519d6c25 Fix tests 2020-04-19 04:20:10 -07:00
Daniel Imms 2ce435f98d Allow embedders to customize link decorations independently
See microsoft/vscode#95631
2020-04-19 04:07:22 -07:00
Daniel Imms 67fde3e941 Merge pull request #2856 from Tyriar/link_underline
Prevent hover callbacks firing if the mouse is outside the viewport
2020-04-18 18:27:12 -07:00
Daniel Imms 1282c060fc Prevent hover callbacks firing if the mouse is outside the viewport
Fixes #2849
2020-04-18 18:02:51 -07:00
Daniel Imms 52f1fc943d Merge pull request #2855 from Tyriar/link_underline
Polish link decorations and better support embedder hovers
2020-04-18 10:21:57 -07:00
Daniel Imms 88ff19383b Allow embedders to designate link hover elements 2020-04-18 09:13:09 -07:00
Daniel Imms 832312e095 Change hideUnderline to hideDecorations
Also track cursor style
2020-04-18 06:23:46 -07:00
Daniel Imms f2ed01993d Track changes to hideUnderline 2020-04-18 06:18:01 -07:00
Daniel Imms ccf869e671 Merge pull request #2854 from Tyriar/hide_underline
Allow hiding of link underlines
2020-04-17 19:01:22 -07:00
Daniel Imms 48f579977e Allow hiding of link underlines
See microsoft/vscode#95080
2020-04-17 18:46:01 -07:00
Daniel Imms ab595659c2 Merge pull request #2852 from Tyriar/mouseleave
Clear link when leaving xterm link
2020-04-17 17:38:45 -07:00
Daniel Imms 0cd2b78425 Clear link when leaving xterm link
Fixes #2851
2020-04-17 17:30:53 -07:00
Daniel Imms c1e618fc3b Merge pull request #2830 from kumaran-14/2702_api_test_debug
Add api-test script to log poll result on passing --debug flag
2020-04-15 08:04:12 -07:00
Daniel Imms 934b9faf36 Merge branch 'master' into 2702_api_test_debug 2020-04-15 06:52:14 -07:00
Daniel Imms 2836dcb71f Merge pull request #2845 from xtermjs/dependabot/npm_and_yarn/ts-loader-7.0.0
Bump ts-loader from 6.2.2 to 7.0.0
2020-04-15 06:09:39 -07:00
dependabot-preview[bot] 2b874c5817 Bump ts-loader from 6.2.2 to 7.0.0
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 6.2.2 to 7.0.0.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/ts-loader/compare/v6.2.2...v7.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-15 08:12:32 +00:00
Daniel Imms 19b73d2ba7 Merge pull request #2842 from xtermjs/dependabot/npm_and_yarn/typescript-eslint/parser-2.28.0
Bump @typescript-eslint/parser from 2.27.0 to 2.28.0
2020-04-14 06:36:51 -07:00
Daniel Imms 548a17d94c Merge pull request #2844 from Tyriar/2824
Enforce explicit access modifiers
2020-04-14 06:36:34 -07:00
Daniel Imms de4005d470 Merge branch 'master' into 2824 2020-04-14 06:31:48 -07:00
dependabot-preview[bot] 46e9b9499c Bump @typescript-eslint/parser from 2.27.0 to 2.28.0
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 2.27.0 to 2.28.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v2.28.0/packages/parser)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-14 13:26:53 +00:00
Daniel Imms 580b06ada5 Merge pull request #2843 from xtermjs/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-2.28.0
Bump @typescript-eslint/eslint-plugin from 2.27.0 to 2.28.0
2020-04-14 06:25:15 -07:00
Daniel Imms 1472e7b051 Merge branch 'master' into 2824 2020-04-14 06:25:06 -07:00
Daniel Imms 9817754f92 Fix explicit access 2020-04-14 06:23:11 -07:00
dependabot-preview[bot] 05f1959c83 Bump @typescript-eslint/eslint-plugin from 2.27.0 to 2.28.0
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 2.27.0 to 2.28.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v2.28.0/packages/eslint-plugin)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-14 13:08:53 +00:00
Daniel Imms 80a692a751 Merge pull request #2841 from xtermjs/dependabot/npm_and_yarn/types/ws-7.2.4
Bump @types/ws from 7.2.3 to 7.2.4
2020-04-14 06:07:11 -07:00
Daniel Imms a5ebb6d98c Add member access eslint rule 2020-04-14 06:03:47 -07:00
Daniel Imms 04c1e4b57d Remove readonly from ctors 2020-04-14 06:03:31 -07:00
dependabot-preview[bot] f8f9c06ed8 Bump @types/ws from 7.2.3 to 7.2.4
Bumps [@types/ws](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/ws) from 7.2.3 to 7.2.4.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/ws)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-14 08:14:38 +00:00
kumaran-14 1f4b2607cc Replace flatMap method with reduce and map 2020-04-13 22:36:33 +05:30
Daniel Imms f0c518a134 Merge pull request #2838 from xtermjs/dependabot/npm_and_yarn/types/jsdom-16.2.1
Bump @types/jsdom from 16.2.0 to 16.2.1
2020-04-13 06:33:50 -07:00
dependabot-preview[bot] c396518736 Bump @types/jsdom from 16.2.0 to 16.2.1
Bumps [@types/jsdom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jsdom) from 16.2.0 to 16.2.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jsdom)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-13 12:34:17 +00:00
Daniel Imms d6a45b511e Merge pull request #2839 from xtermjs/dependabot/npm_and_yarn/types/webpack-4.41.11
Bump @types/webpack from 4.41.10 to 4.41.11
2020-04-13 05:32:38 -07:00
dependabot-preview[bot] f5c4c3e450 Bump @types/webpack from 4.41.10 to 4.41.11
Bumps [@types/webpack](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack) from 4.41.10 to 4.41.11.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-13 08:19:05 +00:00
Daniel Imms aecfb5772d Merge pull request #2835 from Tyriar/2822
Add linkTooltipHoverDuration setting
2020-04-11 10:08:30 -07:00
Daniel Imms 3b7b936582 Merge pull request #2837 from Tyriar/2836
Only fire IRenderService.onRender when buffer changes occurred
2020-04-11 09:59:34 -07:00
Daniel Imms 309bdf3d70 Rename onRender 2020-04-11 09:53:32 -07:00
Daniel Imms 55f9203f60 Only fire IRenderService.onRender when buffer changes occurred
Fixes #2836
2020-04-11 09:51:28 -07:00
kumaran-14 df7ba37d57 Update args parser to allow flag values 2020-04-11 21:15:24 +05:30
kumaran-14 96cb4e9a52 Merge remote-tracking branch 'upstream/master' into 2702_api_test_debug 2020-04-11 19:55:36 +05:30
Daniel Imms f070be8dd3 Add deprecated with explanation 2020-04-11 07:23:53 -07:00
Daniel Imms 3408a0537f Add linkTooltipHoverDuration setting
Fixes #2822
2020-04-11 07:22:20 -07:00
Daniel Imms 5669cf832f Merge branch 'master' into reverse_wraparound 2020-04-11 06:41:28 -07:00
Daniel Imms e2ac4b45d0 Merge pull request #2834 from Tyriar/2833
Fix selection wrapping to end when not beyond viewport
2020-04-11 06:38:50 -07:00
Daniel Imms 714daba393 Fix selection wrapping to end when not beyond viewport
This was happening as the devicePixelRatio wasn't being taken into account,
the fix was to rely on IRenderService to get the right canvas height.

Fixes #2833
2020-04-11 06:31:58 -07:00
Daniel Imms 1913e9512c Merge pull request #2718 from kumaran-14/2498_alt_enter
Support alt+enter key signal by default
2020-04-11 05:49:33 -07:00
kumaran-14 ae72994cfb Undo changes on ./bin/test.js 2020-04-11 12:02:27 +05:30
kumaran-14 f9b2f3e87d Add api-test script to log poll result on passing --debug flag 2020-04-11 11:54:58 +05:30
Daniel Imms e05bf87528 Merge pull request #2829 from Tyriar/lgtm
Fix most lgtm warnings
2020-04-10 14:22:24 -07:00
Daniel Imms 7609a5456e Fix most lgtm warnings 2020-04-10 14:08:28 -07:00
Daniel Imms 4809a2e0df Merge pull request #2828 from Tyriar/release45
v4.5.0
2020-04-10 12:53:39 -07:00
Daniel Imms e61c34b85f Merge branch 'master' into 2498_alt_enter 2020-04-10 12:53:16 -07:00
Daniel Imms ba0dc60b09 Combine into ternary 2020-04-10 12:53:02 -07:00
Daniel Imms f61d6320a3 v4.5.0 2020-04-10 12:44:39 -07:00
kumaran-14 3ef41f2b1d Remove decset modes from coreservices 2020-04-10 23:19:31 +05:30
Daniel Imms 2e6f547bfc Merge branch 'master' into reverse_wraparound 2020-04-10 10:30:30 -07:00
Daniel Imms c66b25b4cc Merge pull request #2827 from Tyriar/eslint_types
Convert eslintrc to json and fix errors
2020-04-10 10:29:46 -07:00
Daniel Imms a66edbdda8 Merge pull request #2713 from JavaCS3/master
expose IBufferSet API
2020-04-10 10:18:51 -07:00
Daniel Imms ef0d834db8 Convert eslintrc to json and fix errors 2020-04-10 10:05:23 -07:00
Daniel Imms 89daacac32 Add missing api docs 2020-04-10 10:02:09 -07:00
Daniel Imms f4f15ee5e9 Add missing line in api 2020-04-10 09:57:10 -07:00
Daniel Imms 4c36ef9d24 Don't pass buffers to BufferApiView 2020-04-10 09:56:26 -07:00
Daniel Imms 886af692e2 Use a separate emitter for BufferNamespaceApi.onBufferChange 2020-04-10 09:53:51 -07:00
Daniel Imms c63949f384 Merge branch 'master' into master 2020-04-10 09:37:51 -07:00
Daniel Imms 9460e915cd Merge branch 'master' into underline_core 2020-04-10 09:22:07 -07:00
Daniel Imms 34a324f551 Merge pull request #2825 from Tyriar/debug_log
Use debug log level for open not attached to the DOM
2020-04-10 07:50:51 -07:00
Daniel Imms 996694aec4 Use debug log level for open not attached to the DOM
It seems mostly harmless now

Part of microsoft/vscode#88529
2020-04-10 07:50:10 -07:00
Daniel Imms e21060a259 Merge pull request #2725 from Tyriar/webkit
Improve Linux dependencies, remove browser args
2020-04-10 06:45:37 -07:00
Daniel Imms 951d342ed7 Disable webkit 2020-04-10 06:38:54 -07:00
Daniel Imms 74b76704f8 Merge pull request #2746 from jerch/fix_2745
cursor handling in DECSTR
2020-04-10 06:36:39 -07:00
Daniel Imms 6efc37eaf3 Merge branch 'master' into webkit 2020-04-10 06:34:45 -07:00
Daniel Imms 9cf4e68ac4 Merge pull request #2739 from felixse/fix-edge-selection-color
Fix selection color in Legacy Edge
2020-04-10 06:34:05 -07:00
Daniel Imms 1c35c8b617 Merge pull request #2817 from Tyriar/2764
Pause cursor render layer before resuming
2020-04-10 06:25:30 -07:00
Charles Wei 94dabe225b Merge branch 'master' into master 2020-04-10 12:11:17 +08:00
Daniel Imms 21b490f03a Merge pull request #2819 from xtermjs/dependabot/npm_and_yarn/typescript-eslint/parser-2.27.0
Bump @typescript-eslint/parser from 2.26.0 to 2.27.0
2020-04-07 06:31:30 -07:00
dependabot-preview[bot] f8f509a296 Bump @typescript-eslint/parser from 2.26.0 to 2.27.0
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 2.26.0 to 2.27.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v2.27.0/packages/parser)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-07 13:17:32 +00:00
Daniel Imms 062b771622 Merge pull request #2820 from xtermjs/dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-2.27.0
Bump @typescript-eslint/eslint-plugin from 2.26.0 to 2.27.0
2020-04-07 06:15:48 -07:00
dependabot-preview[bot] adff472011 Bump @typescript-eslint/eslint-plugin from 2.26.0 to 2.27.0
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 2.26.0 to 2.27.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v2.27.0/packages/eslint-plugin)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-07 08:17:08 +00:00
Charles Wei 9c043dbf9f Merge branch 'master' into master 2020-04-07 11:27:32 +08:00
Daniel Imms 59d28e7b99 Use browser types instead of nodejs 2020-04-06 05:33:09 -07:00
Daniel Imms 8b5a133106 Pause cursor render layer before resuming
Fixes #2764
2020-04-06 05:32:11 -07:00
Daniel Imms 86a41dd6dd Merge pull request #2815 from xtermjs/dependabot/npm_and_yarn/nyc-15.0.1
Bump nyc from 15.0.0 to 15.0.1
2020-04-06 04:23:57 -07:00
dependabot-preview[bot] 2d77b25e26 Bump nyc from 15.0.0 to 15.0.1
Bumps [nyc](https://github.com/istanbuljs/nyc) from 15.0.0 to 15.0.1.
- [Release notes](https://github.com/istanbuljs/nyc/releases)
- [Changelog](https://github.com/istanbuljs/nyc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/istanbuljs/nyc/compare/v15.0.0...v15.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-06 08:41:11 +00:00
Daniel Imms 43526c2297 Merge pull request #2814 from Tyriar/role_list
Use role=list in screen reader mode
2020-04-05 09:54:56 -07:00
Daniel Imms 192762add8 Use role=list in screen reader mode 2020-04-05 09:54:19 -07:00
javacs3 0f64847351 fix lint error 2020-04-05 15:31:05 +08:00
Charles Wei 88d2f26269 Merge branch 'master' into master 2020-04-05 12:15:37 +08:00
Daniel Imms 21aabb1215 Merge pull request #2810 from xtermjs/dependabot/npm_and_yarn/deep-equal-2.0.2
Bump deep-equal from 2.0.1 to 2.0.2
2020-04-02 07:58:40 -07:00
dependabot-preview[bot] e6ea51f8cb Bump deep-equal from 2.0.1 to 2.0.2
Bumps [deep-equal](https://github.com/inspect-js/node-deep-equal) from 2.0.1 to 2.0.2.
- [Release notes](https://github.com/inspect-js/node-deep-equal/releases)
- [Changelog](https://github.com/inspect-js/node-deep-equal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/inspect-js/node-deep-equal/compare/v2.0.1...v2.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-02 08:07:09 +00:00
Daniel Imms 6d52e1709f Merge pull request #2805 from xtermjs/dependabot/npm_and_yarn/mustache-4.0.1
Bump mustache from 3.2.1 to 4.0.1
2020-04-01 06:59:52 -07:00
dependabot-preview[bot] aaf1fd0256 Bump mustache from 3.2.1 to 4.0.1
Bumps [mustache](https://github.com/janl/mustache.js) from 3.2.1 to 4.0.1.
- [Release notes](https://github.com/janl/mustache.js/releases)
- [Changelog](https://github.com/janl/mustache.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/janl/mustache.js/compare/v3.2.1...v4.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-04-01 13:27:45 +00:00
Daniel Imms 97ef539a6c Merge pull request #2803 from Tyriar/more_deps
Upgrade more deps
2020-04-01 06:25:58 -07:00
Daniel Imms b630aad44a Namespace window 2020-04-01 05:25:39 -07:00
Daniel Imms 2f6fb4b97c Upgrade jsdom 2020-03-31 11:10:39 -07:00
Daniel Imms 5c99114b02 Upgrade nyc 2020-03-31 11:07:26 -07:00
Daniel Imms 318421df9d Update more types 2020-03-31 11:01:33 -07:00
Daniel Imms 2f42dc6473 Upgrade chai to 4 2020-03-31 10:59:15 -07:00
Daniel Imms 66bcdc3c00 Update some more dependencies 2020-03-31 10:55:55 -07:00
Daniel Imms 8b042caf60 Merge pull request #2792 from xtermjs/dependabot/npm_and_yarn/mocha-7.1.1
Bump mocha from 6.2.3 to 7.1.1
2020-03-31 09:12:50 -07:00
dependabot-preview[bot] b3408f5ad4 Bump mocha from 6.2.3 to 7.1.1
Bumps [mocha](https://github.com/mochajs/mocha) from 6.2.3 to 7.1.1.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v6.2.3...v7.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-31 14:33:22 +00:00
Daniel Imms 5558bc1ef3 Merge pull request #2780 from xtermjs/dependabot/npm_and_yarn/types/ws-7.2.3
Bump @types/ws from 6.0.1 to 7.2.3
2020-03-31 07:31:37 -07:00
dependabot-preview[bot] 2426a731fc Bump @types/ws from 6.0.1 to 7.2.3
Bumps [@types/ws](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/ws) from 6.0.1 to 7.2.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/ws)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-31 14:14:25 +00:00
Daniel Imms 47e2b0991a Merge pull request #2801 from xtermjs/dependabot/npm_and_yarn/types/webpack-4.41.10
Bump @types/webpack from 4.41.9 to 4.41.10
2020-03-31 07:12:46 -07:00
dependabot-preview[bot] ceec98ffc3 Bump @types/webpack from 4.41.9 to 4.41.10
Bumps [@types/webpack](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack) from 4.41.9 to 4.41.10.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-31 08:10:36 +00:00
Daniel Imms a24b977f72 Merge pull request #2800 from Tyriar/upgrade_mac
Upgrade mac agent in pipelines
2020-03-30 10:00:29 -07:00
Daniel Imms 4602ffba29 Merge pull request #2799 from Tyriar/enum_like_upper_case
Allow enum-like objects to use upper case naming
2020-03-30 06:46:48 -07:00
Daniel Imms 21d4ee8e2e Upgrade mac agent in pipelines
Looks like capacity has run out for old macOS, this should get builds
green again.
2020-03-30 06:43:45 -07:00
Daniel Imms 8ec41a7128 Merge pull request #2795 from xtermjs/dependabot/npm_and_yarn/types/webpack-4.41.9
Bump @types/webpack from 4.41.8 to 4.41.9
2020-03-30 06:42:12 -07:00
Daniel Imms 8842625bb4 Allow enum-like objects to use upper case naming 2020-03-30 06:17:37 -07:00
dependabot-preview[bot] 586be86b41 Bump @types/webpack from 4.41.8 to 4.41.9
Bumps [@types/webpack](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/webpack) from 4.41.8 to 4.41.9.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/webpack)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-30 08:38:01 +00:00
Daniel Imms 55190fd703 Merge pull request #2786 from Tyriar/eslint
Migrate from tslint to eslint
2020-03-28 08:57:58 -07:00
Daniel Imms 64f7978037 Format eslintrc 2020-03-28 07:50:30 -07:00
Daniel Imms 3f33751ff2 Merge remote-tracking branch 'ups/master' into eslint 2020-03-28 07:45:06 -07:00
Daniel Imms 392f349da1 Remove tslint completely 2020-03-28 07:39:51 -07:00
Daniel Imms bbd83b9dba Migrate whitespace tslint rule 2020-03-28 07:34:49 -07:00
Daniel Imms 2e9b4779c9 Migrate from typedef to explicit-function-return-type 2020-03-28 07:10:08 -07:00
Daniel Imms 8475f95b19 Disable naming convention on CoreMouseService
Until #2787 gets looked at
2020-03-28 07:04:21 -07:00
Daniel Imms 2c0669c865 Fix some naming conventions issues 2020-03-28 06:57:55 -07:00
Daniel Imms 937b551ae4 Migrate naming-convention rules to @typescript/eslint equivalent 2020-03-28 06:53:15 -07:00
Daniel Imms 88a50d3779 Fix most rules 2020-03-28 06:51:36 -07:00
Daniel Imms 57be6616ce Initial eslintrc.js
Generated by tool
2020-03-28 05:10:03 -07:00
Daniel Imms 7e073e6e26 Merge pull request #2783 from Tyriar/deps
Update several dependencies
2020-03-27 18:31:28 -07:00
Daniel Imms 10ff95af6a Update several dependencies 2020-03-27 16:50:49 -07:00
Daniel Imms 378d3e3889 Merge pull request #2772 from xtermjs/dependabot/npm_and_yarn/https-proxy-agent-2.2.4
[Security] Bump https-proxy-agent from 2.2.1 to 2.2.4
2020-03-27 16:06:29 -07:00
dependabot-preview[bot] 88f1353670 [Security] Bump https-proxy-agent from 2.2.1 to 2.2.4
Bumps [https-proxy-agent](https://github.com/TooTallNate/node-https-proxy-agent) from 2.2.1 to 2.2.4. **This update includes security fixes.**
- [Release notes](https://github.com/TooTallNate/node-https-proxy-agent/releases)
- [Commits](https://github.com/TooTallNate/node-https-proxy-agent/compare/2.2.1...2.2.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-27 22:52:12 +00:00
Daniel Imms c229aa8cfe Merge pull request #2760 from xtermjs/dependabot/npm_and_yarn/acorn-5.7.4
Bump acorn from 5.7.1 to 5.7.4
2020-03-27 15:50:55 -07:00
dependabot[bot] 96549a5421 Bump acorn from 5.7.1 to 5.7.4
Bumps [acorn](https://github.com/acornjs/acorn) from 5.7.1 to 5.7.4.
- [Release notes](https://github.com/acornjs/acorn/releases)
- [Commits](https://github.com/acornjs/acorn/compare/5.7.1...5.7.4)

Signed-off-by: dependabot[bot] <support@github.com>
2020-03-27 22:45:12 +00:00
Daniel Imms a99c6145a7 Merge pull request #2779 from xtermjs/dependabot/npm_and_yarn/webpack-cli-3.3.11
Bump webpack-cli from 3.1.0 to 3.3.11
2020-03-27 15:44:21 -07:00
dependabot-preview[bot] c85ab8dcb6 Bump webpack-cli from 3.1.0 to 3.3.11
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 3.1.0 to 3.3.11.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/next/CHANGELOG_v3.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/v.3.1.0...v3.3.11)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-27 21:32:21 +00:00
Daniel Imms db172b341e Merge pull request #2770 from xtermjs/dependabot/npm_and_yarn/deep-equal-2.0.1
Bump deep-equal from 1.1.0 to 2.0.1
2020-03-27 14:28:06 -07:00
dependabot-preview[bot] 11dbba422f Bump deep-equal from 1.1.0 to 2.0.1
Bumps [deep-equal](https://github.com/inspect-js/node-deep-equal) from 1.1.0 to 2.0.1.
- [Release notes](https://github.com/inspect-js/node-deep-equal/releases)
- [Changelog](https://github.com/inspect-js/node-deep-equal/blob/master/CHANGELOG.md)
- [Commits](https://github.com/inspect-js/node-deep-equal/compare/v1.1.0...v2.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-27 21:01:51 +00:00
Felix Seidl a1e60045d9 Merge branch 'master' into fix-edge-selection-color 2020-03-25 17:53:08 +01:00
Charles Wei b36a9d5af3 Merge branch 'master' into master 2020-03-24 21:15:20 +08:00
Daniel Imms fb5ff49008 Merge pull request #2767 from JavaCS3/fix/addDisposableDomListener-leak
fix: addDisposableDomListener dispose() leaking
2020-03-23 06:42:22 -07:00
javacs3 1b857f743e fix: addDisposableDomListener dispose() leaking 2020-03-22 12:56:50 +08:00
javacs3 c2df14cfa0 reduce BufferApiView object creation times 2020-03-22 12:13:53 +08:00
javacs3 44ff7b0f5f change buffer interface from IBuffer to IBufferNamespace 2020-03-22 12:13:52 +08:00
javacs3 5fdbd7428b expose IBufferSet API 2020-03-22 12:10:02 +08:00
Daniel Imms bc9aaebd04 Merge pull request #2766 from Tyriar/readme
Improve demo warning and add to server.js as well
2020-03-19 18:29:01 -07:00
Daniel Imms d90a0ce910 Improve demo warning and add to server.js as well
Fixes #2765
2020-03-19 18:26:45 -07:00
Daniel Imms 9c19043fed Merge pull request #2761 from slel/patch-1
Add CoCalc to "Real-world uses" in README
2020-03-16 06:59:22 -07:00
Samuel Lelièvre beb39ada0c Add CoCalc at end of list of real-world uses 2020-03-16 13:43:42 +01:00
Samuel Lelièvre 47f3eb28a6 Add CoCalc to "Real-world uses" in README 2020-03-16 04:32:34 +01:00
Daniel Imms 28105af761 Merge pull request #2731 from jerch/fix_2729
Clamp visual cursor to cols - 1
2020-03-13 19:26:46 -07:00
Daniel Imms e0ac87e702 Update xterm.d.ts 2020-03-13 19:17:34 -07:00
Daniel Imms b9ea05f97a Merge branch 'master' into fix_2729 2020-03-13 19:09:13 -07:00
Daniel Imms e348163689 Merge pull request #2758 from Tyriar/acorn
Upgrade acorn due to CVE
2020-03-13 18:53:48 -07:00
Daniel Imms 90375531bc Merge branch 'master' into acorn 2020-03-13 18:42:49 -07:00
Daniel Imms ca85f2d725 Upgrade acorn due to CVE 2020-03-13 18:42:10 -07:00
jerch eaadb75d39 Merge pull request #2754 from jerch/fix_vtfeatures_2
vtfeatures 2nd fix
2020-03-11 00:09:53 +01:00
Jörg Breitbart f6793df94a remove leading empty line 2020-03-10 23:59:41 +01:00
jerch 90e716b932 Merge pull request #2753 from jerch/fix_vtfeatures_template
fix missing jekyll header in vtfeatures template
2020-03-10 23:43:48 +01:00
Jörg Breitbart db2853c8ae add missing jekyll yaml entries 2020-03-10 23:35:08 +01:00
Jörg Breitbart 120527cb41 underline color support, test cases 2020-03-08 22:56:58 +01:00
Jörg Breitbart 058f33cd7b update vt docs 2020-03-08 20:25:26 +01:00
Jörg Breitbart 88582726b7 implement SGR 21, sequence tests 2020-03-08 20:08:22 +01: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 47d7a71ad0 fix cursor reset in DECSTR, some tests 2020-03-01 13:29:18 +01:00
Felix Seidl 88a6be16af use original css color string 2020-02-27 23:03:23 +01:00
jerch 23cacbf81a Merge branch 'master' into reverse_wraparound 2020-02-22 23:49:25 +01:00
Jörg Breitbart db304513b1 unify naming, adjust addon version, fix interface description 2020-02-22 20:30:36 +01:00
Jörg Breitbart 8d1b4bf78f fix webgl renderer 2020-02-22 20:18:45 +01:00
Jörg Breitbart 1cff37af99 fix dom renderer 2020-02-22 20:08:34 +01:00
jerch ecc7f2d780 Merge branch 'master' into fix_2729 2020-02-22 19:57:53 +01:00
Daniel Imms dbb6610d50 Merge pull request #2730 from Tyriar/ts38
typescript@3.8
2020-02-22 19:53:40 +01:00
Daniel Imms ae135ac181 Merge pull request #2730 from Tyriar/ts38
typescript@3.8
2020-02-22 10:04:07 -08:00
Daniel Imms df1d68b626 typescript@3.8 2020-02-22 09:43:16 -08:00
Jörg Breitbart d35d12f671 Merge branch 'reverse_wraparound' of github.com:jerch/xterm.js into reverse_wraparound 2020-02-21 18:24:55 +01:00
Jörg Breitbart cb31179274 respect scroll margins, tests 2020-02-21 18:23:00 +01:00
kumaran-14 c9277c3c72 Remove altEscape DECSET mode and add support for alt+esc key 2020-02-21 13:13:46 +05:30
kumaran-14 5896a05ca6 Change decset flag to altEscMode 2020-02-20 00:21:33 +05:30
jerch 5cf0aadd84 Merge branch 'master' into reverse_wraparound 2020-02-18 20:12:55 +01:00
Daniel Imms a18bac7380 Remove browser args 2020-02-18 07:47:01 -08:00
Daniel Imms 9a1c7953e7 dumpio in browser launch 2020-02-18 07:39:15 -08:00
Daniel Imms 53c526f48c Improve Linux dependencies, enable WebKit 2020-02-18 06:49:11 -08:00
Daniel Imms 49bfd05d7c Merge pull request #2723 from UziTech/patch-1
atom-xterm -> x-terminal
2020-02-18 06:33:24 -08:00
Jörg Breitbart 62ea2c691e wide char tests 2020-02-17 12:39:36 +01:00
Jörg Breitbart 7de600cc64 test case for clearing cells to the right on early wrap-around 2020-02-17 12:30:35 +01:00
Jörg Breitbart 0c703276b1 fix behavior, first BS tests 2020-02-17 12:22:53 +01:00
Tony Brix 11ac8da14e Update README.md 2020-02-17 00:04:47 -06:00
Jörg Breitbart f736b6c299 comment missing empty cell handling 2020-02-16 20:53:53 +01:00
Jörg Breitbart 6f886fe167 working draft 2020-02-16 20:41:55 +01:00
Daniel Imms 986baed290 Merge pull request #2722 from Tyriar/linux_tests
Install deps for webkit and firefox on Linux
2020-02-16 08:08:20 -08:00
Daniel Imms 84c5f76b76 Remove webkit tests on Linux 2020-02-16 07:57:28 -08:00
Tony Brix 39c6f41f0e atom-xterm -> x-terminal 2020-02-15 15:16:37 -06:00
Daniel Imms bdb01e6166 Remove DEBUG, test fit addon based on a range 2020-02-15 12:26:59 -08:00
Daniel Imms 35ddcdd266 Upgrade to ubuntu-18.04 2020-02-15 12:13:38 -08:00
Daniel Imms 7e8e1215ad Fix order 2020-02-15 12:09:57 -08:00
Daniel Imms 83abd7ef59 Change pipeline property names 2020-02-15 12:07:19 -08:00
Daniel Imms 26fa6c97bf Install deps for webkit and firefox on Linux
Fixes #2721
2020-02-15 07:38:40 -08:00
Daniel Imms 708c6bdeb8 Merge pull request #2712 from jmbockhorst/playwright
Use playwright instead of puppeteer
2020-02-15 07:22:52 -08:00
Daniel Imms c73adf02bc Disable windows tests 2020-02-15 07:14:09 -08:00
Daniel Imms c36a468561 script -> pwsh 2020-02-15 07:08:42 -08:00
Daniel Imms 83794c433f Tweak windows server start 2020-02-15 07:05:20 -08:00
Daniel Imms eb82346ce7 Add a Windows test job 2020-02-15 06:40:04 -08:00
Daniel Imms 1a6ec0d768 Disable webkit on Linux 2020-02-15 06:39:10 -08:00
Daniel Imms 446f8f93c6 Disable firefox on linux 2020-02-15 06:27:03 -08:00
Daniel Imms 445a801d5d Fix syntax error 2020-02-15 06:21:05 -08:00
Daniel Imms 579a135087 Try firefox deps
https://bugzilla.mozilla.org/show_bug.cgi?id=1372998
2020-02-15 06:17:53 -08:00
Daniel Imms cd1b251cef Up timeout for slower CI agents 2020-02-15 06:07:33 -08:00
Daniel Imms ed23194abd Update macOS version 2020-02-15 06:00:59 -08:00
Daniel Imms 2ac0c0a957 Move playwright-core back to dev 2020-02-15 05:55:01 -08:00
Daniel Imms 477b161ba2 Change browserType back to sync 2020-02-15 05:51:39 -08:00
Daniel Imms cb1353c898 Cache yarn modules on integration test jobs 2020-02-15 05:48:38 -08:00
Daniel Imms 47dc137de0 Download browser at start of test 2020-02-15 05:47:42 -08:00
Daniel Imms 03c6b0c688 Fix typo in firefox job 2020-02-15 05:30:33 -08:00
Daniel Imms ffc5e2f446 Move to playwright-core, download browser if needed 2020-02-15 05:28:21 -08:00
Daniel Imms 4ebb61b580 Adopt playwright breaking changes 2020-02-15 05:18:46 -08:00
Daniel Imms 4ae25e57a3 playwright@0.11.1 2020-02-15 05:14:00 -08:00
Daniel Imms 7bd4f3874e Fix lint 2020-02-15 05:13:52 -08:00
Daniel Imms 2b7080294d Only start server once in pipelines 2020-02-15 05:06:44 -08:00
Daniel Imms 3b51565a13 Fix pipelines file 2020-02-15 05:02:28 -08:00
Daniel Imms 7400b888df Skip mouse wheel-related tests on non-chromium 2020-02-15 05:00:52 -08:00
Daniel Imms 3f15a7251b Skip webgl tests instead of not registering 2020-02-15 04:53:45 -08:00
Daniel Imms a9356fd377 Skip paste test when not Chromium 2020-02-15 04:43:38 -08:00
Daniel Imms f3eb9f79a1 Movee api test timeout into CLI args 2020-02-15 04:29:04 -08:00
Daniel Imms 93026bcae0 Only enable webgl tests on chromium and non-headless firefox
See microsoft/playwright#1032
2020-02-15 04:23:31 -08:00
Daniel Imms 6082c00b1d Fix serialize tests on firefox
Firefox takes longer to start up
2020-02-15 03:58:33 -08:00
Daniel Imms e6e181e6bc Fix firefox tests FitAddon tests 2020-02-15 03:54:30 -08:00
Daniel Imms 502452f58e Enable tests on other browsers 2020-02-15 03:35:08 -08:00
Daniel Imms 1d0cceb2d3 Merge branch 'master' into playwright 2020-02-15 03:26:37 -08:00
kumaran-14 b75ae0f7b1 Support alt+Enter key signal by default 2020-02-14 20:00:03 +05:30
Daniel Imms 5f0217cdb0 Merge pull request #2710 from jmbockhorst/linkFix
Fix Link Provider end positions
2020-02-13 08:49:45 -08:00
Daniel Imms 7b40aa89b4 Merge branch 'master' into linkFix 2020-02-13 08:36:43 -08:00
Jon Bockhorst e817a7b6c6 Add Linkifier2 tests 2020-02-13 00:43:24 -06:00
Jon Bockhorst b53c2e1a26 Fix tests 2020-02-13 00:15:12 -06:00
Jon Bockhorst 383e2ed46f Remove duplicate code and clean up after merge 2020-02-13 00:07:07 -06:00
Jon Bockhorst 258b084a62 Merge branch 'master' of https://github.com/xtermjs/xterm.js into playwright 2020-02-12 23:53:53 -06:00
Daniel Imms c5593bde08 Merge pull request #2711 from jmbockhorst/testing
Move openTerminal() to common util file
2020-02-12 16:12:47 -08:00
Daniel Imms 2cd4580154 Merge pull request #2715 from kumaran-14/2586_dom_renderer
Remove multiple usance of background-color in dom renderer
2020-02-12 16:05:38 -08:00
Jon Bockhorst 2442dc09b0 Clean up some stuff based on feedback 2020-02-12 16:00:21 -06:00
Jon Bockhorst d482ca5d68 Merge branch 'master' into testing 2020-02-12 14:34:30 -06:00
Jon Bockhorst 3616b697ec Remove unnecessary composite setting 2020-02-12 14:29:38 -06:00
Kumaran a19dfe608d Merge branch 'master' into 2586_dom_renderer 2020-02-12 23:12:28 +05:30
kumaran-14 0c1e9b6678 Remove multiple usance of background-color in dom renderer 2020-02-12 23:07:12 +05:30
Jon Bockhorst 391313cd39 Revert some formatting and remove puppeteer 2020-02-11 13:32:55 -06:00
Jon Bockhorst 8fb6ded506 Fix mouse tests for chromium 2020-02-11 13:13:03 -06:00
Jon Bockhorst eb7b2f4683 Make addons use common test functions 2020-02-11 11:39:36 -06:00
Jon Bockhorst 520918348e Fix some mouse tests 2020-02-10 18:18:23 -06:00
Jon Bockhorst e7b3910f3d Update CI to node 10 2020-02-10 17:05:18 -06:00
Jon Bockhorst 7515ed6146 Use playwright instead of puppeteer 2020-02-10 16:56:37 -06:00
Jon Bockhorst 901adb38ae Fix linkProvider end positions 2020-02-10 12:39:16 -06:00
Jon Bockhorst 522378a507 Move openTerminal() to common util file 2020-02-10 11:18:23 -06:00
Daniel Imms 1bb2fc912b Merge pull request #2709 from Tyriar/search_bump
Release search
2020-02-10 05:51:49 -08:00
Daniel Imms 423d112dfc Release search
0.4.0 isn't compatible with xterm@4.4
2020-02-10 05:51:02 -08:00
Daniel Imms 63fde03552 Merge pull request #2530 from jmbockhorst/linkParser
Basic link parser for better link detection
2020-02-08 11:12:10 -08:00
Daniel Imms d1d27b5367 Remove logs 2020-02-08 11:04:04 -08:00
Daniel Imms 0e302baa43 Mark link matcher API as deprecated 2020-02-08 10:58:58 -08:00
Daniel Imms a7c2d54e53 Document link provider argument in web links addon 2020-02-08 10:54:29 -08:00
Daniel Imms 54743eda16 Make link matcher API the default for web links addon 2020-02-08 10:52:36 -08:00
Daniel Imms 660cf26e49 Merge branch 'master' into linkParser 2020-02-07 12:47:25 -08:00
Daniel Imms e4875f26ff Add test for absense of hover/leave 2020-02-07 11:54:07 -08:00
Daniel Imms 7f1f22146d Add test for activate 2020-02-07 11:52:58 -08:00
Daniel Imms 0103c689f7 Start registerLinkProvider tests
Bugs fixed:

- Not breaking on first link match for multiple providers
- Hover event wasn't fired when on last character of link
2020-02-07 11:16:41 -08:00
Daniel Imms f4a31251cb handle -> activate 2020-02-07 09:59:25 -08:00
Daniel Imms b18ded0e2d Rename tooltip to hover/leave 2020-02-07 09:55:06 -08:00
Daniel Imms c327116e7f url -> text 2020-02-07 09:39:26 -08:00
Daniel Imms ef071ac7ac Polish API 2020-02-07 09:30:12 -08:00
Daniel Imms 56990f2a29 Merge pull request #2698 from xtermjs/Tyriar-patch-1
Fix grammar in demo
2020-02-07 09:13:58 -08:00
Daniel Imms 4475a82776 Fix grammar in demo 2020-02-07 09:13:03 -08:00
Daniel Imms 560a30662b Merge pull request #2696 from mofux/fix/serialize-addon-peer-dependency
Fix serialize addon peer dependency to xterm
2020-02-07 09:09:13 -08:00
Daniel Imms a066bbe32f 💄 2020-02-07 09:08:07 -08:00
Daniel Imms e252b4b674 Merge branch 'master' into linkParser 2020-02-07 09:04:24 -08:00
Thomas Zilz 3283ffb4e1 Fix serialize addon peer dependency to xterm 2020-02-06 12:27:02 +01:00
Daniel Imms a840db3e79 Merge pull request #2692 from xtermjs/Tyriar-patch-1
v4.4.0
2020-02-04 09:54:10 -08:00
Daniel Imms dc19d7c72c v4.4.0 2020-02-04 09:53:56 -08:00
Jon Bockhorst a95b1b4881 Merge branch 'master' of https://github.com/xtermjs/xterm.js into linkParser 2020-02-04 11:40:48 -06:00
Daniel Imms 4d0fc16fe3 Merge pull request #2691 from Tyriar/bump2
Bump serialize and unciode11 addon versions to trigger publish
2020-02-04 09:39:47 -08:00
Daniel Imms b13c3be92f Bump serialize and unciode11 addon versions to trigger publish 2020-02-04 09:39:18 -08:00
Daniel Imms a3a222c1f1 Merge pull request #2690 from Tyriar/version_bump_publish
Bump attach and webgl addons and automatically publish serialize and unicode11 addons
2020-02-04 09:29:04 -08:00
Daniel Imms 1d7cfcdd99 Bump webgl and attach versions 2020-02-04 09:19:49 -08:00
Daniel Imms 2c05e721fd Publish serialize and unicode11 addons automatically 2020-02-04 09:19:28 -08:00
Daniel Imms 22acf1ec25 Merge pull request #2618 from xtermjs/feat/serialize-addon
Merge serialize addon into master
2020-02-04 08:54:41 -08:00
Daniel Imms 9c8deb1470 Revert "Remove getNullCell"
This reverts commit 0b6a5b7630.
2020-02-04 08:42:24 -08:00
Daniel Imms 9b9cb5c076 Merge branch 'master' into feat/serialize-addon 2020-02-04 08:33:11 -08:00
Daniel Imms 0b6a5b7630 Remove getNullCell
Replace with fetching cell (0,0) and using that as the initial null cell. We
can reconsider adding this back if it's needed
2020-02-04 08:31:06 -08:00
Daniel Imms fac025367b Document IBufferCell members 2020-02-04 08:15:21 -08:00
Daniel Imms e5246f3993 jsdoc IBufferLine.length 2020-02-04 07:55:26 -08:00
Daniel Imms 89370a1f74 Explain why reusing IBufferCell is useful 2020-02-04 07:54:11 -08:00
Daniel Imms 51a564eb9c Remove links to serialize from test/benchmark 2020-02-04 07:45:12 -08:00
Daniel Imms b50b6ccb8b Fix fg used by selection in webgl again
See #2650
2020-02-04 07:41:04 -08:00
Daniel Imms 7a8e2c67b0 Merge pull request #2393 from jerch/window_manipulation
Support for window options
2020-02-04 07:38:51 -08:00
Daniel Imms 1b4a3475e8 Fix demo after bad merge 2020-02-04 07:07:34 -08:00
Daniel Imms 3d2d35f5b6 Pull render service off instantiation service safely 2020-02-04 07:01:25 -08:00
Daniel Imms 489d8110c9 Move windowOptions into public API part 2020-02-04 06:53:17 -08:00
Daniel Imms fc5bf99715 Merge branch 'master' into window_manipulation 2020-02-04 06:52:24 -08:00
Daniel Imms 999bdc9498 Merge branch 'master' into feat/serialize-addon 2020-02-04 06:52:00 -08:00
Daniel Imms 06e3528bc8 Merge pull request #2689 from Tyriar/2607_parser_stable
Make parser stable, remove deprecated APIs
2020-02-04 06:51:38 -08:00
Daniel Imms b06a88b09f Merge pull request #2688 from Tyriar/2608_safe_links
Handle links safely by removing opener from window
2020-02-04 06:51:24 -08:00
Daniel Imms 51aab3eacc Merge branch 'master' into window_manipulation 2020-02-04 06:51:13 -08:00
Daniel Imms 545807755d Merge pull request #2386 from jerch/extract_vt_features
document VT features in docstrings
2020-02-04 06:50:07 -08:00
Daniel Imms b7ae55a07b Make parser stable, remove deprecated APIs
Fixes #2607
2020-02-04 06:46:25 -08:00
Daniel Imms a980b3d132 Handle links safely by removing opener from window
Fixes #2608
2020-02-04 06:43:17 -08:00
Daniel Imms 58047e8b82 Merge branch 'master' into window_manipulation 2020-02-04 06:33:54 -08:00
Daniel Imms 9abeaa74c6 Merge pull request #2687 from JavaCS3/feat/serialize-addon
fix: api test fail due to IBufferCell api changes
2020-02-04 06:18:53 -08:00
javacs3 c512e48c52 fix: api test fail due to IBufferCell api changes 2020-02-04 14:46:03 +08:00
Daniel Imms 8924437fc5 Merge branch 'master' into feat/serialize-addon 2020-02-03 12:00:20 -08:00
Daniel Imms 1d8e242b3c Merge pull request #2369 from JavaCS3/feat/serialize-addon
Add foreground/background color support for SerializeAddon
2020-02-03 11:58:44 -08:00
Daniel Imms cf33f7c281 Merge branch 'feat/serialize-addon' into feat/serialize-addon 2020-02-03 11:54:11 -08:00
Daniel Imms 56ac6f66bf Merge pull request #2685 from Tyriar/2675_remove_options
Remove old unused options from codebase
2020-02-03 11:17:39 -08:00
jerch 5ac649b21a Merge branch 'master' into extract_vt_features 2020-02-03 20:06:33 +01:00
Daniel Imms 4a567c9f5a Remove old unused options from codebase
Fixes #2675
2020-02-03 10:56:46 -08:00
Daniel Imms 479fddfeec Merge branch 'master' into window_manipulation 2020-02-03 10:48:38 -08:00
Daniel Imms cc6f9e9da4 Merge pull request #2684 from Tyriar/2683_cursor_refresh
Refresh cursor row when cursor settings updated
2020-02-03 10:34:46 -08:00
Daniel Imms de9df12ea9 Merge remote-tracking branch 'ups/master' into pr/jerch/2393 2020-02-03 10:34:26 -08:00
Daniel Imms 8145829619 Merge pull request #2568 from jerch/updated_wcwidth
wcwidth rules for unicode 11
2020-02-03 10:27:47 -08:00
Daniel Imms 3bd0cb9a15 Merge branch 'master' into updated_wcwidth 2020-02-03 10:22:29 -08:00
Daniel Imms 412d6fe42c Refresh cursor row when cursor settings updated
Fixes #2683
2020-02-03 10:13:13 -08:00
Daniel Imms 12362cac61 Merge pull request #2679 from jerch/fix_2678
Add/fix chars in DEC graphics charset
2020-02-03 07:15:47 -08:00
Daniel Imms 001d26d73c Merge pull request #2670 from kumaran-14/patch-alt-click
Fixes Alt + click behaviour when rows are wrapped
2020-02-03 07:07:59 -08:00
Daniel Imms 75191982da Merge pull request #2682 from Tyriar/2681_exit_code_ci
Return exit code in Linux unit tests
2020-02-03 07:06:47 -08:00
Daniel Imms 8093a5f419 Fix lint 2020-02-03 07:02:14 -08:00
Daniel Imms 3d53847f30 Return exit code in Linux unit tests
Fixes #2681
2020-02-03 07:00:06 -08:00
Daniel Imms bb944f190e Fix and add more MoveToCell tests 2020-02-03 06:54:35 -08:00
Daniel Imms 7d84083f55 Fix algorithm to move the right amount of cells 2020-02-03 06:43:20 -08:00
kumaran-14 b591ccc40d Fix moveToCell when target is beyond buffer 2020-02-02 23:28:24 +05:30
Daniel Imms 46b95ed639 Merge pull request #2676 from jeffbaier/master
Add _terminalClass identifier to cursor blink animation css
2020-02-02 05:21:03 -08:00
Daniel Imms c050cf305c Merge pull request #2680 from Tyriar/2665_word_ep
Remove ; and : from default wordSeparator
2020-02-02 05:15:13 -08:00
Daniel Imms d5bf8966d9 Remove ; and : from default wordSeparator
Fixes #2665
2020-02-02 05:10:57 -08:00
Jörg Breitbart 49bc27e24f fixing visual repr chars 2020-02-02 13:07:11 +01:00
Jeff Baier 6240a5d7a4 Add _terminalClass identifier to cursor blink animation css
so that multiple DOM rendered instances no longer lose the cursor theme color
Fixes #2674
2020-01-22 14:16:39 -06:00
kumaran-14 af67b72492 Fix unit tests for MoveToCellSequence 2020-01-15 21:32:04 +05:30
Jörg Breitbart d2145368fa several template updates 2020-01-10 18:51:27 +01:00
Jörg Breitbart 4010900e47 simply status column, reason in title 2020-01-09 22:40:08 +01:00
Jörg Breitbart 2d1af70e87 lower header level; fix wrongly escaped sequences 2020-01-09 20:40:18 +01:00
kumaran-14 76d4de225a Run eslint and fix errors 2020-01-10 00:40:49 +05:30
kumaran-14 f5c3b00c42 Fixes Alt + click behaviour when rows are wrapped 2020-01-10 00:02:18 +05:30
Jörg Breitbart f9fddfc43d fix table sorting 2020-01-09 18:47:56 +01:00
Jörg Breitbart 12b912140b use 2 empty lines as end of vt definition 2020-01-09 16:40:35 +01:00
javacs3 56f4c3d6ae remove BufferCellApiView 2020-01-09 21:15:30 +08:00
jerch f560d187c1 Merge branch 'master' into window_manipulation 2020-01-09 00:27:22 +01:00
jerch d4d7446789 Merge branch 'master' into updated_wcwidth 2020-01-09 00:26:48 +01:00
jerch 663da772e0 Merge branch 'master' into extract_vt_features 2020-01-09 00:07:44 +01:00
Jörg Breitbart b51226f76c docs for SM/RM/DECSET/DECRST/SGR 2020-01-09 00:00:19 +01:00
Jörg Breitbart 297ea529a2 make linter happy 2020-01-08 18:08:39 +01:00
Jörg Breitbart 016d176cbd more docs 2020-01-08 17:51:56 +01:00
Daniel Imms 83e582b7ab Merge remote-tracking branch 'origin/master' into feat/serialize-addon 2020-01-07 10:30:21 -08:00
Daniel Imms fbeb45d1da Merge pull request #2667 from Tyriar/2666_windows_cup
Flag lines as wrapped after CUP in windows mode
2020-01-07 09:20:58 -08:00
Daniel Imms be24cdb917 Merge branch 'master' into 2666_windows_cup 2020-01-07 09:16:25 -08:00
Daniel Imms 685d14c4d5 Improve windows mode method name 2020-01-07 09:16:16 -08:00
Daniel Imms c50cd4cc3e Flag lines as wrapped after CUP in windows mode
Fixes #2666
2020-01-07 09:15:04 -08:00
Jörg Breitbart e240160d39 break command definition on new @vt entry 2020-01-07 01:01:46 +01:00
Jörg Breitbart dae8c3599b make linter happy 2020-01-07 00:47:07 +01:00
Jörg Breitbart 7d8c0268ea remove unicodeVersion from options 2020-01-07 00:29:48 +01:00
Jörg Breitbart fc2df6cfd6 all multiple @vt in one multiline comment 2020-01-06 23:58:30 +01:00
Jörg Breitbart 5b2ccdbda7 make linter happy 2020-01-05 23:00:46 +01:00
Jörg Breitbart a0d724c186 move doc to impl 2020-01-05 22:41:36 +01:00
Jörg Breitbart aec2baa7e7 Merge branch 'master' into extract_vt_features 2020-01-05 21:38:21 +01:00
Jörg Breitbart 67bbbd8671 Merge branch 'master' into window_manipulation 2020-01-05 16:40:38 +01:00
Jörg Breitbart 3e1dbd4c39 fix api test 2020-01-04 15:39:00 +01:00
Jörg Breitbart df4b07f9f2 type fixes & docs 2020-01-04 14:47:14 +01:00
Daniel Imms bd4c2da37c Merge branch 'master' into updated_wcwidth 2020-01-03 07:23:44 -08:00
Daniel Imms 1c06e576ae Merge pull request #2663 from thefallentree/patch-1
Adding FluffOS to xtermjs user list
2020-01-03 07:17:16 -08:00
Yucong Sun 5d3629173f Merge branch 'master' into patch-1 2020-01-02 11:58:34 -08:00
Yucong Sun 5f25f40db9 Adding FluffOS to xtermjs user list 2020-01-02 11:57:45 -08:00
javacs3 a4efefbf5e refactor: serialize-addon, move SerializeAddon.benchmark.ts into addons/xterm-addon-serialize and add README.md 2019-12-31 22:06:19 +08:00
jerch 56e77d3106 Merge branch 'master' into updated_wcwidth 2019-12-29 11:21:55 +01:00
Daniel Imms 2a9e16bb8e Merge pull request #2654 from Tyriar/2646_attach_es6
Target es5 in attach addon
2019-12-27 08:37:46 -08:00
Daniel Imms c512485514 Target es5 in attach addon
Fixes #2646
2019-12-27 08:33:42 -08:00
jerch a0fb880ebc Merge branch 'master' into updated_wcwidth 2019-12-26 20:11:18 +01:00
jerch e52eafa7bb Merge pull request #2644 from jerch/fullwidth_erase
Correctly reset cells of previous fullwidth chars during buffer writes
2019-12-26 20:08:50 +01:00
Jörg Breitbart 9f8ea28db4 sanity checks in print wide char handling 2019-12-26 20:04:11 +01:00
Jörg Breitbart 1c1eaa6296 Merge branch 'master' into fullwidth_erase 2019-12-26 19:49:17 +01:00
Daniel Imms b32bfedde9 Merge pull request #2653 from Tyriar/2604_color_naming
Standardize how colors helper lib is structured
2019-12-27 03:22:54 +11:00
Daniel Imms f7d36a670c Merge pull request #2651 from Tyriar/2610_register_add
Use register over add for APIs returning disposables
2019-12-27 03:10:41 +11:00
Daniel Imms 37461c2a5a Merge branch 'master' into 2604_color_naming 2019-12-26 08:10:25 -08:00
Daniel Imms 5a17825b47 Merge pull request #2629 from ivanwonder/convert-color
format color value to style '#rrggbbaa'
2019-12-27 03:07:00 +11:00
Daniel Imms 761c25fa6d Merge pull request #2650 from Tyriar/2599_inverse_selection
Set glyph fg color based on original bg, not selection
2019-12-27 03:06:05 +11:00
Daniel Imms c40df65d13 Merge branch 'master' into convert-color 2019-12-27 03:02:58 +11:00
Daniel Imms 79860e7b15 Remove .only 2019-12-27 02:59:27 +11:00
Daniel Imms ca68a38f2c Merge branch 'master' into 2604_color_naming 2019-12-27 02:58:22 +11:00
Daniel Imms b075cc5e6f Merge branch 'master' into 2599_inverse_selection 2019-12-27 02:55:51 +11:00
Daniel Imms 3e3c51ae53 Add a test for selection
Part of #2600
2019-12-26 14:26:53 +11:00
Daniel Imms 28d7eddcb4 Set glyph fg color based on original bg, not selection
This involves resolving the rgb channels of the original background
color and encoding them using the RGB color mode.

Fixes #2599
2019-12-26 14:04:50 +11:00
Daniel Imms 509327b4c7 Use register over add for APIs returning disposables
Fixes #2610
2019-12-26 12:19:03 +11:00
Daniel Imms ee74130806 Standardize how colors helper lib is structured
Fixes #2604
2019-12-26 12:12:08 +11:00
Jörg Breitbart 0edbbf9fe0 fix print handler; tests 2019-12-21 23:07:12 +01:00
Jörg Breitbart 7ec658a3f8 apply erase attrs in handler methods 2019-12-21 21:57:39 +01:00
Jörg Breitbart 2b4da1f88e add wide char handling to bufferline primitives 2019-12-21 21:40:01 +01:00
Jörg Breitbart 84608256ea Merge branch 'master' into window_manipulation 2019-12-21 17:11:12 +01:00
Jörg Breitbart 0f8a034e8b make linter happy 2019-12-21 16:29:46 +01:00
Jörg Breitbart 0631323bf5 cleanup 2019-12-21 16:27:12 +01:00
Jörg Breitbart 825cc006e5 Merge branch 'master' into updated_wcwidth 2019-12-21 15:28:38 +01:00
Daniel Imms f1e01c7166 Merge pull request #2640 from Tyriar/reset_fix
Move back to reseting parser only on RIS
2019-12-20 06:26:50 +11:00
Daniel Imms 15e3173177 Move back to reseting parser only on RIS
Related #2637
2019-12-20 06:14:26 +11:00
javacs3 34bf2f9a0f refactor: serialize-addon, remove timeout in api test 2019-12-19 22:17:32 +08:00
Daniel Imms 71a78cbf01 Merge pull request #2637 from Tyriar/input_handler
Remove a large portion of InputHandler's dependency on Terminal
2019-12-19 18:45:13 +11:00
Daniel Imms 03fc6c3f97 Don't keep a reference to parent anymore 2019-12-19 16:04:15 +11:00
Daniel Imms e6c095754f Remove old params props from Terminal 2019-12-19 15:59:59 +11:00
Daniel Imms d045d39f88 Move charset service reset out of _setup 2019-12-19 15:58:27 +11:00
Daniel Imms 63bf719067 Merge branch 'master' into input_handler 2019-12-19 15:54:03 +11:00
Daniel Imms 34168bd223 Fix InputHandler resetting 2019-12-19 15:42:23 +11:00
Daniel Imms 4f3e3d9285 Merge pull request #2631 from cmeyer90/master
Added Gus to list of xterm real-world users
2019-12-19 15:20:47 +11:00
Daniel Imms c41f1c3d22 Merge branch 'master' into master 2019-12-19 15:20:23 +11:00
Daniel Imms 7d8086e138 Merge pull request #2636 from phillc/master
Add Linode to real world uses
2019-12-19 15:19:24 +11:00
Phillip Campbell 0727797254 Add Linode to real world uses 2019-12-18 09:05:29 -05:00
javacs3 7a8c3a42cd refactor: serialize-addon, rename some APIs in SerializeAddon 2019-12-18 20:27:44 +08:00
javacs3 84f5f20edb refactor: serialize-addon, remove equalFg(), equalBg(), equalFlags() api from xterm.d.ts 2019-12-18 20:27:39 +08:00
javacs3 b80b5a94f9 refactor: serialize-addon, rename _nextRow() to _rowEnd() 2019-12-18 20:27:33 +08:00
javacs3 a43cc23d67 refactor: serialize-addon, remove _cellFgBgChanged(), _cellFlagsChanged(), _lineStart() functions 2019-12-18 20:27:19 +08:00
javacs3 9e1f607bd9 fix: serialize-addon, remove unused packages in yarn.lock 2019-12-18 20:27:01 +08:00
Daniel Imms 914861503b Remove a bunch of unused interfaces 2019-12-18 12:06:41 +11:00
Daniel Imms 8e996ae571 Remove terminal.bell usage 2019-12-18 12:00:38 +11:00
Daniel Imms 5d351ec8c0 Isolate cast in TestInputHandler 2019-12-18 11:57:16 +11:00
Daniel Imms 33db0203dd Remove terminal.reset usage from input handler 2019-12-18 11:55:25 +11:00
Daniel Imms 7a1bef7daf More cur/erase attr data to input handler 2019-12-18 11:47:45 +11:00
Daniel Imms 2bbda38488 Remove redundant value reset
Done in core service reset
2019-12-18 11:31:08 +11:00
Daniel Imms e3e59c35fc Use optional chaining in InputHandler 2019-12-18 11:28:15 +11:00
Daniel Imms dc61fae12a Move applicationKeypad into core service 2019-12-18 11:23:57 +11:00
Daniel Imms dada7fe728 Move origin mode into core service 2019-12-18 11:20:36 +11:00
Daniel Imms bff74b1d7d Move wraparound mode into core service modes 2019-12-18 11:16:27 +11:00
Daniel Imms 224fb5c6a2 Move charset into own service 2019-12-18 10:53:05 +11:00
Daniel Imms 05e1cd8478 Move charset logic into core service 2019-12-18 10:32:38 +11:00
Daniel Imms a2297a5fa6 Remove Terminal.refresh usage in InputHandler 2019-12-18 10:30:49 +11:00
Daniel Imms 94f5c37884 Support events with 2 args
This will allow higher perf events by avoiding object creation
2019-12-18 09:59:33 +11:00
Clark Meyer ed334fd790 Added Gus to list of xterm real-world users 2019-12-14 21:59:43 -08:00
ivanwonder efb2069500 format color value to style '#rrggbbaa' 2019-12-13 10:57:42 +08:00
Daniel Imms 924526c1e6 Merge pull request #2628 from Tyriar/webgl_pub
Webgl v0.4.1
2019-12-12 09:48:55 +11:00
Daniel Imms 89995fe7ca Webgl v0.4.1 2019-12-11 14:47:26 -08:00
Daniel Imms 929914da5d Merge pull request #2626 from Tyriar/2634_texture_atlas
Expose texture atlas as API and use in demo
2019-12-12 09:45:19 +11:00
Daniel Imms 31669cbad6 Expose texture atlas as API and use in demo
Part of #2623
2019-12-11 14:26:12 -08:00
Daniel Imms a1e73331b8 Merge pull request #2625 from Tyriar/2596_hidden
Implement hidden in DOM and WebGL renderers
2019-12-10 23:07:30 -08:00
Daniel Imms 31da88ad89 Add webgl invisible tests 2019-12-09 19:47:47 -08:00
Daniel Imms 93cdee3bab Support hidden in WebGL renderer
Fixes #2596
2019-12-09 19:39:59 -08:00
Daniel Imms ed7d8e7c3b Support hidden attr in DOM renderer 2019-12-09 19:37:12 -08:00
Daniel Imms 050d9ff04d Merge pull request #2621 from jerch/update_nodepty
update version of node-pty
2019-12-08 10:46:25 -08:00
jerch 512076898d Merge branch 'master' into window_manipulation 2019-12-08 18:58:57 +01:00
Jörg Breitbart a628e427de update version of node-pty 2019-12-08 18:46:40 +01:00
Daniel Imms 05f1887559 Merge branch 'master' into updated_wcwidth 2019-12-07 13:32:13 -08:00
Daniel Imms 266859edf3 Merge pull request #2590 from npezza93/configure-cursor-bar-width
Allow the thickness of the bar cursor to be configured
2019-12-07 13:30:17 -08:00
Daniel Imms 79ea49cafd Floor cursorWidth to ensure it's an integer 2019-12-07 13:25:59 -08:00
Nick Pezza 3cb67f2806 Merge branch 'master' into configure-cursor-bar-width 2019-12-07 15:54:35 -05:00
Nick Pezza fa4de08934 Apply changes to the dom renderer 2019-12-07 15:54:17 -05:00
Nick Pezza 70c8f8733a Sanitize cursorWidth option 2019-12-07 15:42:33 -05:00
Nick Pezza 97dc61e65f s/cursorBarWidth/cursorWidth 2019-12-07 15:40:02 -05:00
Nick Pezza 48aebec01f Remove default width value 2019-12-07 15:39:34 -05:00
Nick PezzaandDaniel Imms 58078459f8 Update cursor width doc
Co-Authored-By: Daniel Imms <tyriar@tyriar.com>
2019-12-07 15:38:12 -05:00
Daniel Imms fb9b19b95e Merge remote-tracking branch 'ups/feat/serialize-addon' into pr/JavaCS3/2369 2019-12-07 10:27:11 -08:00
Daniel Imms 7af6cf450b Merge remote-tracking branch 'origin/master' into feat/serialize-addon 2019-12-07 10:26:38 -08:00
Daniel Imms ca12cf5802 Support serializing tabs 2019-12-07 10:24:22 -08:00
Jörg Breitbart d7737f6c88 cleanup 2019-12-07 13:39:06 +01:00
Jörg Breitbart b5fdd3b8d8 several fixes 2019-12-07 13:23:00 +01:00
Jörg Breitbart 5b95f7e565 Merge branch 'window_manipulation' of github.com:jerch/xterm.js into window_manipulation 2019-12-07 12:26:51 +01:00
Jörg Breitbart be3f3da532 Merge branch 'master' into window_manipulation 2019-12-07 12:26:31 +01:00
Jörg Breitbart f13e52fffb Merge branch 'master' into updated_wcwidth 2019-12-07 12:21:18 +01:00
Daniel Imms ab66cb5d26 Merge pull request #2616 from sdegutis/patch-1
Avoid roundtrip to browser when double-disposing.
2019-12-06 16:18:30 -08:00
Jörg Breitbart 878b762537 Merge branch 'master' into updated_wcwidth 2019-12-06 23:17:09 +01:00
Steven Degutis c5e144f327 Avoid roundtrip to browser when double-disposing. 2019-12-06 15:57:26 -06:00
Jörg Breitbart 92ac99e878 cleanup 2019-12-06 20:41:24 +01:00
Jörg Breitbart 70dabf11db fix failing tests 2019-12-06 17:00:46 +01:00
Jörg Breitbart 0f83d645b6 remove V11 from base repo 2019-12-06 16:46:50 +01:00
Jörg Breitbart 794573969c remove CharWidth.ts 2019-12-06 16:44:20 +01:00
Jörg Breitbart 303abf8a91 unicode11 addon 2019-12-06 16:28:16 +01:00
Daniel Imms bd0d267d97 Merge pull request #2605 from Tyriar/r43
v4.3.0
2019-12-05 12:40:34 -08:00
Daniel Imms c9babb9477 v4.3.0 2019-12-05 12:34:36 -08:00
Jörg Breitbart 43303ba4c1 add interfaces and option handling 2019-12-05 21:30:59 +01:00
Jörg Breitbart 31ccb796ac Merge branch 'master' into updated_wcwidth 2019-12-05 15:45:52 +01:00
Jörg Breitbart 3395ccb943 UnicodeService & provider 2019-12-05 15:42:55 +01:00
Daniel Imms 17cb610ef1 Merge pull request #2602 from Tyriar/fix_dom
Fix minimumContrastRatio on dom/truecolor
2019-12-04 10:59:01 -08:00
Daniel Imms 543b3d6c9f Fix minimumContrastRatio on dom/truecolor
Fixes #2593
2019-12-04 10:54:17 -08:00
Nick Pezza c630b92772 Allow the thickness of the bar cursor to be configured 2019-11-30 14:40:45 -05:00
javacs3 903d75e6d3 Refactor
1. add 8 secs timeout for SerializeAddon API test
2. move demo page's addons control panel into a single div
3. remove unnecessary config in demo page
4. remove v8-profiler-node8 dependency
5. remove duplicate css option
2019-11-28 22:22:04 +08:00
Daniel Imms 0be6d9f048 Merge branch 'master' into window_manipulation 2019-11-26 08:08:28 -08:00
Jörg Breitbart a574591481 Merge branch 'updated_wcwidth' of github.com:jerch/xterm.js into updated_wcwidth 2019-11-26 02:04:36 +01:00
Jörg Breitbart 435d480cf1 unicode service stub 2019-11-26 01:59:10 +01:00
Daniel Imms 8b5c48fe87 Merge pull request #2560 from ivanwonder/reverse-transparency
force alpha to 1 when using background color as inverted foreground color
2019-11-25 15:10:59 -08:00
Daniel Imms 1ff1809ab7 Support opaque inverse background in webgl, add test 2019-11-25 15:06:28 -08:00
Daniel Imms ef05a6a053 Draw transparent background in WebGL renderer
Part of #2252
2019-11-25 14:33:12 -08:00
Daniel Imms bceddfbc28 Cover inverse non-black uncached case in canvas renderer 2019-11-25 14:22:03 -08:00
Daniel Imms 4cd8b22a59 Use toRgba helper 2019-11-25 11:58:26 -08:00
Daniel Imms 1a5c3f9364 Properly set non-black transparency backgrounds
Before it was always set to 0 as the resolved color was pulled from
an ImageData
2019-11-25 11:57:52 -08:00
Daniel Imms cbb8dc7780 Merge remote-tracking branch 'ups/master' into pr/ivanwonder/2560 2019-11-25 11:14:03 -08:00
Daniel Imms 3b1479a02b Merge pull request #2585 from Tyriar/unused
Remove unused imports/functions
2019-11-25 09:24:20 -08:00
Daniel Imms afe6cb6b86 Remove unused imports/functions 2019-11-25 09:12:39 -08:00
Daniel Imms 2173a5399d Merge pull request #2583 from xtermjs/Tyriar-patch-1
Include ` in word separators
2019-11-25 07:50:10 -08:00
Daniel Imms 25f2e66222 Include ` in word separators
See microsoft/vscode#84483
2019-11-25 07:36:06 -08:00
Daniel Imms 397d053e06 Merge pull request #2582 from Tyriar/2581_cursor
Mark before and after cursor rows dirty when changed
2019-11-24 11:22:47 -08:00
Daniel Imms 217bc24235 Mark before and after cursor rows dirty when changed
The DOM renderer renders the cursor as part of the content, not on a
separate layer, so it needs to be marked dirty to draw.

Fixes #2581
2019-11-24 11:15:28 -08:00
Daniel Imms 3969eb9382 Add failing tab test 2019-11-24 10:20:19 -08:00
Daniel Imms 45af02590e Make serialize addon api tests fast 2019-11-24 10:15:38 -08:00
Daniel Imms 709214a414 Add webpacked version to client 2019-11-24 10:06:41 -08:00
Daniel Imms 6dda0c2b97 Merge branch 'feat/serialize-addon' into pr/JavaCS3/2369 2019-11-24 10:05:14 -08:00
Daniel Imms 20578e0a43 Merge remote-tracking branch 'origin/master' into feat/serialize-addon 2019-11-24 09:55:31 -08:00
Daniel Imms 4d2afce5f2 Merge pull request #2580 from Tyriar/puppeteer_release
Skip puppeteer download during release job
2019-11-24 09:47:18 -08:00
Daniel Imms 2da5a7a26b Skip puppeteer download during release job 2019-11-24 09:42:33 -08:00
Daniel Imms fffbec7294 Merge pull request #2579 from Tyriar/publish_fix
Fix publish script for dot separated beta
2019-11-24 09:35:44 -08:00
Daniel Imms c60b822f4b Fix publish script for dot separated beta 2019-11-24 09:34:29 -08:00
Daniel Imms 2882ae76ef Merge pull request #2578 from Tyriar/85048
Don't throw when rendering before atlas is set
2019-11-24 09:26:13 -08:00
Daniel Imms 53fb1ba54d Don't throw when rendering before atlas is set
This fixes a problem when loading the webgl addon before the terminal
is attached.

See microsoft/vscode#85048
2019-11-24 09:22:07 -08:00
jerch 5a1e8484a9 Merge branch 'master' into window_manipulation 2019-11-23 17:37:38 +01:00
Daniel Imms 40d8b606a3 Merge pull request #2577 from Tyriar/beta_dot
Add a . before beta and beta version
2019-11-22 19:38:47 -08:00
Daniel Imms 2f1f2f8785 Add a . before beta and beta version
Fixes #2576
2019-11-22 19:37:55 -08:00
Daniel Imms 1300b7a6b7 Merge pull request #2575 from Tyriar/webgl_exception
Prevent atlas missing exception when opened before attach
2019-11-22 16:06:30 -08:00
Daniel Imms 0bd0f3a364 Prevent atlas missing exception when opened before attach
See microsoft/vscode#85048
2019-11-22 16:00:25 -08:00
Daniel Imms c0da45113f Merge pull request #2574 from Tyriar/question
Direct question issues to Stack Overflow
2019-11-22 09:39:03 -08:00
Daniel Imms 93487d4fb3 Direct question issues to Stack Overflow 2019-11-22 09:34:06 -08:00
javacs3 1093b7c3d3 fix lint error 2019-11-21 20:53:53 +08:00
javacs3 7ec99c2469 update IBufferCell API 2019-11-21 20:41:48 +08:00
javacs3 3543155953 fix typo 2019-11-21 20:41:48 +08:00
javacs3 e2df7dc96c add benchmark for serialize addon 2019-11-21 20:41:48 +08:00
javacs3 cd5f3e9740 update cell color api design 2019-11-21 20:41:47 +08:00
javacs3 ae70ef0fa2 resolve SerializeAddon importing workaround 2019-11-21 20:41:47 +08:00
javacs3 f1a17e3cf5 refactor CellColor constructor 2019-11-21 20:41:47 +08:00
javacs3 22a2496360 fix 'Can't resolve 'xterm' in xterm.js/addons/xterm-addon-serialize/out' 2019-11-21 20:41:47 +08:00
javacs3 7a7f3466f3 refactor ICellColor to CellColor 2019-11-21 20:41:47 +08:00
javacs3 73f9d45fdc refactor use a nicer IBufferCell design 2019-11-21 20:41:47 +08:00
javacs3 3cba961dad refactor SerializeAddon: use public api as much as possible 2019-11-21 20:41:47 +08:00
javacs3 6710c13cc2 fix cell.getFgColor/getBgColor return color256 code even it's color16
mode leading to serialize return wrong sequence
2019-11-21 20:41:47 +08:00
javacs3 f12120b055 fix demo page <code> tag won't display multi space chars 2019-11-21 20:41:46 +08:00
javacs3 693f30477e add trim last empty lines support for SerializeAddon 2019-11-21 20:41:46 +08:00
javacs3 92709110ef add SerializeAddon in demo page 2019-11-21 20:41:46 +08:00
javacs3 d81b4999dc add frontground/background color support for SerializeAddon 2019-11-21 20:41:46 +08:00
javacs3 f088a9953f refactor SerializeAddon extract SerializeHandler 2019-11-21 20:41:46 +08:00
javacs3 a069df7a36 refactor SerializeAddons initial value validation 2019-11-21 20:41:46 +08:00
jerch 7f26b04ea1 Merge branch 'master' into window_manipulation 2019-11-16 00:05:42 +01:00
jerch f81cca67eb Merge branch 'master' into updated_wcwidth 2019-11-16 00:03:45 +01:00
Daniel Imms 70babeacb6 Merge pull request #2569 from Tyriar/layers6
Move WindowsMode to common/
2019-11-15 10:27:55 -08:00
Daniel Imms 12e9dce6c7 Merge pull request #2563 from Tyriar/322_minimum_contrast
Implement minimum contrast ratio
2019-11-15 10:24:35 -08:00
Jörg Breitbart aca6d24e96 change to v11, expose unicodeVersion, fix linkifier 2019-11-15 18:08:17 +01:00
Jörg Breitbart 25bbde2be2 cleanup CharWidth.ts 2019-11-15 14:47:51 +01:00
Jörg Breitbart c7ad4aa460 terminal option unicodeVersion 2019-11-15 13:33:28 +01:00
Daniel Imms 943928c4d1 Move WindowsMode to common/
Part of #1507
2019-11-14 22:26:26 -08:00
Daniel Imms 5aa3157672 Return inverse colors correctly
This probably wasn't causing a bug since the opposite values were
being returned, it was wrong and made the code confusing though.
2019-11-14 22:12:36 -08:00
Daniel Imms e5f4e2ff8f Support min contrast ratio in canvas renderer too: 2019-11-14 22:07:50 -08:00
Daniel Imms c95337a742 Remove unneeded params from webgl funcs 2019-11-14 21:57:15 -08:00
Daniel Imms 023fab9095 Remove unused import 2019-11-14 20:34:01 -08:00
Daniel Imms cc9f649e3a Merge branch 'master' into 322_minimum_contrast 2019-11-14 20:14:17 -08:00
Daniel Imms be9700878b Have inverse bold respect drawBoldTextInBrightColors 2019-11-14 20:02:40 -08:00
Daniel Imms 24dc87af2c Only enter updateBackgounds condition if cell changed
We want to check when the background changed or when the foreground
changed (and either the old or new value was inverse)
2019-11-14 19:46:24 -08:00
Jörg Breitbart 9c9aa68c23 wcwidth rules unicode 10 2019-11-15 01:07:14 +01:00
jerch 6cc6cb5ffd Merge branch 'master' into window_manipulation 2019-11-14 22:43:51 +01:00
jerch c99a096d52 Merge pull request #2566 from jerch/binary_event
onBinary event
2019-11-14 22:39:32 +01:00
Jörg Breitbart 57fe84508c apply empty report rule to all encodings; comments added 2019-11-14 22:29:46 +01:00
Jörg Breitbart 7ad2a68052 cleanup 2019-11-14 13:05:24 +01:00
Jörg Breitbart 8991ed8270 simplify options 2019-11-14 12:59:48 +01:00
Jörg Breitbart 45d1139ab0 windowOptions on ctor options 2019-11-14 12:20:59 +01:00
Jörg Breitbart 26052a2963 fix api test 2019-11-14 11:38:18 +01:00
Jörg Breitbart eeb9270882 change WindowOptions type 2019-11-14 11:23:21 +01:00
Jörg Breitbart 8fc2d22b28 add IWindowOptions to xterm.d.ts 2019-11-14 10:20:51 +01:00
Jörg Breitbart f1f103850c fix tests; fix attach addon 2019-11-14 00:48:16 +01:00
Jörg Breitbart 00d626b6cc add onBinary to interfaces 2019-11-13 23:57:51 +01:00
Jörg Breitbart b780abaf3b add onBinary on CoreService, use for DEFAULT mouse reports 2019-11-13 23:46:01 +01:00
Jörg Breitbart d09e2fbcec stub for window options 2019-11-13 23:09:52 +01:00
Daniel Imms 7652cd8af3 Use hash notation over rgb() for dom colors 2019-11-13 06:59:50 -08:00
Daniel Imms 579d74ee33 jsdoc rgbRelativeLuminance2 2019-11-13 06:53:29 -08:00
Daniel Imms 2c959dfb2e Keep a working AttributeData in WebglCharAtlas 2019-11-13 06:52:17 -08:00
Daniel Imms 20b0a95bb0 Add tests for ensureContrastRatioRgba 2019-11-12 11:05:58 -08:00
Daniel Imms db090c70de Add unit tests for ColorContrastCache 2019-11-12 10:21:23 -08:00
Daniel Imms d1f7d2ef6a Tweak readme to call out min contrast ratio 2019-11-12 10:10:55 -08:00
Daniel Imms 56d12fe846 Fix color manager unit test 2019-11-12 10:09:32 -08:00
Daniel Imms b0c3606207 Add example values to .d.ts 2019-11-12 10:03:38 -08:00
Daniel Imms 032185f8b0 Link webgl directly to browser/Color 2019-11-12 10:00:40 -08:00
Daniel Imms b3f439af09 Remove unused imports 2019-11-12 09:55:09 -08:00
Daniel Imms 647cff53db Lint 2019-11-12 09:53:42 -08:00
Daniel Imms 3b0042fd46 Remove log 2019-11-12 09:46:07 -08:00
Daniel Imms 8a0122f482 Add contrast caching to webgl 2019-11-12 09:42:55 -08:00
Daniel Imms faaa07be68 Add contrast caching for DOM renderer 2019-11-12 09:33:50 -08:00
Daniel Imms c2474626f0 Clear setting as part of run 2019-11-12 09:07:08 -08:00
Daniel Imms f5774fdc70 Merge branch 'master' into 322_minimum_contrast 2019-11-12 08:53:25 -08:00
Daniel Imms ca5cee7e86 Fix contrast tests 2019-11-12 08:53:06 -08:00
Jörg Breitbart 2797faae6f Merge branch 'master' into window_manipulation 2019-11-12 17:05:01 +01:00
Daniel Imms 5ee9bcf2b5 Remove .only 2019-11-11 23:23:33 -08:00
Daniel Imms 6626f9628d Use ceil in both 2019-11-11 23:14:27 -08:00
Daniel Imms 2fc1791dde Fix floor/ceil in luminance methods 2019-11-11 23:11:36 -08:00
Daniel Imms 414eea2a2c Merge pull request #2562 from AndrewSverdrup/change-codevolve-to-next-tech
Update Codevolve to Next Tech
2019-11-11 22:56:35 -08:00
Daniel Imms 9b139a744b Add test for min contrast on white bg 2019-11-11 22:55:08 -08:00
Daniel Imms 531409c2c7 Support minimum contrast ratio in webgl 2019-11-11 22:47:26 -08:00
Daniel Imms 2283ea45a6 Refresh rows after ratio changes 2019-11-11 22:18:39 -08:00
Daniel Imms db775afd70 Support drawBoldTextInBrightColors in webgl again
This broke as part of this PR
2019-11-11 21:35:51 -08:00
Daniel Imms b1bcb899e0 Fix inverse in webgl, add tests 2019-11-11 21:29:02 -08:00
Daniel Imms a6dcb21f1c Fix tests 2019-11-11 19:30:36 -08:00
Daniel Imms 9cd66e72bb Add tests for relative luminance 2019-11-11 19:14:35 -08:00
Daniel Imms e46ff9ec85 Add minimumContrastRatio to DOM renderer
Part of #322
2019-11-11 19:03:12 -08:00
ivanwonder fd868044fd add a helper to make color opaque 2019-11-12 10:06:51 +08:00
Andrew Sverdrup dfc1664d6e Update Codevolve to Next Tech
We changed our name several months back.
2019-11-11 13:23:59 -08:00
Daniel Imms e911656306 Merge pull request #2561 from xtermjs/Tyriar-patch-1
Prefer non-relative imports
2019-11-11 10:54:15 -08:00
Daniel Imms 25f9487239 Prefer non-relative imports
Fixes some auto imports in VS Code, see microsoft/TypeScript#32144
2019-11-11 10:24:54 -08:00
Daniel Imms 339d4d6a73 Merge pull request #2559 from xtermjs/Tyriar-patch-1
Generate coverage report for pipelines
2019-11-10 21:43:41 -08:00
Daniel Imms 94afd1fa38 Generate coverage report for pipelines 2019-11-10 21:38:43 -08:00
ivanwonder 5bc80fdf67 force alpha to 1 when using background color as inverted foreground color. 2019-11-11 11:01:32 +08:00
Daniel Imms 03fe1677b6 Merge pull request #2558 from Tyriar/force_build
Whitespace to force a webgl release
2019-11-10 12:07:01 -08:00
Daniel Imms 6b7e29ea32 Whitespace to force a webgl release 2019-11-10 12:06:20 -08:00
Daniel Imms 9eeb5aac32 Merge pull request #2557 from Tyriar/fix_release
Correct import in Color.ts
2019-11-10 11:49:12 -08:00
Daniel Imms 450a626218 Correct import in Color.ts 2019-11-10 11:48:32 -08:00
Daniel Imms a8ff27ceb9 Merge pull request #2552 from Tyriar/webgl_compat_attr
True color support in WebGL renderer
2019-11-10 11:37:26 -08:00
Daniel Imms e89d79b879 Remove unused code 2019-11-10 11:33:41 -08:00
Daniel Imms 734bd8c96a Factor out toRgba function and test 2019-11-10 11:30:48 -08:00
Daniel Imms 2da77dd5f8 Use opaque selection in webgl, fix selection default rgba 2019-11-10 11:23:34 -08:00
Daniel Imms 51c77568a8 Add tests for Color functions 2019-11-10 11:17:36 -08:00
Daniel Imms 53b0149764 Add selectionOpaque and factor out color into new file 2019-11-10 11:11:26 -08:00
Daniel Imms 2b2bd91e2e Add background true color tests 2019-11-10 10:41:30 -08:00
Daniel Imms 350ca8d5fb Organize tests 2019-11-10 10:39:56 -08:00
Daniel Imms 753ad30dbc Add true color fg tests for webgl 2019-11-10 10:38:23 -08:00
Daniel Imms 8bf837795f Add tests for webgl colors 16-255 2019-11-10 10:29:50 -08:00
Daniel 01628362f5 Support selection color 2019-11-10 01:19:27 -08:00
Daniel 811307562b Use actual default color for rectangle renderer 2019-11-10 00:59:11 -08:00
Daniel Imms 98fe63051d Merge branch 'master' into webgl_compat_attr 2019-11-10 00:53:42 -08:00
Daniel Imms adc631d192 Merge pull request #2553 from Tyriar/retry
Add retries to onRender test
2019-11-10 00:53:36 -08:00
Daniel 2cde011397 Add retries to onRender test
I've seen this flaky locally and in CI
2019-11-10 00:49:10 -08:00
Daniel b56e29a35b Import clean up 2019-11-10 00:39:46 -08:00
Daniel 149cc76803 Avoid extra object creation for foreground fill 2019-11-10 00:30:58 -08:00
Daniel b13e9066bd Use a switch for color mode conditions 2019-11-10 00:29:50 -08:00
Daniel a2da8f9fbb Fix true color glyphs not having background cleared 2019-11-10 00:23:08 -08:00
Daniel 3773b22439 Support true color... mostly 2019-11-09 23:41:00 -08:00
Daniel 39f0e17edf Consolidate constants, fix rectangle rendering 2019-11-09 23:05:39 -08:00
Daniel 2b5d229aab Reduce size of model to 3 by removing attr 2019-11-09 22:56:42 -08:00
Daniel a2bd0e8eaa Remove attr compat from webgl 2019-11-09 22:50:22 -08:00
Daniel 9dd2ccb1ad Fix selection color to set correct mode 2019-11-09 22:48:28 -08:00
Daniel e15476704c Adopt new [bg][fg] map in char cache 2019-11-09 22:43:25 -08:00
Daniel 8f0f8bf827 Remove cache reliance on flags 2019-11-09 22:31:10 -08:00
Daniel e72ee3c58d Move webgl drawing over from compat
Still need to tackle glyph key
2019-11-09 22:28:59 -08:00
Daniel 8a6e0fca07 Move parts over to CellData 2019-11-09 21:15:07 -08:00
Daniel Imms 87d2015793 Merge pull request #2551 from Tyriar/puppeteer_slowmo
Make integration tests very fast by removing slowMo
2019-11-09 19:14:31 -08:00
Daniel Imms 40b3766abc Fix import that got lost in merge 2019-11-09 19:05:20 -08:00
Daniel Imms 0c69b68b4c Merge branch 'master' into puppeteer_slowmo 2019-11-09 19:02:55 -08:00
Daniel Imms 641b5f867b Merge pull request #2548 from Tyriar/2254_webgl_dispose
Implement webgl renderer dispose
2019-11-09 19:01:52 -08:00
Daniel Imms 057d0a16f2 Ensure link hover exists before hovering 2019-11-09 18:54:24 -08:00
Daniel Imms 669622108c Wait for all elements to be rendered in web links 2019-11-09 18:48:09 -08:00
Daniel Imms 971e69f505 Reduce flakiness 2019-11-09 18:43:25 -08:00
Daniel Imms b0640b7705 Remove slowMo param everywhere 2019-11-09 18:28:50 -08:00
Daniel Imms 7ff6e4f493 Fix flaky terminal api tests 2019-11-09 18:28:24 -08:00
Daniel Imms 34e703e472 Fix most of Terminal.api timing issues 2019-11-09 17:29:32 -08:00
Daniel Imms 17677568f9 Fix timing issues in mouse tracking tests 2019-11-09 14:16:57 -08:00
Daniel Imms 2aaa997d39 Fix timing issues in input handler 2019-11-09 14:15:16 -08:00
Daniel Imms 74f04ae92e Fix timing issues in char width test 2019-11-09 14:12:46 -08:00
Daniel Imms b0c0f8701e Fix timing issues in webglrenderer 2019-11-09 14:08:37 -08:00
Daniel Imms d3bf013ceb Fix timing issues in web links addon tests 2019-11-09 13:57:42 -08:00
Daniel Imms 840e56cf1e Fix Attach tests 2019-11-09 11:30:45 -08:00
Daniel Imms b8acdd6e67 Remove slowmo from puppeteer 2019-11-09 11:15:15 -08:00
Daniel Imms 60bda1bbd3 Fix tests hanging 2019-11-09 11:04:55 -08:00
Daniel Imms e4b50d505c Merge pull request #2550 from Tyriar/2549_refresh_options
Refresh rows on options change for all renderers
2019-11-09 10:37:28 -08:00
Daniel Imms 22f4342194 Move options row refresh into render service 2019-11-09 10:07:24 -08:00
Daniel Imms 8adbed84b0 webgl: Refresh rows on options change
Fixes #2549
2019-11-09 09:34:40 -08:00
Daniel Imms d09ac41f75 After tests wait for browser close 2019-11-09 09:29:04 -08:00
Daniel Imms 2aec4e6d29 Add a test for removing canvases 2019-11-09 09:27:30 -08:00
Daniel Imms bcd4c766d6 Implement webgl renderer dispose
Fixes #2254
2019-11-09 09:09:59 -08:00
Jon Bockhorst a1906347b0 Only clear link if it was in the range of onRender and fix tests 2019-11-08 12:10:00 -06:00
Jon Bockhorst 8924aa736e Use onRender() instead of onData() and onScroll() 2019-11-08 11:08:50 -06:00
Daniel f93939ef20 Merge remote-tracking branch 'ups/master' into pr/jmbockhorst/2530 2019-11-08 08:46:09 -08:00
Jon Bockhorst 700c4acf75 Rework link parser to use a single cached link and make other requested changes 2019-11-08 02:14:53 -06:00
Daniel Imms b68a4d27ab Merge pull request #2547 from Tyriar/layering5
Move remaining renderer parts into browser
2019-11-07 21:42:53 -08:00
Daniel Imms 939dcca5bb Merge branch 'master' into layering5 2019-11-07 21:22:06 -08:00
Daniel Imms 3bf149bbc5 Fix webgl cursor 2019-11-07 18:46:56 -08:00
Daniel Imms 3f7238d9dc Move Renderer to browser 2019-11-07 18:45:13 -08:00
Daniel Imms 873de2b127 Move cursor render layer to browser 2019-11-07 18:39:46 -08:00
Daniel Imms c204ab00e0 Move cursorHidden into core service 2019-11-07 18:22:18 -08:00
Daniel Imms 9d7935f8bd Move cursorState into core service 2019-11-07 18:21:06 -08:00
Daniel Imms 1e1038b2c7 Remove renderer circular dep on renderservice
Also fix super.dispose not being called correctly on RenderService
2019-11-07 18:09:40 -08:00
Daniel Imms 509d0e7019 Remove some ITerminal usage from Renderer 2019-11-07 17:44:03 -08:00
Daniel Imms 82e18d7aaa Move DomRenderer to browser, fix strict errors 2019-11-07 17:41:29 -08:00
Daniel Imms 7c39217392 Break DomRenderer dependency on ITerminal
Part of #1507
2019-11-07 17:35:22 -08:00
Daniel Imms dd4eb7bdec Merge pull request #2532 from glneto/2444
#2444: Fix wrapped lines search
2019-11-07 16:49:24 -08:00
Daniel Imms e84469d140 Merge pull request #2546 from Tyriar/polish_pipelines
Reduce duplicate in pipeline, cache in release job
2019-11-07 16:48:29 -08:00
Daniel Imms 1d63be0506 Reduce duplicate in pipeline, cache in release job 2019-11-07 13:52:39 -08:00
Daniel Imms fce7a67c8e Remove type jsdoc 2019-11-07 13:39:42 -08:00
Daniel Imms 94ce037eb8 Add integration tests for regression in #2444 2019-11-07 13:00:43 -08:00
Daniel Imms aad32e9943 Merge branch 'master' into 2444 2019-11-07 12:20:33 -08:00
Jon Bockhorst f18a6fe1eb Fixed bug in link detection for wrapped links 2019-11-06 22:52:09 -06:00
Daniel Imms 16409da517 Merge pull request #2541 from Tyriar/2539
Skip puppeteer download on unit test runs, fix windows tests, polish pipeline
2019-11-06 11:52:45 -08:00
Daniel Imms 0878294964 Skip Terminal2 tests on Windows 2019-11-06 11:24:34 -08:00
Daniel Imms 31afe5b305 test-coverage -> test-unit-coverage 2019-11-06 11:23:42 -08:00
Daniel Imms fe2f1ea4df Get Windows unit tests running again
Fixes #2543
2019-11-06 11:20:52 -08:00
Daniel Imms 48b20e3200 Don't run through nyc on mac and Windows 2019-11-06 11:08:47 -08:00
Daniel Imms 030a8bda80 Set coverage lines threshold to 60% 2019-11-06 11:08:39 -08:00
Daniel Imms d079775690 Merge coverage check into regular unit test check
Fixes #2542
2019-11-06 11:04:37 -08:00
Daniel Imms d4dbdac73f Don't cache integration test modules 2019-11-06 10:53:42 -08:00
Daniel Imms fc0568074f Cache node modules with puppeteer 2019-11-06 10:37:00 -08:00
Jon Bockhorst b07a6d10f1 Add test for multiline links 2019-11-05 23:44:30 -06:00
Jon Bockhorst ac6c8a5bd3 Support multiline links in the WebLinksAddon 2019-11-05 23:35:20 -06:00
Jon Bockhorst b3d95d20dc Merge branch 'master' of https://github.com/xtermjs/xterm.js into linkParser 2019-11-05 16:35:33 -06:00
Daniel Imms 0630baaf02 Don't cache on integration tests 2019-11-05 12:50:37 -08:00
Daniel Imms c974b273d4 Install puppeteer explicitly 2019-11-05 12:41:03 -08:00
Daniel Imms d2164584d5 Fix error in yml 2019-11-05 11:56:44 -08:00
Daniel Imms 2960d5df53 New cache key 2019-11-05 11:55:06 -08:00
Daniel Imms 5411f60f44 Try cache node_modules 2019-11-05 11:54:32 -08:00
Daniel Imms 86264d4763 Specify yarn cache folder 2019-11-05 11:42:35 -08:00
Daniel Imms 70500e31ac Add yarn cache caching 2019-11-05 11:36:54 -08:00
Daniel Imms 3dca46619c Skip puppeteer download on unit test runs
Fixes #2539
2019-11-05 11:33:39 -08:00
Daniel Imms 7f598a3675 Merge pull request #2540 from Tyriar/ts37
Update TS to 3.7 and adopt optional chaining
2019-11-05 11:22:11 -08:00
Daniel Imms 843d5ff53c Adopt optional chaining 2019-11-05 11:09:47 -08:00
Jon Bockhorst 28c43ac2bf Remove link caching 2019-11-05 13:01:53 -06:00
Daniel Imms 267fbc7f5e typescript@3.7 and fix errors 2019-11-05 10:54:02 -08:00
Jon Bockhorst fdfadfefbc Fixed link caching errors 2019-11-04 23:37:05 -06:00
Daniel Imms d259cd7332 Merge pull request #2536 from Tyriar/parse_rows
Only refresh rows that changed during parsing
2019-11-04 11:31:50 -08:00
Daniel Imms 1afffba1d8 Only refresh rows that changed during parsing
Fixes #2534
2019-11-04 11:00:19 -08:00
Geraldo Neto 9358718b5f 2444: Fix no-else-return lint 2019-11-02 19:33:21 -03:00
Geraldo Neto 8667237525 Merge branch '2444' of https://github.com/glneto/xterm.js into 2444 2019-11-02 19:22:09 -03:00
Geraldo Neto 9d50d106e3 2444: Return after calculating startCol in reverse search 2019-11-02 19:21:58 -03:00
Geraldo Neto d53215480a Merge branch 'master' into 2444 2019-11-02 19:14:01 -03:00
Geraldo Neto 1f4780a71a #2444: Fix wrapped lines search 2019-11-02 18:58:04 -03:00
Jon Bockhorst e57cb8bf7e Use regex parser for web links 2019-11-01 17:38:08 -05:00
Jon Bockhorst ec78fc7e7c Remove usage of ! operator 2019-11-01 13:42:02 -05:00
Jon Bockhorst cf082cca04 Fix links when viewport is scrolled 2019-11-01 11:24:21 -05:00
Jon Bockhorst 1e877a0f96 Fix lint errors 2019-11-01 09:18:45 -05:00
Jon Bockhorst 3e2e4ace48 Removed file detection from WebLinkProvider 2019-11-01 01:05:18 -05:00
Jon Bockhorst 0c5962c538 Added support for a basic link parser 2019-11-01 00:54:31 -05:00
Daniel Imms bc9649bfbc Merge pull request #2527 from xtermjs/Tyriar-patch-1
Change to tracking lines in code coverage
2019-10-31 12:23:07 -07:00
Daniel Imms fbb9ef9f7f Change to tracking lines in code coverage 2019-10-31 11:59:04 -07:00
Daniel Imms e8153d929d Merge pull request #2525 from Tyriar/az
Polish pipeline config and add coverage reporting
2019-10-30 21:18:06 -07:00
Daniel 08b10ba651 Add note about unit test coverage in contributing 2019-10-30 21:15:23 -07:00
Daniel 39c0fdb54a Remove report directory 2019-10-30 20:31:40 -07:00
Daniel a450bd52d7 Generate and publish coverage report to pipelines 2019-10-30 20:18:32 -07:00
Daniel 79f3a7343c Don't wrap for single line scripts 2019-10-30 20:07:41 -07:00
Daniel 6c2b34a5c8 Use YarnInstaller 2019-10-30 20:03:53 -07:00
Daniel Imms 80e44f4978 Merge pull request #2518 from Tyriar/2407_toggle_addons
Support check boxes in demo to toggle addons
2019-10-29 14:49:23 -07:00
Jörg Breitbart 98cc17df24 remove leftover .only 2019-10-29 15:57:11 +01:00
Jörg Breitbart 2cad586ccc add integration tests for pixel reports 2019-10-29 15:50:54 +01:00
Jörg Breitbart da3ae79c37 implement 14, 16, 18, 20, 21, 22, 23; restrict DECCOLM to 24 2019-10-29 13:57:36 +01:00
jerch 38f05dabe2 Merge branch 'master' into window_manipulation 2019-10-29 08:28:02 +01:00
Daniel Imms 5b555bacc0 Merge pull request #2521 from alberto/patch-1
Fix typos
2019-10-28 07:28:32 -07:00
alberto cb1cf3cd11 Fix grammar 2019-10-27 22:50:22 +01:00
alberto b880cd3ad3 Fix punctuation mark 2019-10-27 22:43:26 +01:00
alberto ffe2d66aff Remove duplicated punctuation 2019-10-27 22:38:55 +01:00
alberto fe2ac04b85 Fix grammar 2019-10-27 22:34:54 +01:00
alberto 8d0fdc8731 Fix grammar 2019-10-27 22:29:36 +01:00
alberto dca1e0b935 Fix another typo 2019-10-27 22:18:11 +01:00
alberto 56d3366831 Fix typo 2019-10-27 22:08:42 +01:00
Daniel Imms 719fa55dcf Merge pull request #2517 from revanthmahesh/dispose-eventemitters
Support disposing of EventEmitters
2019-10-26 21:52:50 -07:00
Daniel Imms f3bbcb35e4 Clean up 2019-10-26 21:52:11 -07:00
Revanth Mahesh d0e05eb795 Support disposing of EventEmitters 2019-10-27 10:11:43 +05:30
Daniel 2f18edbcac Remove old webgl enable button 2019-10-26 18:12:56 -07:00
Daniel 486fc714b3 Support checkboxes in demo to toggle addons
Fixes #2407
2019-10-26 18:12:20 -07:00
jerch edc09572b5 Merge pull request #2516 from jerch/addon_build
conditional `yarn` for addons
2019-10-26 17:32:08 +02:00
Jörg Breitbart 5b3a093f13 stick to prepare to avoid re-running yarn for addons everytime during build 2019-10-26 17:20:35 +02:00
Jörg Breitbart 03435a9f4d use prebuild instead of postinstall 2019-10-25 22:11:51 +02:00
jerchandDaniel Imms 04f828bc1a Update bin/install-addons.js
Co-Authored-By: Daniel Imms <tyriar@tyriar.com>
2019-10-25 21:46:49 +02:00
Jörg Breitbart d733ce3e63 add copyright note 2019-10-25 19:27:29 +02:00
Jörg Breitbart 6f8cbc56eb skip folder w'o package.json; restrict linter to src folders 2019-10-25 18:07:32 +02:00
Jörg Breitbart 25c18e8e07 conditional build for addons 2019-10-25 17:29:38 +02:00
Daniel Imms f30c38f773 Merge pull request #2515 from Tyriar/r420
v4.2.0
2019-10-25 05:50:45 -07:00
Daniel bfe11b7081 v4.2.0 2019-10-25 05:38:17 -07:00
Daniel Imms a800dd3aab Merge pull request #2514 from Tyriar/scroll
Apply scrollSensitivity on fast scroll too
2019-10-25 05:32:39 -07:00
Daniel a5a0779aa9 Apply scrollSensitivity on fast scroll too
Fixes #2513
2019-10-25 05:22:03 -07:00
Daniel Imms 4fe5a5a0bb Merge pull request #2512 from Tyriar/refine_range
Refine IViewportRange API to use 'cursor positions' for x value
2019-10-25 04:48:51 -07:00
Daniel Imms 974c721f66 Merge pull request #2511 from Tyriar/marker_doc
Clarify marker API docs
2019-10-25 04:45:06 -07:00
Daniel 851fb7ae38 Refine IViewportRange API to use 'cursor positions' for x value
Fixes #2484
2019-10-25 04:43:34 -07:00
jerch 1c72a66567 Merge pull request #2507 from jerch/remove_obsolete_mouseencodings
remove URXVT and UTF8 mouse encoding from codebase
2019-10-25 13:37:00 +02:00
jerch 6f8919ab93 Merge branch 'master' into remove_obsolete_mouseencodings 2019-10-25 13:20:20 +02:00
Daniel dac2da05bf Clarify marker API docs 2019-10-25 04:13:03 -07:00
Daniel Imms 7487d61fe2 Merge pull request #2510 from Tyriar/line_one
Set disposed marker line to -1
2019-10-25 04:08:45 -07:00
Daniel 67e5974eee Set disposed marker line to -1
Another indicator that it's disposed/invalid
2019-10-25 04:04:17 -07:00
jerch 21c3b3243d Merge branch 'master' into remove_obsolete_mouseencodings 2019-10-25 12:53:40 +02:00
Daniel Imms 4bd721c749 Merge pull request #2505 from Tyriar/lgtm_line
Fix lgtm suppression comment line
2019-10-25 03:49:48 -07:00
Jörg Breitbart ee2c1f71ef fix typo in debug msg 2019-10-25 12:43:34 +02:00
Jörg Breitbart a721e4884d Merge branch 'remove_obsolete_mouseencodings' of github.com:jerch/xterm.js into remove_obsolete_mouseencodings 2019-10-25 12:42:17 +02:00
Jörg Breitbart 31be1ebc53 remove DECSET 1005 and 1015 from InputHandler 2019-10-25 12:41:31 +02:00
jerch be59c74eae Merge branch 'master' into remove_obsolete_mouseencodings 2019-10-25 12:02:18 +02:00
jerch c1a0b26150 Merge pull request #2508 from jerch/fix_2423
limit parse buffer size
2019-10-25 12:01:51 +02:00
jerch d0689abd35 Merge branch 'master' into window_manipulation 2019-10-25 00:00:44 +02:00
Jörg Breitbart 13ddaf8f98 limit parse buffer size 2019-10-24 22:32:10 +02:00
jerch 6dc6748876 Merge branch 'master' into remove_obsolete_mouseencodings 2019-10-24 22:07:41 +02:00
jerch 527379d343 Merge pull request #2360 from jerch/left_right_scroll
Support column sequences SL (scroll left), SR (scroll right), DECIC (insert columns) and DECDC (delete columns).
2019-10-24 22:03:30 +02:00
Jörg Breitbart 5ea016d537 remove URXVT and UTF8 encoding from codebase 2019-10-24 21:57:22 +02:00
jerch bb424bd86f Merge branch 'master' into left_right_scroll 2019-10-24 21:46:02 +02:00
Daniel Imms a6f4855f66 Merge pull request #2506 from Tyriar/mp3_sound
Use mp3 audio instead of wav
2019-10-24 12:05:39 -07:00
Daniel Imms fe08f34918 Use mp3 audio instead of wav
wav needs ffmpeg which vscode does not ship with, mp3 is best for compat
2019-10-24 12:04:45 -07:00
Jörg Breitbart 68d6d5576c force screen update for altered lines 2019-10-24 21:01:59 +02:00
Jörg Breitbart a4d561d3b9 xterm testfiles for SL/SR/DECIC/DECDC with DECSTBM 2019-10-24 20:36:01 +02:00
Jörg Breitbart c223524f77 respect DECSTBM 2019-10-24 19:27:35 +02:00
Daniel Imms f8fa962ec7 Fix lgtm suppression comment line 2019-10-24 09:35:12 -07:00
jerch 2a46f5f147 Merge branch 'master' into left_right_scroll 2019-10-24 18:31:51 +02:00
Daniel Imms 080188c468 Merge pull request #2504 from jerch/fix_2495
fix typo in TextDecoder
2019-10-24 09:29:42 -07:00
jerch 1392abb6eb Merge branch 'master' into left_right_scroll 2019-10-24 18:07:35 +02:00
Jörg Breitbart 30d3d46027 make linter happy 2019-10-24 18:04:44 +02:00
Jörg Breitbart 6d620166b4 fix typo in decoder and add a test case 2019-10-24 17:52:03 +02:00
Daniel Imms 276463e95e Merge pull request #2501 from xtermjs/Tyriar-patch-1
Remove double space in dts
2019-10-23 11:37:30 -07:00
Daniel Imms 84e4cf7e9c Remove double space in dts 2019-10-23 11:37:17 -07:00
Daniel Imms d9f58c0dbb Merge pull request #2491 from miggs125/issue#2456
Prevent search result from being deselected if it is the only result
2019-10-22 07:32:26 -07:00
Daniel Imms 3e753f1370 Merge branch 'master' into issue#2456 2019-10-22 07:17:47 -07:00
Daniel Imms 616d341e8c Avoid initializing to undefined 2019-10-22 07:17:37 -07:00
Daniel Imms 15392c6c87 Merge pull request #2493 from leomoty/forbid-only
Forbid only in mocha
2019-10-22 07:15:17 -07:00
Daniel Imms 5e2001f4b5 Space out if 2019-10-22 07:14:32 -07:00
Daniel Imms 5194098f12 Merge pull request #2497 from Tyriar/warn_not_throw
Warn don't throw when open is called on unattached element
2019-10-22 07:02:30 -07:00
Daniel Imms 3ce552cdec Warn don't throw when open is called on unattached element
Related microsoft/vscode#83016
2019-10-22 06:56:05 -07:00
Miguel R 720c8c4623 Merge branch 'master' into issue#2456 2019-10-22 04:14:14 +00:00
Miguel Roncancio 243874c644 change comment 2019-10-21 23:51:47 -04:00
Miguel Roncancio 5d547bffb0 change return value, import ISelectionPosition 2019-10-21 23:49:28 -04:00
Miguel Roncancio 495f97cf95 change return value, import ISelectionPosition 2019-10-21 23:39:01 -04:00
Leonardo Bressan Motyczka 5c2479944e Ensure test-unit fails fast if .only present 2019-10-22 03:00:40 +00:00
Leonardo Bressan Motyczka 51ef0d0680 Update test-unit to allow double dash args 2019-10-22 03:00:18 +00:00
Daniel Imms 2b39887a37 Merge pull request #2492 from jmbockhorst/publicViewportRange
Expose IViewportRange in the public API
2019-10-21 19:18:03 -07:00
Daniel Imms 7c82f9c7d4 Merge pull request #2496 from Tyriar/lgtm_alerts
Fix alerts on lgtm.com
2019-10-21 19:11:23 -07:00
Daniel Imms 1dbe482fcb Suppress server alerts 2019-10-21 19:03:53 -07:00
Daniel Imms cfd158cbff Remove unused imports 2019-10-21 18:48:49 -07:00
Daniel Imms 9826f3a14c Remove unneeded defensive check 2019-10-21 18:47:43 -07:00
Daniel Imms 6f7c91d0cd Remove useless local var assignment 2019-10-21 18:47:18 -07:00
Daniel Imms bcdebe7648 Remove duplicate switch case
Guessing this one was the result of a bad merge?
2019-10-21 18:46:26 -07:00
Daniel Imms 09b244ed2f Fix NaN comparison 2019-10-21 18:44:03 -07:00
Leonardo Bressan Motyczka 7576e8c202 test-api: Fail fast if .only is used 2019-10-21 22:27:25 -03:00
Jon Bockhorst 7b752be68a Expose IViewportRange in the public API 2019-10-21 20:24:03 -05:00
Daniel Imms d02086e5c6 Add test to cover search multiple times 2019-10-21 15:23:59 -07:00
Daniel Imms 5c172c74b2 Merge branch 'master' into issue#2456 2019-10-21 14:34:10 -07:00
Daniel Imms d29fc6d5de Merge pull request #2489 from Tyriar/test_fiix
Remove .only from fit test
2019-10-21 14:31:10 -07:00
miguel 449ede1d57 Prevent search result from being deselected if it is the only result
remove leading whitespace
prevent single search term deselection in findPrevious
2019-10-21 15:58:44 -04:00
Daniel Imms fc10816615 Remove .only from fit test 2019-10-21 11:27:01 -07:00
Daniel Imms 631107698e Merge pull request #2483 from leomoty/fit-tests
Introduce FitAddon tests
2019-10-18 12:13:34 -07:00
Daniel Imms 33d58ec3d2 Merge pull request #2485 from eamodio/feature/scroll-sensitivity
Adds scrollSensitivity option for scrolling speed
2019-10-18 11:42:44 -07:00
Eric Amodio f445bc763b Adds scrollSensitivity option for scrolling speed 2019-10-18 14:30:46 -04:00
Daniel Imms f8a62a23e5 Speed tests up by avoiding page loads 2019-10-18 11:23:11 -07:00
Leonardo Bressan Motyczka a92635b22c Introduce FitAddon tests 2019-10-18 14:53:09 -03:00
Leonardo Bressan Motyczka 44a4bd788f Adjust proposeDimensions to behave like resize 2019-10-18 14:48:56 -03:00
Daniel Imms eb252433ce Merge pull request #2470 from jmbockhorst/linkPosition
Support link position in hover tooltip callback
2019-10-18 08:47:16 -07:00
Daniel Imms 499d6c26f0 Merge branch 'master' into linkPosition 2019-10-17 12:38:14 -07:00
Daniel 8350804858 Adjust to use 1-based, note in API 2019-10-17 12:36:03 -07:00
Daniel Imms 9df547d746 Merge pull request #2482 from Tyriar/2452_website_update
Create a PR for website update after a release
2019-10-17 12:26:45 -07:00
Daniel Imms 7537adfb72 Merge branch 'master' into 2452_website_update 2019-10-17 12:00:13 -07:00
Daniel caf075dcb0 Create a PR for website update after a release 2019-10-17 11:54:32 -07:00
Jon Bockhorst 57581ca4ef Updated IViewportCellPosition wording 2019-10-17 12:40:32 -05:00
Daniel Imms a604389cc0 Merge pull request #2481 from Tyriar/2154_force_release_var
Allow builds to specify a force release var
2019-10-17 10:28:34 -07:00
Jon Bockhorst 08475eb495 Update API to use IViewportRange and IViewportCellPosition 2019-10-17 12:25:42 -05:00
Daniel Imms 91d1f97754 Merge pull request #2476 from Tyriar/2459_win_scroll
Fix scrollback going missing when increase size on Windows
2019-10-17 10:19:46 -07:00
Daniel Imms 990be060f2 Allow builds to specify a force release var
This will let us automate patch releases by queuing a manual build

Fixes #2154
2019-10-17 10:00:45 -07:00
Daniel Imms 29e53c9c11 Merge pull request #2477 from leomoty/devcontainer-hotfix
Allows to run all integration tests inside devcontainer
2019-10-17 09:19:25 -07:00
Daniel Imms da42738881 Merge pull request #2474 from glneto/master
#2463 Add comma as a default word separator
2019-10-17 09:07:06 -07:00
Geraldo Neto 9753a7d425 Merge branch 'master' into master 2019-10-16 20:16:56 -03:00
Leonardo Bressan Motyczka 07308485a4 Update MouseTracking puppeteer window size
This allows all tests to successfully run in devcontainer
2019-10-16 20:08:57 -03:00
Leonardo Bressan Motyczka 3d500ba802 Launch puppeteer without sandbox 2019-10-16 20:07:56 -03:00
Leonardo Bressan Motyczka e8dc563ccf Include puppeteer deps on devcontainer 2019-10-16 20:05:45 -03:00
Daniel Imms ee245230c9 Merge branch 'master' into 2459_win_scroll 2019-10-16 15:44:19 -07:00
Daniel Imms 843ea1b610 Fix scrollback going missing when increase size on Windows
This also forces the scroll bar to sync after a resize early, this may fix
other bugs.

Fixes #2459
2019-10-16 15:41:47 -07:00
Geraldo Neto 9f80ce25c2 Add : and ; to the word separator 2019-10-16 19:23:50 -03:00
Daniel Imms bd57e305e1 Merge pull request #2475 from Tyriar/vsc_82309
Protect against exception when clicking on mouse zones
2019-10-16 11:08:16 -07:00
Daniel Imms 740d261d7a Protect against exception when clicking on mouse zones
Still not sure how this happens but seems harmless to just not use the row as
wrapped here.

See microsoft/vscode#82309
2019-10-16 11:07:22 -07:00
Geraldo Neto 1bc246323c Add comma as a default word separator 2019-10-15 22:42:12 -03:00
Daniel Imms 91cbeecf52 Merge pull request #2473 from Tyriar/2471
Mark element and textarea APIs as | undefined
2019-10-15 16:41:59 -07:00
Daniel Imms cfe8022867 Mark element and textarea APIs as | undefined
Didn't fix all the issues in Terminal.ts as they will be covered in layering
refactor

Fixes #2471
2019-10-15 16:29:13 -07:00
Daniel Imms 99db619a5c Merge pull request #2375 from csurquin/feat/fast-scrolling
Support fast scrolling using a modifier key
2019-10-15 16:23:17 -07:00
Daniel Imms 4f8cda9f3a Remove bad whitespace 2019-10-15 16:22:41 -07:00
Daniel Imms 9fdb674f20 Use min of 1 for fast scroll 2019-10-15 16:22:09 -07:00
Daniel Imms e76b8f86b5 Pull modifier code into helper, apply to lines scrolled 2019-10-15 16:21:20 -07:00
Daniel Imms 0083c23b2d Merge branch 'master' into feat/fast-scrolling 2019-10-15 16:10:44 -07:00
Jon Bockhorst 040f9f49d9 Support link position in hover tooltip callback 2019-10-14 14:25:02 -05:00
Daniel Imms cbb79a77f9 Merge pull request #2467 from Tyriar/2387_dont_do_ctrl_arrow_on_mac
Don't use ctrl+up/down hack on macOS
2019-10-14 11:53:27 -07:00
Daniel Imms a97fe2df1c Merge pull request #2469 from leomoty/dispose-test
Add integration test for terminal dispose
2019-10-14 10:58:07 -07:00
Leonardo Bressan Motyczka ff13f74858 Add integration test for terminal dispose 2019-10-14 13:20:18 -03:00
Daniel Imms 3d6815ca6f Add tests for alt+up/down 2019-10-11 16:05:54 -07:00
Daniel Imms da11e31fe5 Don't use ctrl+up/down hack on macOS
Fixes #2387
2019-10-11 16:01:28 -07:00
Daniel Imms e224b865fd Merge pull request #2465 from syrusakbary/patch-1
Added WebAssembly.sh
2019-10-10 13:54:25 -07:00
Syrus Akbary 821a7afc01 Added WebAssembly.sh 2019-10-10 13:05:28 -07:00
Daniel Imms 84b56b7691 Merge pull request #2453 from Tyriar/2445_reveal_search
Reveal search results in line just below viewport
2019-10-08 07:05:21 -07:00
Daniel Imms 8288a26b49 Merge pull request #2455 from JeffreyCA/unfocused-cursor-style
Update unfocused cursor to match current cursor style
2019-10-08 06:43:03 -07:00
Daniel Imms d87bae374b Merge pull request #2454 from saisandeepvaddi/master
add ten hands to real-world uses list
2019-10-08 06:36:55 -07:00
JeffreyCA 7c982fc0ce Fix lint warnings 2019-10-07 22:51:03 -07:00
JeffreyCA 1eb6e37187 Refresh terminal even if blinking is enabled so cursor changes are immediately visible 2019-10-07 22:36:37 -07:00
JeffreyCA efbdbd3f3b Render non-block cursors as-is when terminal is unfocused 2019-10-07 22:25:47 -07:00
Sai Sandeep Vaddi 7fc57da85a add ten hands to real-world uses list 2019-10-07 23:45:03 -04:00
Daniel Imms 6f5e5215f2 Reveal search results in line just below viewport
Fixes #2445
2019-10-07 14:27:29 -07:00
Daniel Imms cad9477eef Merge pull request #2451 from Tyriar/1416_fit_infinity
Generalize verify integers check
2019-10-07 10:46:07 -07:00
Daniel Imms 4fde8db060 Merge pull request #2450 from Tyriar/1158_throw_bad_open
Throw when open is called on element not on DOM
2019-10-07 10:45:38 -07:00
Daniel Imms 724bcc3766 Generalize verify integers check
Fixes #1416
2019-10-07 10:28:51 -07:00
Daniel Imms 52ae8fc14b Throw when open is called on element not on DOM
Fixes #1158
2019-10-07 10:21:34 -07:00
Daniel Imms e14b1f75fe Merge pull request #2449 from Tyriar/release_41
Release v4.1.0
2019-10-07 09:54:48 -07:00
Daniel Imms da5bf975b4 Merge branch 'master' into release_41 2019-10-07 09:44:30 -07:00
Daniel Imms 22398c0927 v4.1.0 2019-10-07 09:42:20 -07:00
Daniel Imms 43b291112e Merge pull request #2448 from Tyriar/597_cmd_arrow
Don't handle cmd+arrow
2019-10-07 08:27:42 -07:00
Daniel Imms 87a1fca726 Merge pull request #2447 from Tyriar/ts36
Upgrade to typescript 3.6
2019-10-07 08:27:28 -07:00
Daniel Imms 52e211915e Don't handle cmd+arrow
Fixes #597
2019-10-07 08:02:58 -07:00
Daniel Imms 92c991132f Upgrade to typescript 3.6 2019-10-07 07:55:48 -07:00
jerch 50b7fcb90a Merge branch 'master' into window_manipulation 2019-10-04 20:14:14 +02:00
jerch 7e01c833be Merge branch 'master' into extract_vt_features 2019-10-04 20:13:59 +02:00
jerch 89ac2834f1 Merge branch 'master' into left_right_scroll 2019-10-04 20:12:34 +02:00
Daniel Imms 358c09a108 Merge branch 'master' into feat/fast-scrolling 2019-09-28 09:30:23 -07:00
Daniel Imms ff790236c1 Merge pull request #2442 from Tyriar/2441_windows_demo
Fix demo on Windows
2019-09-28 09:29:47 -07:00
Daniel Imms 9014a27d7d Fix demo on Windows
Fixes #2441
2019-09-28 09:25:41 -07:00
Daniel Imms 5236d4aabf Merge branch 'master' into feat/fast-scrolling 2019-09-28 08:51:28 -07:00
Daniel Imms ea922fe548 Merge pull request #2422 from jerch/write_enhancement
write callback support
2019-09-25 17:19:42 -07:00
Daniel Imms 22b06cada7 Merge pull request #2425 from Tyriar/constant_key_board
Use more C0 constants in Keyboard
2019-09-25 17:06:17 -07:00
Daniel Imms 5a65286c54 Merge branch 'master' into write_enhancement 2019-09-25 17:03:00 -07:00
Daniel Imms 0e8883ac99 Strongly type addSocketListener 2019-09-25 17:00:31 -07:00
Daniel Imms 5cb0bcea0f Merge pull request #2437 from kafeg/patch-1
Update README.md
2019-09-24 08:18:38 -07:00
Vitaly Petrov 2fd24849b2 Update README.md 2019-09-24 17:46:12 +03:00
Daniel Imms b81711e3da Merge pull request #2434 from Tyriar/2433_npe
Fix NPE when open called twice (master)
2019-09-23 10:55:21 -07:00
Daniel Imms 0c740213e3 Merge branch 'master' into 2433_npe 2019-09-23 07:49:34 -07:00
Daniel Imms f3b7866a19 Fix NPE when open called twice
Fixes #2433
2019-09-23 07:47:02 -07:00
Jörg Breitbart d34d1f56cb simplify attach addon 2019-09-22 22:33:55 +02:00
Jörg Breitbart 322565807b Merge branch 'master' into write_enhancement 2019-09-22 20:59:28 +02:00
Jörg Breitbart 1178ef2a12 Merge branch 'write_enhancement' of github.com:jerch/xterm.js into write_enhancement 2019-09-22 20:57:26 +02:00
Jörg Breitbart 6aab756ccd integration callback tests 2019-09-22 20:57:00 +02:00
Jörg Breitbart d1bd603382 unit tests 2019-09-22 20:39:09 +02:00
Daniel Imms 191932cce2 Merge pull request #2431 from Tyriar/2117_tests
Add tests for IL, DL and DCH
2019-09-14 14:31:00 -07:00
Daniel Imms bc7ba7bd85 Simplify test 2019-09-14 12:57:41 -07:00
Daniel Imms 74ba282056 Add tests for DCH (CSI Ps P)
Part of #2117
2019-09-14 12:15:16 -07:00
Daniel Imms 96f944522e Add tests for DL (CSI Ps M)
Part of #2117
2019-09-14 12:05:00 -07:00
Daniel Imms bf209fb71f Add tests for IL (CSI Ps L)
Part of #2117
2019-09-14 11:53:42 -07:00
Daniel Imms 3b537c7e9f Improve api jsdoc 2019-09-13 09:32:38 -07:00
Daniel Imms ce39c0633c Merge pull request #2429 from Tyriar/update_addons
Use v4 for addon peer dependency and release
2019-09-13 09:18:11 -07:00
Daniel Imms aba4d76ec6 v0.2.1 of all addons 2019-09-13 09:16:55 -07:00
Daniel Imms 91734f7659 Set addon peer deps to v4
Fixes #2428
2019-09-13 09:16:22 -07:00
Jörg Breitbart 1ac3cf8fca use callback in paste integration test 2019-09-13 16:45:40 +02:00
Jörg Breitbart c2ec16a16c encapsulate deferred writing in WriteBuffer class 2019-09-13 16:31:28 +02:00
Jörg Breitbart e402772cf7 Merge branch 'master' into write_enhancement 2019-09-13 13:30:10 +02:00
Jörg Breitbart d9ba19ba9e remove write sync hack from Terminal.test.ts 2019-09-13 13:23:59 +02:00
Jörg Breitbart a95e451227 add params in doc 2019-09-13 13:19:33 +02:00
Jörg Breitbart fe74b5588d use write callback in benchmark test 2019-09-13 13:11:23 +02:00
Jörg Breitbart dcbc7e1014 remove writeln from core 2019-09-13 13:06:54 +02:00
Jörg Breitbart 50e552262a remove writeUtf8 from core 2019-09-13 13:00:47 +02:00
Jörg Breitbart 597757d0ee use write callbacks in addon integration tests 2019-09-13 12:44:13 +02:00
Daniel Imms 5d3313a8ca Merge pull request #2427 from Tyriar/dist_remove
Remove extra build in publish Release job
2019-09-12 15:33:17 -07:00
Daniel Imms 9d291d1d12 Remove extra build in publish Release job
We no longer publish a dist dir
2019-09-12 15:16:03 -07:00
Daniel Imms 7da361af9f Merge pull request #2424 from Tyriar/logging_data
Improve debug logging by printing character codes
2019-09-12 14:02:58 -07:00
Daniel Imms 761e437c69 Allow lazy evaluated log params 2019-09-12 13:38:30 -07:00
Daniel Imms fc4f345446 Don't transform incoming data
This would run for all data
2019-09-12 11:24:04 -07:00
Daniel Imms 0a4883b2b3 Use more C0 constants in Keyboard 2019-09-12 11:14:41 -07:00
Daniel Imms 293f54e8dd Improve debug logging by printing character codes 2019-09-12 11:06:22 -07:00
Jörg Breitbart 05fad38240 fix private access in integration tests 2019-09-12 13:58:52 +02:00
Jörg Breitbart 75ba717bd7 merge write methods, optional callback 2019-09-12 13:36:58 +02:00
jerch 308c8ba1a5 Merge branch 'master' into extract_vt_features 2019-09-12 10:55:55 +02:00
jerch 19f0fc0aa9 Merge branch 'master' into left_right_scroll 2019-09-12 10:55:36 +02:00
Daniel Imms ffd27dfef0 Merge pull request #2419 from Tyriar/master_changes
Master changes for 4.0.1 fixes
2019-09-11 14:50:58 -07:00
Daniel Imms e042f25b8d Expose ctor at window.Terminal
Fixes #2415
2019-09-11 14:39:26 -07:00
Daniel Imms 7f9f757042 Fix web links addon support in Edge
regex.flags isn't supported on Edge

Fixes #2417
2019-09-11 14:39:11 -07:00
Daniel Imms 6211dcd923 Merge pull request #2412 from Tyriar/v4
Publish v4.0.0
2019-09-10 17:02:57 -07:00
Daniel Imms 2f2d941557 Merge branch 'master' into v4 2019-09-10 17:02:11 -07:00
Daniel Imms 9a13479692 v4.0.0 2019-09-10 17:00:18 -07:00
Daniel Imms e34b557f67 Remove experimental flag from ITerminalAddon.activate 2019-09-10 16:29:25 -07:00
Daniel Imms 26a09f05a5 Merge pull request #2410 from Tyriar/bump_addons
Bump addon versions for v4 release
2019-09-10 15:54:52 -07:00
Daniel Imms 230d26afc7 Bump addon versions for v4 release 2019-09-10 15:54:01 -07:00
Daniel Imms 3aa0599722 Merge pull request #2406 from Tyriar/doc_update
Fix paths in example for v4
2019-09-09 10:27:08 -07:00
Daniel Imms 238d81dbc8 Merge pull request #2405 from Tyriar/sourcemaps
Expose source maps on demo server
2019-09-09 10:26:58 -07:00
Daniel Imms b990eb42c6 Fix paths in example for v4
Fixes #2146
2019-09-09 10:25:07 -07:00
Daniel Imms 1f12d365c8 Expose source maps on demo server
Fixes #2258
2019-09-09 10:21:37 -07:00
Daniel Imms fdfa871b37 Merge pull request #2404 from Tyriar/addon_readmes
Add/polish the readme for all addons
2019-09-09 09:32:44 -07:00
Daniel Imms 87c167a212 Improve logging for addon publish 2019-09-09 09:32:32 -07:00
Daniel Imms f7dade1023 Add/polish the readme for all addons
Fixes #2193
2019-09-09 09:28:33 -07:00
Daniel Imms 5e1de3b062 Merge branch 'master' into feat/fast-scrolling 2019-09-07 13:49:42 -07:00
Daniel Imms 477d1b2569 Merge branch 'master' into window_manipulation 2019-09-06 10:29:00 -07:00
Daniel Imms 91691085f6 Merge pull request #2402 from Tyriar/2401_dont_scroll
Don't execute move to cell when the user has scrolled up
2019-09-06 09:38:59 -07:00
Daniel Imms 81c5fd4988 Don't execute move to cell when the user has scrolled up
Fixes #2401
2019-09-06 09:27:20 -07:00
jerch 5c7a14cfe0 Merge branch 'master' into extract_vt_features 2019-09-05 22:41:35 +02:00
jerch fb9019e0c8 Merge branch 'master' into window_manipulation 2019-09-05 22:41:21 +02:00
jerch 54739d625f Merge branch 'master' into left_right_scroll 2019-09-05 21:54:22 +02:00
Daniel Imms 9fdae76cca Merge pull request #2400 from Tyriar/webpack
webpack@4.39.3
2019-09-05 12:45:54 -07:00
Daniel Imms b6683b7e9f webpack@4.39.3
Fixes security alert on set-value
2019-09-05 12:22:54 -07:00
Daniel Imms 62215ac493 Merge pull request #2399 from xtermjs/dependabot/npm_and_yarn/mixin-deep-1.3.2
Bump mixin-deep from 1.3.1 to 1.3.2
2019-09-05 12:18:34 -07:00
jerch bc5e1e6012 Merge pull request #2323 from jerch/mouse_services
CoreMouseService
2019-09-05 21:08:48 +02:00
jerch 6a5223b9fb Merge branch 'master' into mouse_services 2019-09-05 20:59:11 +02:00
dependabot[bot] b85db39dc4 Bump mixin-deep from 1.3.1 to 1.3.2
Bumps [mixin-deep](https://github.com/jonschlinkert/mixin-deep) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/jonschlinkert/mixin-deep/releases)
- [Commits](https://github.com/jonschlinkert/mixin-deep/compare/1.3.1...1.3.2)

Signed-off-by: dependabot[bot] <support@github.com>
2019-09-05 18:45:17 +00:00
Daniel Imms aac8f9f76c Merge pull request #2398 from Tyriar/2395_repo
Add repo field to addon package.json
2019-09-05 11:44:04 -07:00
Daniel Imms cc94dfd013 Add repo field to addon package.json
Fixes #2395
2019-09-05 11:27:03 -07:00
jerch 1b832b05a0 Merge pull request #2397 from jerch/fix_function_identifier
fix stacking of multiple intermediates
2019-09-04 13:55:46 +02:00
Jörg Breitbart 6d66c6a0c8 tests for function identifiers; fix stacking of multiple intermediates 2019-09-02 10:07:12 +02:00
Jörg Breitbart b3750bed2d early hack 2019-08-24 11:47:46 +02:00
jerch fa12649642 Merge branch 'master' into extract_vt_features 2019-08-23 20:37:29 +02:00
jerch 97bf796c43 Merge branch 'master' into left_right_scroll 2019-08-23 20:37:13 +02:00
jerch 4fd651f86f Merge branch 'master' into mouse_services 2019-08-23 20:36:36 +02:00
jerch 3938231c16 Merge pull request #2392 from jerch/fix_2389
fix several bugs in Params
2019-08-23 20:33:21 +02:00
Jörg Breitbart 87eb942d32 remove comment 2019-08-23 20:21:58 +02:00
jerch 54ff71f982 Merge branch 'master' into left_right_scroll 2019-08-23 16:45:42 +02:00
Jörg Breitbart 36b3bbd541 Merge branch 'master' into mouse_services 2019-08-23 16:37:16 +02:00
Jörg Breitbart a7e64ad537 fix bugs 2019-08-23 15:32:05 +02:00
Daniel Imms a67f57d693 Merge pull request #2388 from ShahzadUmair/Support-for-bubbling-scroll
Support for bubbling scroll events to parent(s)
2019-08-22 09:12:41 -07:00
Daniel Imms f91aa75c80 Indent second line of if condition 2019-08-22 09:12:04 -07:00
Daniel Imms 211700518f Merge pull request #2391 from Tyriar/2390_paste_api
Expose paste API
2019-08-22 09:06:27 -07:00
Daniel Imms a2d890cf74 Add paste api integration tests 2019-08-22 08:54:28 -07:00
Daniel Imms 9c7cf8e6e6 Cover another paste case 2019-08-22 08:39:50 -07:00
Daniel Imms 441d27cb5a Expose paste API
Fixes #2390
2019-08-22 08:39:02 -07:00
UmairShahzad 582934390d restructured bubble scroll 2019-08-21 00:57:41 +05:00
UmairShahzad e91c1c28d8 Merge remote-tracking branch 'upstream/master' into Support-for-bubbling-scroll 2019-08-21 00:46:07 +05:00
Jörg Breitbart aacc9c86b9 linter 2019-08-19 22:59:14 +02:00
Jörg Breitbart 8b2d85c823 document more commands; long description hook 2019-08-19 22:54:55 +02:00
Jörg Breitbart 66709e6f22 fix OSC list header; general notes 2019-08-18 21:50:17 +02:00
Jörg Breitbart f34edc3116 rename script 2019-08-18 17:57:22 +02:00
Jörg Breitbart 9cd80a2c6b cleanup 2019-08-18 17:52:26 +02:00
Jörg Breitbart 2de22f9356 extract @vt entries from docs 2019-08-18 17:36:06 +02:00
Jörg Breitbart f7827c4df8 add basic tests for commands 2019-08-17 18:52:11 +02:00
Jörg Breitbart 4b5709c68d add DECIC/DECDC to interface 2019-08-17 18:13:56 +02:00
Jörg Breitbart 4fe78dfe34 Merge branch 'master' into left_right_scroll 2019-08-17 17:57:31 +02:00
Jörg Breitbart 64c06d34fa remove any types 2019-08-17 14:45:11 +02:00
Jörg Breitbart a215362764 drop leftover aux button support, cleanup remnants 2019-08-17 13:41:15 +02:00
Jörg Breitbart 82d1bd86da only report on loglevel debug, explain events 2019-08-17 13:30:54 +02:00
Jörg Breitbart ae914c17d8 Merge branch 'master' into mouse_services 2019-08-16 22:06:04 +02:00
jerch 5a9e6fe94b Merge pull request #2346 from jerch/parser_hooks
Parser API
2019-08-16 21:26:33 +02:00
Jörg Breitbart 1c20057ed3 add parser property to interface 2019-08-16 21:14:49 +02:00
Jörg Breitbart 29a6f3f3ca Merge branch 'master' into parser_hooks 2019-08-16 21:00:24 +02:00
Daniel Imms 54d21579dd Merge pull request #2385 from lramos15/viewport-no-scroll
Don't scroll terminal search result if within viewport
2019-08-16 09:39:17 -07:00
Logan Ramos f3d8e74d6f Remove forgotten console .log 2019-08-16 10:55:16 -04:00
Logan Ramos 85444def9f Don't scroll terminal search result if within viewport 2019-08-16 10:50:44 -04:00
UmairShahzad 6c3b084fe9 added scroll bubbling on wheel and touch move events 2019-08-15 07:41:23 +05:00
Daniel Imms 95ff15457b Merge pull request #2381 from Tyriar/2380_links
Ensure selection service mousedown happens after mouse zone manager
2019-08-12 18:10:30 -07:00
Daniel Imms 63fd3be67a Ensure selection service mousedown happens after mouse zone manager
Fixes #2380
2019-08-12 17:56:26 -07:00
Jörg Breitbart a2c266a005 rename handler type aliases to XyType to avoid ambiguity with class based types 2019-08-11 18:45:34 +02:00
Jörg Breitbart 3a5d0bd368 fix escHandlers type and disposing 2019-08-11 18:38:35 +02:00
Jörg Breitbart 7c47fafb07 Merge branch 'parser_hooks' of github.com:jerch/xterm.js into parser_hooks 2019-08-11 17:55:42 +02:00
Jörg Breitbart b35383915d cleanup interfaces 2019-08-11 17:55:24 +02:00
Daniel Imms d05d6e6848 Merge branch 'master' into parser_hooks 2019-08-11 08:38:37 -07:00
Jörg Breitbart f677516e95 better interfaces, cleanup 2019-08-11 16:45:35 +02:00
Daniel Imms f3b9dc00b6 Merge pull request #2378 from Tyriar/2204_refresh
Fix dom -> canvas renderer switch not drawing viewport
2019-08-10 18:23:28 -07:00
Daniel Imms c758d7de55 Merge pull request #2377 from Tyriar/2076_remove_applyAddon
Remove applyAddon, stabilize loadAddon
2019-08-10 17:54:53 -07:00
Daniel Imms 63af42ba38 Merge pull request #2376 from Tyriar/2361
Move buffer tests to Terminal.test.ts and re-enable
2019-08-10 17:53:09 -07:00
Daniel Imms dd42eccb91 Fix dom -> canvas renderer switch not drawing viewport
Fixes #2204
2019-08-10 17:51:17 -07:00
Daniel Imms ba1274ba12 Remove applyAddon, stabilize loadAddon
Fixes #2076
2019-08-10 14:31:14 -07:00
Daniel Imms 13dde8061f Move buffer tests to Terminal.test.ts and re-enable
Fixes #2361
2019-08-10 14:23:17 -07:00
Daniel Imms e58a84df6a Merge branch 'master' into parser_hooks 2019-08-10 14:15:11 -07:00
Corentin Surquin a353a8cffe Allow to disable fast scrolling 2019-08-10 19:45:41 +02:00
Corentin Surquin 73a17cfacb Support fast scrolling using a modifier key 2019-08-10 19:45:41 +02:00
Daniel Imms e254d61c65 Merge pull request #2374 from Tyriar/2373_blink
Fix DOM blink for non-block cursors
2019-08-10 07:52:26 -07:00
Daniel Imms afe08d82d8 Merge branch 'master' into 2373_blink 2019-08-10 07:39:49 -07:00
Daniel Imms 598d37a023 Fix DOM blink for non-block cursors
Fixes #2373
2019-08-10 07:38:44 -07:00
Daniel Imms 30161c3b5a Merge pull request #2371 from Tyriar/2370
Fix mouse events class apply on open
2019-08-09 10:07:43 -07:00
Daniel Imms 0a9de5eb8c Merge branch 'master' into 2370 2019-08-09 09:56:16 -07:00
Daniel Imms 811c24b866 Fix mouse events class apply on open
Fixes #2370
2019-08-09 09:55:31 -07:00
Jörg Breitbart 0469e271da cache ParserApi, remove namespace 2019-08-08 21:58:02 +02:00
Jörg Breitbart 1286eb618a rename to OscHandler and DcsHandler 2019-08-08 19:41:12 +02:00
Jörg Breitbart 20fa447033 namespace parser related stuff 2019-08-08 19:34:00 +02:00
Jörg Breitbart a97742c765 Merge branch 'master' into parser_hooks 2019-08-08 18:51:12 +02:00
Daniel Imms 58e1b0db38 Merge pull request #2355 from jerch/fix_2354
DECSTBM issues
2019-08-07 07:51:18 -07:00
Daniel Imms 61e582969e Merge pull request #2366 from Tyriar/2365_shift_click
Don't throw if first click is incremental
2019-08-07 07:42:45 -07:00
Daniel Imms 29d8493a7a Don't throw if first click is incremental
Fixes #2365
2019-08-07 07:18:27 -07:00
Jörg Breitbart 4200e8356b apply BCE to SU/SD 2019-08-04 17:07:56 +02:00
Jörg Breitbart 8bc0099434 linter nonsense 2019-08-04 15:37:47 +02:00
Jörg Breitbart 9a903ca1c5 add DECIC/DECDC 2019-08-04 15:32:32 +02:00
Jörg Breitbart 5483a052cc always reset wrapped flag 2019-08-04 15:15:59 +02:00
Jörg Breitbart bd132d1f74 implement left/right scroll 2019-08-04 15:04:40 +02:00
Jörg Breitbart 6285cbf976 fix IL/DL test 2019-08-04 13:46:37 +02:00
Jörg Breitbart 00298531ed respect scroll margins in CUU/CUD/CPL/CNL; test files 2019-08-04 12:20:44 +02:00
Jörg Breitbart 2a533e7236 map DECEL back to eraseInLine 2019-08-04 09:00:07 +02:00
Jörg Breitbart 4e8a1c5656 Merge remote-tracking branch 'upstream/master' into parser_hooks 2019-08-04 08:56:34 +02:00
Jörg Breitbart eccd6d7bdf enable NEL test 2019-08-03 15:05:44 +02:00
Jörg Breitbart 497a5e6e84 fix DECSTBM with IND 2019-08-03 15:00:30 +02:00
Daniel Imms 2e237cc449 Merge pull request #2298 from JavaCS3/master
add SerializeAddon
2019-08-02 14:32:03 -07:00
Jörg Breitbart 84d7591506 increase test timeout 2019-08-02 21:06:16 +02:00
Daniel Imms bb734706fc Merge branch 'master' into master 2019-08-02 11:37:09 -07:00
Jörg Breitbart 0958f0ef91 fix DECSTBM with LF 2019-08-02 15:29:26 +02:00
Jörg Breitbart d28b601066 doc multi button tests as not doable 2019-08-01 16:52:19 +02:00
Jörg Breitbart bf2cc23eb0 tests for DECSET 1003 2019-08-01 16:15:55 +02:00
Jörg Breitbart b8b3cdbc3e increase test timeout 2019-08-01 12:08:07 +02:00
Jörg Breitbart 565b0791d8 fix osx tests 2019-08-01 11:50:15 +02:00
Jörg Breitbart 51feff3330 Merge branch 'mouse_services' of github.com:jerch/xterm.js into mouse_services 2019-08-01 01:16:49 +02:00
Jörg Breitbart 4dec88212e fix mouse tests 2019-08-01 01:16:29 +02:00
Jörg Breitbart aa8165a756 Merge branch 'master' into mouse_services 2019-07-31 23:12:05 +02:00
jerch a89771a8de Merge pull request #2321 from jerch/mouse_report_tests
Mouse tracking tests
2019-07-31 23:06:44 +02:00
Daniel Imms 6840f51b52 Merge branch 'master' into mouse_report_tests 2019-07-31 12:21:18 -07:00
Daniel Imms d20068c2db Merge pull request #2353 from Tyriar/multiple_dispose
Make dispose idempotent
2019-07-31 11:02:59 -07:00
Daniel Imms efaa78faee Make dispose idempotent
Fixes #2351
2019-07-31 10:55:39 -07:00
Jörg Breitbart bbd7275ad7 make linter happy 2019-07-31 14:44:50 +02:00
Jörg Breitbart 7252a5921d cleanup parser rules and docs 2019-07-31 14:20:36 +02:00
Jörg Breitbart 83a1340cc4 abort and cleanup subparsers for CAN and SUB 2019-07-31 12:03:12 +02:00
Jörg Breitbart 812fc5e6ec register functions by prefix/intermediate/final bytes 2019-07-31 04:49:01 +02:00
jerch 9d32dc4522 Merge branch 'master' into mouse_services 2019-07-26 18:23:57 +02:00
jerch 54586f75eb Merge branch 'master' into mouse_report_tests 2019-07-26 18:19:37 +02:00
Jörg Breitbart d78c062169 Merge branch 'master' into parser_hooks 2019-07-26 18:15:43 +02:00
Jörg Breitbart 0106bdcb73 parser tests for addDcsHandler 2019-07-26 18:11:31 +02:00
Jörg Breitbart 0a2d9a2120 addOscHandler integration test 2019-07-26 17:48:36 +02:00
Jörg Breitbart bffa78585e test cases for payload limits 2019-07-26 17:35:37 +02:00
Jörg Breitbart a9b2728c07 add DCS interface, payload limits for DCS/OSC 2019-07-26 15:59:24 +02:00
Jörg Breitbart 82aaef29f1 dcs parser tests 2019-07-26 15:07:24 +02:00
Jörg Breitbart c9b7aefb88 reset internal state on unhook 2019-07-26 02:56:48 +02:00
Jörg Breitbart 229a7ec755 Merge branch 'parser_hooks' of github.com:jerch/xterm.js into parser_hooks 2019-07-26 01:58:59 +02:00
Jörg Breitbart 6606024c2b support for multiple DCS handler 2019-07-26 01:58:42 +02:00
Daniel Imms 689fb6b6ad Merge pull request #2348 from xtermjs/Tyriar-patch-1
Fix NPE on dispose when it hasn't been opened
2019-07-25 16:53:25 -07:00
Daniel Imms 3dc52184e5 Fix NPE on dispose when it hasn't been opened 2019-07-25 16:49:26 -07:00
Daniel Imms 41331150ff Merge branch 'master' into parser_hooks 2019-07-25 14:43:53 -07:00
Daniel Imms 26948f044d Merge pull request #2345 from xtermjs/Tyriar-patch-1
Remove describe.only
2019-07-25 14:31:12 -07:00
Jörg Breitbart f985c30847 add addEscHandler 2019-07-25 22:44:08 +02:00
Jörg Breitbart 1f4dde601e remove experimental from addCsiHandler 2019-07-25 21:38:50 +02:00
Jörg Breitbart c87b3fd942 integration test for addOscHandler 2019-07-25 21:37:51 +02:00
Jörg Breitbart f626e1c93d fix OSC parsing 2019-07-25 20:38:14 +02:00
Daniel Imms 3f53f0ed29 Remove describe.only 2019-07-25 10:57:03 -07:00
Daniel Imms 378982a3ff Merge pull request #2344 from lramos15/search-tests
Puppeteer Tests for the Search Addon
2019-07-25 10:54:06 -07:00
Daniel Imms dc8f9f0a6d Merge branch 'master' into search-tests 2019-07-25 10:50:42 -07:00
Logan Ramos dcb39a658c Case sensitivity enabled 2019-07-25 10:41:55 -07:00
Logan Ramos 6869184864 More RegEx tests 2019-07-25 10:39:11 -07:00
Logan Ramos bb4c694f8d More search tests 2019-07-25 10:33:33 -07:00
Daniel Imms 33d4e08eba Merge pull request #2343 from Tyriar/cancel_events
Cancel keydown events when not in screenReaderMode
2019-07-25 10:19:53 -07:00
Daniel Imms 41f418e91e Revert tests to how they used to be 2019-07-25 10:13:50 -07:00
Daniel Imms bc30182752 Merge branch 'master' into cancel_events 2019-07-25 10:10:17 -07:00
Daniel Imms 7479131747 Cancel keydown events when not in screenReaderMode
This caused issues with embedder keybinding systems firing when they
shouldn't be. The fix is to only allow it in screenReaderMode as a
compromise so keys are echoed.
2019-07-25 10:08:41 -07:00
Daniel Imms 9715bdc45c Merge pull request #2340 from lramos15/lramos15/searchaddon-change
Changes default search addon behavior
2019-07-25 09:18:06 -07:00
Logan Ramos badfac2091 Merge branch 'lramos15/searchaddon-change' into search-tests 2019-07-25 09:10:06 -07:00
Logan Ramos a1be1f0b35 Code cleanup 2019-07-25 09:02:32 -07:00
Logan Ramos ea72a3b594 Fix incremental search bug 2019-07-25 08:50:37 -07:00
Jörg Breitbart d8364d749c remove null type from dcsHandler 2019-07-25 01:15:18 +02:00
Daniel Imms db936701f4 Include incremental in getSearchOptions 2019-07-24 16:09:57 -07:00
Logan Ramos d104f39a9d Incremental previous search 2019-07-24 16:01:07 -07:00
Logan Ramos 9ff5dc5858 Merge remote-tracking branch 'origin/lramos15/searchaddon-change' into search-tests 2019-07-24 15:33:26 -07:00
Jörg Breitbart 20a8e56201 Merge branch 'mouse_report_tests' of github.com:jerch/xterm.js into mouse_report_tests 2019-07-25 00:30:51 +02:00
Jörg Breitbart 113847aedf Merge branch 'master' into mouse_report_tests 2019-07-25 00:30:31 +02:00
Logan Ramos f3f52e6920 Changed default Search Addon behavior 2019-07-24 15:30:09 -07:00
Jörg Breitbart e32dbc6137 Merge branch 'master' into mouse_services 2019-07-25 00:29:06 +02:00
Logan Ramos cae3d59e23 Change search addon behavior 2019-07-24 15:09:59 -07:00
Daniel Imms 4ee0e3fec4 Merge branch 'master' into mouse_report_tests 2019-07-24 15:04:34 -07:00
Logan Ramos 7860dccdcf Search addon tests 2019-07-24 14:53:14 -07:00
Logan Ramos 79dcef0e6c Merge remote-tracking branch 'xterm/master' into search-tests 2019-07-24 14:05:00 -07:00
Daniel Imms 52c562d4b1 Merge pull request #2338 from Tyriar/debug_log
Move verbose logs in InputHandler to debug level
2019-07-24 12:27:44 -07:00
Daniel Imms 8447bcbb3b Merge branch 'master' into debug_log 2019-07-24 12:21:41 -07:00
Daniel Imms 8d76998df3 Merge pull request #2315 from Tyriar/layering4
Move renderer into browser
2019-07-24 12:21:27 -07:00
Daniel Imms 752243d95f Move verbose logs in InputHandler to debug level 2019-07-24 12:21:10 -07:00
Daniel Imms 1c0a263b03 Merge branch 'master' into layering4 2019-07-24 11:46:20 -07:00
Jörg Breitbart 4fba080d34 deactivate wheel left/right, docs 2019-07-24 15:14:37 +02:00
Jörg Breitbart f68769e5f3 Merge branch 'master' into mouse_services 2019-07-24 14:14:19 +02:00
Jörg Breitbart fb38bd13cd fix general purpose test script 2019-07-24 12:51:24 +02:00
Jörg Breitbart 6391742951 Merge branch 'master' into mouse_report_tests 2019-07-24 11:22:14 +02:00
Daniel Imms cb094b27a6 Merge pull request #2335 from Tyriar/unit_exit_code
Fix unit tests and the returned exit code
2019-07-23 14:41:41 -07:00
Daniel Imms ac8107d1df Fix lint errors 2019-07-23 14:32:13 -07:00
Daniel Imms edfef95bb3 Get tests passing 2019-07-23 14:22:49 -07:00
Daniel Imms ca0b8fdd8c Exit with correct exit code in test-unit 2019-07-23 14:19:07 -07:00
Jörg Breitbart 776c6dffea refactor buttons, wheel with left right 2019-07-23 20:16:42 +02:00
Jörg Breitbart 88faf1bcfe Merge branch 'master' into mouse_services 2019-07-23 18:27:34 +02:00
Jörg Breitbart 6463a1fe51 increase mouse test timeout 2019-07-23 17:15:30 +02:00
Jörg Breitbart 595465ec4f fix azure tasks 2019-07-23 17:04:38 +02:00
Jörg Breitbart edf881b19c macOS integration tests 2019-07-23 17:02:23 +02:00
Jörg Breitbart 711865f19a sanitize code extraction 2019-07-23 16:57:56 +02:00
Jörg Breitbart 50e5eb63df macos fix part4 2019-07-23 16:27:15 +02:00
Jörg Breitbart 2c3f9c9ca5 macos fix part3 2019-07-23 16:08:44 +02:00
Jörg Breitbart 10c61d47a2 macos fix part2 2019-07-23 16:03:15 +02:00
Jörg Breitbart 5b3d2fcef9 Merge branch 'mouse_report_tests' of github.com:jerch/xterm.js into mouse_report_tests 2019-07-23 15:52:08 +02:00
Jörg Breitbart 435cb3bd0a partial fix macos 2019-07-23 15:51:57 +02:00
Daniel Imms 62c25b0bba Fix all auto-fixable tslint issues 2019-07-22 14:08:34 -07:00
Daniel Imms d63985a50f Merge branch 'master' into mouse_report_tests 2019-07-22 14:06:59 -07:00
Daniel Imms 7db22c2408 Merge pull request #2329 from Tyriar/announce_input
Announce characters in screen readers when typing and using backspace
2019-07-22 12:40:50 -07:00
Jörg Breitbart bca69a75b4 fix report eval for buttons > 5 2019-07-22 20:18:06 +02:00
Daniel Imms 9e3ca6af18 Merge branch 'master' into announce_input 2019-07-22 10:52:29 -07:00
Daniel Imms ea019e8e66 Merge pull request #2328 from Tyriar/log_data_sent
Debug log data being sent
2019-07-22 10:49:47 -07:00
Daniel Imms c8a719b64a Clear textarea when ^C or enter is pressed 2019-07-22 10:49:40 -07:00
Daniel Imms d2a311b128 Debug log data being sent 2019-07-22 10:42:40 -07:00
Daniel Imms 6a68a24739 Debug log data being sent 2019-07-22 10:42:18 -07:00
Daniel Imms cabd0ca3bc Announce character when typing
Fixes #2327
2019-07-22 10:34:06 -07:00
Jörg Breitbart 3e5b075a0a remove modifier restriction for 1000 2019-07-22 16:32:24 +02:00
Jörg Breitbart 25ed7f7a7f added modifier tests 2019-07-22 15:22:14 +02:00
Logan Ramos ab9e92fcf1 Initial search tests 2019-07-19 17:45:39 -07:00
Jörg Breitbart 986bdac191 create wheel event remote 2019-07-20 00:45:12 +02:00
Jörg Breitbart 044476ae4f Merge branch 'master' into mouse_report_tests 2019-07-20 00:05:38 +02:00
Jörg Breitbart e5b28d4e72 Merge branch 'mouse_services' of github.com:jerch/xterm.js into mouse_services 2019-07-19 23:58:02 +02:00
Jörg Breitbart f239e10ed6 use enums instead 2019-07-19 23:55:18 +02:00
Daniel Imms 6465ab960e Merge branch 'master' into mouse_services 2019-07-19 12:08:10 -07:00
Daniel Imms 9a433e90e8 Merge pull request #2322 from elisescu/master
Add tty-share to the list of real world uses
2019-07-19 08:58:36 -07:00
Jörg Breitbart b64ed4f540 cleanup sendEvent, switch reported button during move 2019-07-19 17:04:12 +02:00
Jörg Breitbart cbddbc6e83 some changes in mouse event handling:
- use onProtocolChange
- remove mouse states from Terminal.ts
- remove selectionService from InputHandler
- fix up events in VT200 mode
- fix move event with no buttons in ANY mode
2019-07-19 16:21:30 +02:00
Jörg Breitbart df0cf253ac debounce only move events 2019-07-19 02:56:24 +02:00
Jörg Breitbart e38a68e396 debounce events at grid level 2019-07-19 02:46:03 +02:00
Jörg Breitbart 4858bdc464 CoreMouseService 2019-07-19 01:45:27 +02:00
Jörg Breitbart ee3cbae35a modifier test examples 2019-07-18 00:00:41 +02:00
Vasile Popescu 2b43731270 Add tty-share to the list of real world uses 2019-07-17 21:16:27 +02:00
Jörg Breitbart d4f65b7d0e remove copied over bug comments 2019-07-17 18:42:04 +02:00
Jörg Breitbart 27e8f7aa31 mixed col/row in report parser 2019-07-17 18:10:09 +02:00
Jörg Breitbart 4e56eed914 basic mousing tracking api tests 2019-07-17 18:07:44 +02:00
jerch d55fb1e922 Merge pull request #2316 from jerch/mouse_modes
Mouse modes test script
2019-07-16 22:38:12 +02:00
jerch 48109cac6b Merge branch 'master' into mouse_modes 2019-07-16 22:06:14 +02:00
Jörg Breitbart 78c1569a6e cleanup 2019-07-16 22:05:06 +02:00
Charles Wei 09ede0221a Merge branch 'master' into master 2019-07-16 20:03:57 +08:00
javacs3 f859bffa74 fix lint error 2019-07-15 09:42:56 +08:00
Jörg Breitbart 5b52094aa2 respect protocol and modifiers 2019-07-14 23:58:07 +02:00
Daniel Imms 2b7be05da3 Move 3 render layers to browser 2019-07-14 12:36:37 -07:00
Daniel Imms 9830a077c1 Move BaseRenderLayer into browser 2019-07-14 12:22:11 -07:00
Daniel Imms cdefb3e7f2 Remove more terminal from render layers and cache 2019-07-14 12:07:43 -07:00
Daniel Imms 60ae9add3f Remove most terminal refs from BaseRenderLayer 2019-07-14 11:48:44 -07:00
Jörg Breitbart e5728ca78f test script for mouse modes 2019-07-14 20:34:51 +02:00
Daniel Imms a48260279c Fix import in webgl addon 2019-07-14 11:20:25 -07:00
Daniel Imms bd95c83ca2 Start using services in most render layers 2019-07-14 10:15:58 -07:00
Daniel Imms 868125f258 Don't pass terminal around within render layers
Will ease migration to services
2019-07-14 10:04:51 -07:00
Daniel Imms 60194179f8 Move CharAtlasCache to browser 2019-07-14 09:43:54 -07:00
Daniel Imms 64062d1a25 Move CharAtlasUtils into browser 2019-07-14 09:38:49 -07:00
Daniel Imms c0253c1093 Move DynamicCharAtlas to browser 2019-07-14 09:31:04 -07:00
Daniel Imms 58dbc98361 Move BaseCharAtlas to browser 2019-07-14 09:26:09 -07:00
Daniel Imms 4edae7c7ae Merge pull request #2314 from Tyriar/sec
Update some dev dependencies
2019-07-14 09:08:30 -07:00
Daniel Imms 8b3a649d65 Update express-ws, ts-loader and webpack 2019-07-14 09:02:29 -07:00
Daniel Imms 94b77aaf8c Update express
Fixes security issue in negotiator
2019-07-14 08:57:09 -07:00
Daniel Imms a94a361e1c Merge pull request #2311 from Tyriar/layering3
Move range updating to DirtyRowService and add dependency injection
2019-07-14 08:55:50 -07:00
Daniel Imms 2c50af356a Remove note in readme 2019-07-14 08:53:03 -07:00
javacs3 bca90245c8 serialize from the bottom of the terminal 2019-07-14 23:28:08 +08:00
Daniel Imms 5e0b1b251f Merge branch 'master' into layering3 2019-07-14 00:44:28 -07:00
Daniel Imms ff017f8960 Merge pull request #2313 from xtermjs/dependabot/npm_and_yarn/extend-3.0.2
Bump extend from 3.0.1 to 3.0.2
2019-07-14 00:41:56 -07:00
Daniel Imms 1df737c394 Fix decorator error 2019-07-14 00:41:37 -07:00
dependabot[bot] b97c704c21 Bump extend from 3.0.1 to 3.0.2
Bumps [extend](https://github.com/justmoon/node-extend) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/justmoon/node-extend/releases)
- [Changelog](https://github.com/justmoon/node-extend/blob/master/CHANGELOG.md)
- [Commits](https://github.com/justmoon/node-extend/compare/v3.0.1...v3.0.2)

Signed-off-by: dependabot[bot] <support@github.com>
2019-07-14 07:19:39 +00:00
Daniel Imms 05992e093b Merge branch 'master' into layering3 2019-07-14 00:17:48 -07:00
Daniel Imms 8deef83c60 Add tslint rule to prevent import from out
Fixes #1996
2019-07-14 00:16:20 -07:00
Daniel Imms fb6d4e2bfe Remove imports from out 2019-07-13 23:54:44 -07:00
Daniel Imms a0e2c9b270 Fix naming issue with serviceBrand 2019-07-13 23:45:25 -07:00
Daniel Imms 358a707835 Fix most lint and tests 2019-07-13 23:44:08 -07:00
Daniel Imms 9315b50897 Use createInstance on service hungry objects 2019-07-13 22:56:54 -07:00
Daniel Imms 88c88f1141 Adopt DI in browser services 2019-07-13 22:26:13 -07:00
Daniel Imms f4208d0389 Merge pull request #2312 from xtermjs/dependabot/npm_and_yarn/lodash-4.17.14
Bump lodash from 4.17.10 to 4.17.14
2019-07-13 22:20:15 -07:00
dependabot[bot] 283d1b1105 Bump lodash from 4.17.10 to 4.17.14
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.10 to 4.17.14.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.10...4.17.14)

Signed-off-by: dependabot[bot] <support@github.com>
2019-07-14 05:04:11 +00:00
Daniel Imms 5cc8ad802c Get type safety in DI, fix character joiner not using buffer service 2019-07-13 22:02:13 -07:00
Daniel Imms 8359605951 Add license and credit to VS Code 2019-07-13 19:54:01 -07:00
Daniel Imms 21fbe25858 Dependency Injection prototype 2019-07-13 19:50:16 -07:00
Daniel Imms c078f3db48 Move range updating to DirtyRowService 2019-07-13 18:25:22 -07:00
Daniel Imms 5709e5ff30 Merge pull request #2310 from Tyriar/layering2
Move MouseZoneManager and Viewport into browser
2019-07-13 18:13:13 -07:00
Daniel Imms 9aaaf6d8db Move Viewport to browser 2019-07-13 17:50:43 -07:00
Daniel Imms 8aa296933d Break Viewport's dependency on ITerminal 2019-07-13 17:49:44 -07:00
Daniel Imms 4dfe3a6079 Move MouseZoneManager to browser 2019-07-13 17:43:23 -07:00
Daniel Imms ca4e3d3fc4 Merge pull request #2309 from Tyriar/layering
Move several components to sub-projects
2019-07-13 17:40:19 -07:00
Daniel Imms 78f015308a Re-enable linkifier unicode tests in Terminal.test.ts 2019-07-13 17:28:09 -07:00
Daniel Imms 2eec18e7f5 Remove ITerminal from MouseZoneManager 2019-07-13 14:35:31 -07:00
Daniel Imms 0cd4093e53 Move Linkifier to browser 2019-07-13 14:15:28 -07:00
Daniel Imms f0a02e3188 Move linkifier types into browser 2019-07-13 13:53:16 -07:00
Daniel Imms 1ffa568a2f Remove ITerminal from Linkifier 2019-07-13 13:47:17 -07:00
Daniel Imms a696f4747a Move clipboard to browser 2019-07-13 13:18:44 -07:00
Daniel Imms 4d9d6fbd86 Merge pull request #2304 from Tyriar/inputhandler_bufferservice
Use IBufferService for buffer access in InputHandler
2019-07-13 11:09:04 -07:00
Daniel Imms 46002599d3 Prefix all logging with 'xterm.js'
This makes it easier to differentiate messages in large apps
2019-07-13 10:11:02 -07:00
Daniel Imms 0c038352f3 Remove debug internal option completely and add option APIs 2019-07-13 10:00:15 -07:00
Daniel Imms f314543135 Log bad linkifier instead of throwing 2019-07-13 09:48:16 -07:00
Daniel Imms cd01d8ad56 Lint 2019-07-13 09:47:11 -07:00
Daniel Imms 2977a53cc1 Use log service everywhere, fix log printing
Fixes #1560
2019-07-13 09:44:16 -07:00
Daniel Imms 94199ae124 Introduce logLevel option
Part of #1560
2019-07-13 09:36:21 -07:00
javacs3 fe3520c685 change exception message 2019-07-13 17:25:18 +08:00
Daniel Imms af9c050e93 Remove ITerminal usage in DECRQSS 2019-07-13 01:46:01 -07:00
Daniel Imms 49fa86d6bb Get rows/cols in input hander from buffer service 2019-07-13 01:38:02 -07:00
Daniel Imms dd239b9811 Use IBufferService for buffer access in InputHandler 2019-07-13 00:52:54 -07:00
Daniel Imms 61b219ce22 Merge pull request #2303 from Tyriar/compositionhelper_browser
Move CompositionHelper into browser
2019-07-13 00:30:27 -07:00
Daniel Imms 27a946286a Make browser import absolute 2019-07-13 00:25:37 -07:00
Daniel Imms b929f82101 Move CompositionHelper into browser 2019-07-13 00:23:56 -07:00
javacs3 31f812cf94 add missing api docs and refactor serialize implementation by using list join instead and some code clean up 2019-07-12 23:23:06 +08:00
javacs3 57a8255654 add test files from addons folder 2019-07-12 23:23:06 +08:00
Daniel Imms 4a442888ce Merge pull request #2288 from jerch/cleanup_sequences_files
fix edge cases in inputhandler methods
2019-07-11 15:37:42 -07:00
Daniel Imms b658f7ba44 Merge branch 'master' into cleanup_sequences_files 2019-07-11 15:25:17 -07:00
Daniel Imms e99de7a910 Merge pull request #2302 from Tyriar/2301_mouse_events
Don't trigger selection when mouse events are on
2019-07-11 11:12:21 -07:00
Daniel Imms 7a37bd880e Add test for mouse events 2019-07-11 11:07:03 -07:00
Daniel Imms da9b4b1a69 Don't trigger selection when mouse events are on
Fixes #2301
2019-07-11 09:34:45 -07:00
Jörg Breitbart eb707bb1d7 better typing in test file 2019-07-11 02:41:20 +02:00
Daniel Imms a71ed7b5b7 Merge branch 'master' into master 2019-07-10 17:14:13 -07:00
Jörg Breitbart 6ec093a717 Merge branch 'cleanup_sequences_files' of github.com:jerch/xterm.js into cleanup_sequences_files 2019-07-10 23:39:20 +02:00
Jörg Breitbart 24b26c7311 force closing of pty 2019-07-10 23:39:05 +02:00
Daniel Imms c2a4ff1c72 Merge branch 'master' into cleanup_sequences_files 2019-07-10 11:57:33 -07:00
Daniel Imms a9961c867d Merge pull request #2297 from qwefgh90/master
Add NgTerminal to the users list
2019-07-10 11:48:51 -07:00
Daniel Imms a32c46758f Improve grammar 2019-07-10 11:48:30 -07:00
javacs3 3ba6ffe5f4 fix lint error 2019-07-10 21:57:50 +08:00
javacs3 2571a0654f add SerializeAddon 2019-07-10 21:46:51 +08:00
Jörg Breitbart cc3bb83ced getting rid of native access in test file 2019-07-10 14:57:49 +02:00
Changwon Choe 6f58572d1f Add NgTerminal to the users list 2019-07-10 12:48:18 +09:00
Jörg Breitbart ab25997192 change to max/min 2019-07-09 22:30:00 +02:00
Jörg Breitbart 9d2418ece6 remove comment 2019-07-09 21:41:17 +02:00
Jörg Breitbart d8650ad722 Merge branch 'master' into cleanup_sequences_files 2019-07-09 00:44:12 +02:00
Daniel Imms 44a843bbe6 Merge pull request #2294 from Tyriar/fix_keyup
Don't handle keyup that is handled by custom handler
2019-07-08 15:36:54 -07:00
Daniel Imms bf35ee8016 Fix lint 2019-07-08 15:29:09 -07:00
Daniel Imms cf3cf38e60 Don't handle keyup that is handled by custom handler
Fixes #2293
2019-07-08 15:25:30 -07:00
Jörg Breitbart 691a8addfc cleanup; doc; move cursor methods next to each other 2019-07-08 23:59:46 +02:00
Jörg Breitbart 3d6f87ea7f reset cursor on DECOM 2019-07-08 23:22:46 +02:00
Jörg Breitbart e91c223bb0 respect DECSTBM margins in DECOM mode 2019-07-08 23:09:53 +02:00
Jörg Breitbart cb25e2d4e0 save/restore charset in DECSC/DECRC 2019-07-08 02:42:02 +02:00
Jörg Breitbart bc867bf12b partial fix DECSTBM IL/DL 2019-07-08 02:11:46 +02:00
Jörg Breitbart 5122fdc441 document wonky usage of Terminal.reset 2019-07-08 00:55:26 +02:00
Jörg Breitbart 8654133b15 move leftover sequence methods to InputHandler 2019-07-08 00:39:05 +02:00
Jörg Breitbart 41cc99a919 DECSTBM SU/SD 2019-07-08 00:19:21 +02:00
Jörg Breitbart e2366fa83d rewrite DECSTBM 2019-07-07 23:37:02 +02:00
Jörg Breitbart 46f89cd4ff fix NPE 2019-07-07 22:22:19 +02:00
Jörg Breitbart ef58f1fef8 add vttest wrapping testfile 2019-07-07 22:19:45 +02:00
Jörg Breitbart 9d4cafc4c9 fix ICH 2019-07-07 21:18:03 +02:00
Jörg Breitbart 7e7730d176 fix ECH 2019-07-07 21:15:14 +02:00
Jörg Breitbart 926c298371 fix DCH 2019-07-07 21:10:38 +02:00
Jörg Breitbart 9a64c549f8 fix ED3 test 2019-07-07 20:54:12 +02:00
Jörg Breitbart d26a643727 use fill for _resetBufferLine 2019-07-07 20:45:54 +02:00
Jörg Breitbart cd1d194dbd apply cursor restrictions 2019-07-07 20:40:27 +02:00
Jörg Breitbart 204847b134 fix DECSC 2019-07-07 19:54:47 +02:00
Jörg Breitbart fe59e632a9 Merge branch 'cleanup_sequences_files' of github.com:jerch/xterm.js into cleanup_sequences_files 2019-07-06 20:46:30 +02:00
Jörg Breitbart e6ac138620 Merge branch 'master' into cleanup_sequences_files 2019-07-06 20:45:50 +02:00
jerch 68694dab9d Merge pull request #2241 from jerch/parser_colon_notation
colon notation for the parser
2019-07-06 20:04:00 +02:00
Daniel Imms 6665a06b01 Merge branch 'master' into cleanup_sequences_files 2019-07-06 10:22:20 -07:00
jerch be6226785f Merge branch 'master' into parser_colon_notation 2019-07-06 18:22:43 +02:00
Jörg Breitbart 6d22772d16 fix REP to be in line with vttest 2019-07-06 18:09:38 +02:00
Jörg Breitbart fa9857aedf simplify cursor movements 2019-07-06 16:47:48 +02:00
Jörg Breitbart a2bf5fe975 fix typo 2019-07-06 16:13:21 +02:00
Jörg Breitbart eb7b8f9020 restrict cursor movements 2019-07-06 15:59:18 +02:00
Jörg Breitbart d18b799624 fix HT, HTS, CHT 2019-07-05 02:04:42 +02:00
Jörg Breitbart 44035d14ab fix no wraparound mode 2019-07-05 00:56:57 +02:00
Jörg Breitbart 82ff113107 add DECALN 2019-07-04 23:50:56 +02:00
Daniel Imms f889796852 Merge pull request #2289 from Tyriar/sound_browser
Move sound into browser
2019-07-04 14:09:40 -07:00
Daniel Imms 49b5eda160 Merge branch 'master' into sound_browser 2019-07-04 13:14:01 -07:00
Daniel Imms 47164d2f68 Move sound into browser 2019-07-04 12:31:21 -07:00
Daniel Imms fb6ec7ffb8 Merge pull request #2287 from Tyriar/webgl_simplify_atlas
Enable strict mode in webgl addon
2019-07-04 09:21:44 -07:00
Daniel Imms bc07225394 Enable strict mode in webgl addon
Fixes #2286
2019-07-04 09:08:56 -07:00
Daniel Imms 40bc62c383 Enable strict null checks in webgl addon
Part of #2286
2019-07-04 08:58:42 -07:00
Daniel Imms ff82d35a3d Merge pull request #2285 from Tyriar/webgl_simplify_atlas
Simplify webgl atlas and ensure it exists in GlyphRenderer to prevent NPE
2019-07-04 08:49:39 -07:00
Jörg Breitbart d858022f23 fix several escape sequence files 2019-07-04 17:45:10 +02:00
Daniel Imms 0898de147f Ensure GlyphRenderer._atlas exists on beginFrame
This should fix an exception breaking it in vscode
2019-07-04 08:36:44 -07:00
Daniel Imms 38f2e7a81d Simplify webgl atlas by removing BaseCharAtlas 2019-07-04 08:28:21 -07:00
Jörg Breitbart 5f8d07ac62 cleanup Types.ts, docs for ZDM 2019-07-04 13:50:03 +02:00
Jörg Breitbart 6a691f2548 fix parser docs 2019-07-04 13:01:18 +02:00
Jörg Breitbart 7bd0325128 remove example snippet from docs 2019-07-04 12:42:43 +02:00
Jörg Breitbart 009b3c6ef8 simply error parsing state 2019-07-04 12:38:14 +02:00
Jörg Breitbart 75d41abf33 re-enable commented out tests 2019-07-04 12:37:32 +02:00
Jörg Breitbart 6bcd8e3bfd ParamsArray to Types.ts 2019-07-04 12:12:11 +02:00
Daniel Imms 69dcabbfce Merge branch 'master' into parser_colon_notation 2019-07-03 16:58:37 -07:00
Daniel Imms f235d70f30 Merge pull request #2284 from Tyriar/blank_line
Remove blankLine localized string
2019-07-03 10:42:35 -07:00
Daniel Imms 048e95e34b Remove blankLine localized string
Using a nbsp is more correct and lets the screen reader handle how it wants

Fixes #2260
2019-07-03 10:23:53 -07:00
Daniel Imms c55e938ce9 Merge pull request #2283 from lramos15/lramos15/select-fix
Double wide characters could have halves selected
2019-07-03 08:48:11 -07:00
Logan Ramos 2a405d5f97 Fix scroll bar logic 2019-07-03 08:37:59 -07:00
Daniel Imms 1bab14aef6 Merge pull request #2281 from lramos15/lramos15/centered-scroll
Centers search scroll in viewport
2019-07-02 16:03:21 -07:00
Logan Ramos 345bf11389 Remove extra import 2019-07-02 15:57:23 -07:00
Logan Ramos 60c2248cb4 Centers scroll in viewport 2019-07-02 15:09:30 -07:00
Jörg Breitbart 17ca958542 js array integration test for addCsiHandler 2019-07-02 22:38:20 +02:00
Jörg Breitbart 65b757bc19 fix typos in docs 2019-07-02 22:04:12 +02:00
Jörg Breitbart f276150ce4 remove IParams from public API 2019-07-02 20:41:21 +02:00
Jörg Breitbart 357faa71df value range restrictions: clamp max, reject < -1 2019-07-02 18:27:13 +02:00
Jörg Breitbart a1acd4b318 Merge branch 'master' into parser_colon_notation 2019-07-02 16:44:43 +02:00
Jörg Breitbart 7dd5dfab7a make params mandatory 2019-07-02 16:14:28 +02:00
Jörg Breitbart 5827b4b0d1 change to int32_t 2019-07-02 15:18:39 +02:00
Daniel Imms d691327cb5 Merge pull request #2279 from Tyriar/selection_manager_browser
Make SelectionManager a service and move into browser
2019-06-30 10:21:36 -07:00
Daniel Imms 47b6756ead isMSWindows -> isWindows 2019-06-29 18:57:59 -07:00
Daniel Imms 79d8f05528 Make Terminal.selectionService private 2019-06-29 18:50:54 -07:00
Daniel Imms 3806f67fc0 Move SelectionService into browser (+strict) 2019-06-29 18:41:48 -07:00
Daniel Imms 48f68a7702 Add used members from SelectionService to interface 2019-06-29 14:34:48 -07:00
Daniel Imms 7ee2219314 Rename SelectionManager to SelectionService 2019-06-29 14:27:50 -07:00
Daniel Imms 4d22d1d008 Reset modes on reset 2019-06-29 14:15:04 -07:00
Daniel Imms a706dd9de9 Merge branch 'master' into selection_manager_browser 2019-06-29 14:09:54 -07:00
Daniel Imms b4ae5e1aff Merge branch 'master' into parser_colon_notation 2019-06-29 13:54:02 -07:00
Daniel Imms 73be720ecc Merge pull request #2277 from Tyriar/guard
Guard integer only APIs when floats are used
2019-06-29 13:52:21 -07:00
Daniel Imms a61fbf7a51 Merge pull request #2278 from MaxRis/to-master/reset-wrapped-line-flag
Reset isWrapped line flag.
2019-06-29 08:38:57 -07:00
Max Risuhin f9e8334141 Reset isWrapped line flag. 2019-06-29 16:02:15 +03:00
Daniel Imms b4886df796 Guard integer only APIs when floats are used
Fixes #2261
2019-06-28 16:42:42 -07:00
Daniel Imms 6fb7a06f19 Merge pull request #2276 from Tyriar/2275_lower_zIndex
Lower z-indexes
2019-06-28 12:52:56 -07:00
Daniel Imms d8099f7fe9 Lower z-indexes
Canvas layers: 0-4
Helpers: 5
A11y tree: 10

Fixes #2275
2019-06-28 12:46:57 -07:00
Daniel Imms f9eeea5917 Merge pull request #2274 from Tyriar/out-test
Git ignore out-test
2019-06-27 18:44:59 -07:00
Daniel Imms 7e09ac7f04 Merge pull request #2273 from Tyriar/tslint_celan
Enforce underscore prefix for protected members
2019-06-27 18:44:41 -07:00
Daniel Imms 788ab83ac1 Merge branch 'master' into tslint_celan 2019-06-27 18:37:43 -07:00
Daniel Imms 10fedf4ccf Enforce underscore prefix for protected members 2019-06-27 18:36:44 -07:00
Daniel Imms 8cf5a7ee40 Git ignore out-test 2019-06-27 18:26:02 -07:00
Daniel Imms 48b915459a Merge pull request #2269 from Tyriar/d_map
Use TS declarationMap
2019-06-27 11:46:45 -07:00
Daniel Imms 7f4e1a7e97 Add explicit blacklist entry for .d.ts.map 2019-06-27 11:40:39 -07:00
Daniel Imms c107f3c5f7 Merge branch 'master' into d_map 2019-06-27 11:32:13 -07:00
Daniel Imms a96734220a Use TS declarationMap
This will make go to definition go to the implementation instead of
the .d.ts file
2019-06-27 11:31:36 -07:00
Daniel Imms 73521390d2 Merge pull request #2268 from termius/include-css
Include CSS into the package
2019-06-27 07:57:03 -07:00
Vadim Zakondyrin 6c8f88754b Include CSS into the package 2019-06-27 10:21:58 +06:00
Jörg Breitbart 63a4e8ffde Merge branch 'master' into parser_colon_notation 2019-06-25 16:07:50 +02:00
Daniel Imms c50a6ef415 Merge pull request #2262 from Tyriar/word_sep
Add wordSeparator to demo
2019-06-24 20:27:45 -07:00
Daniel Imms b138d6574e Merge branch 'master' into word_sep 2019-06-24 20:27:39 -07:00
Daniel Imms 5459c48525 Add wordSeparator to demo 2019-06-24 20:20:08 -07:00
Daniel Imms 6b036e1222 Merge pull request #2190 from jerch/benchmark_integration
inital integration of xterm-benchmark
2019-06-24 19:50:58 -07:00
Jörg Breitbart 00d4c8162d remove azure job, change api test path 2019-06-24 22:53:13 +02:00
Jörg Breitbart b6b810b625 Merge branch 'benchmark_integration' of github.com:jerch/xterm.js into benchmark_integration 2019-06-24 22:47:37 +02:00
Jörg Breitbart 901b995a21 Merge branch 'master' into benchmark_integration 2019-06-24 22:47:20 +02:00
Daniel Imms 88308f058c Remove ITerminal dependency in SelectionManager 2019-06-23 14:29:59 -07:00
Daniel Imms 4ecd0d2053 Merge branch 'master' into selection_manager_browser 2019-06-23 14:28:12 -07:00
Daniel Imms 479010d29e Merge pull request #2256 from Tyriar/tests
Fix composition tests
2019-06-23 14:27:42 -07:00
Daniel Imms 83b8e1bd30 Fix composition tests 2019-06-23 14:21:05 -07:00
Daniel Imms 33a640a7a8 Move applicationCursor into core service 2019-06-23 14:06:06 -07:00
Daniel Imms 99a31b3862 Merge pull request #1790 from Tyriar/webgl2
WebGL Renderer
2019-06-23 13:28:35 -07:00
Daniel Imms 533f3bd0dc Remove unneeded TODOs 2019-06-23 13:12:49 -07:00
Daniel Imms fdae27e7ea Remove unused Platform.ts in webgl 2019-06-23 13:11:25 -07:00
Daniel Imms e10adaf3d2 Have yarn clean also delete addon out/ 2019-06-23 13:10:37 -07:00
Daniel Imms fb420d70e4 Merge branch 'master' into webgl2 2019-06-23 13:01:42 -07:00
Daniel Imms f4f1e0276e Merge pull request #2247 from Tyriar/core_service
Move handler into CoreService and adopt
2019-06-23 13:01:27 -07:00
Daniel Imms 910ece4f09 Merge branch 'master' into benchmark_integration 2019-06-23 10:26:33 -07:00
Daniel Imms bfa7a2df76 Move handler into CoreService and adopt
This also fine tunes some of the data events to not clear selection
and scroll to the bottom of the viewport anymore.

Part of #1507
Fixes #2112
2019-06-23 10:10:17 -07:00
Daniel Imms 94a2ad9416 Merge pull request #2246 from Tyriar/alt_click_functional
Change alt click to functional and move into browser
2019-06-22 19:37:00 -07:00
Daniel Imms 87897a7ee5 Move selection manager types into browser 2019-06-22 18:27:25 -07:00
Daniel Imms f903dbde45 Add some tests for MoveToCell 2019-06-22 18:16:33 -07:00
Daniel Imms 22a7e48f04 Move alt click into browser 2019-06-22 18:00:03 -07:00
Daniel Imms 13a63efdab Change AltClickHandler to be functional 2019-06-22 17:55:59 -07:00
Daniel Imms 7454701c0b Remove AltHandler member usage 2019-06-22 17:53:11 -07:00
Daniel Imms da1484ac47 Return a sequence from AltClickHandler 2019-06-22 09:44:25 -07:00
Daniel Imms 00969508d9 Remove some private member deps in AltClickHandler 2019-06-22 09:40:11 -07:00
Daniel Imms 731070fdc2 Merge pull request #2245 from Tyriar/clipboard_term_dep
Remove some terminal dependencies in Clipboard and SelectionManager
2019-06-21 20:39:06 -07:00
Daniel Imms 9174f60d94 Move screen element into ctor 2019-06-21 20:20:48 -07:00
Daniel Imms 0ba90a9349 Adopt options service in selection manager 2019-06-21 20:12:17 -07:00
Daniel Imms 72f615da14 Remove some of terminal dependency in SelectionManager 2019-06-21 20:08:58 -07:00
Daniel Imms 0bb2b3446d Merge branch 'master' into clipboard_term_dep 2019-06-21 20:02:07 -07:00
Daniel Imms 62e2b00bd5 Remove terminal dep in clipboard 2019-06-21 19:54:11 -07:00
Daniel Imms b7dba18847 Merge branch 'master' into webgl2 2019-06-21 19:38:44 -07:00
Daniel Imms 60eb13e223 Merge pull request #2244 from MaxRis/word-separator-option
Define wordSeparator option
2019-06-21 11:53:36 -07:00
Max Risuhin 1b2811075c Define wordSeparator option 2019-06-21 16:35:26 +03:00
Daniel Imms 96eafd32db Merge pull request #2242 from VivaLosDoyers/readme_typo_fix
Fix a typo in the README
2019-06-18 19:13:21 -07:00
Jörg Breitbart 1dc4e36972 fix CSI bug, cleanup test 2019-06-19 00:42:20 +02:00
Michael Miller a0ccc9b78b Fix a type in the README
"Perfomant" should be "Performant"
2019-06-18 15:28:41 -07:00
Jörg Breitbart a28761bf3e restructured test folder 2019-06-19 00:07:09 +02:00
Jörg Breitbart 8ce67cb880 add COLORTERM to env in demo 2019-06-18 18:55:24 +02:00
Jörg Breitbart c80ff1e1d1 cleanup interface 2019-06-18 15:37:53 +02:00
Jörg Breitbart fc778c76c2 add usage example for action handler 2019-06-18 15:23:36 +02:00
Jörg Breitbart f984204570 parser tests 2019-06-18 14:56:32 +02:00
Jörg Breitbart 069e51064a remove as number[] type conversions from tests 2019-06-18 14:47:35 +02:00
Jörg Breitbart 6f047aa7ea SGR tests, fix bug in 38:5 handling 2019-06-18 14:40:15 +02:00
Jörg Breitbart e8290af194 Merge branch 'master' into benchmark_integration 2019-06-18 03:08:07 +02:00
Jörg Breitbart c558d485e0 apply colon handling to SGR 2019-06-18 03:00:53 +02:00
Jörg Breitbart 62007c3be4 comment storable amount of params in parser 2019-06-17 23:42:56 +02:00
Jörg Breitbart 1dd63a6d66 apply type over codebase 2019-06-17 23:31:54 +02:00
Daniel Imms 5321f0373f Fix quote and comma 2019-06-17 13:42:44 -07:00
Jörg Breitbart c5385a640d add ":" to param transitions, fix parse loop and tests 2019-06-17 21:54:51 +02:00
Jörg Breitbart cec1aa3f33 interfaces, add test for clone 2019-06-17 21:17:56 +02:00
Jörg Breitbart 24c39f664d remove unused import 2019-06-17 20:55:29 +02:00
Jörg Breitbart 383849b36f Params type implementation 2019-06-17 20:49:12 +02:00
Daniel Imms 1b7862ce8a Move slice typed array util into webgl addon 2019-06-17 07:35:52 -07:00
Daniel Imms 5100c7a30d Use Constants from core 2019-06-16 00:17:14 -07:00
Daniel Imms bc24a6cdd1 Merge branch 'master' into webgl2 2019-06-16 00:13:15 -07:00
Daniel Imms 795ca2af2e Merge pull request #2239 from Tyriar/charjoiner_layer
Move some parts of renderer to browser
2019-06-16 00:12:55 -07:00
Daniel Imms de86d140c5 Fix absolute imports 2019-06-16 00:02:10 -07:00
Daniel Imms a6f4931810 Move DomRendererRowFactory to browser 2019-06-15 23:59:32 -07:00
Daniel Imms c4f903e283 Move atlas/Constants to browser 2019-06-15 23:53:45 -07:00
Daniel Imms c0e27b98e8 Move LRUMap to browser 2019-06-15 23:51:36 -07:00
Daniel Imms b5093e0c29 Move GridCache to browser 2019-06-15 23:47:35 -07:00
Daniel Imms e35d911fd1 Move char joiner registry to browser layer 2019-06-15 23:45:03 -07:00
Daniel Imms 308cf8247a Remove terminal dep in char joiner registry 2019-06-15 23:40:31 -07:00
Daniel Imms d4e50293a1 Merge pull request #2238 from Tyriar/selection_layering
Move SelectionModel to browser
2019-06-15 23:34:39 -07:00
Daniel Imms 6e90b7371b Move SelectionModel to browser, fix strict 2019-06-15 23:28:51 -07:00
Daniel Imms 9980457eef Remove terminal dep from SelectionModel 2019-06-15 23:10:25 -07:00
Daniel Imms b1004f2007 Merge branch 'master' into benchmark_integration 2019-06-15 22:47:33 -07:00
Daniel Imms 26c854db49 Merge pull request #2237 from Tyriar/mouse_service
Introduce mouse service
2019-06-15 21:07:44 -07:00
Daniel Imms 702ecb185f Merge branch 'master' into mouse_service 2019-06-15 19:42:24 -07:00
Daniel Imms 8a59389358 Merge pull request #2236 from Tyriar/fix_broken_tests
Fix restore cursor related tests
2019-06-15 19:41:45 -07:00
Daniel Imms a4d18a3b23 Introduce mouse service 2019-06-15 19:40:51 -07:00
Daniel Imms 9bb16e4b16 Fix restore cursor related tests
Weird failure happening sometimes after #2217, not sure why pipelines
didn't pick it up.
2019-06-15 19:24:14 -07:00
Daniel Imms 8b4901e8f3 Reduce diff 2019-06-15 16:43:01 -07:00
Daniel Imms 7148358acf Prevent crash on true color, add TODOs for it 2019-06-15 16:40:45 -07:00
Daniel Imms 1ebae41a8b Pull attribute compat stuff into addon 2019-06-15 16:35:38 -07:00
Daniel Imms 45ec3b1e57 Merge branch 'master' into webgl2 2019-06-15 14:50:23 -07:00
Daniel Imms 20809a042f Merge pull request #2235 from Tyriar/webgl_prep
Pulling unrelated changes in from WebGL PR
2019-06-15 14:49:42 -07:00
Daniel Imms 6e04058783 Reduce diff 2019-06-15 14:47:44 -07:00
Daniel Imms 29db1a2b2b Refresh viewport after setting renderer and set correct end refresh row 2019-06-15 14:44:05 -07:00
Daniel Imms ed9000cb1d Clarify ITheme.selection color 2019-06-15 14:42:30 -07:00
Daniel Imms 2bd043b664 Remove FLAGS constant
Only WebGL uses this
2019-06-15 14:42:04 -07:00
Daniel Imms 04ba3510e4 Adopt automated released in webgl addon 2019-06-15 14:37:44 -07:00
Daniel Imms 05188a985c Merge branch 'master' into webgl2 2019-06-15 14:37:04 -07:00
Daniel Imms 49ba3c8068 Merge pull request #2234 from Tyriar/trigger_build
npmignore webpack.config.js (test automated release)
2019-06-15 14:30:21 -07:00
Daniel Imms a46c723020 npmignore webpack.config.js (test automated release)
Part of #2165
2019-06-15 14:29:41 -07:00
Daniel Imms c68f413c48 Merge pull request #2233 from Tyriar/publish_improvements_2
Publish addons with right cwd and don't exit
2019-06-15 14:27:43 -07:00
Daniel Imms 91c4ca5e0d Publish addons with right cwd and don't exit
Part of #2165
2019-06-15 14:27:04 -07:00
Daniel Imms 8de555d7d9 Merge pull request #2232 from Tyriar/publish_improvements
Add publish dry run feature and automate addon released based on changed files
2019-06-15 14:16:38 -07:00
Daniel Imms d06fd04465 Move addon const under addon comment 2019-06-15 14:10:48 -07:00
Daniel Imms 64403f2dca Publish addons and xterm based on whether files changed
Fixes #2165
2019-06-15 14:06:45 -07:00
Daniel Imms 15c99869f5 Start of publishing addons
Part of #2165
2019-06-15 13:51:13 -07:00
Daniel Imms 2e83483e08 Support dry run publishing using --dry 2019-06-15 13:42:52 -07:00
Daniel Imms 846a1897e9 Merge pull request #2217 from termius/fix-cursor
Fix saved cursor position on resize of alt screen
2019-06-15 13:22:19 -07:00
Daniel Imms 699e721c45 Add a test for DECRC 2019-06-15 13:17:43 -07:00
Daniel Imms 173c4d83b3 Merge branch 'master' into fix-cursor 2019-06-15 13:04:28 -07:00
Daniel Imms 07b6b69be7 Remove old comment 2019-06-15 00:30:45 -07:00
Daniel Imms 15647a0301 Speed up webgl tests 2019-06-15 00:27:12 -07:00
Daniel Imms dd9b755329 Fix webgl api tests 2019-06-15 00:17:48 -07:00
Daniel Imms 765297e67c Add addon typings 2019-06-15 00:11:34 -07:00
Daniel Imms d272422c0b Fix webgl addon version 2019-06-15 00:06:04 -07:00
Daniel Imms eae0ab9e02 Add a webgl button to the demo 2019-06-15 00:04:02 -07:00
Daniel Imms 50d6711fc8 Fix webgl packaging 2019-06-15 00:01:00 -07:00
Daniel Imms d7daa53b50 Move webgl renderer into addon dir 2019-06-14 23:55:17 -07:00
Daniel Imms 535c8a5d4b Merge branch 'master' into webgl2 2019-06-14 23:20:03 -07:00
Daniel Imms 27d724a13a Merge pull request #2231 from Tyriar/refactor_buffer_line
Pull types and classes out of BufferLine
2019-06-14 23:15:08 -07:00
Daniel Imms 91598814c6 Fix lint 2019-06-14 23:00:48 -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 b7cdbb99ca Remove default exports in webgl char atlas files 2019-06-14 22:27:07 -07:00
Daniel Imms ddb9fbd1d6 Improve type safety in webgl 2019-06-14 22:25:43 -07:00
Daniel Imms 3a7aa77950 Remove remaining parts of renderer API, fix webgl tests 2019-06-14 22:18:53 -07:00
Daniel Imms 6c232a0e11 Remove renderer API 2019-06-14 22:03:55 -07:00
Daniel Imms 6ff90451ff Merge branch 'master' into webgl2 2019-06-14 21:52:46 -07:00
Daniel Imms d2f800f6a9 Merge pull request #2229 from Tyriar/types_constants
Split Types.ts into Types.d.ts and Constants.ts
2019-06-14 21:46:59 -07:00
Daniel Imms 7b6dd9fe9d Rename browser Types.ts to .d.ts 2019-06-14 21:39:22 -07:00
Daniel Imms 913faef3b8 Split src/ Types.ts into d.ts and Constants 2019-06-14 21:38:19 -07:00
Daniel Imms 0b2df9d611 Split common/ Types.ts into .d.ts and Constants.ts 2019-06-14 21:30:51 -07:00
Daniel Imms 6e9c7888d2 Merge pull request #2228 from Tyriar/fix_dpr_change
Fix screen dpr change not refreshing canvas renderer
2019-06-14 21:08:11 -07:00
Daniel Imms 332cc3901d Merge pull request #2222 from Tyriar/2220_setTheme
Fix NPE in _setTheme
2019-06-14 20:57:33 -07:00
Daniel Imms c94183a5a1 Merge branch 'master' into fix_dpr_change 2019-06-14 20:56:51 -07:00
Daniel Imms 4daf67245d Merge branch 'master' into webgl2 2019-06-14 20:56:27 -07:00
Daniel Imms 2584de8630 Clear webgl model after theme or dpr change 2019-06-14 20:55:52 -07:00
Daniel Imms 4b4b58e662 Fix screen dpr change not refreshing canvas renderer 2019-06-14 20:38:35 -07:00
Daniel Imms e53cae8c69 Fix screen dpr change not refreshing canvas renderer 2019-06-14 20:37:58 -07:00
Daniel Imms e959cce899 Remove webgl LRUMap 2019-06-14 19:35:05 -07:00
Daniel Imms 21d07d1f0e Remove unused portion of CharAtlasGenerator 2019-06-14 19:34:31 -07:00
Daniel Imms d4169f3538 Fix tests 2019-06-14 19:31:42 -07:00
Daniel Imms a19ea1ec52 Remove forked LifeCycle and TypedArray files 2019-06-14 15:46:07 -07:00
Daniel Imms cdc9f792a5 Merge pull request #2227 from Tyriar/2224_dom_cursor
Show text when cursor blinks in DOM renderer
2019-06-14 12:57:11 -07:00
Daniel Imms 1a44e3634a Show text when cursor blinks in DOM renderer
Fixes #2224
2019-06-14 12:39:01 -07:00
Daniel Imms a5e466869c Fix lint 2019-06-13 09:51:22 -07:00
Daniel Imms 57eaa24ea0 Fix NPE in _setTheme
Fixes #2220
2019-06-13 08:51:42 -07:00
Daniel Imms ee81f50f3a Fix conflicts 2019-06-12 18:25:05 -07:00
Daniel Imms 7c6db2ef5b Merge branch 'master' into webgl2 2019-06-12 18:20:39 -07:00
Daniel Imms 26f967ec3f Merge pull request #2221 from blink1073/style-field
Add a style field to package.json
2019-06-12 14:04:48 -07:00
Steven Silvester d2c32c6f2d declare style field 2019-06-12 04:45:11 -05:00
Daniel Imms 68db0661fc Merge pull request #2219 from Tyriar/addon_webpack
Webpack addons
2019-06-10 15:14:54 -07:00
Daniel Imms c4311cb88a Merge pull request #2216 from Tyriar/drop_ie_support
Partially support IE11
2019-06-10 15:14:38 -07:00
Daniel Imms 3e91f08e34 Bump addon versions 2019-06-10 14:51:09 -07:00
Daniel Imms d9ce9e96f5 Remove packageAddons step on install
It's not needed when the demo doesn't use it
2019-06-10 14:47:10 -07:00
Daniel Imms b657a1f30e Use addon tsc output in the demo, similar to the core lib 2019-06-10 14:41:43 -07:00
Daniel Imms 989610e8c3 Webpack the addons 2019-06-10 14:28:07 -07:00
Vadim Zakondyrin 311f6b6e84 Fix saved cursor position on resize of alt screen 2019-06-10 14:27:48 +06:00
Daniel Imms 044a7e327f Clarify partial support 2019-06-09 19:35:47 -07:00
Daniel Imms f9b92f8865 Add note about partial support for IE11 2019-06-09 16:19:03 -07:00
Daniel Imms 1bbb51fc17 Fix compile 2019-06-09 15:57:24 -07:00
Daniel Imms 02868c1033 Remove support for IE11
Fixes #1889
2019-06-09 15:52:37 -07:00
Jörg Breitbart 5f8b7cda04 Merge branch 'master' into benchmark_integration 2019-06-09 23:09:57 +02:00
Jörg Breitbart e77969372b setup benchmark pipeline with eval run 2019-06-09 23:00:11 +02:00
Daniel Imms 566f5944dd Merge pull request #2214 from Tyriar/strings_browser
Move Strings to browser
2019-06-09 13:33:25 -07:00
Jörg Breitbart b559a5a39b lower resources needed for test 2019-06-09 22:23:15 +02:00
Jörg Breitbart 1794532cb1 test pipeline 2019-06-09 22:08:41 +02:00
Jörg Breitbart e0d69db23e better separation of benchmarks 2019-06-09 21:53:24 +02:00
Daniel Imms 46ce3d29c3 API polish/grammar/wrapping 2019-06-09 12:07:27 -07:00
Daniel Imms 39cff978df Add missing docs to xterm.d.ts
Fixes #2215
2019-06-09 12:03:00 -07:00
Daniel Imms f59b3f000d Move Strings to browser 2019-06-09 11:46:20 -07:00
Jörg Breitbart 03839f06b8 remove remnants 2019-06-09 18:02:17 +02:00
Jörg Breitbart fc7411c807 remove wrong d.ts 2019-06-09 17:35:25 +02:00
Jörg Breitbart e920f1db86 cleaner approach 2019-06-09 17:31:57 +02:00
Jörg Breitbart 3204d9d7c9 fix benchmark script 2019-06-09 15:19:48 +02:00
Jörg Breitbart 674914bbb7 moving benchmarks out of './src':
Harder than I thought for several reasons:
- need access to common to tests the subparts, thus the unified tsconfig
  in tests does not work (need the path translation to those parts)
- moving next to src I cannot use direct imports anymore (source files
  are out of rootDir), thus have to rely on d.ts files in out which is
  quite suboptimal as many parts do not expose the declaration files
  (can only type Terminal as any atm)
- compiler output has to resemble the '../out/..' import logic of the TS
  files or require fails, thus moved the ouput to './benchmark' for now

Conclusion: Not yet there, maybe not a good idea at all to move those
tests out of './src' as they heavily rely on not exported internals.
Needs more fiddling with the repo structure.
2019-06-09 14:51:44 +02:00
Jörg Breitbart 1b31c01b75 Merge branch 'master' into benchmark_integration 2019-06-09 12:37:06 +02:00
Daniel Imms 16217003aa Merge pull request #2211 from Tyriar/remove_ee
Remove old event emitter, rename new one to EventEmitter
2019-06-08 21:55:57 -07:00
Daniel Imms 07cef1ec9e Increase attach addon timeouts 2019-06-08 21:51:24 -07:00
Daniel Imms 73a08f7850 Consolidate service init 2019-06-08 21:46:13 -07:00
Daniel Imms 5aeb70bea4 Merge branch 'master' into remove_ee 2019-06-08 21:45:30 -07:00
Daniel Imms 58ec3f9973 Merge pull request #2210 from Tyriar/buffer_owner
Move buffer ownership to IBufferService
2019-06-08 21:43:32 -07:00
Daniel Imms 1b07a03b2f Properly reset buffer after Terminal.reset 2019-06-08 21:39:10 -07:00
Daniel Imms 80ce33f9ef Rename EventEmitter2 to EventEmitter
Fixes #2029
2019-06-08 21:33:02 -07:00
Daniel Imms 447fc4f3fa Remove old event emitter
Fixes #2029
2019-06-08 21:30:31 -07:00
Daniel Imms f49daf02a3 Fix tests and imports 2019-06-08 20:52:37 -07:00
Daniel Imms 09b0bbed32 Move buffer/buffers ownership to BufferService 2019-06-08 20:21:29 -07:00
Daniel Imms c5c370801c Merge pull request #2209 from Tyriar/render_service
Create RenderService in browser (previously RenderCoordinator)
2019-06-08 20:04:19 -07:00
Daniel Imms e21826f6cb Move MouseHelper.test into browser 2019-06-08 19:40:18 -07:00
Daniel Imms 5dbab76bed Move MouseHelper into browser 2019-06-08 19:34:38 -07:00
Daniel Imms cbfbe232d0 Rename coordinator to service 2019-06-08 19:28:43 -07:00
Daniel Imms 54d7bb0b38 Move RenderService into browser 2019-06-08 19:26:31 -07:00
Daniel Imms 9ad01080f3 Introduce RenderService
Used to be RenderCoordinator
2019-06-08 19:24:48 -07:00
Daniel Imms c314eaaf86 Merge pull request #2208 from Tyriar/buffer_common
Move buffer to common
2019-06-08 19:08:43 -07:00
Daniel Imms b1eecf10ff Remove relative imports with common 2019-06-08 18:05:12 -07:00
Daniel Imms f2e60d4c43 Remove ! in Buffer ctor 2019-06-08 18:01:27 -07:00
Daniel Imms 9a237cb205 Move BufferSet* into common 2019-06-08 18:00:04 -07:00
Daniel Imms 62ff97c82d Move BufferSet deps to common 2019-06-08 17:58:56 -07:00
Daniel Imms 658cd987d9 Move Buffer.test and test utils to common 2019-06-08 17:56:55 -07:00
Daniel Imms 50378403cf Move Buffer to common 2019-06-08 17:43:40 -07:00
Daniel Imms 5c93f2971e Move buffer types to common 2019-06-08 17:17:17 -07:00
Daniel Imms 291fc7368d Fix remaining tests 2019-06-08 17:12:18 -07:00
Daniel Imms c44524b553 Use MockBufferService in tests 2019-06-08 17:06:43 -07:00
Daniel Imms 0dfc1afc21 Create BufferService 2019-06-08 16:59:28 -07:00
Daniel Imms a6540c8d06 Freeze DEFAULT_OPTIONS to prevent accidental edits 2019-06-08 16:48:12 -07:00
Daniel Imms cd61f95612 Adopt options service in buffer 2019-06-08 16:46:03 -07:00
Daniel Imms e2cea7578b Adopt options service in buffer 2019-06-08 16:24:36 -07:00
Daniel Imms 00501bd2e8 Merge pull request #2207 from Tyriar/common_browser
Merge core into common, rename ui to browser
2019-06-08 16:19:21 -07:00
Daniel Imms 6e91875bc4 Rename ui to browser 2019-06-08 16:14:29 -07:00
Daniel Imms 98cda5ca86 Remove duplicate imports 2019-06-08 16:12:20 -07:00
Daniel Imms f8e7ff24d9 Merge core into common
Part of #1507
2019-06-08 16:09:27 -07:00
Daniel Imms df4a96493c Merge pull request #2206 from Tyriar/options_move
Move OptionsService into services folder
2019-06-08 16:04:22 -07:00
Daniel Imms 1704548b46 Move OptionsService into services folder 2019-06-08 15:58:44 -07:00
Daniel Imms b9954ec643 Merge pull request #2205 from Tyriar/char_dim_service
Create CharSizeService
2019-06-08 15:53:25 -07:00
Daniel Imms 9df3a3671d Adopt CharSizeService in RenderCoordinator 2019-06-08 15:46:12 -07:00
Daniel Imms 6375d9b88e Fix event firing 2019-06-08 15:45:07 -07:00
Daniel Imms 47fab14efc Adopt in Terminal 2019-06-08 15:29:16 -07:00
Daniel Imms 0f2d560e01 Adopt in SelectionManager 2019-06-08 15:26:53 -07:00
Daniel Imms 53c3151de6 Adopt in Viewport 2019-06-08 15:25:34 -07:00
Daniel Imms 760128e0f6 Adopt in renderers 2019-06-08 15:24:30 -07:00
Daniel Imms bfcd2b52c2 Adopt CharSizeService in CompositionHelper 2019-06-08 15:22:17 -07:00
Daniel Imms 6246bb5026 Adopt CharSizeService in MouseHelper 2019-06-08 15:20:03 -07:00
Daniel Imms 38bb122bbd CharDimensions -> CharSize 2019-06-08 15:09:55 -07:00
Daniel Imms 2e243feebe Create ICharDimensionsService 2019-06-08 14:54:05 -07:00
Daniel Imms 395530da96 Merge branch 'master' into benchmark_integration 2019-06-08 14:24:33 -07:00
Daniel Imms 2eb77cc4da Merge pull request #2203 from Tyriar/char_width
Move CharWidth into common and move API tests into ./test
2019-06-08 14:24:14 -07:00
Daniel Imms a1e4cd6931 Remove node folder 2019-06-08 14:19:47 -07:00
Daniel Imms 4493ed2575 Rename .integration to .test, this fixes debugging that test 2019-06-08 11:58:52 -07:00
Daniel Imms a29c0fa095 Move other api tests into test folder 2019-06-08 11:50:35 -07:00
Daniel Imms a365b57361 Move node to root-level tests folder 2019-06-08 11:49:14 -07:00
Daniel Imms 0917ce34c6 Move CharWidth.api into node module 2019-06-08 11:39:16 -07:00
Daniel Imms 1546e0c12d Move CharWidth into common 2019-06-08 11:35:52 -07:00
Daniel Imms e758a78f2e Move integration tests into CharWidth.api 2019-06-08 11:32:32 -07:00
Daniel Imms 75d4890e7d Fix debugging launch targets 2019-06-08 11:32:22 -07:00
Jörg Breitbart cb6f3b3be4 Merge branch 'benchmark_integration' of github.com:jerch/xterm.js into benchmark_integration 2019-06-07 22:43:06 +02:00
Daniel Imms 3e3eb4cd76 Merge branch 'master' into benchmark_integration 2019-06-07 12:57:50 -07:00
Jörg Breitbart 1e06af15ac Merge branch 'master' into benchmark_integration 2019-06-07 21:48:24 +02:00
Jörg Breitbart 8e1ebe42b1 fix import, set copyright note 2019-06-07 21:39:07 +02:00
Daniel Imms 7139ee1192 Merge pull request #2199 from jerch/fix_REP
fix repeat preceding character sequence (REP)
2019-06-07 11:02:35 -07:00
Jörg Breitbart 15215a97ff Merge branch 'master' into benchmark_integration 2019-06-07 19:25:01 +02:00
Jörg Breitbart ce91fba1d9 fix typo 2019-06-07 19:14:52 +02:00
Jörg Breitbart b17164520c skip benchmark folders in git 2019-06-07 19:14:04 +02:00
Jörg Breitbart 925e58deb1 remove private access 2019-06-07 18:51:57 +02:00
Jörg Breitbart 5f0e024404 fix REP 2019-06-07 14:45:14 +02:00
Daniel Imms 4cfba558fa Merge pull request #2198 from jerch/2189_terminfo_issue
change TERM to xterm-256color in demo
2019-06-06 20:45:04 -07:00
Jörg Breitbart f3977afe77 change TERM to xterm-256color in demo 2019-06-07 00:36:30 +02:00
Daniel Imms 5c21a6c532 Merge pull request #2197 from xtermjs/fix_soft_reset
Properly clone default attr data on DECSTR
2019-06-06 15:13:54 -07:00
Daniel Imms d271095e28 Freeze DEFAULT_ATTR_DATA to hard fail when not cloned 2019-06-06 15:05:34 -07:00
Daniel Imms 767eec3a2c Properly clone default attr data on DECSTR
Fixes #2196
2019-06-06 14:59:31 -07:00
Daniel Imms 357e6dcd02 Merge pull request #2195 from xtermjs/Tyriar-patch-1
Fix addon import quotes
2019-06-06 12:56:30 -07:00
Daniel Imms f5ee335a43 Fix addon import quotes 2019-06-06 12:56:04 -07:00
Daniel Imms 7f4ba5bf57 Merge pull request #2194 from Tyriar/addon_docs
Add addon docs to README
2019-06-06 12:55:10 -07:00
Daniel Imms c4db8879ac Improve grammar, add old addon link 2019-06-06 12:54:50 -07:00
Daniel Imms 1473afd1b6 Add addon docs to README
Fixes #2192
2019-06-06 12:40:06 -07:00
Daniel Imms 65ba5f06de Merge pull request #2191 from xtermjs/dependabot/npm_and_yarn/js-yaml-3.13.1
Bump js-yaml from 3.12.0 to 3.13.1
2019-06-06 11:35:12 -07:00
dependabot[bot] 678433a92f Bump js-yaml from 3.12.0 to 3.13.1
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.12.0 to 3.13.1.
- [Release notes](https://github.com/nodeca/js-yaml/releases)
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/3.12.0...3.13.1)

Signed-off-by: dependabot[bot] <support@github.com>
2019-06-06 18:22:16 +00:00
Jörg Breitbart 3ff3a5d78d add benchmark for write and writeUtf8 2019-06-06 15:46:52 +02:00
Jörg Breitbart e1f7c8a2df link against npm package 2019-06-06 02:59:42 +02:00
Jörg Breitbart 06949df560 make linter happy 2019-06-06 02:43:22 +02:00
Jörg Breitbart e05ae83d6a inital integration of xterm-benchmark 2019-06-06 02:31:41 +02:00
jerch 69ad7554bd Merge pull request #2187 from jerch/parser_inner_loops
relocate parser look ahead loops
2019-06-05 16:19:59 +02:00
Jörg Breitbart cc05dcf763 Merge branch 'parser_inner_loops' of github.com:jerch/xterm.js into parser_inner_loops 2019-06-05 16:15:21 +02:00
Jörg Breitbart d1ec40016c Merge branch 'master' into parser_inner_loops 2019-06-05 16:15:09 +02:00
Jörg Breitbart 489cbfc3da delete remnants 2019-06-05 16:14:16 +02:00
Daniel Imms c35ea040c7 Merge branch 'master' into parser_inner_loops 2019-06-05 06:51:42 -07:00
Daniel Imms 91ec163b4f Merge pull request #2183 from Tyriar/search_strict
Turn on TS strict mode in search addon
2019-06-05 06:26:48 -07:00
Daniel Imms 2526b2d76d Merge branch 'master' into search_strict 2019-06-05 06:22:05 -07:00
Daniel Imms 360bf64562 Merge pull request #2188 from Tyriar/test_warning
Fix test warning
2019-06-05 06:21:46 -07:00
Daniel Imms c1c55aeb78 Merge pull request #2186 from Tyriar/typings_test
Remove typings test
2019-06-05 06:13:05 -07:00
Daniel Imms 4e9163fee4 Fix test warning 2019-06-05 05:35:48 -07:00
Jörg Breitbart 97b11164c1 cleanup code 2019-06-05 10:21:37 +02:00
Jörg Breitbart bf6c684652 relocate loop shortcuts, cleanup parse 2019-06-05 10:15:12 +02:00
Daniel Imms 0ab72d5ce9 Merge branch 'master' into search_strict 2019-06-04 23:54:11 -07:00
Daniel Imms 155d552b35 Merge pull request #2184 from Tyriar/typings_buffer_cell
Correct IBufferLine.getCell API
2019-06-04 23:53:51 -07:00
Daniel Imms 9994047dc7 Remove typings test
Fixes #2185
2019-06-04 23:52:17 -07:00
Daniel Imms c8cd47b51a Correct IBufferLine.getCell API
Fixes #2182
2019-06-04 23:38:39 -07:00
Daniel Imms 031fbde580 Turn on TS strict in search addon
Fixes #2163
2019-06-04 23:37:12 -07:00
Daniel Imms be2c29c95a Remove old redeclared xterm types in search addon 2019-06-04 23:19:26 -07:00
Daniel Imms 27f040f145 Merge pull request #2180 from xtermjs/remove_package_scope
Remove @xtermjs package scope
2019-06-04 15:35:52 -07:00
Daniel Imms 7cc00e09ac Fix typings location 2019-06-04 11:38:44 -07:00
Daniel Imms fee08d74e0 Remove old ITerminalAddon def 2019-06-04 11:34:55 -07:00
Daniel Imms 1a8c7ef596 Bump versions
A lot of them were wrong, updating and publishing on this
2019-06-04 11:11:03 -07:00
Daniel Imms d4be839d8d Remove @xtermjs package scope
Too big of a change for now, I think we should do this when/if we
move to GH package registry (we would have to I think).
2019-06-04 11:07:11 -07:00
jerch d5fddae788 Merge pull request #2177 from jerch/1823_parser_cleanup
parser cleanup
2019-06-03 01:28:06 +02:00
Jörg Breitbart 9442d6e7ff enum for table packing 2019-06-03 01:23:54 +02:00
Jörg Breitbart e1243473e8 use NON_ASCII_PRINTABLE, cleanup ERROR action 2019-06-03 00:28:32 +02:00
Jörg Breitbart 4f412cb6b0 use fill for default transition; create r from blueprint 2019-06-03 00:11:25 +02:00
Jörg Breitbart 9bd7c49003 remove transition table Array fallback, cleanup tests 2019-06-02 23:10:59 +02:00
Daniel Imms e1353c1912 Merge pull request #2164 from Tyriar/addons_in_repo
Move new format addons into repo, remove old addons
2019-06-02 13:06:41 -07:00
Daniel Imms 2b96be0506 Merge branch 'master' into addons_in_repo 2019-06-02 12:58:54 -07:00
jerch 35df028136 Merge pull request #2176 from jerch/single_testfile_argument
ability to inject particular testfile to yarn test
2019-06-02 21:54:37 +02:00
Jörg Breitbart 9b6e182bf6 simplify arg handling 2019-06-02 21:38:24 +02:00
Jörg Breitbart 21bad6b974 ability to inject particular testfile to yarn test 2019-06-02 21:27:48 +02:00
Daniel Imms ad909929cf Merge branch 'master' into addons_in_repo 2019-06-02 10:21:34 -07:00
Daniel Imms c8e267334d Merge pull request #2172 from Tyriar/bracketed_paste_test
Add test for bracketed paste
2019-06-01 19:52:48 -07:00
Daniel Imms c202773f6a Fix prepublishOnly again for new path 2019-06-01 15:14:13 -07:00
Daniel Imms d464341630 Rename to GH org for scope @xtermjs 2019-06-01 15:10:29 -07:00
Daniel Imms 6c18f5c1fe Use scoped packages, fix some typing issues 2019-06-01 15:07:59 -07:00
Daniel Imms 6817a20092 Fix addon prepublish scripts 2019-06-01 14:49:20 -07:00
Daniel Imms eafb322db3 Merge branch 'master' into webgl2 2019-06-01 14:36:59 -07:00
Daniel Imms b5be5c06ad Merge branch 'master' into addons_in_repo 2019-06-01 14:36:55 -07:00
Daniel Imms db2e2f6d7c Merge pull request #2171 from Tyriar/options_service
Introduce options service, move options handling code into common
2019-06-01 14:36:39 -07:00
Daniel Imms 9abb9ddf76 Merge branch 'master' into bracketed_paste_test 2019-06-01 14:31:59 -07:00
Daniel Imms 86d410bfe9 Also test exit bracketed paste mode 2019-06-01 14:31:36 -07:00
Daniel Imms 2925e976e0 Add test for bracketed paste
Part of #2170
Part of #2117
2019-06-01 14:29:26 -07:00
Daniel Imms df411c9308 Merge branch 'master' into webgl2 2019-06-01 11:13:49 -07:00
Daniel Imms d955873787 Merge branch 'master' into addons_in_repo 2019-06-01 11:13:46 -07:00
Daniel Imms ba758ad800 Merge branch 'master' into options_service 2019-06-01 11:13:42 -07:00
Daniel Imms 67db5884d5 Merge pull request #2168 from Tyriar/parser_core
Move EscapeSequenceParser to core
2019-06-01 10:59:48 -07:00
Daniel Imms 22c6a879bb Merge branch 'master' into parser_core 2019-06-01 10:11:31 -07:00
Daniel Imms 463b427000 Merge branch 'master' into addons_in_repo 2019-06-01 09:42:45 -07:00
Daniel Imms fb022eeae5 Merge branch 'master' into options_service 2019-06-01 09:38:36 -07:00
Daniel Imms 8a3c60d495 Clean up 2019-06-01 09:38:09 -07:00
Daniel Imms 041bd7a5d1 Move RenderCoordinator options listener out of Terminal 2019-06-01 09:34:13 -07:00
Daniel Imms 3ba7069787 Introduce options service 2019-06-01 09:29:11 -07:00
Daniel Imms 919c53a4b4 Merge pull request #2169 from Tyriar/dont_path_map_self
Remove path mapping to self modules
2019-06-01 08:52:40 -07:00
Daniel Imms 343d4c3348 Remove path mapping to self modules
This would cause imports in the common module to reference out/ instead
of src/, this leads to weird behavior when errors are introduced.
2019-06-01 08:38:58 -07:00
Daniel Imms 9068107f5a Remove path mapping to self modules
This would cause imports in the common module to reference out/ instead
of src/, this leads to weird behavior when errors are introduced.
2019-06-01 08:37:37 -07:00
jerch cedc8640b5 cleanup transition table class 2019-06-01 10:01:10 +02:00
Daniel Imms 4163b13be0 Move EscapeSequenceParser to core 2019-05-31 22:34:51 -07:00
Daniel Imms 087a40ff07 Fix AttachAddon test name 2019-05-31 21:51:17 -07:00
Daniel Imms 65189e0f28 Don't publish yarnrc 2019-05-31 21:49:46 -07:00
Daniel Imms 8e1f0697b9 Remove zmodem npm script, move scripts above deps 2019-05-31 21:47:37 -07:00
Daniel Imms 38ea4d1d1d Fix lint 2019-05-31 21:40:15 -07:00
Daniel Imms 27fc4d1639 Remove old style addon test 2019-05-31 21:39:37 -07:00
Daniel Imms 42d2ed0d3a Make addon tsconfigs more consistent 2019-05-31 21:29:44 -07:00
Daniel Imms 27b8cf9785 Remove old fit addon 2019-05-31 21:25:53 -07:00
Daniel Imms df72c70800 Add new fit addon 2019-05-31 21:25:35 -07:00
Daniel Imms 9637ee8d76 Make addons use consistent structure 2019-05-31 21:08:05 -07:00
Daniel Imms 42eb5e6b97 Remove all old addons except fit (no replacement yet) 2019-05-31 21:04:17 -07:00
Daniel Imms d9a074899b Remove temporary ITerminalAddon declarations 2019-05-31 20:09:38 -07:00
Daniel Imms 8235bf5dad Add search addon 2019-05-31 20:07:12 -07:00
Daniel Imms a1a63f99ff Add attach addon 2019-05-31 19:58:12 -07:00
Daniel Imms 1cde8a3167 Get tests passing 2019-05-31 19:34:10 -07:00
Daniel Imms ba5fe4bac2 Remove dependency on real web-links addon 2019-05-31 19:24:31 -07:00
Daniel Imms 3fa55475aa Remove unused coveralls npm script 2019-05-31 19:23:38 -07:00
Daniel Imms 65d420486d Clean up included web-links files 2019-05-31 19:23:19 -07:00
Daniel Imms 887b34110c Common web links sources 2019-05-31 19:02:54 -07:00
Daniel Imms 996555c556 Remove accidental sub-module 2019-05-31 19:02:30 -07:00
Daniel Imms 413f9ca3a1 Import web links into demo via node path 2019-05-31 18:58:48 -07:00
Daniel Imms 96b96cfcf8 Move tsconfig.all.json out of src 2019-05-31 18:14:10 -07:00
Daniel Imms 5b86f9291e Fix conflicts in webgl renderer 2019-05-31 18:10:46 -07:00
Daniel Imms 9feaf628b3 Merge remote-tracking branch 'origin/master' into webgl2 2019-05-31 18:06:42 -07:00
Daniel Imms 7a0ed764bd Merge pull request #2157 from Tyriar/1576_remove_static_atlas
Remove experimentalCharAtlas, make dynamic default
2019-05-31 16:08:15 -07:00
Daniel Imms b7a8519173 Merge branch 'master' into 1576_remove_static_atlas 2019-05-31 16:03:33 -07:00
Daniel Imms 0b70083e8f Merge pull request #2162 from Tyriar/remove_xterm_ts
Remove old browserify entry point
2019-05-31 12:28:57 -07:00
Daniel Imms c0ec7d1e6e Remove old browserify entry point
No longer needed after webpack refactor

Missed in #2132
2019-05-31 12:15:31 -07:00
Daniel Imms 653d38b19f Merge pull request #2149 from Tyriar/2148_update_after_ech
Update cells after an ECH
2019-05-31 12:03:42 -07:00
Daniel Imms dea12055de Merge branch 'master' into 2148_update_after_ech 2019-05-31 11:54:07 -07:00
Daniel Imms 468efed19d Merge pull request #2160 from Tyriar/clean_npmignore
Remove webpack config and out from package
2019-05-31 11:50:25 -07:00
Daniel Imms 1c3e7117de Merge pull request #2156 from Tyriar/1237_remove_enableBold
Remove enableBold
2019-05-31 11:12:24 -07:00
Daniel Imms fc91b954f2 Merge pull request #2159 from Tyriar/2158_wp_sourcemaps
Build sourcemaps in lib
2019-05-31 11:11:43 -07:00
Daniel Imms cdaf9d6f63 Remove webpack config and out from package
Part of #2152
2019-05-31 11:11:11 -07:00
Daniel Imms f8c311b59f Build sourcemaps in lib
Fixes #2158
2019-05-31 11:06:41 -07:00
Daniel Imms 53c71b3579 Remove experimentalCharAtlas, make dynamic default
The NoneCharAtlas is still available to swap in if we need it.

Fixes #1576
2019-05-31 10:54:23 -07:00
Daniel Imms b0986494a2 Merge pull request #2155 from Tyriar/1371_remove_destroy
Remove deprecated destroy API
2019-05-31 10:45:31 -07:00
Daniel Imms 94fc2064c2 Remove enableBold
fontWeightBold is the new way to do this

Fixes #1237
2019-05-31 10:43:52 -07:00
Daniel Imms b6b10b7ef6 Remove deprecated destroy API
Fixes #1371
2019-05-31 10:36:51 -07:00
Daniel Imms c08dcac183 Merge pull request #2153 from Tyriar/2152_npmignore
Exclude tslint and devcontainer from npm package
2019-05-31 09:49:02 -07:00
Daniel Imms e4099be954 Exclude tslint and devcontainer from npm package
Fixes #2152
2019-05-31 09:37:51 -07:00
Daniel Imms ac66444c65 Update cells after an ECH
Fixes #2148
2019-05-30 19:53:13 -07:00
Daniel Imms 32d6613811 Merge pull request #2147 from Tyriar/mocha_dev
Move mocha to dev dependencies
2019-05-30 18:01:10 -07:00
Daniel Imms e94812cef1 Move mocha to dev dependencies 2019-05-30 17:33:58 -07:00
Daniel Imms fad6e0f9f0 Merge pull request #2132 from Tyriar/ts_wp
Enable absolute imports and minify distributable
2019-05-30 17:01:10 -07:00
Daniel Imms 5a6287c77c Merge branch 'master' into ts_wp 2019-05-30 16:55:37 -07:00
Daniel Imms 0ed75dc100 Merge pull request #2145 from xtermjs/Tyriar-patch-1
v3.14.0
2019-05-30 16:37:12 -07:00
Daniel Imms b3a631750d v3.14.0 2019-05-30 16:26:37 -07:00
Daniel Imms 9643de4c01 Merge pull request #2141 from Tyriar/ts_3.5
typescript@3.5
2019-05-29 16:38:37 -07:00
Daniel Imms ab1263f669 typescript@3.5 2019-05-29 16:10:54 -07:00
Daniel Imms 64686b5865 Merge branch 'master' into ts_wp 2019-05-28 11:58:58 -07:00
Daniel Imms 9ebe094a2f Merge pull request #2140 from Tyriar/2136_fix_dom_renderer
Fix DOM renderer
2019-05-28 11:56:31 -07:00
Daniel Imms 0c3f2d7222 Revert "Revert "fix: don't use Math.floor in DomRenderer charWidth computation""
This reverts commit 1feb0a27e9.
2019-05-28 09:49:14 -07:00
Daniel Imms a39da0f0d5 Ensure DOM renderer has styles injected on ctor
Fixes #2136
2019-05-28 09:49:03 -07:00
Daniel Imms adac12eded Merge pull request #2134 from Tyriar/fix_underline
Draw underline over char glyph
2019-05-28 08:49:01 -07:00
Daniel Imms 030fb78712 Merge branch 'master' into fix_underline 2019-05-26 21:19:03 -07:00
Daniel Imms 96b3eb982b Draw underline over char glyph 2019-05-26 21:12:36 -07:00
Daniel Imms 8f89ebfe7c Merge branch 'master' into ts_wp 2019-05-26 13:30:53 -07:00
Daniel Imms 746b0169a9 Fix pipelines test script 2019-05-26 13:25:05 -07:00
Daniel Imms efee29d342 Quote test paths 2019-05-26 13:21:01 -07:00
Daniel Imms be11b4fc53 Remove prebuild step 2019-05-26 13:17:57 -07:00
Daniel Imms 5276ad8146 Merge pull request #2133 from Tyriar/remove_scripts
Remove release scripts
2019-05-26 13:17:19 -07:00
Daniel Imms 6ec3a5c1d8 Add mocha
(we never actually declared this)
2019-05-26 13:11:25 -07:00
Daniel Imms 4c42393aa4 Remove release scripts
They're no longer used, azure-pipelines.yml does this now
2019-05-26 13:07:37 -07:00
Daniel Imms 27af4dfa65 Remove nodemon coveralls zmodem.js 2019-05-26 13:06:20 -07:00
Daniel Imms 8ad89f153f Remove test coverage
Doesn't add much or tell the full story now with the integration tests
2019-05-26 13:05:10 -07:00
Daniel Imms a804685f85 Remove gulp and related deps 2019-05-26 13:03:58 -07:00
Daniel Imms c14fd03808 Test addons, don't use gulp 2019-05-26 13:00:08 -07:00
Daniel Imms 5998d22d14 Move css to css/, don't move it around 2019-05-26 12:49:08 -07:00
Daniel Imms eb6e3ab7f7 Fix tests on Windows (hopefully) 2019-05-26 12:43:33 -07:00
Daniel Imms 9f77de42eb Fix unit tests for mac/linux, remove -suite and -debug scripts 2019-05-26 12:37:24 -07:00
Daniel Imms 6cd774ae51 Merge branch 'master' into ts_wp 2019-05-26 12:18:10 -07:00
Daniel Imms c5d5ede15a Build addons and sources before package script 2019-05-26 12:17:57 -07:00
Daniel Imms d7cfd83a84 Explain addon imports in start.js 2019-05-26 12:00:02 -07:00
Daniel Imms 946fbf4a7d Document how the build works 2019-05-26 11:55:46 -07:00
Daniel Imms 4ed3b07199 Remove old dev watch package 2019-05-26 11:48:25 -07:00
Daniel Imms 49c8270b1c Use absolute paths for modules in root project 2019-05-26 11:46:58 -07:00
Daniel Imms d675de0b93 ui project absolute, tweak demo build 2019-05-26 11:38:48 -07:00
Daniel Imms 9ddf83ef26 Create a prod webpack config 2019-05-26 11:23:31 -07:00
Daniel Imms 873f0de0ec Get webpack build working 2019-05-26 11:19:42 -07:00
Daniel Imms 38afe991b2 Kind of working setup 2019-05-26 11:05:23 -07:00
Daniel Imms 1942b4ad51 Merge pull request #2130 from Tyriar/2117_J_tests
Tests for erase in display
2019-05-25 21:34:11 -07:00
Daniel Imms 05ca1cb7dc Up timeouts 2019-05-25 21:25:56 -07:00
Daniel Imms 2f4c5b93fa Merge pull request #2131 from Tyriar/72149_npe
Fix NPE in reflow
2019-05-25 21:23:19 -07:00
Daniel Imms de8d9a720a Fix NPE in reflow
See microsoft/vscode#72149
2019-05-25 21:17:36 -07:00
Daniel Imms 7c2bc70aac Tests for erase in display
Part of #2117
2019-05-25 21:13:47 -07:00
Daniel Imms 44e01ba006 Merge pull request #2128 from Tyriar/1965_optimize_a11y
Only update a11y announcements on animation frame
2019-05-25 19:03:22 -07:00
Daniel Imms 8ffdc14143 Only update a11y announcements on animation frame
Fixes #1965
2019-05-25 11:46:02 -07:00
Daniel Imms fda964b3ea Merge pull request #2127 from jerch/2126_fix
fix losing data after RIS command
2019-05-24 16:39:40 -07:00
Jörg Breitbart b748eca980 fix losing data behind RIS 2019-05-24 23:17:40 +02:00
jerch bbefedb6eb Merge pull request #2125 from jerch/2124_fix_colormode_switches
fix colormode switches
2019-05-24 21:13:59 +02:00
Jörg Breitbart c387180a47 add color mode transition tests 2019-05-24 21:09:11 +02:00
Jörg Breitbart 0e1704f563 cleanup 2019-05-24 20:50:25 +02:00
Daniel Imms b8f55f1c8f Merge pull request #2123 from Tyriar/revert_floor
Revert "fix: don't use Math.floor in DomRenderer charWidth computation"
2019-05-24 06:55:26 -07:00
Daniel Imms a428193424 Merge branch 'master' into revert_floor 2019-05-24 06:50:37 -07:00
Daniel Imms 1feb0a27e9 Revert "fix: don't use Math.floor in DomRenderer charWidth computation"
This reverts commit 23bdb2a6c2.
2019-05-24 06:48:48 -07:00
jerch a92e4adfe2 Merge pull request #2120 from jerch/2108_memory_exhaustion
trim processed chunks from write buffer
2019-05-22 22:28:01 +02:00
Jörg Breitbart 7716e9abda trim already processed chunks 2019-05-22 14:12:15 +02:00
Daniel Imms 6e196da59c Merge pull request #2118 from Tyriar/2117_csi_tests
Add tests for CSI @-I
2019-05-21 22:53:48 -07:00
Daniel Imms 69e8f62149 Make tests way faster by avoiding page reload 2019-05-21 22:43:02 -07:00
Daniel Imms b46757010f Boost timeout of xterm output tests 2019-05-21 22:34:04 -07:00
Daniel Imms a74173adf2 Add tests for CSI @-I
Part of #2117
2019-05-21 22:29:39 -07:00
Daniel Imms c10b18113e Merge pull request #2116 from Tyriar/2097_fix_addon_dispose
Fix new addon dispose
2019-05-21 16:35:28 -07:00
Daniel Imms 7786e59c77 Fix new addon dispose
Fixes #2097
2019-05-21 16:26:50 -07:00
Daniel Imms 10aae5d68a Merge branch 'master' into webgl2 2019-05-21 16:23:05 -07:00
Daniel Imms 9dfac7e674 Merge pull request #2114 from Tyriar/consolidate_api_test_timeout
Move API test timeout to top-level describe
2019-05-21 14:58:37 -07:00
Daniel Imms 922e594fcf Fix lint 2019-05-21 14:51:48 -07:00
Daniel Imms c73aa07135 Merge branch 'master' into consolidate_api_test_timeout 2019-05-21 14:48:22 -07:00
Daniel Imms acea979fe0 Move API test timeout to top-level describe
I learned a thing.
2019-05-21 14:48:03 -07:00
Daniel Imms e4f626e3b6 Merge pull request #2110 from Tyriar/split_out_integration
Split out integration tests into its own job
2019-05-21 14:39:35 -07:00
Daniel Imms 9a4f419820 Merge branch 'master' into split_out_integration 2019-05-21 14:33:27 -07:00
Daniel Imms 209c44898d Merge pull request #2113 from Tyriar/2111_automate_patch_release
Run release against builds on release/* branches
2019-05-21 14:32:12 -07:00
Daniel Imms d3ff32da72 Run release against builds on release/* branches
Fixes #2111
2019-05-21 14:26:28 -07:00
Daniel Imms f81d1cb1cf Increase integration test sleep 2019-05-21 14:20:58 -07:00
Daniel Imms 8f09f58119 Merge branch 'master' into split_out_integration 2019-05-21 12:39:22 -07:00
Daniel Imms ab0eedc513 Fix job name 2019-05-21 11:19:54 -07:00
Daniel Imms 8e460dfe55 Merge pull request #2109 from Tyriar/2107_cursor_report
Fix status reporting
2019-05-21 11:13:32 -07:00
Daniel Imms 37ed1e4796 Split out integration tests into its own job
This will make Linux finish faster and release trigger faster
2019-05-21 11:12:34 -07:00
Daniel Imms d0a3164e99 Fix lint 2019-05-21 11:01:40 -07:00
Daniel Imms 968dd93ba7 Fix status reporting
Fixes #2107
2019-05-21 10:57:26 -07:00
Daniel Imms 493e8ad758 Remove webgl dependence on DEFAULT_ANSI_COLORS 2019-05-19 18:06:25 -07:00
Daniel Imms b79d73d7c0 Add foreground tests 2019-05-19 15:54:49 -07:00
Daniel Imms 4beea9b704 Add tests for webgl bg colors 2019-05-19 15:44:13 -07:00
Daniel Imms 250683364f Use more API in WebglRenderer 2019-05-19 02:23:07 -07:00
Daniel Imms 510985fb4e Add a basic test 2019-05-19 01:49:42 -07:00
Daniel Imms 20dfaae500 Fix runtime error 2019-05-19 00:59:21 -07:00
Daniel Imms 061854b535 Remove more dependencies on rest of project 2019-05-19 00:55:02 -07:00
Daniel Imms 134c2ff859 Move parts of webgl renderer to public API 2019-05-19 00:21:07 -07:00
Daniel Imms 29d3b8281b Copy over typed array utils to webgl 2019-05-18 23:38:49 -07:00
Daniel Imms 6922156d07 Move atlas parts into webgl/ 2019-05-18 23:30:10 -07:00
Daniel Imms f42e53f15a Update for recent changes 2019-05-18 21:56:42 -07:00
Daniel Imms e0ff44441e Merge remote-tracking branch 'origin/master' into webgl2 2019-05-18 21:24:39 -07:00
Daniel Imms 739723fe92 Merge pull request #2101 from Tyriar/bad_comment_
Remove old comment
2019-05-18 21:21:34 -07:00
Daniel Imms 2f08b87d95 Remove old comment 2019-05-18 21:21:02 -07:00
Daniel Imms eb70ddcba5 Merge pull request #2100 from Tyriar/2099_pausing
Support pausing in RenderCoordinator
2019-05-18 21:19:51 -07:00
Daniel Imms 43015f85f4 Move Renderer ownership to RenderCoordinator 2019-05-18 21:15:18 -07:00
Daniel Imms 87dca56dee Support pausing in RenderCoordinator
This actually removes the pause rendering functionality when the resize
and theme changes but simplifies it as a result, they also rarely happen
especially when off screen/hidden.

Fixes #2099
2019-05-18 20:20:46 -07:00
Daniel Imms 72e6863a7f Merge pull request #2098 from Tyriar/2093_logo_demo
Use logo in demo
2019-05-18 20:05:33 -07:00
Daniel Imms e83aa64794 Merge pull request #2096 from Tyriar/render_coordinator
Introduce RenderCoordinator
2019-05-18 20:03:20 -07:00
Daniel Imms c7416a6eaa Use logo in demo
Fixes #2093
2019-05-18 19:56:28 -07:00
Daniel Imms 9ed5920275 Add some basic fg/bg renderer tests 2019-05-18 19:51:44 -07:00
Daniel Imms 497d31bec3 onThemeChange -> setColors 2019-05-18 19:31:35 -07:00
Daniel Imms 24de302d2f onWindowResize -> onDevicePixelRatioChange 2019-05-18 19:27:06 -07:00
Daniel Imms 5f70b3f3be Move window resize listener to render coordinator 2019-05-18 19:22:51 -07:00
Daniel Imms b64cc0a9de Fix ui project build 2019-05-18 19:16:06 -07:00
Daniel Imms 3e4c1b5a21 Move ScreenDprMonitor to be owned by RenderCoordinator
(and a11y manager)
2019-05-18 19:12:37 -07:00
Daniel Imms f698cafccb Move the renderer events to RenderCoordinator 2019-05-18 19:02:42 -07:00
Daniel Imms 8792bb5f36 Introduce a RenderCoordinator that owns common Renderer logic
Part of #2005
2019-05-18 18:47:44 -07:00
Daniel Imms cf867602d1 Use IColorSet instead of IColorManager 2019-05-18 18:24:54 -07:00
Daniel Imms 3df91268c6 Merge remote-tracking branch 'origin/master' into webgl2 2019-05-18 18:24:30 -07:00
Daniel Imms ac48ef977b Merge pull request #2094 from Tyriar/2005_colormanager
Move ColorManager to ui
2019-05-18 18:16:47 -07:00
Daniel Imms 4119c7d1d7 Move ColorManager ownership to Terminal 2019-05-18 18:10:04 -07:00
Daniel Imms 000fefdead Move ColorManager to ui
Part of #2005
Part of #1507
2019-05-18 17:49:48 -07:00
Daniel Imms 2a155d5fb0 Merge branch 'master' into webgl2 2019-05-18 14:38:42 -07:00
Daniel Imms 1e564fdf33 Merge commit 'd261862' into webgl2 2019-05-18 14:27:22 -07:00
Daniel Imms 30567ec3cf Fix event emitter in webgl renderer 2019-05-18 14:24:25 -07:00
Daniel Imms 707d8baddb Merge commit 'fa70aa0983947e4444bcc9c1eeaaa516c1f88fe8' into webgl2 2019-05-18 14:23:40 -07:00
Daniel Imms 72719a6d69 Fix WebGL rendering after UTF-32 by fixing get chardata attr 2019-05-18 14:22:47 -07:00
Daniel Imms 440e097fe3 Merge commit '25745777c653acb53a7bf3864603c1ad7aaaa637' into webgl2 2019-05-18 14:03:29 -07:00
Daniel Imms 33955398e7 Merge pull request #2092 from Tyriar/layering
Move BufferReflow and Marker to core
2019-05-18 09:59:54 -07:00
Daniel Imms dbafc793da Move Marker to core 2019-05-17 23:41:26 -07:00
Daniel Imms 88c1ff6f11 Move BufferReflow to core 2019-05-17 23:37:44 -07:00
Daniel Imms 610c4c9726 Merge pull request #2088 from Tyriar/fix_coveralls
Fix what branch coverage is sent with
2019-05-16 10:47:34 -07:00
Daniel Imms e2214b0239 Fix what branch coverage is sent with 2019-05-16 10:39:53 -07:00
Daniel Imms 23d3a27a6f Merge pull request #2085 from Tyriar/a11y_fix
Add sanity check in AccessibilityManager
2019-05-16 09:58:02 -07:00
Daniel Imms d04016d51f Merge branch 'master' into a11y_fix 2019-05-16 09:52:54 -07:00
Daniel Imms fede301f5f Merge pull request #2081 from Tyriar/xterm-tests
Support debugging integration tests
2019-05-16 09:52:42 -07:00
Daniel Imms a62ec679bd Move readFileSync out of test 2019-05-15 12:49:13 -07:00
Daniel Imms da79fec5c2 Disable failing test on Linux 2019-05-15 11:57:32 -07:00
Daniel Imms 80025804b3 Add sanity check in AccessibilityManager
Fixes #2082
2019-05-15 11:47:15 -07:00
Daniel Imms 955c45906b Merge branch 'master' into xterm-tests 2019-05-13 21:30:33 -07:00
Daniel Imms f331269ef4 Support debugging integration tests 2019-05-13 21:11:56 -07:00
Daniel Imms 9cb6706e2d Merge pull request #2080 from jerch/demo_update
apply attach changes to demo
2019-05-13 21:07:48 -07:00
Daniel Imms b9cfbbea8f xterm-addon-attach@0.1.0-beta8 2019-05-13 20:34:14 -07:00
Jörg Breitbart 58d461bb90 optimize Buffer.concat 2019-05-13 15:33:54 +02:00
Jörg Breitbart 69411916cb make linter happy 2019-05-13 01:45:21 +02:00
Jörg Breitbart 1a596f9608 default to string transport 2019-05-13 01:41:51 +02:00
Jörg Breitbart 67be8c36e7 utf8 switch in server.js 2019-05-13 01:40:54 +02:00
Jörg Breitbart 0b50c06810 Merge branch 'master' into demo_update 2019-05-13 01:25:51 +02:00
Jörg Breitbart 53167df1a8 document utf8 switch in client.ts 2019-05-13 01:24:41 +02:00
jerch eef855601b Merge pull request #1904 from jerch/utf8_input
Support for raw UTF8 input
2019-05-13 01:23:39 +02:00
Jörg Breitbart 6fd5cdd8f1 apply attach changes to demo 2019-05-13 00:58:14 +02:00
Jörg Breitbart c0e9bbe87f Revert "change demo to utf8 input"
This reverts commit e6e5ecc0f2.
2019-05-12 22:17:06 +02:00
Jörg Breitbart 06c292c11d Merge branch 'master' into utf8_input 2019-05-12 22:16:59 +02:00
Jörg Breitbart bda068c5f0 docs 2019-05-12 22:07:14 +02:00
Daniel Imms 031a30b007 Merge pull request #2065 from Tyriar/1128_addons
New addon API
2019-05-12 12:54:45 -07:00
Daniel Imms 3475764946 Types/doc polish 2019-05-12 10:59:26 -07:00
Daniel Imms f90239377b Fix possible infinite loop if addon disposes terminal 2019-05-12 10:47:35 -07:00
Daniel Imms 1502fea431 Remove unused fullscreen addon from demo 2019-05-12 10:41:01 -07:00
Daniel Imms caf8f9d35e Update search addon 2019-05-12 10:39:39 -07:00
Daniel Imms d230f93bde Remove old search addon from demo 2019-05-12 10:25:41 -07:00
Daniel Imms bae125b789 Merge branch 'master' into utf8_input 2019-05-12 10:24:39 -07:00
Daniel Imms eda04bcb23 Add new search addon, move AddonManager to public
Because addons build on top of the API it needs to live in public, the main
reason for this is because the implementation of buffer differs on
public/Terminal and src/Terminal.
2019-05-12 10:22:29 -07:00
Jörg Breitbart 523d562f73 fix missing types 2019-05-12 18:49:23 +02:00
Daniel Imms 0c588a7333 Fix missed merge conflict 2019-05-12 09:45:09 -07:00
Daniel Imms f7612a49d2 Merge remote-tracking branch 'ups/master' into 1128_addons 2019-05-12 09:44:09 -07:00
Daniel Imms 34244248bf Merge pull request #2078 from Tyriar/1443_selection_api
select and getSelectionPosition APIs
2019-05-12 09:40:03 -07:00
Daniel Imms f654044e5e Fix search addon unit tests 2019-05-12 00:17:59 -07:00
Daniel Imms a7fa58cc60 Add API test for getSelectionPosition 2019-05-11 23:59:51 -07:00
Daniel Imms 9ca9f7296e Use new APIs in selection addon 2019-05-11 23:56:34 -07:00
Daniel Imms 5bbbbf7348 Expose getSelectionPosition and select APIs instead 2019-05-11 23:52:38 -07:00
Daniel Imms da7c39e526 Add API test 2019-05-11 23:37:42 -07:00
Daniel Imms 6674f05cc8 Implement setSelection API
Fixes #1443
2019-05-11 23:35:31 -07:00
Daniel Imms 161c7f9339 Use API clearSelection in search addon 2019-05-11 23:22:46 -07:00
Daniel Imms 780e924b21 Use stable API for buffer in search addon 2019-05-11 23:15:04 -07:00
Daniel Imms 1f000054c2 Merge remote-tracking branch 'ups/master' into 1128_addons 2019-05-11 22:48:49 -07:00
Daniel Imms c13d6e5eeb Make write and writeln consistent with writeUtf8 test 2019-05-11 22:29:01 -07:00
Daniel Imms e5dfc56030 Add api test for writeUtf8 2019-05-11 22:24:33 -07:00
Daniel Imms 00423407c1 Clean up 2019-05-11 22:18:18 -07:00
Daniel Imms 2340fcd071 Fix compile and update yarn.lock with utf8 2019-05-11 21:21:36 -07:00
Daniel Imms 59a1749d44 Merge branch 'master' into utf8_input 2019-05-11 21:16:05 -07:00
Daniel Imms 0fae9bb5a8 Merge pull request #2074 from Tyriar/1994_buffer_api
Buffer API
2019-05-11 21:15:55 -07:00
Daniel Imms 70ba349a85 Fix invalid index check, add api tests 2019-05-11 20:58:51 -07:00
Daniel Imms 49574be510 Add warnings to getCell and getLine 2019-05-11 20:49:48 -07:00
Daniel Imms f41e00ed97 Return undefined if cell or line doesn't exist 2019-05-11 20:46:55 -07:00
Jörg Breitbart ce079f399c fix docstring 2019-05-12 00:07:07 +02:00
Jörg Breitbart 7a567d2717 apply time-based limit 2019-05-11 23:10:18 +02:00
Daniel Imms cd3f2609d6 Make tests use buffer API over _core 2019-05-11 12:12:53 -07:00
Daniel Imms 8a929ed142 Add API tests for loadAddon 2019-05-11 11:02:15 -07:00
Daniel Imms 46995fdbc1 Add tests for buffer.getLine 2019-05-11 10:46:00 -07:00
Daniel Imms d694eae6b5 Add some buffer tests 2019-05-11 10:32:53 -07:00
Daniel Imms bce2eae66f Update yarn.lock 2019-05-11 10:15:29 -07:00
Daniel Imms 3554d3e075 Merge branch 'master' into 1128_addons 2019-05-11 10:14:48 -07:00
Daniel Imms eb6deb67f9 Fix build issues 2019-05-11 10:10:31 -07:00
Daniel Imms 7c55e1be9e Merge remote-tracking branch 'ups/master' into 1994_buffer_api 2019-05-11 10:05:31 -07:00
Daniel Imms 7549ca59be Merge branch 'master' into utf8_input 2019-05-11 10:02:14 -07:00
Daniel Imms af81acc50e Merge pull request #2068 from Tyriar/api_tests
API integration tests
2019-05-11 10:00:36 -07:00
Jörg Breitbart f033800554 fix imports 2019-05-11 17:56:26 +02:00
Daniel Imms 623dd56190 Merge pull request #2073 from jerch/2072_remove_instanceof
remove instanceof check
2019-05-11 08:46:22 -07:00
Jörg Breitbart 740604f035 remove instanceof check 2019-05-11 17:21:16 +02:00
Daniel Imms 3f68a60e73 Merge pull request #2067 from starpit/floor
fix: don't use Math.floor in DomRenderer charWidth computation
2019-05-11 00:50:20 -07:00
Daniel Imms 556c56ff94 Merge branch 'master' into api_tests 2019-05-11 00:10:33 -07:00
Daniel Imms dfb5d8e663 Add focus, blur test 2019-05-11 00:00:57 -07:00
Daniel Imms 7562948259 Add tests for all API events 2019-05-10 23:47:28 -07:00
Daniel Imms 34ac1bc502 Fix clearSelection not firing onSelectionChange
Fixes #2070
2019-05-10 23:38:45 -07:00
Daniel Imms 97b176e701 Add selection tests 2019-05-10 23:14:16 -07:00
Daniel Imms 8a5b6b0356 Move puppeteer to devDependencies 2019-05-10 22:58:23 -07:00
Daniel Imms 55d590348c API integration tests
Part of #1247
2019-05-10 22:57:27 -07:00
Nick Mitchell 23bdb2a6c2 fix: don't use Math.floor in DomRenderer charWidth computation
Fixes #2063
2019-05-11 00:59:59 -04:00
Daniel Imms 16aaf6c58c Fix build 2019-05-10 21:08:06 -07:00
Daniel Imms 22c9ad7145 Merge remote-tracking branch 'origin/master' into 1994_buffer_api 2019-05-10 21:04:26 -07:00
Daniel Imms 41a7cabbc2 Merge branch 'master' into 1128_addons 2019-05-10 21:02:55 -07:00
Daniel Imms 724baf22f9 Merge pull request #2066 from Tyriar/lib_import
Fix bad import from lib
2019-05-10 20:52:20 -07:00
Daniel Imms c04ebe974f Fix bad import from lib
Related #1996
2019-05-10 20:51:18 -07:00
Daniel Imms fcee890819 Merge branch 'master' into 1128_addons 2019-05-10 20:47:17 -07:00
Daniel Imms d696046921 Simplify and mark new addon API as experimental 2019-05-10 20:38:08 -07:00
Daniel Imms 518e2734ba Re-introduce original attach and webLinks addons back
We could release this in v3 if we don't break addons like this
2019-05-10 20:30:47 -07:00
Daniel Imms eedcbccb15 Merge remote-tracking branch 'origin/master' into 1128_addons 2019-05-10 20:24:43 -07:00
Daniel Imms d7e6cb17a5 Merge pull request #2062 from Tyriar/windowsMode_typings
Add typings for windowsMode
2019-05-10 19:41:49 -07:00
Daniel Imms b658baf921 Add typings for windowsMode 2019-05-10 16:26:53 -07:00
Daniel Imms 10c6e900ad Merge pull request #2059 from Tyriar/buffer_core
Move BufferLine into core
2019-05-10 15:17:14 -07:00
Daniel Imms b608c9d0ef Merge branch 'master' into buffer_core 2019-05-10 14:57:32 -07:00
Daniel Imms 0e0bcde957 Merge pull request #2061 from Tyriar/fix_beta_off_patch
Make sure beta builds are always on patch version 0
2019-05-10 07:57:33 -07:00
Daniel Imms d735196a30 Make sure beta builds are always on patch version 0 2019-05-10 07:39:42 -07:00
Daniel Imms 59aec69379 Add BufferLine into core and strict null check 2019-05-09 22:19:33 -07:00
Daniel Imms 228ec7b818 Move BufferLine into core 2019-05-09 22:15:32 -07:00
Daniel Imms 7b7fc53157 Move more BufferLine dependencies into core 2019-05-09 22:10:07 -07:00
Daniel Imms f381cdfc33 Move a bunch of types to core 2019-05-09 21:57:33 -07:00
Daniel Imms ac6bced6e7 Merge pull request #2056 from xtermjs/Tyriar-patch-1
Add missing space to typings
2019-05-09 10:12:29 -07:00
Daniel Imms 1a61401cbe Merge pull request #2057 from Tyriar/fix_cd_after_release
Fix beta CD for new major/minor beta versions
2019-05-09 10:12:11 -07:00
Daniel Imms 6d55ab23fd Fix beta CD for new major/minor beta versions 2019-05-09 10:11:25 -07:00
Daniel Imms 3abc090412 Add missing space to typings 2019-05-09 10:02:42 -07:00
Daniel Imms 21f1498977 Merge pull request #2053 from xtermjs/Tyriar-patch-1
Update year in README
2019-05-09 10:00:09 -07:00
Daniel Imms 16c0550d7c Merge pull request #2051 from Tyriar/2019_prepublish
Replace prepublish
2019-05-09 09:59:58 -07:00
Daniel Imms 517d5cfd0e Merge pull request #2050 from Tyriar/2048_demo_line_height
Update terminal dimensions after line height changes
2019-05-09 09:59:49 -07:00
Daniel Imms d363416fb4 Merge pull request #2046 from NizamLZ/fix/2045
Allow + char in URI path
2019-05-09 09:59:36 -07:00
Daniel Imms ffc868a4b8 Merge pull request #2055 from xtermjs/Tyriar-patch-2
v3.13.0
2019-05-09 09:42:56 -07:00
Daniel Imms e40f924913 v3.13.0 2019-05-09 09:37:07 -07:00
Daniel Imms ca1c647442 Merge pull request #2054 from Tyriar/fix_beta_cd
Actually fix beta CD
2019-05-09 08:20:58 -07:00
Daniel Imms 79e182d63f Actually fix beta CD
Part of #2044
2019-05-09 08:20:19 -07:00
Daniel Imms c1b56722d3 Merge pull request #2052 from jflatow/unit-separator
Send the unit separator for C-_, like some other keyboards
2019-05-09 07:56:30 -07:00
Daniel Imms b959fc8d6a Update year in README 2019-05-09 07:49:50 -07:00
Khaja Nizamuddin 48753625f3 Merge branch 'master' into fix/2045 2019-05-09 12:43:25 +05:30
Jared Flatow dc236aeb20 Send the unit separator for C-_, like some other keyboards 2019-05-09 00:06:32 -07:00
Daniel Imms 71886167be Replace prepublish
On prepublishOnly we want to do a full build, on prepare we want
to only build the ts projects so the .d.ts files are avilable.

Fixes #2019
2019-05-08 23:08:39 -07:00
Daniel Imms 4b1c54d634 Update terminal dimensions after line height changes
Fixes #2048
2019-05-08 20:53:24 -07:00
Daniel Imms 2d0937ac1d Merge pull request #2047 from Tyriar/2044_cd_fix
Base the next beta version on the correct current beta
2019-05-08 18:08:18 -07:00
Daniel Imms 0d5cd9582f Base the next beta version on the correct current beta
Fixes #2044
2019-05-08 18:03:06 -07:00
Khaja Nizamuddin e831bdf1ef Allow + char in URI path 2019-05-08 21:06:22 +05:30
Daniel Imms 4729bfaa2d Merge pull request #2043 from cubiclesoft/add_php_app_server
Added PHP App Server to Real-world uses section.
2019-05-07 18:30:04 -07:00
cubiclesoft a88469aac6 Added PHP App Server to Real-world uses section. 2019-05-07 12:07:00 -07:00
jerch d6da010c7e Merge pull request #2035 from jerch/2028_handle_joined_cells
cell representation for joined cells
2019-05-06 22:42:05 +02:00
Daniel Imms c6138edec2 Merge branch 'master' into 2028_handle_joined_cells 2019-05-05 18:55:53 -07:00
Daniel Imms 15a6c9846d Merge pull request #2040 from Tyriar/devcontainer
Add a dev container
2019-05-05 16:06:55 -07:00
Jörg Breitbart ca193ed00d Merge branch 'master' into 2028_handle_joined_cells 2019-05-05 21:54:16 +02:00
Jörg Breitbart ffcdba8d5b simplify JoinedCellData 2019-05-05 21:48:35 +02:00
Daniel Imms d68c441b86 Merge pull request #2038 from roottool/fix-that-webLinks-not-interpreted#1954
Fix that webLinks not interpreted
2019-05-03 21:13:00 -07:00
Daniel Imms 613f877954 Add a dev container
This lets users using VS Code/Docker avoid installing node and the C++
dependencies necessary for running xterm.js.
2019-05-03 21:08:25 -07:00
Daniel Imms a1353a8fb4 Merge pull request #2039 from roottool/refacter-the-css-code-of-cursor-blink
Refactored the CSS code of cursor blink
2019-05-03 12:59:04 -07:00
roottool 4269777f1c Fix: Refactored the css code of keyframes blink 2019-05-04 02:54:38 +09:00
roottool 23eed1b3ea Fix: Changed pathClause 2019-05-04 02:02:26 +09:00
Daniel Imms ebc0083531 Merge pull request #2036 from Tyriar/protect_markers
Make Terminal.markers readonly
2019-05-02 09:45:15 -07:00
Daniel Imms 7d3e2d7da4 Merge branch 'master' into protect_markers 2019-05-02 09:33:24 -07:00
Daniel Imms ea09c6af09 Fix build 2019-05-02 09:23:13 -07:00
Daniel Imms 267357c4de Merge pull request #2032 from Tyriar/task
Add build and test task
2019-05-02 07:54:42 -07:00
Daniel Imms f416bd155a Make compound task the default 2019-05-02 07:53:28 -07:00
Daniel Imms c6a3fb3b42 Merge branch 'master' into task 2019-05-02 07:47:29 -07:00
Daniel Imms cb33c897d2 Merge branch 'master' into protect_markers 2019-04-30 12:20:30 -07:00
Daniel Imms 469d5158a0 Make Terminal.markers readonly 2019-04-30 19:19:41 +00:00
Daniel Imms 766b1745d3 Merge pull request #2027 from Tyriar/auto_release
Automatically release stable builds
2019-04-29 22:50:16 -07:00
Daniel Imms 68182ed162 Merge branch 'master' into auto_release 2019-04-29 22:42:20 -07:00
Daniel Imms d261862ccb Merge pull request #2026 from Tyriar/ui_project
Create UI project, strict null check some more files
2019-04-29 22:41:54 -07:00
Daniel Imms 8d6682a2bc Merge branch 'master' into ui_project 2019-04-29 22:26:28 -07:00
Daniel Imms 63833b59ed Fix lint 2019-04-29 22:24:44 -07:00
Jörg Breitbart 4fd9b3f249 jix joined cell representation as overloaded CellData type 2019-04-30 00:58:18 +02:00
jerch 3f145b8a0c Merge pull request #2034 from jerch/2031_defaultcolor_handling
apply default fg color for uncached chars and underline in canvas renderer
2019-04-29 23:40:18 +02:00
Jörg Breitbart 1f42e7c06a fix fg color for underline 2019-04-29 23:19:16 +02:00
Jörg Breitbart 42b1dca7db add handling for default fg color 2019-04-29 22:33:01 +02:00
Daniel Imms f0c3bab156 Add build and test task 2019-04-29 11:35:42 -07:00
Daniel Imms 4453a1cbf7 Automatically release stable builds
Part of #1921
2019-04-28 03:52:43 +00:00
Daniel Imms 362152004b Move files not in ui project back to root 2019-04-28 02:28:20 +00:00
Daniel Imms 88d5cf46f8 Strict null check ScreenDprMonitor 2019-04-28 02:16:28 +00:00
Daniel Imms ebfa57b71c Strict null check RenderDebouncer 2019-04-28 02:03:41 +00:00
Daniel Imms 4c3082c924 Remove ITerminal dependency in RenderDebouncer 2019-04-28 01:59:40 +00:00
Daniel Imms 672db9437f Create ui project, add Lifecycle 2019-04-28 01:55:56 +00:00
Daniel Imms eb10652e46 Merge branch 'master' into utf8_input 2019-04-27 18:49:46 -07:00
Daniel Imms f4bbfc30f3 Merge pull request #1872 from Tyriar/cd
Setup continuous deployment beta builds
2019-04-27 18:33:46 -07:00
Daniel Imms 65eaea39d3 Base the beta build off of the next minor version 2019-04-28 00:45:51 +00:00
Daniel Imms 70db48b533 Add notice about beta builds in readme 2019-04-28 00:34:44 +00:00
Daniel Imms 779ebe87e5 Merge branch 'master' into cd 2019-04-27 16:52:09 -07:00
Daniel Imms 6237eaa86f Merge pull request #2025 from thebradbain/fix-terminal-resize
Clear line cache on terminal resize
2019-04-27 16:42:30 -07:00
Bradley Bain 736bd53e49 Clear line cache on terminal resize 2019-04-25 21:24:07 -07:00
Daniel Imms 69d43d4a40 Merge branch 'master' into cd 2019-04-14 16:04:49 -07:00
Daniel Imms 017a5b1218 Merge branch 'master' into utf8_input 2019-04-14 12:54:26 -07:00
Daniel Imms c6f785f51a Merge pull request #2014 from starpit/underline
feat: add underline support to DOM renderer
2019-04-14 11:24:25 -07:00
Nick Mitchell 8718d3a4ca feat: add underline support to DOM renderer
part of #1896
2019-04-14 13:47:58 -04:00
Daniel Imms 7aaa1ad0bb Merge pull request #2009 from Tyriar/single_quote
Add vscode setting for single quote style
2019-04-12 09:36:35 -07:00
Daniel Imms fa70aa0983 Merge pull request #2008 from Tyriar/event_emitter_2
Explicit event API
2019-04-11 09:08:15 -07:00
Daniel Imms 89a3931a68 Merge branch 'master' into event_emitter_2 2019-04-11 08:15:19 -07:00
Daniel Imms a0ee09a7bc Add vscode setting for single quote style
This will alwayts use single quotes when TS server does auto imports,
implement interface, etc.
2019-04-11 08:14:18 -07:00
Daniel Imms 94415a227d Merge pull request #1866 from ntchjb/master
Fix search addons: Fix problem of skipping some results and incorrect text selection after resize window
2019-04-10 03:45:58 -04:00
Daniel Imms 0b4ff4bb6b Merge branch 'master' into event_emitter_2 2019-04-10 03:34:37 -04:00
Daniel Imms 4be376d397 Merge branch 'master' into master 2019-04-10 03:31:40 -04:00
Daniel Imms 5362ea195c Add first API test 2019-04-10 00:24:50 -07:00
Daniel Imms b55bedc6af Add terminal API interface to Types.ts
This is needed since the API/public buffer now differs from the TerminalCore's
2019-04-09 21:29:08 -07:00
Daniel Imms cf4b59567b Add tests for new events 2019-04-09 21:01:55 -07:00
Daniel Imms b9bc219ecc Make events in d.ts alphabetical 2019-04-09 20:52:18 -07:00
Daniel Imms f4c7e3fd7d Remove extends EventEmitter from Linkifier 2019-04-09 20:43:42 -07:00
Daniel Imms 36567e60df Remove extends EventEmitter from more classes 2019-04-09 20:36:08 -07:00
Daniel Imms 2e0e24c382 Remove extends EventEmitter from SelectinoManager 2019-04-09 20:26:18 -07:00
Daniel Imms 290bde6163 Convert refresh to EventEmitter2 2019-04-09 20:16:26 -07:00
Daniel Imms db78b75e8b Convert selection to EventEmitter2 2019-04-09 20:05:13 -07:00
Daniel Imms 87328fe293 Convert data to EventEmitter2 2019-04-09 19:53:02 -07:00
Daniel Imms 2c96c262f4 Convert scroll to EventEmitter2 2019-04-09 19:42:53 -07:00
Daniel Imms f111aa27dc Convert linefeed to EventEmitter2 2019-04-09 19:35:41 -07:00
Daniel Imms 8e5d372b81 Convert cursormove to EventEmitter2 2019-04-09 19:31:59 -07:00
Daniel Imms 8b5b64605e Start find previous from the current viewport 2019-04-09 19:53:22 -04:00
Daniel Imms 0c388c69bc Merge branch 'master' into pr/jerch/1904 2019-04-09 19:38:39 -04:00
Daniel Imms 660466d244 Merge pull request #1923 from jerch/fix_1879
signal sequence was finally handled
2019-04-09 11:15:02 -04:00
Daniel Imms dee4429151 Remove unneeded interfaces 2019-04-09 11:11:16 -04:00
Daniel Imms c3d1b0703c Merge branch 'master' into fix_1879 2019-04-09 11:10:17 -04:00
Daniel Imms 71827f7981 Merge branch 'master' into master 2019-04-09 11:01:02 -04:00
Daniel Imms 2d80abe801 Merge branch 'master' into 1128_addons 2019-04-09 10:57:32 -04:00
Daniel Imms 6b0f2170ea Merge branch 'master' into 1994_buffer_api 2019-04-09 10:57:22 -04:00
Daniel Imms a86c2943b8 Merge branch 'master' into event_emitter_2 2019-04-09 10:57:11 -04:00
Daniel Imms cb591f212a Merge pull request #2006 from skavanagh/patch-1
Added Bastillion to Real-world uses
2019-04-09 10:53:08 -04:00
Sean Kavanagh e5f94391ae Update README.md 2019-04-09 09:10:29 -04:00
Daniel Imms 5476f4cb93 Merge pull request #2002 from Tyriar/1932_broken_reflow
Fix reflow case where wrapped line portions ended in \t
2019-04-08 18:59:21 -04:00
Daniel Imms aaf8b80292 Merge branch 'master' into 1932_broken_reflow 2019-04-08 18:51:02 -04:00
Daniel Imms 9ab3d319d1 Merge pull request #2004 from Tyriar/dim_dom_renderer_test
Add a test for dim flag in dom renderer
2019-04-08 10:56:15 -04:00
Daniel Imms efeca49705 Mostly implemented buffer API
Part of #1994
2019-04-07 15:29:37 -04:00
Daniel Imms 267071ead6 Add deprecation message to applyAddon 2019-04-07 15:00:27 -04:00
Daniel Imms 26a80d0d35 Convert to much simpler model 2019-04-07 14:53:09 -04:00
Daniel Imms 49f58f5d25 Merge branch 'master' into 1128_addons 2019-04-07 14:24:29 -04:00
Daniel Imms a0b4ee56f6 Add a test for dim flag in dom renderer 2019-04-07 14:17:38 -04:00
Daniel Imms 6ff81c43f6 Convert marker dispose, selection manager newselection 2019-04-07 14:09:31 -04:00
Daniel Imms 625e168e1b Convert title and resize events 2019-04-07 14:02:11 -04:00
Daniel Imms b2ab89ddaa Merge branch 'master' into event_emitter_2 2019-04-07 13:56:50 -04:00
Daniel Imms 4ace81d994 Merge branch 'master' into 1932_broken_reflow 2019-04-07 13:53:23 -04:00
Daniel Imms 25745777c6 Merge pull request #2003 from Tyriar/fix_merge_problem
Fix compile error from conflicting PRs
2019-04-07 13:53:09 -04:00
Daniel Imms 74b68ac1c7 Fix compile error from conflicting PRs 2019-04-07 13:49:56 -04:00
Daniel Imms 2a4208cf3e Merge branch 'master' into 1932_broken_reflow 2019-04-07 13:48:31 -04:00
Daniel Imms e58033bbac Merge pull request #1895 from jerch/true_color
True color support
2019-04-07 13:45:08 -04:00
Daniel Imms bd92aaf4dc Merge branch 'master' into 1932_broken_reflow 2019-04-07 13:44:29 -04:00
Daniel Imms 3ac313f8e1 Fix reflow larger case
Fixes #1932
2019-04-07 13:18:05 -04:00
Daniel Imms ab44650d87 Fix reflow smaller case related to ended \t chars
Part of #1932
2019-04-07 13:16:20 -04:00
Daniel Imms 11ab4dbd5b Merge pull request #2000 from starpit/dim
feat: add DIM support to DomRenderer
2019-04-07 09:47:51 -04:00
Daniel Imms 92c435a16d Use same dim opacity as canvas renderer 2019-04-07 09:45:54 -04:00
Nick Mitchell ddd02b4968 feat: add DIM support to DomRenderer
part of #1896
2019-04-06 16:04:50 -04:00
Daniel Imms 7e36bf47c6 Have undefined | true mean success 2019-04-06 15:21:20 -04:00
Daniel Imms d6daf40250 Merge branch 'master' into fix_1879 2019-04-06 15:08:58 -04:00
Daniel Imms 09a5fd4e61 Fix capitalization in color mode 2019-04-06 15:06:42 -04:00
Daniel Imms 171b9337cb Make BufferLine enums const 2019-04-06 14:56:15 -04:00
Daniel Imms bb324ba9c1 Move width shift back into enum 2019-04-06 14:55:43 -04:00
Daniel Imms 27283e45e9 Merge branch 'master' into true_color 2019-04-06 14:13:14 -04:00
Daniel Imms 23ce6ce19e Merge pull request #1999 from asadm/master
add CodeInterview.io in README
2019-04-05 11:12:03 -04:00
Asad Memon e8a9994583 add CodeInterview.io in README 2019-04-04 11:58:19 -07:00
Daniel Imms 46f3b3fa62 Merge branch 'master' into true_color 2019-04-04 01:06:26 -04:00
Daniel Imms 2f8d49c74d Convert internal key event usages 2019-04-04 00:45:57 -04:00
Daniel Imms 629238ae70 Use onResize in demo 2019-04-04 00:25:03 -04:00
Daniel Imms 3f9d90ecf6 Remove unnecessary paste listener from demo 2019-04-04 00:23:12 -04:00
Daniel Imms f35dfb496a Use onKey in demo 2019-04-04 00:22:34 -04:00
Daniel Imms 4e6f4be6cc Convert Listener to an interface 2019-04-04 00:14:04 -04:00
Daniel Imms 798cf8abc3 Merge branch 'master' into event_emitter_2 2019-04-04 00:12:07 -04:00
Daniel Imms b591db8c02 Merge pull request #1997 from Tyriar/1989_backspace_demo
Fix backspace on demo
2019-04-04 00:06:09 -04:00
Daniel Imms b18829963c Fix backspace on demo
buffer.x will probably be public API soon (#1994)

Fixes #1989
2019-04-04 00:01:43 -04:00
Daniel Imms e402dba635 Merge pull request #1995 from termius/fix_csi_scroll_down
Fix CSI scroll down handler
2019-04-03 23:57:01 -04:00
Daniel Imms 2023b5b677 Merge pull request #1992 from Tyriar/1990_layering_libs
Ensure DOM APIs cannot be used in common and core
2019-04-03 18:28:53 -04:00
Vadim Zakondyrin 68e3d7fa16 Fix CSI scroll down handler
The issue has been introduced in cd8477a942
2019-04-03 12:10:32 +06:00
Daniel Imms 3f993d675f Fix conflicts with new stuff 2019-04-02 20:17:33 -04:00
Daniel Imms 7ddcf1a2a2 Merge branch 'master' into 1128_addons 2019-04-02 20:16:09 -04:00
Daniel Imms e6333bde2d Merge branch 'master' into true_color 2019-04-02 17:13:21 -07:00
Daniel Imms 51c7337099 Merge branch 'master' into 1990_layering_libs 2019-04-02 17:10:49 -07:00
Daniel Imms 6476429077 Merge pull request #1993 from Tyriar/windows_mode
Replace winptyCompat addon with windowsMode option
2019-04-02 17:08:31 -07:00
Daniel Imms 7b9a718af0 Fix some imports to point at ts files, not lib/ 2019-04-02 16:45:43 -07:00
Daniel Imms 60113fa155 Replace EventEmitter usage in CharMeasure 2019-04-02 11:38:55 -07:00
Daniel Imms 60c2b20d68 Replace EventEmitter usage in BufferSet 2019-04-02 11:35:20 -07:00
Daniel Imms f8fb4da9f4 Replace EventEmitter with EventEmitter2 in CircularList 2019-04-02 11:30:47 -07:00
Daniel Imms 5f014be057 Add onCursorMove, replace .on usage in addons 2019-04-02 11:12:57 -07:00
Daniel Imms b12d2c218e Remove reference to winptyCompat tsconfig 2019-04-02 11:03:24 -07:00
Daniel Imms ba4662ac14 Introduce new onEvent APIs and deprecate on/off/etc.
Part of #1505
2019-04-02 11:01:16 -07:00
Daniel Imms ca1f7f1392 Add EventEmitter2 2019-04-02 10:11:59 -07:00
Daniel Imms fa505111a2 Replace winptyCompat addon with windowsMode option 2019-04-02 08:51:23 -07:00
Daniel Imms 2e10c8c25e Clean up 2019-04-02 08:04:39 -07:00
Daniel Imms 8d4da3c2ac Merge branch 'master' into pr/jerch/1895 2019-04-02 07:53:22 -07:00
Daniel Imms 542c109b99 Merge branch 'master' into webgl2 2019-04-02 06:39:25 -07:00
Daniel Imms 81dda13218 Merge branch 'master' into 1990_layering_libs 2019-04-02 06:35:59 -07:00
Daniel Imms 0a8d57ce74 Merge pull request #1878 from jerch/utf32_buffer
Utf32 buffer
2019-04-01 17:50:09 -07:00
Daniel Imms 5c8c680dac Fix feedback 2019-04-01 00:01:41 -07:00
Daniel Imms 69f8700557 Merge branch 'master' into pr/jerch/1878 2019-03-31 23:34:46 -07:00
Daniel Imms 4a3609f805 Move platform to common and remove dom dependence in common
Because common/ imports 'xterm', it also imported dom accidentally.

Fixes #1990
2019-03-31 23:24:29 -07:00
Daniel Imms fa2cbb0aca Merge branch 'master' into fix_1879 2019-03-30 15:38:53 -07:00
Daniel Imms b05c66b132 Merge pull request #1987 from Tyriar/1986_localhost
Recommend 127.0.0.1:3000 on mac and linux too
2019-03-30 15:36:42 -07:00
Daniel Imms 75046235af Merge pull request #1984 from Tyriar/project_references
Build using TypeScript project references
2019-03-30 15:09:11 -07:00
Daniel Imms bab94ebbdc Merge pull request #1958 from nikonso/1947-weblinks-with-selection
WebLinks plugin don't follow link on selection
2019-03-30 15:07:34 -07:00
Daniel Imms 4d008c66f1 Recommend 127.0.0.1:3000 on mac and linux too
Fixes #1986
2019-03-30 15:06:25 -07:00
Daniel Imms bf9d879efa Fix typo 2019-03-30 14:59:31 -07:00
Daniel Imms 636afa11d6 Merge branch 'master' into 1947-weblinks-with-selection 2019-03-30 14:57:24 -07:00
Daniel Imms 1283123d4d Merge pull request #1985 from Tyriar/fix_demo_non_win
Fix demo on non-Windows
2019-03-30 14:55:00 -07:00
Daniel Imms e182e3d4e4 Fix demo on non-Windows
Broke in #1978
2019-03-30 14:52:48 -07:00
Daniel Imms 51033596ef Merge branch 'master' into 1947-weblinks-with-selection 2019-03-30 14:47:46 -07:00
Daniel Imms 0960a7ae14 Merge branch 'master' into project_references 2019-03-30 14:43:11 -07:00
Daniel Imms 84d5963e7e Merge pull request #1976 from Tyriar/1975_renderer_pause_fix
Fix renderer pausing to not full refresh every time
2019-03-30 14:42:38 -07:00
Daniel Imms 10b7b467b4 Merge pull request #1978 from Tyriar/move_windows_check
Let consumers decide whether winptyCompat should be active
2019-03-30 14:41:58 -07:00
Daniel Imms 2317a319d0 Merge pull request #1982 from Tyriar/1981_prevent_scroll_on_focus
Prevent scroll on focus
2019-03-30 14:40:26 -07:00
Daniel Imms f80924fb8d Remove zmodem demo 2019-03-30 14:12:15 -07:00
Daniel Imms 18f4dc6b3e Remove concurrently 2019-03-30 14:09:51 -07:00
Daniel Imms b400f9ca3b Don't clear terminal on yarn watch 2019-03-30 14:08:57 -07:00
Daniel Imms 0b78011fa3 Adopt project references
Recent versions of TypeScript has improved the performance of project
references so they are now viable to switch over to.
2019-03-30 14:05:24 -07:00
Daniel Imms 2be0a5819b Merge branch 'master' into 1981_prevent_scroll_on_focus 2019-03-29 19:57:33 -07:00
Daniel Imms e346f8bba3 Prevent scroll on focus
Fixes #1981
2019-03-29 19:46:24 -07:00
Daniel Imms 1451bcb6ae Merge pull request #1961 from nikonso:1773-take-drawBoldTextInBrightColors-into-account
Fix #1773 - drawBoldTextInBrightColors is not taken into account with DOM renderer
2019-03-29 12:59:20 -07:00
Daniel Imms f1ef9abc77 Merge pull request #1979 from JesseStolwijk:master
#1977 Add blinking cursor to DomRenderer
2019-03-29 12:51:49 -07:00
Jesse Stolwijk f9df863ee0 Add blinking cursor to DomRenderer 2019-03-25 22:17:16 +01:00
Daniel Imms e6ac5634bb Merge branch 'master' into move_windows_check 2019-03-23 11:38:19 -07:00
Daniel Imms 4dbe8ec1db Let consumers decide whether winptyCompat should be active 2019-03-23 10:58:26 -07:00
Daniel Imms 8b6d564598 Merge pull request #1968 from nikonso/new-feature
Use new vscode serverReadyAction
2019-03-23 09:37:15 -07:00
Daniel Imms 131e4f78bd Fix renderer pausing to not full refresh every time
Fixes #1975
2019-03-23 09:08:55 -07:00
Daniel Imms 99beeb2270 Merge pull request #1973 from zhaojh329/master
Modify uses
2019-03-19 10:46:23 -07:00
Jianhui Zhao 0d63cecc6b Modify uses
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2019-03-19 14:04:16 +08:00
ntchjb 3c444ca39a Fixed coding format 2019-03-15 19:20:23 +07:00
ntchjb 03e648a0fb Fixed the case that, if findPrevious is run without any selection, then start scan at the last row 2019-03-15 19:15:41 +07:00
Max 48a98fa29f Merge pull request #1 from xtermjs/master
update branch
2019-03-15 17:26:55 +07:00
Bruno Ribeito 27ebe8c353 Use new vscode serverReadyAction 2019-03-11 20:58:42 +00:00
Bruno Ribeito 62cfa642cb Better aproach, check i a selection is being performed 2019-03-11 20:54:17 +00:00
Bruno Ribeito c16e3e54e8 Merge branch 'master' of https://github.com/xtermjs/xterm.js into 1947-weblinks-with-selection 2019-03-11 20:41:23 +00:00
Daniel Imms bc86a61a0c Merge pull request #1966 from turtle0x1/master
Add LxdMosaic to list of applications that use xterm.js
2019-03-11 10:29:22 -07:00
turtle0x1 19d36f9228 Update readme with link for lxdmosaic 2019-03-11 13:47:25 +00:00
Bruno Ribeito b4bef0986c Remove circular dependency 2019-03-10 22:03:38 +00:00
Daniel Imms 4527e92333 Merge pull request #6 from juancampa/selection-simple-2
Only apply the selection hack for the WebGL renderer
2019-03-08 12:18:45 -08:00
Daniel Imms 5ebb4e82d1 Clarify comment 2019-03-08 12:18:27 -08:00
Daniel Imms 1ce75cd4e9 Encapsulate hacks inside WebglRenderer 2019-03-08 12:16:27 -08:00
Daniel Imms b0299acd9f Merge remote-tracking branch 'origin/webgl2' into pr/juancampa/6-1 2019-03-08 12:09:30 -08:00
Daniel Imms 9abe46fe34 Merge branch 'master' into webgl2 2019-03-08 11:53:48 -08:00
Daniel Imms f63bd3d218 Merge branch 'master' into master 2019-03-08 11:47:41 -08:00
Daniel Imms 5cf2a21ddd Merge branch 'master' into cd 2019-03-08 11:44:55 -08:00
Daniel Imms 7e1b5cc7e9 Merge pull request #1952 from NickShaffner/master
Fix for issue #812: Xterm.js's encoding of mouse coordinate
2019-03-08 09:50:24 -08:00
Daniel Imms 4046d682c9 v3.12.0 2019-03-08 09:21:01 -08:00
jerch 127a2ca27a Merge branch 'master' into master 2019-03-07 23:28:26 +01:00
Bruno Ribeito 525af9c36a Fix #1773 2019-03-07 21:30:32 +00:00
Bruno Ribeito 5878aa099d Cleaner aproach 2019-03-07 21:00:07 +00:00
Daniel Imms 9597ad20d3 Merge pull request #1950 from Tyriar/1943_winpty_compat_reflow
Disable reflow when winptyCompat is on
2019-03-07 12:38:30 -08:00
Daniel Imms 6deb3e13d2 Merge pull request #1938 from Tyriar/1937_uncached_char_top_fix
Align y draw coord with how cache draws it
2019-03-07 12:38:00 -08:00
Daniel Imms ecb7f429bc Merge branch 'master' into 1937_uncached_char_top_fix 2019-03-07 12:34:57 -08:00
Daniel Imms ce09ae4ff8 Merge pull request #1959 from nikonso/1908-leave-callback
Fix #1908 - leaveCallback does not fire when links are on the edge of the terminal
2019-03-07 11:17:49 -08:00
Bruno Ribeito bc41cc7d27 Fix #1908 2019-03-07 00:15:03 +00:00
Bruno Ribeito 51e2cdfafb WIP: First draft 2019-03-06 21:45:53 +00:00
Daniel Imms f41146fb40 Merge pull request #1934 from ahtshamraziq/fix-docker-compose-variable-substitution
Compose file: fix variable substitution
2019-03-05 08:31:59 -08:00
Daniel Imms 8fa7f177a6 Merge pull request #1956 from JesseStolwijk/master
Replace array shift with offset
2019-03-05 08:18:06 -08:00
Jesse Stolwijk 07430a4892 Replace array shift with offset (#1955) 2019-03-05 00:00:54 +01:00
Daniel Imms ce1c45fb18 Merge pull request #1818 from juancampa/perf3
Use a time-based limit in Terminal._innerWrite
2019-03-04 10:50:27 -08:00
Daniel Imms 55f3aeeff5 Merge branch 'master' into perf3 2019-03-04 10:39:00 -08:00
Daniel Imms 1ecc9dc832 Merge branch 'master' into webgl2 2019-03-04 10:38:20 -08:00
Daniel Imms a99364eae9 Merge branch 'master' into fix_1879 2019-03-04 10:37:51 -08:00
Daniel Imms 7b41b002c6 Merge branch 'master' into master 2019-03-04 10:05:18 -08:00
Daniel Imms 32e157bfaa Remove unnecessary else 2019-03-04 10:04:52 -08:00
Daniel Imms 655c595011 Merge pull request #1927 from pfitzseb/sp/mousehandlerfix
*actually* fix mouse handler before term attached
2019-03-04 10:01:42 -08:00
Daniel Imms 064a372c71 Merge branch 'master' into sp/mousehandlerfix 2019-03-04 10:00:38 -08:00
Daniel Imms c63f15a9b2 Fix lint 2019-03-04 10:00:04 -08:00
Daniel Imms 1aa40eb58b Merge branch 'master' into fix-docker-compose-variable-substitution 2019-03-04 09:57:33 -08:00
Daniel Imms d8b973b126 Merge pull request #1929 from coderaiser/patch-1
fix: Renderer: IntersectionObserver can produce more then 1 entry
2019-03-04 09:54:53 -08:00
Daniel Imms 05b162eefd Merge branch 'master' into patch-1 2019-03-04 09:53:12 -08:00
Daniel Imms 46aa6a40f9 Merge branch 'master' into fix-docker-compose-variable-substitution 2019-03-04 09:49:12 -08:00
Daniel Imms 9f2aec1944 Merge branch 'master' into 1937_uncached_char_top_fix 2019-03-04 09:47:33 -08:00
Daniel Imms 42b66d98b2 Merge branch 'master' into 1943_winpty_compat_reflow 2019-03-04 09:46:15 -08:00
Daniel Imms 1eee182860 Merge pull request #1930 from Tyriar/1926_reflow_larger_fix
Make sure the viewport is filled when reflowing a row change
2019-03-04 09:45:43 -08:00
Daniel Imms bd602fb078 Merge branch 'master' into 1926_reflow_larger_fix 2019-03-04 07:23:06 -08:00
Daniel Imms 8ea254bdc7 Merge pull request #1953 from cherouvim/patch-1
docs: style improvements
2019-03-01 11:26:06 -08:00
Ioannis Cherouvim 09754fddf8 xterm.js references to the library should not be backticked 2019-03-01 21:15:20 +02:00
Ioannis Cherouvim a8a0344d1a docs: style improvements
- Added a trailing dot at the end of each list line.
- Consistent usage of `xterm.js` in "Real-world uses".
2019-03-01 14:51:19 +02:00
Ioannis Cherouvim 4e479b455a docs: Consistent style on lists.
Added some missing dots, capitalized a couple of lines.
2019-03-01 14:40:21 +02:00
Nick Shaffner e178139907 Fix for issue #812: Xterm.js's encoding of mouse coordinate
See: https://github.com/xtermjs/xterm.js/issues/812
Changed the utf-8 mouse encoding to match iTerm
2019-02-27 22:37:22 -08:00
Sebastian Pfitzner 0854f84653 actually fix mouse handler before term attached 2019-02-26 11:31:22 +01:00
Daniel Imms a35cd43395 Merge branch 'master' into 1943_winpty_compat_reflow 2019-02-20 10:02:54 -08:00
Daniel Imms 3285374618 Disable reflow when winptyCompat is on
Fixes #1943
2019-02-20 07:03:40 -08:00
Daniel Imms 6ad6a01c3f Merge pull request #1949 from liuzheng/master
Update README.md
2019-02-20 06:21:08 -08:00
夏虫 e1c1c7a4f2 Update README.md
move it to the bottom
2019-02-20 14:57:16 +08:00
Daniel Imms 437a59d4cd Merge branch 'master' into 1937_uncached_char_top_fix 2019-02-19 07:19:33 -08:00
夏虫 9f29eeed23 Update README.md
(Jumpserver)[https://github.com/jumpserver/] use xterm.js
2019-02-19 17:19:19 +08:00
coderaiser b0f01beb0f Merge branch 'master' into patch-1 2019-02-15 16:57:58 +02:00
Daniel Imms 857ae4b702 Merge pull request #1936 from Tyriar/1935_remove_font_family
Remove font-family from .css file
2019-02-11 07:24:11 -08:00
Daniel Imms c934200c86 Also set font size 2019-02-11 06:07:31 -08:00
Daniel Imms 78426d8a12 Make the composition view use the same font as the terminal 2019-02-11 06:05:14 -08:00
Daniel Imms 817401bbcd Align y draw coord with how cache draws it
Fixes #1937
2019-02-11 05:32:47 -08:00
Daniel Imms 84d7bfeacc Remove font-family from .css file
Fixes #1935
2019-02-11 05:14:55 -08:00
Ahtsham Raziq 92be01dd81 Compose file: fix variable substitution 2019-02-09 23:24:32 +05:00
Daniel Imms d17dfbc73f Cover a case when resizing smaller making y go out of bounds 2019-02-08 12:13:00 -08:00
Daniel Imms ba9ed43acd Merge branch 'master' into utf32_buffer 2019-02-05 11:39:08 -08:00
Daniel Imms b88230db8b Make sure the viewport is filled when reflowing a row change
Fixes #1926
2019-02-05 08:20:16 -08:00
coderaiser 69d3a4667f fix: Renderer: IntersectionObserver can produce more then 1 entry 2019-02-04 13:28:14 +02:00
Daniel Imms abf6a9fa58 Merge pull request #1925 from xtermjs/Tyriar-patch-1
Add roadmap wiki link to README
2019-02-03 15:37:50 -08:00
Daniel Imms ea9d1d7ef0 Merge pull request #1928 from xtermjs/Tyriar-patch-2
Update license year
2019-02-03 15:37:40 -08:00
Daniel Imms f3aac10bbd Update license year 2019-02-03 10:46:20 -08:00
Daniel Imms f30012b985 Merge branch 'master' into fix_1879 2019-02-01 20:03:40 -08:00
Daniel Imms db9aa5c88b Merge pull request #1916 from skyway777:master
Clear selection state if selection doesn't exists
2019-02-01 19:39:25 -08:00
Daniel Imms 1829cb7609 Add roadmap wiki link to README 2019-02-01 19:28:07 -08:00
Daniel Imms 6d6be9bed8 Merge pull request #1924 from xtermjs/Tyriar-patch-1
v3.11.0
2019-02-01 18:29:09 -08:00
Daniel Imms 54a1319f57 v3.11.0 2019-02-01 18:23:10 -08:00
Jörg Breitbart 65dbf88460 apply bright shift for uncached draws 2019-02-01 21:44:51 +01:00
Jörg Breitbart 0c54b1a29e Merge branch 'master' into true_color 2019-02-01 20:59:31 +01:00
Jörg Breitbart 179e5d5892 Merge branch 'master' into utf32_buffer 2019-02-01 20:59:02 +01:00
Jörg Breitbart 6993daef15 Merge branch 'master' into fix_1879 2019-02-01 20:38:45 +01:00
Jörg Breitbart 801db3831d type add methods 2019-02-01 20:32:07 +01:00
Jörg Breitbart e813ae02fc return true from inputhandler methods to signal sequence was handled 2019-02-01 20:28:45 +01:00
Daniel Imms 73ec8a89a0 Merge pull request #1912 from mofux/contextmenu_fix
Make textarea positioning work with css transformations
2019-02-01 09:53:16 -08:00
Jörg Breitbart c2446df966 Merge branch 'utf32_buffer' into true_color 2019-02-01 01:30:29 +01:00
Jörg Breitbart 2de39024be Merge branch 'utf32_buffer' into utf8_input 2019-02-01 01:11:58 +01:00
Jörg Breitbart 079729f1b4 change property getter into methods 2019-02-01 01:10:20 +01:00
Jörg Breitbart ec3a95f727 Merge branch 'utf32_buffer' into utf8_input 2019-01-31 23:32:48 +01:00
Jörg Breitbart c4a5e0862c Merge branch 'utf32_buffer' into true_color 2019-01-31 23:16:23 +01:00
Jörg Breitbart 594797e05b Merge branch 'master' into utf32_buffer 2019-01-31 23:15:50 +01:00
Daniel Imms f5d901944d Merge branch 'master' into webgl2 2019-01-31 14:10:35 -08:00
jerch 682efc7206 Merge pull request #1887 from jerch/fix_linkifier_offset
account empty cells in stringIndexToBufferIndex
2019-01-31 23:07:24 +01:00
jerch 9791d8ab49 Merge branch 'master' into fix_linkifier_offset 2019-01-31 23:02:53 +01:00
Daniel Imms 8e88ce8da5 Merge pull request #1919 from xtermjs/Tyriar-patch-1
Improve docs on Terminal.resize
2019-01-31 14:02:12 -08:00
Daniel Imms 828f14f2ab Improve docs on Terminal.resize 2019-01-31 14:00:39 -08:00
Jörg Breitbart 7b7f85e3cf add test for correct tab handling, docs 2019-01-31 22:56:55 +01:00
Jörg Breitbart 7da40b9d56 Merge branch 'utf32_buffer' into true_color 2019-01-31 22:13:33 +01:00
Jörg Breitbart a1b61e05f9 Merge branch 'master' into utf32_buffer 2019-01-31 21:51:58 +01:00
jerch 21cb9872f3 Merge branch 'master' into fix_linkifier_offset 2019-01-31 20:33:26 +01:00
Daniel Imms 93d3842156 Merge pull request #1917 from Tyriar/vscode67364
Fix various problems with reflow
2019-01-31 09:07:51 -08:00
Daniel Imms db31a44da3 Fix tests 2019-01-30 22:14:47 -08:00
Daniel Imms 33e46682b1 Fix various problems with reflow
- No longer reflow lines where the full unwrapped line contains the cursor
- Add guards to prevent y and ybase becoming invalid values

Part of Microsoft/vscode#67364
Fixes #1910
2019-01-30 21:47:39 -08:00
Nikita Chuklinov fc1692b3eb clear state if selection doesn't exists 2019-01-30 20:34:16 +03:00
Daniel Imms d48982b60e Merge branch 'master' into cd 2019-01-28 07:25:55 -08:00
Daniel Imms 9c72254d3a Bump to 3.11.0 2019-01-28 07:23:58 -08:00
Daniel Imms af6544d6d9 Improve package.json modifications 2019-01-28 07:23:46 -08:00
Jörg Breitbart 39fd6c427d name polishing, docs 2019-01-28 10:42:44 +01:00
Jörg Breitbart ef3c0c0e72 Merge branch 'fix_linkifier_offset' of git+ssh://github.com/jerch/xterm.js into fix_linkifier_offset 2019-01-27 22:23:08 +01:00
Jörg Breitbart 13f0fd0503 Merge branch 'master' into fix_linkifier_offset 2019-01-27 22:22:52 +01:00
Jörg Breitbart c60f9b1468 code formatting 2019-01-27 20:06:58 +01:00
Jörg Breitbart e77e36cbb7 fix typo in HAS_CONTENT 2019-01-27 19:59:13 +01:00
Jörg Breitbart b20730ee4d add more docs 2019-01-27 19:40:28 +01:00
Jörg Breitbart acea73c8ac Merge branch 'master' into utf32_buffer 2019-01-27 19:02:09 +01:00
jerch cc531f1933 Merge pull request #1796 from jerch/typedarray_parser
support typed array in parser
2019-01-27 18:22:08 +01:00
Daniel Imms c1b0c9bbf1 Merge branch 'master' into fix_linkifier_offset 2019-01-27 08:45:57 -08:00
Jörg Breitbart 358d70d721 cleanup gitignore 2019-01-27 17:34:58 +01:00
Jörg Breitbart 975dfc4a5e Merge branch 'typedarray_parser' of git+ssh://github.com/jerch/xterm.js into typedarray_parser 2019-01-27 17:29:41 +01:00
Jörg Breitbart fdf784ea96 Merge branch 'master' into typedarray_parser 2019-01-27 17:29:12 +01:00
Jörg Breitbart e67bef69f4 cleanup types 2019-01-27 17:28:15 +01:00
Daniel Imms 8b6327b563 Merge branch 'master' into master 2019-01-27 08:18:40 -08:00
Daniel Imms 8e37883b90 Merge branch 'master' into typedarray_parser 2019-01-27 08:11:37 -08:00
Daniel Imms ace855d0fe Merge branch 'master' into contextmenu_fix 2019-01-27 07:49:03 -08:00
Daniel Imms 007cac22d2 Merge branch 'master' into cd 2019-01-27 07:29:34 -08:00
Daniel Imms b047045949 Replace hardcoded version 2019-01-27 07:28:04 -08:00
Daniel Imms c7cfca395c Merge pull request #1871 from Tyriar/1867_readonly_api_props
Make Terminal API properties readonly
2019-01-27 07:25:15 -08:00
Daniel Imms a7f2348c63 Merge branch 'master' into 1867_readonly_api_props 2019-01-27 07:17:07 -08:00
Daniel Imms 51a148508e Merge pull request #1900 from Tyriar/cleanup
Remove unused var and unneeded defensive check
2019-01-27 07:16:53 -08:00
Jörg Breitbart 90a41a113a review changes 2019-01-27 13:22:34 +01:00
Thomas Zilz 2a1f25e7dc Make textarea positioning work with css transformations on parent elements 2019-01-27 13:15:37 +01:00
Daniel Imms 7e3b315d91 Merge branch 'master' into perf3 2019-01-26 13:20:32 -08:00
Daniel Imms 3a32a5714c Merge branch 'master' into cleanup 2019-01-26 13:17:32 -08:00
Daniel Imms 273cc45357 Merge branch 'master' into cd 2019-01-26 13:12:40 -08:00
Daniel Imms 4dab31dbe0 Merge branch 'master' into 1867_readonly_api_props 2019-01-26 12:58:13 -08:00
Daniel Imms 15ef5bee8f Merge branch 'master' into webgl2 2019-01-25 21:48:20 -08:00
Daniel Imms 1927bc899a Fix lint 2019-01-25 20:51:19 -08:00
Jörg Breitbart 87e9789748 more explicit docs for DCS parsers 2019-01-25 18:16:01 +01:00
Jörg Breitbart 4855b60ffe move utf32ToString to TextDecoder.ts 2019-01-25 17:35:12 +01:00
Jörg Breitbart 21165a4286 Merge branch 'master' into typedarray_parser 2019-01-25 16:53:06 +01:00
Daniel Imms c908da351b Merge pull request #1864 from Tyriar/622_reflow3
Reflow text on resize
2019-01-24 20:04:33 -08:00
Daniel Imms 52a429f584 Merge branch 'master' into 622_reflow3 2019-01-24 19:01:21 -08:00
Jörg Breitbart e6447bc91f Merge branch 'master' into true_color 2019-01-25 02:43:52 +01:00
Jörg Breitbart b587c2f30f Merge branch 'master' into utf8_input 2019-01-25 02:43:07 +01:00
Jörg Breitbart 4f531f8490 Merge branch 'master' into utf32_buffer 2019-01-25 02:42:40 +01:00
Jörg Breitbart 19931e75c0 Merge branch 'master' into typedarray_parser 2019-01-25 02:41:56 +01:00
Daniel Imms 2edf02e468 Merge pull request #1905 from pfitzseb/sp/mousehandler
fix mouse event listener change before term attached
2019-01-24 11:49:09 -08:00
Daniel Imms e1363e9fe7 Replace if/add/remove with a toggle 2019-01-24 11:32:09 -08:00
Daniel Imms 109e3a50e8 jsdoc 2019-01-24 10:20:18 -08:00
Daniel Imms 99ac78031c Remove out param from reflow large method 2019-01-24 09:11:16 -08:00
Daniel Imms d4bd8ae2be Pull more parts out of reflow larger 2019-01-23 23:58:38 -08:00
Daniel Imms dfff04cf3d Pull toRemove step into BufferReflow 2019-01-23 23:51:28 -08:00
Daniel Imms deb04ca162 Merge branch 'master' into 622_reflow3 2019-01-23 22:48:53 -08:00
Daniel Imms 178c513407 Clean up 2019-01-23 22:48:32 -08:00
Daniel Imms df7cd9c319 Get reflow smaller working for wide chars 2019-01-23 22:40:40 -08:00
Daniel Imms ce69dceee7 Progress on reflow smaller with wide chars 2019-01-23 21:46:35 -08:00
Juan Campa 3077ae5311 Only apply the selection hack for the WebGL renderer 2019-01-21 18:56:54 -05:00
Daniel Imms 4843ca5bb8 Fix reflow larger with wide chars 2019-01-21 09:08:33 -08:00
Sebastian Pfitzner 8bdb606fd1 fix mouse event listener change before term attached 2019-01-21 11:09:00 +01:00
Jörg Breitbart e6e5ecc0f2 change demo to utf8 input 2019-01-20 23:06:51 +01:00
Jörg Breitbart 3a2076805c Merge branch 'master' into utf8_input 2019-01-20 22:44:15 +01:00
Jörg Breitbart d7ea0edfcf add utf8 input to terminal 2019-01-20 22:19:50 +01:00
Daniel Imms 50abb43e9c Remove request term info handler
We're not supporting it anyway, no point having it.
2019-01-20 12:56:49 -08:00
Jörg Breitbart 6bdd380890 add utf8 decoder 2019-01-20 21:54:58 +01:00
Daniel Imms 62ac714d38 Merge pull request #3 from juancampa/selection-simple-webgl2
Use bg luminance to determine background color
2019-01-19 09:35:25 -08:00
Juan Campa e387b20b56 Adding missing parameter to GlyphRenderer 2019-01-18 15:25:58 -05:00
Daniel Imms 07d3407892 Remove unused var and unneeded defensive check
...items as an arg will always be an array
2019-01-17 09:48:18 -08:00
Daniel Imms 68197ed47b Merge branch 'master' into 622_reflow3 2019-01-16 19:41:46 -08:00
Jörg Breitbart b13b737a07 Merge branch 'master' into true_color 2019-01-17 02:09:44 +01:00
Jörg Breitbart 200f7bf33d Merge branch 'master' into utf32_buffer 2019-01-17 02:09:19 +01:00
Jörg Breitbart 9549896ea5 Merge branch 'master' into typedarray_parser 2019-01-17 02:08:58 +01:00
Jörg Breitbart 2370038523 always draw RGB uncached 2019-01-17 01:41:48 +01:00
Jörg Breitbart df739ab814 remove old color and flag shims 2019-01-17 01:31:59 +01:00
Jörg Breitbart 8d850d6c8b apply CellData to canvas renderer 2019-01-17 01:25:16 +01:00
Jörg Breitbart ae50d84c5a fix characterjoiner to support AttrData 2019-01-17 00:07:25 +01:00
Daniel Imms daaed5ac8f Merge pull request #1897 from juancampa/char-measure-fix
Prevent charsizechanged from firing unnecessarily
2019-01-16 13:07:54 -08:00
Daniel Imms c43568283c Merge remote-tracking branch 'origin/master' into webgl2 2019-01-16 11:17:07 -08:00
Daniel Imms 4181321377 Add super.dispose to WebglRenderer.dispose 2019-01-16 11:15:45 -08:00
Daniel Imms a92c0c1414 Merge pull request #4 from juancampa/no-aa-depth
Disable antialiasing and depth buffer for WebGL2 contexts
2019-01-15 15:56:45 -08:00
Juan Campa 1d7a39bcfd Disable antialiasing and depth buffer for WebGL2 contexts 2019-01-15 16:36:38 -05:00
Juan Campa e02a9ff09e Prevent charsizechanged from firing unnecessarily 2019-01-15 11:00:34 -05:00
Jörg Breitbart 1536e79542 remove printf remnant 2019-01-15 03:24:47 +01:00
Jörg Breitbart 94c19fb92a preliminarly RGB support in canvas renderer 2019-01-15 03:13:44 +01:00
Jörg Breitbart 9cf479bcfa cleanup rgb channel conversion 2019-01-14 08:51:18 +01:00
Jörg Breitbart 0802582c9b test cases for DOM renderer style changes 2019-01-14 01:00:07 +01:00
Jörg Breitbart 3515c0b220 DOM renderer with RGB support 2019-01-14 00:46:44 +01:00
Jörg Breitbart 70ded42bee follow naming scheme 2019-01-13 23:50:58 +01:00
Jörg Breitbart c444eebd89 RGB support in buffer and attributes 2019-01-13 23:19:56 +01:00
Jörg Breitbart 7c6dad5805 test cases 2019-01-12 19:06:09 +01:00
Jörg Breitbart 40b231edd1 tests for CellData 2019-01-12 18:44:10 +01:00
Jörg Breitbart 35a6aa8326 some docs 2019-01-12 18:04:52 +01:00
Jörg Breitbart 711ae65947 remove get CharData from codebase and deprecate method 2019-01-12 17:50:19 +01:00
Jörg Breitbart ece7192db7 remove set with CharData from codebase and deprecate method 2019-01-12 16:15:24 +01:00
Jörg Breitbart 3e456971b1 change buffer line ctor to new interface 2019-01-12 15:47:50 +01:00
Jörg Breitbart 60a591e8c8 use getNullChar in InputHandler.print 2019-01-12 15:37:20 +01:00
Jörg Breitbart 56dec2849f change resize, fill to new interface, remove _cell on buffer line 2019-01-12 15:21:55 +01:00
Jörg Breitbart fe6919b52a change replaceCells to new interface 2019-01-12 15:05:52 +01:00
Jörg Breitbart 4bf7f3eb89 change deleteCells to new interface 2019-01-12 14:58:30 +01:00
Jörg Breitbart 523ff6e5fc add null and whitespace placeholder cells to buffer 2019-01-12 14:54:54 +01:00
Jörg Breitbart 88a037b309 change insertCells to new interface 2019-01-12 14:34:29 +01:00
Jörg Breitbart ad67f47acb Merge branch 'typedarray_parser' into utf32_buffer 2019-01-12 14:08:53 +01:00
Jörg Breitbart 329d40ab14 cleanup DCS handler 2019-01-12 13:53:43 +01:00
Jörg Breitbart a1f8749411 Merge branch 'typedarray_parser' of git+ssh://github.com/jerch/xterm.js into typedarray_parser 2019-01-12 13:43:55 +01:00
Jörg Breitbart e7e0f67ea8 Merge branch 'master' into typedarray_parser 2019-01-12 13:43:40 +01:00
Jörg Breitbart 907a6b9732 Merge branch 'master' into utf32_buffer 2019-01-12 13:43:11 +01:00
Daniel Imms 7fe3f0a4e3 Improve BufferLine test
Ensure combined is cleared when shrinking and enlarging
2019-01-11 12:58:41 -08:00
ntchjb 9236934586 _findInLine() function should not run multiple times on the same row 2019-01-09 07:01:34 +07:00
Juan Campa 98706aa7d2 Use bg luminance to determine background color 2019-01-08 16:44:57 -05:00
Daniel Imms 932d5c7c21 Merge branch 'master' into master 2019-01-08 10:19:38 -08:00
Daniel Imms 509ce5fa3a Merge pull request #1881 from Tyriar/1880_key_repeat
Don't print keys that print more than a single char
2019-01-07 14:43:20 -08:00
Jörg Breitbart fed430b78c Merge branch 'master' into fix_linkifier_offset 2019-01-07 11:39:52 +01:00
Jörg Breitbart 883ad01bd5 make linter happy 2019-01-07 11:39:16 +01:00
Jörg Breitbart 249f8800af account empty cells in stringIndexToBufferIndex 2019-01-07 11:30:26 +01:00
Daniel Imms 0b8c320579 Merge pull request #1886 from epicfaace/typos
Fix typos
2019-01-06 19:01:35 -08:00
Ashwin Ramaswami f04f2efc52 doc: fix more typos 2019-01-06 15:09:57 -08:00
Ashwin Ramaswami f090fa822d doc: fix typos 2019-01-06 15:07:36 -08:00
jerch 9bcf06f658 Merge branch 'master' into typedarray_parser 2019-01-05 05:04:42 +01:00
jerch 6581eb7d88 fix leftover BufferLineConstructor 2019-01-05 01:47:44 +01:00
jerch 90950e2b00 Merge branch 'master' into 622_reflow3 2019-01-05 01:24:28 +01:00
Jörg Breitbart 62dfa84d5d remove get CharData calls from codebase (beside tests) 2019-01-05 01:01:10 +01:00
Jörg Breitbart b93b774971 direct cell attrs getter 2019-01-04 19:14:56 +01:00
Jörg Breitbart 6552a023c1 remove get from linkifier 2019-01-04 18:46:45 +01:00
Jörg Breitbart 13ffed392d remove get calls from renderer 2019-01-04 18:36:07 +01:00
Jörg Breitbart d7e5977d9a remove leftover 2019-01-04 16:19:01 +01:00
Daniel Imms 7a416aa18f Don't print keys that print more than a single char
Fixes #1880
2019-01-03 22:49:03 -08:00
Daniel Imms 7ba17ca770 Convert web links and attach to modules 2019-01-03 22:19:30 -08:00
Daniel Imms 290394b401 New addon prototype
Part of #1128
2019-01-03 20:22:53 -08:00
Jörg Breitbart 802543f7cf replace set(CharData) with setCell 2019-01-04 02:58:15 +01:00
Jörg Breitbart f3619ab61c fix linter error 2019-01-04 01:33:49 +01:00
Jörg Breitbart 2f66efa49a first try to optimize read access 2019-01-04 01:32:56 +01:00
Jörg Breitbart 75fbda1fe6 further opt for InputHandler.print 2019-01-04 01:32:20 +01:00
Jörg Breitbart b0eecea45a partially apply fast data access in InputHandler.print 2019-01-03 21:40:34 +01:00
Jörg Breitbart f63223f8d8 Merge branch 'master' into utf32_buffer 2019-01-03 21:10:40 +01:00
Jörg Breitbart a2a8c3d47f extend buffer line with more direct access methods 2019-01-03 21:08:18 +01:00
jerch f98572cf71 Merge pull request #1877 from jerch/remove_jsarray_buffer
remove js array based buffer line
2019-01-03 20:55:09 +01:00
Jörg Breitbart ba1582cf3c apply utf32 buffer layout 2019-01-03 19:01:43 +01:00
Jörg Breitbart c668bb1243 remove js array based buffer line 2019-01-03 16:08:40 +01:00
Max b4b6bab000 Merge branch 'master' into master 2019-01-03 16:12:19 +07:00
ntchjb c784a012c7 Fix: update findingRow and cumulativeCols before running _findInLine
to be able to scan unwrapped line at the last row
2019-01-03 15:55:27 +07:00
ntchjb efe22d8cf3 Revert "Support wide characters and combined characters"
This reverts commit f961f90bc8.
2019-01-03 15:32:25 +07:00
Jörg Breitbart 27b91f6b00 speedup utf32ToString conversion 2019-01-03 02:55:11 +01:00
Jörg Breitbart 1fb1f556b1 Merge branch 'master' into typedarray_parser 2019-01-03 00:54:12 +01:00
Jörg Breitbart 8fc66a39e3 switch parse buffer to UTF32 2019-01-03 00:48:00 +01:00
Daniel Imms 66735ba671 Merge branch 'master' into webgl2 2019-01-02 15:09:52 -08:00
Daniel Imms b0e51b9ec9 Fix build error 2019-01-02 15:09:38 -08:00
Daniel Imms 740ca9ce6d v3.10.0 2019-01-02 14:23:09 -08:00
Jörg Breitbart 2918a6763f fix wrongly changed test case 2019-01-02 22:55:50 +01:00
Jörg Breitbart dfc853aef4 add TextDecoder for string to UTF32 2019-01-02 22:50:15 +01:00
Daniel Imms 4db95f253e Build to dist dir in release build 2019-01-02 13:40:06 -08:00
Daniel Imms 805c02fb18 Merge branch 'master' into cd 2019-01-02 12:56:07 -08:00
Daniel Imms d120ef5301 Re-enable condition and dependsOn 2019-01-02 12:55:44 -08:00
Daniel Imms 68fbb2f8c9 Tweak more 2019-01-02 11:53:51 -08:00
Daniel Imms 515cf7878e Tweak var 2019-01-02 11:49:20 -08:00
Daniel Imms a35ad6aa81 Inherit exit code from publish call 2019-01-02 11:39:44 -08:00
Daniel Imms aa2d28e619 Disable dependsOn 2019-01-02 11:37:34 -08:00
Daniel Imms a6c3f94860 Publish to npm as beta 2019-01-02 11:24:06 -08:00
Daniel Imms ff81ce078b Add a release pipelines job 2019-01-02 09:38:40 -08:00
Jörg Breitbart 5fd764a89d dont pullin everything from .vscode folder 2019-01-02 18:10:51 +01:00
Jörg Breitbart 83c734eae3 Merge branch 'typedarray_parser' of git+ssh://github.com/jerch/xterm.js into typedarray_parser 2019-01-02 18:00:31 +01:00
Jörg Breitbart 570cd786cb Merge branch 'master' into typedarray_parser 2019-01-02 18:00:05 +01:00
Daniel Imms 29ff74e069 Merge pull request #1859 from Tyriar/baseline
Fix text being top aligned in latest Chrome and Firefox
2019-01-01 18:58:32 -08:00
Daniel Imms c66a24fab4 Merge branch 'master' into baseline 2019-01-01 15:33:57 -08:00
jerch 7a579a374a Merge pull request #1853 from PerBothner/control-seq-handler
hooks for custom CSI/OSC control sequences
2019-01-01 21:25:52 +01:00
jerch f534758e29 Merge branch 'master' into control-seq-handler 2019-01-01 21:19:34 +01:00
Daniel Imms dbd9b2af37 Merge branch 'master' into baseline 2019-01-01 11:50:09 -08:00
Daniel Imms 68b2b79880 Merge pull request #1861 from Tyriar/1860_style_npe
Add sanity checks to dom renderer underline code
2019-01-01 11:47:17 -08:00
Per Bothner 8fbeadd5f9 Add missing deleteCount argument to Array.splice calls. 2019-01-01 09:45:23 -08:00
ntchjb f961f90bc8 Support wide characters and combined characters
- Convert buffer index to string index before searching
- Convert string index to buffer index after searching
- Fix bug when search selection skipped some result
2019-01-01 16:39:23 +07:00
Daniel Imms 338558d86c Make Terminal API properties readonly
Fixes #1867
2018-12-31 20:09:48 -08:00
Daniel Imms 408388130d Merge branch 'master' into webgl2 2018-12-31 19:46:36 -08:00
Daniel Imms 8b3513f009 Merge branch 'master' into 1860_style_npe 2018-12-31 19:15:15 -08:00
Daniel Imms 9b0b323957 Merge branch 'master' into baseline 2018-12-31 19:14:53 -08:00
Daniel Imms 48c1d36d77 Merge branch 'master' into control-seq-handler 2018-12-31 19:07:58 -08:00
Daniel Imms 2ce67b89bc Remove unneeded MockTerminal member 2018-12-31 14:43:50 -08:00
Daniel Imms 6559931f34 Add lots of tests 2018-12-31 14:28:52 -08:00
Daniel Imms 840970eac7 Update markers after a reflow 2018-12-31 13:15:23 -08:00
Daniel Imms 40e8618cf5 Discard cut off combined data when resizing BufferLines 2018-12-31 10:26:10 -08:00
Daniel Imms db488ebcc9 Reflow combined chars 2018-12-31 10:18:38 -08:00
Daniel Imms 1612cec3e0 Fix reflow larger bug, add regression test 2018-12-31 09:54:24 -08:00
Daniel Imms 135e31f2ca Speed up reflow larger by batching removals 2018-12-31 08:58:04 -08:00
Daniel Imms b7081abfce Move loop into reflowLarger (adjust indent) 2018-12-31 07:54:16 -08:00
Daniel Imms c9f4a650c6 Clean up comments and todos 2018-12-31 07:26:08 -08:00
Daniel Imms 478742a22e Make reflow small crazy fast
This messy but this drops 100000 scrollback reflow from 87 cols to 40 cols
go from ~18 seconds to < 1 second, 10000 takes around 70ms
2018-12-30 12:14:48 -08:00
Per Bothner bbfe149397 Merge pull request #1 from Tyriar/hooks_changes
Move to array-based instead of linked list, simplify, add tests
2018-12-29 07:01:39 -08:00
ntchjb d94c897754 Fix search addons: be able to search wrapped lines from unwrapped line
by managing column range that is needed to be scanned.
2018-12-29 13:55:14 +07:00
Daniel Imms dde96187fa Keep track of cols/rows inside Buffer 2018-12-28 19:27:38 -08:00
Daniel Imms 4a9f10d062 Remove some of Buffer's dependency on Terminal 2018-12-28 19:22:05 -08:00
Daniel Imms 7435971c32 Merge remote-tracking branch 'origin/master' into 622_reflow3 2018-12-28 19:13:12 -08:00
Max 1b68682b79 Merge branch 'master' into master 2018-12-29 10:12:17 +07:00
ntchjb 565cba9c1a Fix search addons:
- Changed to use `this._terminal.cols` for buffer line length instead.
- Let `_findInLine` check on wrapped line
- Added conditions in `_findInLine`
  - For reverse search, if there is no  selection at given row, then start scan at the end of the string
2018-12-29 09:38:17 +07:00
Daniel Imms 4375b3cdb9 Merge pull request #1865 from ntchjb/master
Fix search addons: searchTerm should not be matched if the beginning of matching index < 0
2018-12-28 15:02:51 -08:00
Daniel Imms 72369e060e Only enable reflow on the normal buffer 2018-12-28 14:55:58 -08:00
Daniel Imms 2a0da173f2 Add a bunch of reflow tests 2018-12-28 14:55:15 -08:00
Daniel Imms a33e8a6af7 Properly shrink rows to cols every time 2018-12-28 12:57:10 -08:00
ntchjb 913150fe13 Fix search addons:
searchTerm should not be matched if the beginning of matching index < 0
2018-12-29 03:03:23 +07:00
Daniel Imms 358898daf9 Fix some tests 2018-12-28 11:02:08 -08:00
Daniel Imms 7684f93773 Fix ydisp/ybase after trimming buffer 2018-12-28 01:32:19 -08:00
Daniel Imms ae29dbb133 Fix scrollbar when wrapping beyond single viewport of data 2018-12-28 01:26:49 -08:00
Daniel Imms 3311ed509a Do shrink in reverse, fix up row remove count again 2018-12-28 00:40:30 -08:00
Daniel Imms 8bc04c2fa7 Tidy up 2018-12-27 23:58:57 -08:00
Daniel Imms fa47036982 Fix row removal in reflowLarger 2018-12-27 23:49:59 -08:00
Daniel Imms 314f98f2a6 Mostly working for reflowing to smaller 2018-12-27 23:35:52 -08:00
Daniel Imms 8a50729a98 Reflow wider 2018-12-27 21:58:54 -08:00
Daniel Imms 1227497951 Merge branch 'master' into webgl2 2018-12-27 17:10:43 -08:00
Daniel Imms 01b37b2fef Document how GlyphRenderer.render works 2018-12-27 17:10:18 -08:00
Daniel Imms 9cf3d14d8a Clean up loop that sets cell coordinates 2018-12-27 17:01:13 -08:00
Daniel Imms 5f9144dfd7 Fix null/whitespace early exit 2018-12-27 16:56:20 -08:00
Daniel Imms c133c644a6 Merge pull request #1834 from Tyriar/debugging
Add VS Code debug targets for demo server, client and unit tests
2018-12-27 14:18:51 -08:00
Daniel Imms 0ed0bfa5ab Merge branch 'master' into webgl2 2018-12-27 14:17:34 -08:00
Daniel Imms 951f281bb0 Merge branch 'master' into debugging 2018-12-27 14:09:48 -08:00
Daniel Imms d5cacbaf4a Merge pull request #1863 from vincentwoo/patch-2
Small indent fix
2018-12-27 14:02:53 -08:00
Vincent Woo bb198a980c Small indent fix 2018-12-27 13:54:11 -08:00
Daniel Imms 60bc1bb873 Merge branch 'master' into perf3 2018-12-27 13:53:01 -08:00
Daniel Imms d5bffb5395 Merge branch 'master' into typedarray_parser 2018-12-27 13:20:48 -08:00
Daniel Imms 2611a9b1d1 Merge pull request #1846 from linrock/no-end-quotes-in-weblinks
Weblinks should not allow quotes at end of urls enclosed in quotes
2018-12-27 11:32:40 -08:00
Daniel Imms 689ac3e073 Merge branch 'master' into no-end-quotes-in-weblinks 2018-12-27 11:29:33 -08:00
Daniel Imms 51e1f49bf3 Make dispose more resilient 2018-12-27 10:26:40 -08:00
Daniel Imms 838d727a89 Merge pull request #1849 from epicfaace/feature/hold-key
Allow holding key on mac to send multiple keys to terminal
2018-12-27 10:08:12 -08:00
Daniel Imms 9bcfb4d722 Tidy up wrapping style 2018-12-27 10:04:48 -08:00
Ashwin Ramaswami 0d9487c10f Merge branch 'master' into feature/hold-key 2018-12-26 20:36:53 -05:00
Daniel Imms b48f9108c8 Merge pull request #1763 from noamyogev84/issue_1654
Finding multiple instances on the same line
2018-12-26 16:13:24 -08:00
Daniel Imms d698faa183 Comment how the regex reverse search while works 2018-12-26 16:12:53 -08:00
Daniel Imms 1a1f7e984f Remove ISearchIndex object 2018-12-26 16:03:31 -08:00
Daniel Imms e0d535e0da Fix previous search, remove incremental previous search 2018-12-26 15:49:08 -08:00
Daniel Imms 76302e2146 Get multiple matches working after incremental changes 2018-12-26 15:32:34 -08:00
Daniel Imms 204e42a151 Fix incremental search 2018-12-26 15:15:12 -08:00
Daniel Imms bb9732599b Merge remote-tracking branch 'origin/master' into pr/noamyogev84/1763 2018-12-26 15:08:16 -08:00
Daniel Imms adbb929f78 Wrap .d.ts comments to 80 chars 2018-12-26 14:49:49 -08:00
Daniel Imms c045c803d6 Add tests for dispose 2018-12-26 14:48:35 -08:00
Daniel Imms 38796a0f74 Add tests, fix NPE 2018-12-26 14:40:23 -08:00
Daniel Imms d01efdda27 Use array instead of linkedlist, add typings 2018-12-26 14:08:53 -08:00
Daniel Imms 26db71d296 Merge branch 'master' into webgl2 2018-12-26 11:09:24 -08:00
Daniel Imms 9e3e724f63 Add sanity checks to dom renderer underline code
Fixes #1860
2018-12-26 10:53:40 -08:00
Daniel Imms a80baa71e8 Merge branch 'master' into control-seq-handler 2018-12-23 22:24:26 -08:00
Daniel Imms 272cb08472 Merge pull request #1847 from linrock/update-natives
Fix npm scripts crashing when using node 10+
2018-12-23 22:19:12 -08:00
Per Bothner 48ff841d6a Be more paranoid about cleaning up escape sequence handlers. 2018-12-23 12:27:26 -08:00
Daniel Imms 0e8a102e17 Merge pull request #1856 from Tyriar/readme
Remove gitter and improve README
2018-12-23 10:57:49 -08:00
Daniel Imms c6e6c51929 Use textBaseline middle to draw instead of top
Chrome and Firefox behavior differs, see:
- https://bugzilla.mozilla.org/show_bug.cgi?id=737852
- https://bugs.chromium.org/p/chromium/issues/detail?id=607053

Fixes #1858
2018-12-23 10:51:41 -08:00
Daniel Imms 81ada39989 Remove Gitter link from issue template
Fixes #1838
2018-12-21 23:07:25 -08:00
Daniel Imms 78e7e39bb4 Improve the readme 2018-12-21 23:04:38 -08:00
Ashwin Ramaswami 548d8cd764 Merge branch 'feature/hold-key' of https://github.com/epicfaace/xterm.js into feature/hold-key 2018-12-21 07:38:19 -05:00
Ashwin Ramaswami a4b4d082fb Don't include num lock and scroll lock 2018-12-21 07:38:14 -05:00
Per Bothner 29cc0bf933 Merge remote-tracking branch 'upstream/master' into control-seq-handler 2018-12-20 18:12:53 -08:00
Daniel Imms 1b1b641670 Merge branch 'master' into webgl2 2018-12-20 16:40:03 -08:00
Daniel Imms 2896f56ebb Merge branch 'master' into feature/hold-key 2018-12-20 12:13:43 -08:00
Daniel Imms fcef4d5d28 Merge pull request #1851 from robins1212/bindfullscreen
bind classList function before calling in toggleFullScreen
2018-12-20 12:11:53 -08:00
robins1212 701f50f47b Merge branch 'master' into bindfullscreen 2018-12-20 12:03:43 -08:00
Daniel Imms 61d0e99ffd Merge pull request #1850 from Tyriar/vscode65485
Fix winptyCompat wrapped line heuristic
2018-12-20 11:58:55 -08:00
Robin Sturm 3eac446a85 bind function before calling 2018-12-20 11:54:26 -08:00
Daniel Imms 71d8a4d1ed Merge branch 'master' into vscode65485 2018-12-20 11:48:51 -08:00
Daniel Imms ff73f705ae Fix winptyCompat wrapped line heuristic
Part of Microsoft/vscode#65485
2018-12-20 11:47:51 -08:00
Ashwin Ramaswami 64dd9d46fb Change keyCode cutoff 2018-12-20 14:21:35 -05:00
Ashwin Ramaswami 0782fbb828 Fix check 2018-12-20 09:57:24 -05:00
Ashwin Ramaswami b820f23da6 Add additional test 2018-12-20 09:50:57 -05:00
Ashwin Ramaswami ec1060187d Add tests 2018-12-20 09:50:18 -05:00
Ashwin Ramaswami 1104bcbccb Allow holding key on mac to send multiple keys to terminal 2018-12-20 09:41:44 -05:00
Daniel Imms 90ec90746e Merge pull request #1848 from linrock/fix-addons-typo
Fix missing quotes in import statement in readme
2018-12-19 11:09:25 -08:00
Daniel Imms b39e8cfbb9 Merge pull request #1843 from Tyriar/endcol_null
Fix translateToString endCol default arg
2018-12-19 11:04:55 -08:00
Linmiao Xu 5ebd543b8b Fix missing quotes in import statement in readme 2018-12-19 14:32:15 +09:00
Linmiao Xu 86f194a6d3 Fix npm scripts when using node 10+ 2018-12-19 13:50:41 +09:00
Linmiao Xu 9cd7bf2af1 Weblinks should not allow quotes at end of urls enclosed in quotes 2018-12-19 13:28:16 +09:00
Daniel Imms c961175c03 Merge branch 'master' into debugging 2018-12-18 16:28:26 -08:00
Daniel Imms 04ac36fc16 Fix translateToString endCol default arg 2018-12-18 16:22:41 -08:00
Daniel Imms d27b43d515 Merge pull request #1841 from jerch/fix/1840
fix invalid string and buffer index in Linkifier
2018-12-18 10:57:00 -08:00
Jörg Breitbart 0da6300102 make linter happy 2018-12-18 10:50:30 +01:00
Jörg Breitbart e5ff04e798 Merge branch 'master' into fix/1840 2018-12-18 00:04:48 +01:00
Jörg Breitbart 5460068d52 fix invalid string and buffer index 2018-12-17 23:59:48 +01:00
Daniel Imms a53c6f1728 Merge pull request #1826 from nojvek/master
Fix #1660: Search as you type
2018-12-17 11:56:22 -08:00
Daniel Imms 6a5b5c23f8 Merge branch 'master' into master 2018-12-17 11:46:33 -08:00
Jörg Breitbart ef171bf29f Merge branch 'master' into typedarray_parser 2018-12-15 23:42:08 +01:00
Per Bothner 6b65ebd4aa Various typing and API fixes, doc comments, typing test etc. 2018-12-15 11:34:15 -08:00
Per Bothner 8a5a03238f New method _linkHandler used by both addCsiHandler and addOscHandler. 2018-12-15 09:42:19 -08:00
jerch 4feed2dabc Merge pull request #1775 from jerch/trim_behavior
explicit null char representation and fix for right side trimming
2018-12-15 00:11:41 +01:00
Jörg Breitbart 415e760a8a Merge branch 'trim_behavior' of git+ssh://github.com/jerch/xterm.js into trim_behavior 2018-12-15 00:04:15 +01:00
Jörg Breitbart 3927364f0e remove nonsense comments 2018-12-15 00:03:54 +01:00
Jörg Breitbart 62be3047d8 infer types fix 2018-12-15 00:01:18 +01:00
Jörg Breitbart d18c947854 Merge branch 'master' into trim_behavior 2018-12-14 23:59:40 +01:00
Per Bothner 5af4626ec7 Change addCsiHandler/addOscHandler to not use Object.assign. 2018-12-13 17:33:33 -08:00
Daniel Imms 4446fa34de Merge branch 'master' into master 2018-12-13 10:55:51 -08:00
Daniel Imms 4a7a19c368 Merge branch 'master' into trim_behavior 2018-12-13 10:19:58 -08:00
Daniel Imms 6351a5b748 Merge branch 'master' into master 2018-12-13 10:14:15 -08:00
Daniel Imms dc5c2381a8 Merge branch 'master' into perf3 2018-12-12 11:24:34 -08:00
Daniel Imms 551feb849e Merge pull request #1832 from Tyriar/remove_jsdoc
Remove jsdoc dependency
2018-12-12 09:44:40 -08:00
Daniel Imms 98285d3a84 Merge pull request #1831 from Tyriar/1830_addon_types_fix
Remove triple slash directive error in addon types
2018-12-12 09:30:34 -08:00
Daniel Imms 98ccc23934 Merge pull request #1827 from Tyriar/1605_remove_authors
Remove authors
2018-12-12 09:11:24 -08:00
Jörg Breitbart d0d94584ad Merge branch 'master' into trim_behavior 2018-12-12 18:10:24 +01:00
Noam Yogev e00c7d535d Merge branch 'master' into issue_1654 2018-12-12 11:59:48 +02:00
Per Bothner 8ceea112f7 hooks for custom control sequences
This re-implements addCsiHandler/addOscHandler to return an IDisposable.
2018-12-11 17:18:10 -08:00
Per Bothner 53fd04a886 Revert "hooks for custom control sequences"
This reverts commit 4d660deff3.
2018-12-11 16:50:40 -08:00
Per Bothner ffb2708a81 Revert "Cleanups required by tslink."
This reverts commit b68974517e.
2018-12-11 16:50:14 -08:00
Per Bothner 8ad2d1bf43 Merge remote-tracking branch 'upstream/master' 2018-12-11 16:30:18 -08:00
Daniel Imms a758f8c82f Merge pull request #1822 from PerBothner/optimize-osc-parse
Optimize parsing of OSC_STRING to minimize string concatenation.
2018-12-11 11:09:27 -08:00
Daniel Imms bbbfc04fa5 Merge branch 'master' into optimize-osc-parse 2018-12-11 11:07:12 -08:00
Daniel Imms d7f284c676 Add debug target for demo server, merge 2 start processes into one 2018-12-11 09:56:33 -08:00
Daniel Imms 943def1391 Add debug target for client, fix source maps in demo to point to ts 2018-12-11 09:37:20 -08:00
Daniel Imms a0a8003d60 Add unit tests debug target 2018-12-11 09:06:50 -08:00
Daniel Imms 6cc0a1447d Merge branch 'master' into remove_jsdoc 2018-12-11 08:58:28 -08:00
Daniel Imms 4d3345182f Remove jsdoc dependency 2018-12-11 08:57:44 -08:00
Daniel Imms 3a5d07a8f2 Merge branch 'master' into 1830_addon_types_fix 2018-12-11 07:21:34 -08:00
Daniel Imms 1e94fce545 Remove triple slash directive error in addon types
Fixes #1830
2018-12-11 07:19:37 -08:00
Daniel Imms da8546725f Merge branch 'master' into master 2018-12-11 06:28:08 -08:00
Daniel Imms 53f3b4e368 Merge pull request #1828 from Tyriar/1507_remove_layering
Remove utils/ folder
2018-12-11 06:27:49 -08:00
Noj Vek a0d583b075 handle non-cached scenario in tests land 2018-12-10 17:23:28 -08:00
Noj Vek 9005de1c42 adding a linesCache ttl and cursor move invalidation 2018-12-10 17:13:28 -08:00
Daniel Imms b9a22eb468 Remove utils/ folder
Part of #1507
2018-12-10 16:46:57 -08:00
Daniel Imms b51c07c408 Merge branch 'master' into 1605_remove_authors 2018-12-10 16:41:04 -08:00
Daniel Imms 3397ecf977 Remove authors
Fixes #1605
2018-12-10 16:40:04 -08:00
Noj Vek 801dcc3b75 Merge branch 'master' of github.com:xtermjs/xterm.js 2018-12-10 15:54:38 -08:00
Noj Vek 91ef7f24a6 Fixes #1660: Search as you type 2018-12-10 15:54:35 -08:00
Daniel Imms 65877d491e Merge pull request #1788 from gou4shi1/fix-get-mouse-coord
getCoordsRelativeToElement: use getBoundingClientRect and clientX/Y.
2018-12-10 14:46:33 -08:00
Daniel Imms f34c3d509d Merge pull request #1821 from Tyriar/dispose_atlas
Call dispose when atlas is no longer used in cache
2018-12-10 14:45:59 -08:00
Daniel Imms e1b3c7233a Merge pull request #1820 from Tyriar/add_missing_break
Add missing break in options code
2018-12-10 14:45:49 -08:00
Daniel Imms 08dc8a3e5f Merge pull request #1819 from Tyriar/fix_demo_line_height
Allow decimal line heights in demo
2018-12-10 14:45:41 -08:00
jerch 6a2e6a5edc Merge branch 'master' into optimize-osc-parse 2018-12-10 20:17:51 +01:00
Daniel Imms 1c62980d20 v3.9.0 2018-12-10 07:51:28 -08:00
jerch 2d8f420db8 fix default transition for 0xa0 2018-12-10 16:37:48 +01:00
Per Bothner 2cb293ceb2 Further tweaks to optimize parsing of OSC_STRING. 2018-12-09 19:03:58 -08:00
Juan Campa 3d2ae2b01e Removing redundant condition. Clearer variable name 2018-12-09 17:58:44 -05:00
Per Bothner 1c4a71f0df Optimize parsing of OSC_STRING to minimize string concatenation. 2018-12-09 13:29:09 -08:00
Per Bothner 30a667c3be Revert "Optimize parsing of OSC_STRING to minimize string concatenation."
This reverts commit 03115639a9.
2018-12-09 13:11:17 -08:00
Per Bothner 03115639a9 Optimize parsing of OSC_STRING to minimize string concatenation. 2018-12-09 10:56:34 -08:00
Daniel Imms 48629e7eb2 Merge remote-tracking branch 'origin/master' into pr/gou4shi1/1788 2018-12-09 10:02:55 -08:00
Daniel Imms 6b9fb48898 Fix tests/lint, use element instead of event.target 2018-12-09 09:59:33 -08:00
Daniel Imms bb9ccf40b6 Reduce diff with master 2018-12-09 09:28:04 -08:00
Daniel Imms fe9eb7d31e Call dispose when atlas is no longer used in cache
Only runtime change is that this clears the bitmap commit timeout
in DynamicCharAtlas
2018-12-09 09:19:56 -08:00
Daniel Imms 693e17a5cb Add missing break in options code
Atlas is reset as part of onResize, this should be safe
2018-12-09 09:13:30 -08:00
Daniel Imms b5b2bcd0c9 Allow decimal line heights in demo 2018-12-09 09:08:11 -08:00
Daniel Imms 3d8b304af4 Reduce precision of floats in fragment shader
~0.43ms/frame -> ~0.37ms/frame
2018-12-09 08:31:49 -08:00
Daniel Imms c16d70ec06 Merge remote-tracking branch 'origin/master' into webgl2 2018-12-09 08:26:33 -08:00
Juan Campa fd34caee23 Use a time-based limit to Terminal._innerWrite
The idea is that it should run for a bit and then let the renderer draw
a frame so that the terminal look responsive. The existing approach
limits the work done using a fixed number elements from the write
buffer so the duration of a frame can vary widely.

This approach looks at the clock to determine when to stop, we basically
allocate an amount of time each frame to write, while the rest can be
used for rendering.

From my tests this change makes the terminal feel a lot smoother.
2018-12-08 00:44:05 -05:00
Noam 278d696709 remove reverseSearch from ISearchOptions
add isReverseSearch argument to findInLine
modify unit tests
2018-12-07 22:56:57 +02:00
gou4shi1 7f18199985 Fix build fail 2018-12-06 14:37:27 +08:00
Per Bothner b68974517e Cleanups required by tslink. 2018-12-05 14:45:57 -08:00
Per Bothner 4d660deff3 hooks for custom control sequences
This fixes (at least partially) issue #1176
"Add a way to plugin a custom control sequence handler".
2018-12-04 19:00:44 -08:00
jerch b5f1c3384a Merge pull request #1812 from jerch/default_buffer_to_typedarray
Deprecate JS array based terminal buffer
2018-12-04 20:40:47 +01:00
Jörg Breitbart 6f4a6ef308 deprecate experimentalBufferLineImpl 2018-12-04 20:33:12 +01:00
Jörg Breitbart 18902dd789 make linter happy 2018-12-04 19:11:39 +01:00
Jörg Breitbart 66ec57b431 cleanup 2018-12-04 19:02:27 +01:00
Jörg Breitbart 6ee9178302 make typed array buffer default 2018-12-04 18:55:11 +01:00
Daniel Imms 6e45d022ac Merge pull request #1806 from dividuum/patch-1
Added info-beamer hosted
2018-12-03 06:58:09 -08:00
Florian Wesch 4d270bf72c Added info-beamer hosted
Works pretty well. See https://community.infobeamer.com/t/174 for details. Wouldn't be able to add this feature without Xterm.js.
2018-12-02 15:38:50 +01:00
Noam Yogev 38adfcd81c Merge branch 'master' into issue_1654 2018-11-30 20:49:12 +02:00
Noam 376c790e1d implement find multiple matches in line.
start search from current selection.
add unit tests.
2018-11-30 20:46:47 +02:00
Daniel Imms 5f989929c3 Merge pull request #1799 from Tyriar/remove_shared_folder
Remove shared/ folder
2018-11-29 14:03:20 -08:00
Jörg Breitbart 9d4beb024a keep whitespace chars 2018-11-29 22:11:38 +01:00
Jörg Breitbart 99e4a9649f fix failing test cases 2018-11-29 21:48:48 +01:00
Jörg Breitbart eb27641928 Merge branch 'master' into trim_behavior 2018-11-29 21:26:45 +01:00
Jörg Breitbart 2483a98f63 use faster string conversion 2018-11-29 21:13:18 +01:00
Jörg Breitbart 5d3ef759b4 Merge branch 'master' into typedarray_parser 2018-11-29 21:11:07 +01:00
Daniel Imms 4beb3a9ecd Merge remote-tracking branch 'origin/master' into remove_shared_folder 2018-11-29 11:56:27 -08:00
Daniel Imms 9df56aba13 Merge pull request #1795 from Tyriar/clipboard_layering
Move Clipboard to ui/
2018-11-29 11:54:15 -08:00
Daniel Imms 8cf98ec546 Merge pull request #1800 from Tyriar/typescript_3_1
Upgrade to typescript 3.1
2018-11-29 11:53:50 -08:00
Daniel Imms 6bc9b9b14d Improve constructor use in sliceFallback 2018-11-29 10:26:04 -08:00
Jörg Breitbart a6ef64dcb6 always clear DCS buffer on HOOK 2018-11-29 16:39:17 +01:00
Jörg Breitbart a4e3646640 Merge branch 'master' into typedarray_parser 2018-11-29 16:35:12 +01:00
Jörg Breitbart 591dfd506d fix DCS handler 2018-11-29 16:33:56 +01:00
Daniel Imms fe7941034e Merge branch 'master' into webgl2 2018-11-27 09:19:17 -08:00
Daniel Imms 68d5ce947e Merge pull request #1772 from whydoubt/fix_1767
Only show cross-hairs when terminal has focus
2018-11-26 11:20:36 -08:00
Daniel Imms b8b111f4a6 Only pass a subset of the attributes buffer to GPU 2018-11-25 10:18:14 -08:00
Daniel Imms 13175976d0 Upgrade to typescript 3.1
Bunch of types needed changing in this version, also the
IOffscreenCanvas "support" in the canvas renderer was removed
as we're moving away from that.
2018-11-24 07:16:43 -08:00
Daniel Imms f4a522516c Remove shared/ folder
We changed plans from moving web worker compatible code to shared/
to enforcing layers using core/, common/, ui/ and public/. This
change moves files back from the shared/ dir to clean up the
codebase.

Part of #1507
2018-11-24 07:03:59 -08:00
Daniel Imms 60e3ddbfd0 Update color codes after merging the move to constants 2018-11-24 05:52:23 -08:00
Daniel Imms 186b2be4b9 Fix imports 2018-11-24 05:48:05 -08:00
Daniel Imms 569abde8c7 Merge remote-tracking branch 'ups/master' into webgl2 2018-11-24 05:46:58 -08:00
Daniel Imms 1db17701df Merge pull request #1739 from Tyriar/1737_inverse_dynamic_cache
Allow inverse colors to be stored in glyph keys, fix inverted colors in DOM renderer
2018-11-24 05:32:21 -08:00
Daniel Imms c6f1de7970 Introduce is256Color helper 2018-11-24 05:24:15 -08:00
Jörg Breitbart 14d6960873 Merge remote-tracking branch 'upstream/master' into typedarray_parser 2018-11-23 23:33:56 +01:00
Daniel Imms 5fca73aa5a Merge branch 'master' into 1737_inverse_dynamic_cache 2018-11-23 14:31:16 -08:00
Jörg Breitbart 06e89549a8 typed array support for parser 2018-11-23 23:30:37 +01:00
Daniel Imms 929d722e0e Merge pull request #1794 from Tyriar/remove_unused_line_height
Remove unused lineHeight parameters
2018-11-23 14:30:08 -08:00
jerch 79a1194bea Merge pull request #1793 from Tyriar/improve_fill_fallback
Improve types of fill polyfill and test fallback
2018-11-23 19:25:22 +01:00
jerch 8a04431417 Merge branch 'master' into improve_fill_fallback 2018-11-23 19:18:21 +01:00
jerch 76e7057c94 Merge pull request #1764 from whydoubt/alt_buffer
Alternate buffer improvement
2018-11-23 19:15:27 +01:00
jerch 62b1aa5a67 Merge branch 'master' into alt_buffer 2018-11-23 19:09:08 +01:00
jerch 41ba20f749 remove not longer needed test cases
Removed the `loopFill` test method as it is not needed anymore with the separation of the looping variant in `fillFallback`.
2018-11-23 18:40:52 +01:00
Daniel Imms 32574a1a09 Move Clipboard to ui/
Belong here as it interacts with DOM

Part of #1507
2018-11-23 09:05:07 -08:00
Daniel Imms fc6f101e16 Remove unused lineHeight parameters 2018-11-23 08:59:30 -08:00
Daniel Imms 2e889852b0 Merge branch 'master' into 1737_inverse_dynamic_cache 2018-11-23 08:52:32 -08:00
Daniel Imms 1b5ef5d93a Move TypedArrayUtils to common
It belongs here since the renderers will use it
2018-11-23 08:08:30 -08:00
Daniel Imms 53dc2af2b7 Use polyfill for TypedArray.slice 2018-11-23 08:00:27 -08:00
Daniel Imms 4f18717940 Improve handling of default values 2018-11-23 07:49:35 -08:00
Daniel Imms 266ea38d91 Improve types of fill polyfill and test fallback
The polyfill will now return the T instead of the TypedArray union
type. Tests now target the fallback only so engines that support fill
will run tests against the fallback code.
2018-11-23 07:36:01 -08:00
Daniel Imms 128b1b0a48 Use polyfill for TypedArray.fill 2018-11-23 07:14:56 -08:00
Daniel Imms c6c67587e1 Merge pull request #1792 from Tyriar/1609_dom_no_null_cells
DOM renderer: Don't output empty cells at end of a line
2018-11-23 07:06:00 -08:00
Daniel Imms 1567b41d6e Merge branch 'master' into webgl2 2018-11-23 06:59:43 -08:00
Daniel Imms f363872f1e Merge branch 'master' into 1609_dom_no_null_cells 2018-11-23 06:51:53 -08:00
Daniel Imms 478dfee6e2 Ensure wide chars don't overflow onto following row 2018-11-23 06:51:39 -08:00
Daniel Imms d9513ce50d Don't bother checking beyond cols 2018-11-23 06:48:37 -08:00
jerch a693eb8e9b Merge pull request #1789 from jerch/optimisation_wcwidth
Optimisation for wcwidth
2018-11-23 15:33:33 +01:00
Daniel Imms fe027a2e9d Merge branch 'master' into optimisation_wcwidth 2018-11-23 06:26:36 -08:00
Daniel Imms 65c5df92d9 Move import below copyright 2018-11-23 06:26:06 -08:00
Daniel Imms dc0ae4a815 Fix indentation 2018-11-23 06:24:27 -08:00
Daniel Imms 66272eb310 Get the line length by going backwards instead 2018-11-23 05:40:35 -08:00
Daniel Imms 43721160d7 Merge branch 'master' into webgl2 2018-11-22 12:46:30 -08:00
Daniel Imms 913adf9ccc Merge branch 'master' into 1609_dom_no_null_cells 2018-11-22 12:46:00 -08:00
jerch b4faaef785 Merge pull request #1731 from jerch/reuse_bufferlines
Recycle buffer lines
2018-11-22 21:24:18 +01:00
jerch 2f453f968c Merge branch 'master' into reuse_bufferlines 2018-11-22 21:17:38 +01:00
Daniel Imms dc077a181e Fix tests and the colCount feature 2018-11-22 12:03:08 -08:00
Daniel Imms 692cdfa390 DOM renderer: Don't output empty cells at end
Fixes #1609
2018-11-22 11:38:00 -08:00
Daniel Imms 928abdb0c3 Merge branch 'master' into webgl2 2018-11-22 11:10:08 -08:00
Daniel Imms 42eda149c7 Set theme in ctor 2018-11-22 10:57:45 -08:00
Daniel Imms 6b89ec9d8e Merge pull request #1754 from vladimirze/run-tests-and-tslint-for-addons-directory
Run tests & tslint for src/addons directory
2018-11-22 10:57:42 -08:00
Daniel Imms 53fe096455 Type fn strongly 2018-11-22 10:52:55 -08:00
Daniel Imms 549c28bfa4 Merge branch 'master' into run-tests-and-tslint-for-addons-directory 2018-11-22 10:51:55 -08:00
Daniel Imms 2687fd02b2 Merge branch 'master' into reuse_bufferlines 2018-11-22 10:48:47 -08:00
Daniel Imms 1ceecf3f14 Merge pull request #1791 from xtermjs/Tyriar-patch-1
Add help wanted/good first issue links
2018-11-22 09:44:40 -08:00
Daniel Imms 98a3892e52 Fix typo 2018-11-22 09:44:13 -08:00
Jörg Breitbart 8c33de395d fix linter errors 2018-11-21 00:15:04 +01:00
Jörg Breitbart ef6fb93a92 polyfill for TypedArray.fill 2018-11-21 00:07:28 +01:00
Jörg Breitbart 36db03e713 keep old impl in test as reference; minor changes 2018-11-20 22:35:51 +01:00
Jörg Breitbart 895d6fc479 Merge branch 'master' into reuse_bufferlines 2018-11-20 22:03:24 +01:00
Jörg Breitbart 15c4cc8a74 remove experimental flag for recycling, merge with TypedArray setting 2018-11-20 22:01:57 +01:00
Jörg Breitbart 3964bb28b5 throw error in recycle with buffer not full 2018-11-20 21:49:31 +01:00
Daniel Imms 006869704b Add help wanted/good first issue links 2018-11-20 09:44:10 -08:00
Daniel Imms 5c1e5a1787 Merge branch 'master' into webgl2 2018-11-20 09:14:31 -08:00
Daniel Imms e6d339a289 Fix wide char caching in webgl renderer 2018-11-19 16:54:53 -08:00
Jörg Breitbart 21f848d0ab regression test 2018-11-18 23:48:59 +01:00
Jörg Breitbart 9b762854eb faster wcwidth init and runtime; fix slightly wrong surrogate handling 2018-11-18 23:31:45 +01:00
Daniel Imms e4a84643b8 Merge pull request #1765 from jrkong/vscode-issue-60401
Updated webLinks regex accept colons, fix vscode issue#60401
2018-11-18 14:12:30 -08:00
jerch 02732d9272 Merge pull request #1787 from jerch/fix_audiocontext
hold single AudioContext instance for all terminal instances
2018-11-18 22:54:57 +01:00
Jörg Breitbart 9286ea3eaf make statix usage explicit 2018-11-18 17:50:29 +01:00
Jörg Breitbart 203ee0f644 remove ctx args from ctor 2018-11-18 17:47:49 +01:00
Jörg Breitbart 579ef28929 Merge branch 'master' into fix_audiocontext 2018-11-18 17:46:19 +01:00
Daniel Imms bcd3a4dc40 Merge pull request #1784 from xtermjs/Tyriar-patch-1
Fixing isClickInSelection to cover missing cases
2018-11-16 18:03:27 -08:00
Daniel Imms a480f483cd Add tests 2018-11-16 17:54:03 -08:00
Daniel Imms c97feab05c Initial webgl renderer implementation 2018-11-16 14:34:12 -08:00
Jeff Smith 2f90035243 Clear alt buffer with erase attributes upon entering 2018-11-16 14:33:37 -06:00
Jeff Smith a19d93851c Each buffer needs its own saved cursor attributes 2018-11-16 14:33:37 -06:00
Jeff Smith a5894ee234 Fix cursor movement when swapping buffers 2018-11-16 14:33:37 -06:00
gou4shi1 3ca0598279 fix EventTarget type 2018-11-15 11:56:41 +08:00
gou4shi1 3d2035e1a0 getCoordsRelativeToElement: use getBoundingClientRect and clientX/Y. 2018-11-15 11:43:38 +08:00
Jörg Breitbart ef6f0db0a0 Merge branch 'master' into reuse_bufferlines 2018-11-15 01:05:33 +01:00
Jörg Breitbart 0e3f9b72d1 allow to set audio context per argument 2018-11-15 00:48:31 +01:00
Jörg Breitbart e3146961be make linter happy 2018-11-15 00:25:23 +01:00
Jörg Breitbart 9faebaf5fe hold single AudioContext instance 2018-11-15 00:16:52 +01:00
jerch 19174dd836 Merge branch 'master' into fix_1767 2018-11-14 20:25:25 +01:00
jerch e4e5b966da Merge pull request #1780 from whydoubt/fix_1751
Make scrollbar draggable when using DOM renderer
2018-11-14 19:59:00 +01:00
Jeff Smith 8ea0bb55b4 Make scrollbar draggable when using DOM renderer
Fixes #1751
2018-11-12 21:08:51 -06:00
jerch cb97ab35cb Merge pull request #1783 from jerch/fix_1778
fix minor parser issues:
- dont expose ESC+\ (7bit ST)
- add missing executables FS, GS, RS and US
2018-11-09 13:39:50 +01:00
Daniel Imms 774793c7ca Fixing isClickInSelection to cover missing cases
The following cases weren't working:

- The first character on single line selections
- The first row on multi-line selection
2018-11-08 19:20:12 -08:00
Jörg Breitbart 4aa822e7a9 Merge branch 'master' into fix_1778 2018-11-09 01:07:11 +01:00
Jörg Breitbart de7d5e1eec swallow 7bit ST, add missing executables 2018-11-09 01:03:44 +01:00
jerch 3e233be54b Merge branch 'master' into fix_1767 2018-11-08 19:45:34 +01:00
jerch 70981c7a29 Merge pull request #1782 from astefanutti/pr-wheel
Use WheelEvent.deltaY instead of WheelEvent.wheelDeltaY for wheel event
2018-11-08 19:43:24 +01:00
Antonin Stefanutti 8acf137d14 Use WheelEvent.deltaY instead of WheelEvent.wheelDeltaY for wheel event
Fixes #1781
2018-11-08 14:44:18 +01:00
Jörg Breitbart a15b866013 test cases for getTrimLength and translateToString 2018-11-08 06:13:05 +01:00
Jörg Breitbart 2f9c04c3af cleanup test cases 2018-11-08 05:00:08 +01:00
Jörg Breitbart 67df9a5cdc cleanup 2018-11-08 04:03:48 +01:00
Jörg Breitbart 22e4a2dc97 Merge branch 'master' into reuse_bufferlines 2018-11-07 00:58:35 +01:00
Jörg Breitbart e9906f9b9e compromise between code safety and speed 2018-11-07 00:56:45 +01:00
Daniel Imms eca1170a45 Merge branch 'master' into fix_1767 2018-11-01 11:12:53 -07:00
Jörg Breitbart 5395503031 apply code and char replacement to renderer 2018-10-31 15:47:35 +01:00
Jörg Breitbart 200b59b47c fix canvas renderer 2018-10-31 15:35:30 +01:00
Jörg Breitbart cabd4a721c fix dom renderer 2018-10-31 15:30:29 +01:00
Jörg Breitbart 745e228e98 fix input handler and terminal tests 2018-10-31 15:26:40 +01:00
Jörg Breitbart 8ffcd65cff fix buffer tests 2018-10-31 15:11:18 +01:00
Jörg Breitbart 1c111d3e60 skip empty cells after fullwidth 2018-10-31 14:53:55 +01:00
Jörg Breitbart 62f1d64af4 fix trimmedLength for TypedArray 2018-10-31 14:26:54 +01:00
Jörg Breitbart ee6fa6ca00 change NULL_CHAR and trim 2018-10-31 12:42:56 +01:00
jrkong 5173bd6419 Merge branch 'master' into vscode-issue-60401 2018-10-30 19:33:05 -04:00
Daniel Imms 160b4a7d66 Revert "Remove request term info handler"
This reverts commit c2994b0ae1.
2018-10-30 11:04:32 -07:00
Jörg Breitbart fb64c527a5 revert to precheck pushWouldTrim 2018-10-30 17:40:11 +01:00
Jörg Breitbart aaffc2b2be Merge branch 'master' into reuse_bufferlines 2018-10-30 14:18:28 +01:00
Jeff Smith c7eb727220 Only show cross-hairs when terminal has focus
Fixes #1767
2018-10-29 16:18:35 -05:00
Daniel Imms f3cd652e74 Merge pull request #1733 from leomoty/line-height
Support for lineHeight in DOM Renderer
2018-10-28 10:54:52 -07:00
Daniel Imms 108438dbeb Use setRenderer instead of ctor
Just in case something hangs onto MouseHelper
2018-10-28 10:51:57 -07:00
Daniel Imms 41b1c929e0 Fix screen element remaining large if originally using canvas 2018-10-28 10:50:16 -07:00
leomoty 793516060f Recreate mouseHelper after renderer is disposed 2018-10-28 14:24:08 -03:00
leomoty 60468356db Merge branch 'master' into line-height 2018-10-27 13:26:50 -03:00
Daniel Imms e90f8611d5 Merge pull request #1752 from Tyriar/improve_dec
Improve types for listener args in .d.ts
2018-10-26 13:24:01 -07:00
Jörg Breitbart 93d7a3021d remove pushRecycling, test case for trimAndRecycle, docs 2018-10-26 16:11:47 +02:00
Jörg Breitbart 982006836b Merge branch 'master' into reuse_bufferlines 2018-10-26 15:23:43 +02:00
vladimirze d137880876 Merge branch 'master' into run-tests-and-tslint-for-addons-directory 2018-10-26 11:15:59 +03:00
Daniel Imms fc8640af1e Merge pull request #1768 from huashengdun/master
Added webssh to real-world uses
2018-10-25 09:05:15 -07:00
Shengdun Hua 213dadf1bd Update README.md 2018-10-25 23:01:03 +08:00
jrkong 2efd28ad4b updated webLinks regex to ignore colon at the end of a line and added the corresponding tests 2018-10-25 00:14:20 -04:00
Daniel Imms ba8d341416 Merge pull request #1748 from Tyriar/1747_npe
Fix NPE in DOM renderer underline
2018-10-24 16:28:57 -07:00
Daniel Imms 16614b7179 Merge pull request #1766 from whydoubt/has_focus 2018-10-24 16:10:01 -07:00
jerch c77af88010 Merge pull request #1706 from whydoubt/blank_line_attributes
Fill lines inserted from scrolling with erase attributes
2018-10-24 17:39:05 +02:00
jerch 50bc11b28b Merge branch 'master' into blank_line_attributes 2018-10-24 16:32:28 +02:00
Daniel Imms 565f46075c Merge pull request #1720 from alexr00/alexr00/ClearShouldClear
Cleared terminal lines should have isWrapped reset
2018-10-23 15:48:52 -07:00
Daniel Imms c2994b0ae1 Remove request term info handler
We're not supporting it anyway, no point having it.
2018-10-23 15:45:52 -07:00
Jeff Smith 4d556fcaf0 Check for focus on document as well as on textarea
When clicking outside of the browser document area, the cursor does not
appear to get 'blurred'. This can be confusing as it implies that the
cursor is still active. This is caused by Terminal's isFocused getter
only checking if the textarea is the active element of the document.

Expand isFocused to also check that the document itself has focus.
2018-10-23 11:57:20 -05:00
Alex Ross 083bc0f3d1 Merge branch 'master' into alexr00/ClearShouldClear 2018-10-23 10:17:26 +02:00
jrkong 1208fc9e10 updated webLinks regex to fix vscode issue#60401 2018-10-22 16:32:04 -04:00
Jörg Breitbart 1585aba5b5 slightly faster trimAndRecycle 2018-10-22 21:12:51 +02:00
Jörg Breitbart 82228ad891 trimAndRecycle with external check 2018-10-22 18:15:47 +02:00
Jörg Breitbart 6f6c7c20c0 Merge branch 'master' into reuse_bufferlines 2018-10-22 17:20:28 +02:00
Daniel Imms b9ab35dfe9 Merge pull request #1760 from skprabhanjan/fix-1749
Search from top of viewport when there is no selection
2018-10-20 13:56:53 -07:00
Daniel Imms 35db216f64 Fix indent 2018-10-20 13:55:13 -07:00
Daniel Imms 00c1211435 Merge pull request #1740 from jerch/bufferline_fixes
fix handling of length in BufferLine.resize
2018-10-20 12:57:47 -07:00
Jeff Smith 8bd49cba35 Fill inserted lines with background color
When scrolling occurs due to a LF or scroll code, fill the new line with
the currently-set background color.
2018-10-19 10:27:52 -05:00
Alex Ross 4a2189d140 Merge branch 'master' into alexr00/ClearShouldClear 2018-10-17 10:45:12 +02:00
Prabhanjan S Koushik f2fb46cc82 Merge branch 'master' into fix-1749 2018-10-17 10:51:27 +05:30
pkoushik 74664a9161 Fix-1749 2018-10-17 10:48:46 +05:30
Daniel Imms 5bc7fc4256 Merge pull request #1758 from Tyriar/1757_cjk_glyph_key
Move dynamic atlas canCache check higher
2018-10-16 11:23:22 -07:00
Daniel Imms af0ca6c2cb Merge pull request #1759 from stkvrs/fix-comment-typos
Fix typos
2018-10-16 11:22:49 -07:00
Vladimir Zeifman 3f3263cbb0 Fix tslint errors for all addons and un-exclude tests for search addon 2018-10-16 19:36:14 +03:00
Stathis Kavros 161dfa8d2d Fix typos 2018-10-16 14:23:58 +03:00
Alex Ross 8a6ed52e4e Merge branch 'master' into alexr00/ClearShouldClear 2018-10-16 12:21:00 +02:00
Daniel Imms 3edd2f2816 Merge branch 'master' into 1757_cjk_glyph_key 2018-10-15 11:44:51 -07:00
Daniel Imms 33ee08da47 Merge pull request #1756 from skprabhanjan/fix-1750
Fixes-1750
2018-10-15 11:43:58 -07:00
Daniel Imms a53aaa5f25 Move dynamic atlas canCache check higher
Fixes #1757
2018-10-15 11:35:21 -07:00
pkoushik f61ba9558b Fixes-1750 2018-10-15 23:44:30 +05:30
Alex Ross c6eb56670d Merge branch 'master' into alexr00/ClearShouldClear 2018-10-15 11:34:06 +02:00
Daniel Imms 19f6c0a940 Fix tests 2018-10-12 09:02:03 -07:00
Daniel Imms 37972aa5dd Merge pull request #1745 from xtermjs/Tyriar-patch-1
Update Azure data studio info
2018-10-12 08:58:06 -07:00
Daniel Imms a0250c5cea Improve types for listener args in .d.ts
Without this consumers need an undefined check with strictNullChecks
turned on.
2018-10-12 08:33:59 -07:00
Daniel Imms 9e1551e2f1 Fix NPE in DOM renderer underline
Fixes #1747
2018-10-11 09:37:19 -07:00
Jörg Breitbart d25e55ff45 Merge branch 'master' into bufferline_fixes 2018-10-11 18:33:21 +02:00
Daniel Imms b650db5b1a Merge pull request #1742 from AndrienkoAleksandr/fixDockerImageBuild
Fix docker image build.
2018-10-11 09:26:39 -07:00
Jörg Breitbart 4450dc9206 Merge branch 'master' into bufferline_fixes 2018-10-11 18:25:38 +02:00
jerch 69e6d7d9cc Merge pull request #1744 from jerch/demo_buffer
add buffer to server part in demo
2018-10-11 18:20:53 +02:00
Daniel Imms e66a10889f Merge branch 'master' into alexr00/ClearShouldClear 2018-10-11 09:02:54 -07:00
Daniel Imms 375b5c5b4f Fix indent 2018-10-11 09:02:36 -07:00
leomoty 2eec8f951f Merge branch 'master' into line-height 2018-10-11 11:55:12 -04:00
Alex Ross 64d6354983 Added testing and better erase left and above handling 2018-10-11 11:18:56 +02:00
Daniel Imms 8843b0cbc6 Update Azure data strudio info 2018-10-10 18:20:12 -07:00
Jörg Breitbart 588ed5e3af Merge branch 'demo_buffer' into reuse_bufferlines 2018-10-11 02:03:01 +02:00
Jörg Breitbart 05b68ee4ae Merge branch 'master' into demo_buffer 2018-10-11 01:59:03 +02:00
Daniel Imms 25e5795374 Merge branch 'master' into fixDockerImageBuild 2018-10-10 16:36:36 -07:00
Jörg Breitbart eb123ca787 add tiny buffer to server part in demo 2018-10-11 00:32:14 +02:00
Daniel Imms 58003d4e29 Merge pull request #1743 from alexr00/alexr00/nonWordChars
Remove underscore from non word characters list
2018-10-10 14:08:39 -07:00
Alex Ross c12aec3484 Merge branch 'alexr00/ClearShouldClear' of https://github.com/alexr00/xterm.js into alexr00/ClearShouldClear 2018-10-10 15:32:39 +02:00
Alex Ross f2ecd06e64 Additional isWrapped clearing 2018-10-10 15:31:49 +02:00
Jörg Breitbart 751e2efa75 better integration and experimentalPushRecycling option 2018-10-10 15:00:38 +02:00
Alex Ross c739d2fe87 Remove underscore from non word characters list
This is the upstream fix for Microsoft/vscode#59379
2018-10-10 14:05:23 +02:00
Oleksandr Andriienko 45e64a9167 Remove from package.json unused script command
Signed-off-by: Oleksandr Andriienko <oandriie@redhat.com>
2018-10-10 11:39:34 +03:00
Oleksandr Andriienko a63779ae7b Fix docker image build.
Signed-off-by: Oleksandr Andriienko <oandriie@redhat.com>
2018-10-10 10:26:32 +03:00
leomoty 6e350219aa Support for lineHeight in DOM Renderer 2018-10-09 18:58:25 -03:00
Jörg Breitbart 33a358033c new approach 2018-10-09 23:48:58 +02:00
Jörg Breitbart 0065682bd7 resize should not alter length if shrink=false 2018-10-09 21:17:33 +02:00
Daniel Imms 18035e239e Fix tests 2018-10-09 11:56:08 -07:00
Daniel Imms 91d04f2552 Merge branch 'master' into 1737_inverse_dynamic_cache 2018-10-09 11:43:26 -07:00
Daniel Imms bc16a8b7e7 Handle inverted default colors properly in DOM renderer
This uses the actual fg for bg and bg to fg, rather than the
black/white theme colors

Fixes #1738
2018-10-09 11:38:53 -07:00
Daniel Imms 1e9564788e Use constants for default colors 2018-10-09 11:12:35 -07:00
Daniel Imms 791c020a56 Allow inverse colors to be stored in glyph keys
Fixes #1737
2018-10-09 11:03:31 -07:00
jerch febc3ba2b8 Merge pull request #1736 from jerch/fix_bufferline_resize
fix BufferLine resize
2018-10-09 19:09:23 +02:00
Daniel Imms 1c5dfb5f34 Merge branch 'master' into fix_bufferline_resize 2018-10-09 09:58:00 -07:00
Jörg Breitbart 3877e96d7f fix BufferLine resize 2018-10-09 18:56:48 +02:00
Daniel Imms f2c7de8d53 Merge pull request #1735 from Tyriar/60291_infinite_loop
Fix infinite loop
2018-10-09 09:37:21 -07:00
Daniel Imms ed5467689a Fix infinite loop
See Microsoft/vscode#60291
2018-10-09 08:38:08 -07:00
jerch 8d16bb6ea2 Merge pull request #1641 from jerch/typedarray_BufferLine
buffer redesign - 2. Typedarray based BufferLine
2018-10-07 23:29:29 +02:00
Jörg Breitbart 2febd9b248 Merge branch 'typedarray_BufferLine' of git+ssh://github.com/jerch/xterm.js into typedarray_BufferLine 2018-10-07 22:10:10 +02:00
Jörg Breitbart 5b7aa68299 Merge branch 'master' into typedarray_BufferLine 2018-10-07 22:08:46 +02:00
Jörg Breitbart 3dbc6e604f move SIZE out of Cell enum 2018-10-07 22:07:55 +02:00
Daniel Imms 211cca8fda Merge branch 'master' into alexr00/ClearShouldClear 2018-10-06 10:36:18 -07:00
Daniel Imms e7ae4be394 Merge pull request #1728 from Tyriar/yarn_integrity
Commit yarn integrity checks
2018-10-05 10:14:28 -07:00
Daniel Imms b85b9bb3c3 Merge pull request #1699 from Tyriar/common_layering_strict
Enable strict null checks and no DOM access in common and core
2018-10-05 09:36:49 -07:00
Daniel Imms 77da89f5da Merge branch 'master' into alexr00/ClearShouldClear 2018-10-05 09:25:30 -07:00
Daniel Imms f5038bea3d Merge branch 'master' into common_layering_strict 2018-10-05 09:17:15 -07:00
Daniel Imms ae61292b10 Merge pull request #1729 from xtermjs/Tyriar-patch-1
Bump version to 3.8.0
2018-10-05 09:10:36 -07:00
Daniel Imms 8fd4bdd678 Bump version to 3.8.0 2018-10-05 09:04:20 -07:00
Daniel Imms 92b5c902de Commit yarn integrity checks 2018-10-05 08:59:54 -07:00
Daniel Imms a7b051c52f Merge pull request #1717 from Tyriar/charatlas_npe
Prevent NPE when disposing terminal shortly after creation
2018-10-04 12:02:09 -07:00
Daniel Imms b92bbf578b Merge branch 'master' into charatlas_npe 2018-10-04 10:30:04 -07:00
Alex Ross 18871f0d3c Cleared terminal lines should have isWrapped reset
Fixes #1710
2018-10-01 13:34:13 -07:00
Daniel Imms efe007b89b Merge branch 'master' into typedarray_BufferLine 2018-10-01 07:34:40 -07:00
Daniel Imms da027b2e11 Merge branch 'master' into common_layering_strict 2018-10-01 07:32:09 -07:00
Daniel Imms d4ec50e7de Merge pull request #1718 from zwhitchcox/patch-2
Don't delete fake terminal
2018-10-01 07:31:45 -07:00
Zane Hitchcox 5a1c71c1d5 Don't delete fake terminal 2018-10-01 10:16:59 -04:00
Daniel Imms bbf36fe091 Prevent NPE when disposing terminal shortly after creation 2018-10-01 06:38:24 -07:00
Daniel Imms 990bf5c973 Merge pull request #1711 from pfitzseb/patch-1
Add new use case: Juno
2018-09-27 09:23:02 -07:00
Sebastian Pfitzner b28bba56df Add new use case: Juno 2018-09-27 15:46:33 +02:00
jerch 21f3534668 Merge pull request #1693 from jerch/fix_1691
fix overscan issue at viewborders and enable linkifier on partial shown matches
2018-09-26 22:14:57 +02:00
Jörg Breitbart fefc6c6a34 fix typo 2018-09-26 22:07:02 +02:00
Jörg Breitbart 00bf16f610 Merge branch 'master' into typedarray_BufferLine 2018-09-25 01:02:14 +02:00
Jörg Breitbart 57a6fe5b87 Merge branch 'master' into fix_1691 2018-09-25 00:47:48 +02:00
Daniel Imms 9e446a9a0e Merge pull request #1692 from Tyriar/1677_perf_improve
Dynamic atlas: Reduce unnecessary objects generated and draw from ImageBitmap
2018-09-23 10:41:40 -07:00
Daniel Imms 16c0ad858a Make a new empty array instead of shift 2018-09-22 13:23:22 -07:00
Daniel Imms 750ec3870c Resolve feedback 2018-09-22 13:20:29 -07:00
Daniel Imms e9d54bf011 Merge branch 'master' into 1677_perf_improve 2018-09-22 13:04:05 -07:00
Jörg Breitbart 408403e2a0 Merge branch 'master' into fix_1691 2018-09-22 15:21:32 +02:00
Jörg Breitbart a30bb22c7a fix comments to <80 2018-09-22 15:20:31 +02:00
Daniel Imms a531b4dd9b Merge pull request #1695 from Tyriar/coveralls_fix
Fix coveralls integration
2018-09-21 12:40:03 -07:00
Daniel Imms 4cd591cb21 Merge branch 'master' into common_layering_strict 2018-09-21 11:50:22 -07:00
Jörg Breitbart 10687b138d range checks for buffer iterator 2018-09-21 20:23:41 +02:00
Jörg Breitbart 1108d0746e Merge branch 'master' into fix_1691 2018-09-21 19:23:49 +02:00
Daniel Imms 005785b84d Merge pull request #1705 from agurodriguez/xterm-1704
Support link underlines in the DOM renderer
2018-09-21 10:02:30 -07:00
Daniel Imms 2e8e64eb4d Merge pull request #1703 from Tyriar/1702_isWrapped_fix
Speculative fix for NPE in linkifier
2018-09-21 09:58:38 -07:00
Daniel Imms f44d57b2e8 Merge branch 'master' into coveralls_fix 2018-09-21 07:33:10 -07:00
Daniel Imms 36c53a5f8c Merge branch 'master' into common_layering_strict 2018-09-21 07:31:18 -07:00
Daniel Imms 995e384980 Fix search addon build 2018-09-21 07:31:06 -07:00
Daniel Imms 4941d5a19e Simplify loop, pass lint 2018-09-21 07:08:17 -07:00
Agustín Rodríguez 1f2d223e64 remove line in xterm.d.ts that says link underlines are not supported 2018-09-21 01:42:20 -03:00
Agustín Rodríguez d1991396e7 generalized loops to handle both single and multi line links 2018-09-21 01:38:37 -03:00
Agustín Rodríguez 478d824fa7 fix underline don't appearing when using the fallback DOM renderer 2018-09-21 01:38:37 -03:00
Daniel Imms 39a7b18065 Keep track of glyphs using cache values, not keys 2018-09-20 10:09:39 -07:00
Daniel Imms 2c62c3a8c3 Fix tests 2018-09-19 20:06:09 -07:00
Daniel Imms 4463f8d810 Speculative fix for NPE
Fixes #1702
2018-09-19 19:47:16 -07:00
Daniel Imms c05b6bd885 Merge branch 'master' into 1677_perf_improve 2018-09-19 08:03:09 -07:00
Daniel Imms 290c95ad71 Merge pull request #1698 from Tyriar/1697_scrolltop
Fix scroll APIs not affecting scroll bar
2018-09-19 07:58:53 -07:00
Daniel Imms 57bbc817bb Reduce addon lib usage 2018-09-18 10:25:49 -07:00
Daniel Imms fb0b73ab83 Enforce core layering and enable strict
Part of #1507
Part of #1319
2018-09-18 10:21:59 -07:00
Daniel Imms d1deca2330 Merge branch 'master' into common_layering_strict 2018-09-18 09:49:38 -07:00
Daniel Imms 33915f3ae0 Improve structure of addon tsconfigs 2018-09-18 09:49:07 -07:00
Daniel Imms e736f1223f Merge pull request #1696 from Tyriar/posttest
Remove npm-run-all
2018-09-18 09:29:45 -07:00
Daniel Imms a7a58aa055 Enable strict null checks and restrict DOM access in common
Part of #1507
Part of #1319
2018-09-17 13:44:31 -07:00
Daniel Imms cbe7b21090 Don't unlink node when updating inBitmap and verify undefined 2018-09-17 07:52:37 -07:00
Daniel Imms d9ec47ab7a Clear bitmap timeout on dispose 2018-09-17 07:48:05 -07:00
Daniel Imms 94b20d40bf Reuse object for glyph identifier 2018-09-17 07:43:31 -07:00
Daniel Imms 202734f10c Fix typo which broke dynamic atlas 2018-09-17 07:43:10 -07:00
Daniel Imms 4656bd433c Revert "Remove IGlyphIdentifier in-between object"
This reverts commit 04f2d52f26.
2018-09-17 07:37:04 -07:00
Daniel Imms f6d5abf7b3 Fix scroll APIs not affecting scroll bar
Fixes #1697
2018-09-17 06:52:22 -07:00
Daniel Imms 6ea56cd85e Remove npm-run-all
We can just use posttest
2018-09-16 11:42:09 -07:00
Daniel Imms 4d7ce4da46 Set coveralls branch name 2018-09-15 11:02:53 -07:00
Daniel Imms 39047767e4 Move coverage to mac agent as it's much faster 2018-09-15 10:40:54 -07:00
Daniel Imms 8d4b5cdc55 Run yarn coveralls after generating report 2018-09-15 10:38:06 -07:00
Daniel Imms 00af63b271 Expand glyph when needed 2018-09-15 10:10:50 -07:00
Daniel Imms 608d78b6ac Add fallback for window.createImageBitmap 2018-09-15 09:46:19 -07:00
Daniel Imms ac3595e8b4 Generate and use a bitmap instead of canvas 2018-09-15 09:44:01 -07:00
Jörg Breitbart 5284a5a742 fix spelling 2018-09-15 00:41:55 +02:00
Jörg Breitbart 842ee6c164 change overscan limit to 2k chars 2018-09-15 00:22:00 +02:00
Jörg Breitbart d0dc387921 fix overscan issue and enable linkify of partial shown matches 2018-09-14 23:16:24 +02:00
Daniel Imms 7762ab96a5 Exit draw early for the space character 2018-09-14 12:06:14 -07:00
Jörg Breitbart 84e9ad2adc Merge branch 'master' into typedarray_BufferLine 2018-09-14 19:19:41 +02:00
Daniel Imms 6528ba84ff Avoid creation of array converting index to coordinates 2018-09-14 10:12:43 -07:00
Daniel Imms 0bcf30a21b Merge remote-tracking branch 'origin/master' into 1677_perf_improve 2018-09-14 10:10:03 -07:00
Daniel Imms 86c78e726d Merge pull request #1675 from Tyriar/1674_watch_addons
Split addon watch into watch-addons
2018-09-14 10:09:34 -07:00
Daniel Imms cf9cb80cb4 Use a number as the dynamic cache key
This prevents string creation on every draw
2018-09-14 10:08:26 -07:00
Daniel Imms 04f2d52f26 Remove IGlyphIdentifier in-between object
This was being constructed for every character draw
2018-09-14 09:58:49 -07:00
Daniel Imms 192f751862 Merge branch 'master' into 1674_watch_addons 2018-09-14 09:35:20 -07:00
Daniel Imms de143b552d Merge pull request #1676 from Tyriar/1671_dom_renderer_stable
Make the DOM renderer stable
2018-09-14 09:35:02 -07:00
jerch d37a8ce539 Merge pull request #1678 from jerch/fix_linkifier
Improve unicode string handling in linkifier
2018-09-14 18:28:46 +02:00
Daniel Imms 2f66ec452c 💄 2018-09-14 08:35:14 -07:00
Jörg Breitbart 4b68976dfb hide regex error behind debug flag 2018-09-14 15:43:29 +02:00
Jörg Breitbart 3143ad7f02 Merge branch 'master' into fix_linkifier 2018-09-14 14:52:35 +02:00
Jörg Breitbart 631e331077 fix test cases 2018-09-14 14:48:41 +02:00
Jörg Breitbart 70be55df75 test cases for getStringCellWidth 2018-09-14 14:46:57 +02:00
Jörg Breitbart 14c20c5f32 simplify stringIndexToBufferIndex, fix docs 2018-09-14 14:19:25 +02:00
Jörg Breitbart 57bbbda7e8 rename stringWidth; add some comments 2018-09-14 14:15:27 +02:00
Jörg Breitbart 8664f54a76 rename contents to iterator 2018-09-14 13:22:02 +02:00
Jörg Breitbart 9514bfd31c cleanup BufferStringIterator 2018-09-14 13:15:35 +02:00
Jörg Breitbart 9ce2894353 remove toArray; interface type for iterator result 2018-09-14 12:59:56 +02:00
Daniel Imms 5c873c1ce2 Merge pull request #1664 from alexr00/alexr00/searchWord
Added search support for 'match whole word'
2018-09-13 20:38:22 -07:00
Daniel Imms 4d4d9914a8 Merge branch 'master' into alexr00/searchWord 2018-09-13 20:32:05 -07:00
Daniel Imms a19673d835 Merge branch 'master' into 1671_dom_renderer_stable 2018-09-13 20:31:55 -07:00
Daniel Imms f7dbadc79b Merge branch 'master' into 1674_watch_addons 2018-09-13 20:31:53 -07:00
Daniel Imms 50d600877c Use common TestTerminal for writeSync across Buffer/Linkifier test 2018-09-13 19:54:53 -07:00
Daniel Imms cd2ac929c3 💄 2018-09-13 19:44:02 -07:00
Daniel Imms 7401567856 Remove unsafe cast in Buffer.test.ts 2018-09-13 19:34:44 -07:00
Jörg Breitbart 69ab27004e Merge branch 'typedarray_BufferLine' of git+ssh://github.com/jerch/xterm.js into typedarray_BufferLine 2018-09-13 19:30:50 +02:00
Jörg Breitbart 65a528c18b Merge branch 'master' into typedarray_BufferLine 2018-09-13 19:18:37 +02:00
Jörg Breitbart a8d9c92ae1 make linter happy 2018-09-13 19:03:57 +02:00
Jörg Breitbart bd68853575 Merge branch 'master' into fix_linkifier 2018-09-13 19:01:31 +02:00
Daniel Imms 69a6c04620 Merge pull request #1687 from xtermjs/Tyriar-patch-1
Use new domain for azure pipelines
2018-09-13 08:50:49 -07:00
Daniel Imms 68766d540f Use new domain for azure pipelines 2018-09-13 08:19:59 -07:00
Daniel Imms a09e6a6238 Merge pull request #1681 from xtermjs/azure-pipelines
Set up CI with Azure Pipelines
2018-09-13 08:07:40 -07:00
Jörg Breitbart 30f74bf5f3 cover & comment right border trim behavior to be fixed 2018-09-13 16:20:37 +02:00
Jörg Breitbart 2708a76501 fix next() invocation; handle wild matches 2018-09-13 15:44:26 +02:00
Jörg Breitbart c8c22e3ddf docs 2018-09-13 14:30:11 +02:00
Alex Ross 7fc1fd947f Added search support for 'match whole word' 2018-09-12 09:30:34 -07:00
Jörg Breitbart 7e69c5d0db apply linkifier only to rows in viewport 2018-09-12 15:37:05 +02:00
Jörg Breitbart 0068c477b9 Merge branch 'master' into fix_linkifier 2018-09-12 15:05:12 +02:00
Daniel Imms 74474da7f3 Merge pull request #1663 from alexr00/alexr00/caseSearch
Added optional case sensitive searching
2018-09-11 22:35:12 -07:00
Daniel Imms e6e079bfa1 Merge branch 'master' into alexr00/caseSearch 2018-09-11 22:29:01 -07:00
Daniel Imms 7dc8118367 Merge pull request #1682 from alexr00/alexr00/spaceTrimming
Fixed translateBufferLineToStringWithWrap to correctly not remove spaces in the middle of a multiline wrapped string
2018-09-11 22:25:52 -07:00
Alex Ross 5aa6656971 Added test and fixed uncovered buy 2018-09-11 16:29:11 -07:00
Alex Ross 8979eea810 Fixed translateBufferLineToStringWithWrap to correctly not remove spaces in the middle of a multiline wrapped string 2018-09-11 16:12:53 -07:00
Alex Ross 7d2bdacf77 Added test case for when regex and case sensitive are both selected 2018-09-11 15:48:24 -07:00
Daniel Imms 1edc732c55 Use new Azure Pipelines badge 2018-09-11 11:34:47 -07:00
Daniel Imms e03c93fb81 Install yarn using installer task 2018-09-11 00:19:42 -07:00
Daniel Imms d23c65d1db Symlink yarn to /usr/bin 2018-09-11 00:09:36 -07:00
Daniel Imms 07b5bd0b64 Echo path 2018-09-11 00:04:27 -07:00
Daniel Imms 35483b3bf4 Source bashrc after yarn install 2018-09-11 00:00:33 -07:00
Daniel Imms 6ebf17bf04 Export yarn path 2018-09-10 23:53:45 -07:00
Daniel Imms 5d37a17383 Install latest yarn with install script
Avoids dpkg lock flakes
2018-09-10 23:49:52 -07:00
Daniel Imms dade9ba050 Simplify steps 2018-09-10 23:17:03 -07:00
Daniel Imms 5909885d43 Download and install yarn directly from deb 2018-09-10 23:10:42 -07:00
Daniel Imms 0446cf3aee Install yarn manually on Linux 2018-09-10 23:04:33 -07:00
Daniel Imms 3a97dbecde Add more platforms, build out script 2018-09-10 23:01:18 -07:00
azure-pipelines[bot] c88bc62ff9 Set up CI with Azure Pipelines 2018-09-11 05:53:14 +00:00
Jörg Breitbart a2bfbeaa74 Merge branch 'master' into fix_linkifier 2018-09-10 23:54:44 +02:00
Alex Ross ade3e0943c Fixed a merge mistake 2018-09-10 13:54:29 -07:00
Alex Ross 16de86f5ea Fixed an unintentionally capitalized i 2018-09-10 13:50:35 -07:00
Alex Ross fed579238a Added optional case sensitive searching 2018-09-10 13:45:29 -07:00
Daniel Imms 11426bb0d0 Merge pull request #1662 from alexr00/alexr00/searchWrapped
Added support for searching accross wrapped lines
2018-09-10 12:26:52 -07:00
Daniel Imms 5e004b21a3 Disallow the empty string from being selected by find 2018-09-10 12:17:17 -07:00
Daniel Imms b2ba281916 Fix references in demo to addons 2018-09-10 12:09:26 -07:00
Alex Ross bcf223e235 Fixed merge errors 2018-09-10 10:43:03 -07:00
Alex Ross d5c17a0cc9 Added one more test case 2018-09-10 10:25:23 -07:00
Alex Ross 54ed988fd1 Fixed issues around searching lines twice and considering a wrapped line both it's own line and part of the previous line. 2018-09-10 10:25:23 -07:00
Alex Ross 1460a34796 Added another test case and fixed the multi-line issue that uncovered 2018-09-10 10:22:12 -07:00
Alex Ross bc156294aa Udated comment 2018-09-10 10:20:32 -07:00
Alex Ross 09028d4d86 Added support for searching accross wrapped lines 2018-09-10 10:20:31 -07:00
Jörg Breitbart c35306aaa6 handle unicode within a match; test cases 2018-09-10 17:47:29 +02:00
Jörg Breitbart 3289eed2a2 merge master 2018-09-10 16:17:41 +02:00
Jörg Breitbart a76d4a6055 fix multiple row linkifier attempts; tests for unicode before a match 2018-09-10 16:10:41 +02:00
Daniel Imms 12e38404a2 Merge pull request #1672 from Tyriar/demo_lint
Fix lint in demo
2018-09-09 16:38:14 -07:00
Jörg Breitbart 08af72be1a linter errors 2018-09-10 01:13:21 +02:00
Jörg Breitbart daa6fa0a66 change Linkifier._doLinkifyRow 2018-09-10 00:40:29 +02:00
Jörg Breitbart 4aa8e402a4 fix MockBuffer 2018-09-09 22:21:00 +02:00
Jörg Breitbart a494e80a9f BufferStringIterator 2018-09-09 22:17:49 +02:00
Jörg Breitbart a8fe4107a3 Buffer.stringIndexToBufferIndex method 2018-09-09 21:18:33 +02:00
Daniel Imms 6c2acd6e34 Fix reference to new setting 2018-09-09 08:00:05 -07:00
Daniel Imms f2049694c8 Make the DOM renderer stable
Also updated the list of features which are not supported now. Note
that this may be moved to an addon eventually, this can be part of a
major release rather than included in the comment.

Fixes #1671
2018-09-09 07:38:38 -07:00
Daniel Imms e59fef87cc Split addon watch into watch-addons
Fixes #1674
2018-09-09 07:33:13 -07:00
Daniel Imms d943a5c890 Run tslint on the demo
Fixes #1673
2018-09-09 07:28:22 -07:00
Daniel Imms 715c078b6d Fix lint in demo 2018-09-09 07:22:18 -07:00
Daniel Imms 7447a8d08d Rename setting to experimentalBufferLineImpl, expose in d.ts 2018-09-09 07:20:13 -07:00
Daniel Imms f9717bc635 Merge pull request #1670 from Tyriar/1669_linkifier_exception
Fallback on default color when linkifier can't find the character
2018-09-09 07:00:45 -07:00
Daniel Imms 7ef18cca1e Merge pull request #1646 from peacefullatom/add-tests-for-events
#900 Add tests for events on Terminal
2018-09-08 14:15:56 -07:00
Daniel Imms c291ab1058 Remove failing refresh test 2018-09-08 14:04:04 -07:00
Daniel Imms d4d1426bff Merge branch 'master' into typedarray_BufferLine 2018-09-08 13:47:06 -07:00
Daniel Imms 25e0e97ef2 Merge branch 'master' into add-tests-for-events 2018-09-08 13:44:57 -07:00
jerch 0f28ccb093 Merge pull request #1668 from jerch/fix_demo
add explicit type to demo/client.ts
2018-09-08 22:10:51 +02:00
Daniel Imms f4bb4a22d4 Fallback on default color when linkifier can't find the character
This probably doesn't fix the underlying problem, but it will make it
obvious by using the white background color and more easily help identify
the problem case.

Fixes #1669
2018-09-08 13:01:59 -07:00
Jörg Breitbart a754f37209 fix conditions in Buffer.setBufferLineFactory 2018-09-08 18:02:59 +02:00
Jörg Breitbart d4f7c6bcf5 rename to copyFrom; use _push for JSArray based bufferline 2018-09-08 17:51:22 +02:00
Jörg Breitbart 4eede85ef6 fixes #1667 2018-09-08 17:26:19 +02:00
Jörg Breitbart bc943b7b57 merge with 3.7 2018-09-08 16:54:10 +02:00
Daniel Imms bdb6647ae0 Merge pull request #1652 from Tyriar/1337_project_refs_prep
Preparation for project references
2018-09-08 02:59:26 -07:00
Daniel Imms 0d89fcdeeb Merge pull request #1648 from Tyriar/webpack_demo
Improve demo build task
2018-09-08 02:58:58 -07:00
Daniel Imms 4ffc076f84 Merge pull request #1661 from Hindol/fix/1640
Add support for block and underline style cursor in DOM rendering mode
2018-09-08 02:53:51 -07:00
Daniel Imms 2ed3997aaa Merge pull request #1651 from xtermjs/Tyriar-patch-1
Move tslint prefer-const with the other core rules
2018-09-08 02:52:05 -07:00
Daniel Imms a0f9768fe8 Merge remote-tracking branch 'ups/master' into webpack_demo 2018-09-08 02:51:07 -07:00
Daniel Imms 8b334b01a6 Merge branch 'master' into 1337_project_refs_prep 2018-09-08 02:50:45 -07:00
Daniel Imms c6029765a4 Merge branch 'master' into Tyriar-patch-1 2018-09-08 02:50:39 -07:00
Daniel Imms 520dacac27 Merge pull request #1666 from alexr00/alexr00/searchRegex
Added support for searching by regular expression
2018-09-08 02:50:18 -07:00
Daniel Imms dcc1b7a3e3 Merge branch 'master' into webpack_demo 2018-09-08 02:49:36 -07:00
Daniel Imms 27c3663470 Bump version to 3.7.0 2018-09-08 02:38:05 -07:00
Daniel Imms 599271bde4 Make search option props optional, test optional typings 2018-09-08 02:10:02 -07:00
Hindol Adhya 2716413e66 Updates as per code review comments
Getting rid of the ICursorOptions interface to improve performance
2018-09-08 13:20:31 +05:30
Alex Ross e5465841f8 Responded to feedback and fixed the returned found term 2018-09-07 15:29:51 -07:00
Alex Ross 03e54cce7d Added regex search test 2018-09-07 11:01:08 -07:00
Alex Ross 88205511e6 Added support for searching by regular expression 2018-09-07 09:47:15 -07:00
Hindol Adhya 374a8b70eb Add support for block and underline style cursor in DOM rendering mode 2018-09-06 21:27:35 +05:30
Jörg Breitbart c8b8e39dde move blankLine to Buffer 2018-09-04 22:19:10 +02:00
peacefullatom 48cf73c152 rewrote to async 2018-09-05 01:11:23 +05:00
peacefullatom 1dc88d2e29 Merge remote-tracking branch 'upstream/master' into add-tests-for-events 2018-09-05 01:08:57 +05:00
Jörg Breitbart 7873598a41 rename BufferLineJsArray as BufferLine 2018-09-04 21:41:00 +02:00
Daniel Imms 7c1b1e2eb8 Fix strict null checks in ./common
Part of #1319
2018-09-04 09:56:29 -07:00
Jörg Breitbart 2877c0da80 switch for BufferLineJsArray vs BufferLineTypedArray 2018-09-04 18:20:01 +02:00
Daniel Imms fb72f25067 Merge branch 'master' into 1337_project_refs_prep 2018-09-04 08:04:39 -07:00
Daniel Imms 3618c6495b typescript@3.0 2018-09-04 08:02:47 -07:00
Daniel Imms 443b2dbc28 Have common only reference within common
Part of #1337
2018-09-04 08:01:04 -07:00
Daniel Imms 53e995a2d8 Add dom lib to typings-test 2018-09-04 07:38:52 -07:00
Daniel Imms 53193d0a47 Use es6 in typings test 2018-09-04 07:34:13 -07:00
Jörg Breitbart 165c8d4522 convenient methods fill, makeCopyOf and clone for BufferLine 2018-09-04 16:30:17 +02:00
Daniel Imms 92341c3e7b Merge branch 'master' into webpack_demo 2018-09-04 06:56:06 -07:00
Jörg Breitbart 02672dc22e Merge branch 'master' into typedarray_BufferLine 2018-09-04 15:05:13 +02:00
Daniel Imms 57b8e064a8 Move tslint prefer-const with the other core rules
The ones at the bottom are separated as they're part of tslint-consistent-codestyle
2018-09-02 13:43:37 -07:00
jerch 3a310f1597 Merge pull request #1649 from jerch/fix_search_addon
Fix broken search addon
2018-09-02 22:00:25 +02:00
Jörg Breitbart 4d0217f816 Merge branch 'fix_search_addon' of https://github.com/jerch/xterm.js into fix_search_addon 2018-09-02 21:46:44 +02:00
Jörg Breitbart 559e932a2e remove comment and setTimeout 2018-09-02 21:46:20 +02:00
Jörg Breitbart aa427010e1 Merge branch 'master' into fix_search_addon 2018-09-02 21:38:42 +02:00
jerch 1aec57e8c0 Merge pull request #1645 from jerch/fix_convertEol
fix convertEol option
2018-09-02 21:19:19 +02:00
peacefullatom cbbf6bd654 Merge branch 'master' into add-tests-for-events 2018-09-02 22:50:45 +05:00
Daniel Imms 33b65bbfaa Merge branch 'master' into fix_convertEol 2018-09-02 10:42:02 -07:00
Daniel Imms 8e39650b5f Merge branch 'master' into fix_search_addon 2018-09-02 10:34:22 -07:00
Daniel Imms f148238117 Merge pull request #1638 from Tyriar/duplicate_tslint
Remove duplicate triple-equals rule
2018-09-02 10:32:23 -07:00
Jörg Breitbart 6057586ff3 fixes #1647 2018-09-02 17:52:56 +02:00
Daniel Imms e2267fce92 Remove old webpack.config.js 2018-09-01 19:57:51 -07:00
Daniel Imms 784a142dac Remove old gulp tasks 2018-09-01 19:50:45 -07:00
Daniel Imms 71aa7027bd Use new script for yarn start 2018-09-01 19:48:06 -07:00
Daniel Imms ca76ebc396 Remove todo 2018-09-01 17:34:52 -07:00
Daniel Imms 54187b3597 Fix build by adding es6 lib
Targets are still es5, es6 is needed for @types/webpack to parse
2018-09-01 17:03:02 -07:00
Daniel Imms d58f5cac01 Type Terminal 2018-09-01 16:48:55 -07:00
Daniel Imms b3e8980270 Convert demo client to TS 2018-09-01 16:34:07 -07:00
Daniel Imms 4d14e00034 Add webpack dependencies, update to webpack 4 2018-09-01 16:22:56 -07:00
Daniel Imms e75578440e Improve demo webpack build 2018-09-01 16:22:27 -07:00
peacefullatom 70afb13c9b #900 Add tests for events on Terminal 2018-09-02 02:31:26 +05:00
Daniel Imms 6a2c4b9823 Merge branch 'master' into duplicate_tslint 2018-09-01 09:58:58 -07:00
Daniel Imms e2cfd94005 Merge pull request #1607 from Tyriar/444_viewport_sync
Only sync viewport in an animation frame
2018-09-01 09:58:34 -07:00
Daniel Imms 9fe8ea8de2 Merge branch 'master' into duplicate_tslint 2018-09-01 09:50:57 -07:00
Daniel Imms 46311b87a2 Merge pull request #1602 from xtermjs/Tyriar-patch-1
Add link to running the demo from CONTRIBUTING.md
2018-09-01 09:48:31 -07:00
Daniel Imms 692ca1c9a3 Merge branch 'master' into duplicate_tslint 2018-09-01 09:47:26 -07:00
Daniel Imms bf5c1f0f78 Merge branch 'master' into 444_viewport_sync 2018-09-01 09:47:09 -07:00
Daniel Imms 467a93c8d9 Fix typo/grammar/line width 2018-09-01 09:34:01 -07:00
Daniel Imms 3841edadb5 Merge pull request #1644 from Tyriar/1642-disposable-jsdoc
Document addDisposableListener
2018-08-31 21:19:41 -07:00
Jörg Breitbart 76edd8a3bb fix error in resize 2018-09-01 05:31:32 +02:00
Jörg Breitbart 284b083274 note on copy on data access 2018-09-01 02:10:11 +02:00
Jörg Breitbart f9453ef4fa rename fill to fillCharData 2018-09-01 00:50:40 +02:00
Jörg Breitbart 024404f548 make cols mandatory in BufferLine ctor 2018-09-01 00:18:52 +02:00
Jörg Breitbart dc332480cc fix convertEol option 2018-08-31 23:02:05 +02:00
Daniel Imms a194263183 Document addDisposableListener
Part of #1642
2018-08-31 12:02:54 -07:00
Jörg Breitbart f3561fad30 cleanup 2018-08-31 17:51:47 +02:00
Jörg Breitbart 3f2605f35c typed array based BufferLine 2018-08-31 17:45:32 +02:00
Jörg Breitbart d1f6798e75 Merge branch 'buffer_preparations' into buffer_preparations_part2 2018-08-31 04:41:57 +02:00
Jörg Breitbart 841a33be28 remove push/pop/splice calls to BufferLine 2018-08-31 04:40:08 +02:00
jerch dd7081f948 Merge pull request #1632 from jerch/buffer_preparations
buffer redesign - `BufferLine` implementation and cleanups
2018-08-31 01:49:05 +02:00
Daniel Imms 999fce4e52 Remove test only functions from InputHandler.s 2018-08-30 16:22:30 -07:00
Jörg Breitbart 0d49d1f64d set DEFAULT_CELL explicit in ctor and remove the global const value 2018-08-30 21:12:55 +02:00
Jörg Breitbart 11df1e1d80 make sure DEFAULT_CELL gets not overwritten by accident 2018-08-30 21:03:30 +02:00
Jörg Breitbart a74ca25b09 cleanup spaces and comments in InputHandler 2018-08-30 20:29:23 +02:00
Jörg Breitbart 32231dcd41 remove static DefaultCell 2018-08-30 20:27:52 +02:00
Jörg Breitbart 04a847f0e2 merge with master 2018-08-30 18:12:48 +02:00
Jörg Breitbart 276e65fa0b move erase methods to InputHandler 2018-08-30 18:10:18 +02:00
Jörg Breitbart a1421b151e cleanup BufferLine.ts 2018-08-30 17:58:37 +02:00
Jörg Breitbart 71f5965f8e move to BufferLine.ts 2018-08-30 17:55:04 +02:00
Jörg Breitbart 59fc4af9a0 IBufferLine interface 2018-08-30 17:52:45 +02:00
Daniel Imms 381e6c1740 Move defaultCell to an exported member 2018-08-30 07:57:03 -07:00
Jörg Breitbart 9a54cf639b Merge branch 'master' into buffer_preparations 2018-08-29 23:19:14 +02:00
Jörg Breitbart 01a4ec21da make linter happy 2018-08-29 22:41:24 +02:00
Jörg Breitbart a65bd1a77c Merge branch 'buffer_preparations' of https://github.com/jerch/xterm.js into buffer_preparations 2018-08-29 22:37:19 +02:00
Jörg Breitbart 6439f6e856 regression tests for changes in InputHandler 2018-08-29 22:37:01 +02:00
Daniel Imms d24caf14a4 Merge branch 'master' into 444_viewport_sync 2018-08-29 10:27:20 -07:00
Daniel Imms 52f132a570 Clean up buffer tests 2018-08-28 14:29:18 -07:00
Jörg Breitbart 424d3257d1 set conditional blocks in brackets 2018-08-28 02:34:46 +02:00
Daniel Imms f47f095b89 Merge pull request #1636 from peacefullatom/fix-crosshair
Fix crosshair
2018-08-27 10:22:53 -07:00
Jörg Breitbart de26be56c1 change type of IPartialLineData 2018-08-27 17:11:40 +02:00
Jörg Breitbart f964a34b34 explicit member visibility 2018-08-27 17:01:30 +02:00
Jörg Breitbart 6576d513b0 fix index access to cell in winptyCompat 2018-08-27 16:53:58 +02:00
Daniel Imms 4af2d1ed41 Remove duplicate triple-equals rule 2018-08-27 07:26:00 -07:00
peacefullatom 9e27c231e5 Merge branch 'master' into fix-crosshair 2018-08-27 12:04:23 +05:00
Daniel Imms ae3684c897 Merge pull request #1634 from angersson/master
Add shellvault.io to README.md
2018-08-26 17:52:19 -07:00
Jörg Breitbart d4c621a182 more TerminalLine tests 2018-08-26 19:59:16 +02:00
Jörg Breitbart 9c68eb3b11 move line content functions to TerminalLine 2018-08-26 19:24:49 +02:00
Jörg Breitbart 77cb697990 remove <any> casts for .isWrapped 2018-08-26 16:04:52 +02:00
Jörg Breitbart cee432a66a TerminalLine ctor parameters; tests 2018-08-26 15:50:00 +02:00
Jörg Breitbart a553415216 remove blankLine from Terminal 2018-08-26 14:35:28 +02:00
Jörg Breitbart cd8477a942 move blankLine to TerminalLine 2018-08-26 14:27:38 +02:00
Austin Anderson 811b3cc326 Add Shellvault to readme 2018-08-25 21:36:58 -07:00
Jörg Breitbart a99cac45f7 fix import errors 2018-08-25 22:56:15 +02:00
Jörg Breitbart 3d34881c4e rebase to master 2018-08-25 22:43:15 +02:00
Jörg Breitbart 0340d91150 first step to buffer redesign: class TerminalLine; discourage low level index access to cells 2018-08-25 22:41:42 +02:00
Jörg Breitbart 5c3315251b first step to buffer redesign: class TerminalLine; discourage low level index access to cells 2018-08-25 20:58:50 +02:00
Daniel Imms e769e787a8 Merge pull request #1626 from peacefullatom/fix-underline-color
#957 Link underline should be the same as FG color
2018-08-24 14:49:40 -07:00
peacefullatom 96ed32698b fix 1629 Crosshair cursor doesn't go away after hitting alt+tab 2018-08-25 00:06:44 +05:00
peacefullatom e66928da20 Merge branch 'fix-underline-color' of https://github.com/peacefullatom/xterm.js into fix-underline-color 2018-08-24 22:48:50 +05:00
peacefullatom c762885c4b Merge branch 'master' of https://github.com/xtermjs/xterm.js into fix-underline-color 2018-08-24 22:36:12 +05:00
Yuriy Markov 63ced6f302 Merge branch 'master' into fix-underline-color 2018-08-24 22:35:39 +05:00
Daniel Imms 82f6547f10 Merge pull request #1628 from princjef/triple-equals
Enforce strict equality through tslint
2018-08-24 07:49:30 -07:00
Jeff Principe 841a0e010d Merge branch 'master' into triple-equals 2018-08-23 20:59:30 -07:00
Yuriy Markov 85f25e77f5 Merge branch 'master' into fix-underline-color 2018-08-24 01:46:30 +05:00
Daniel Imms 2adaed87d1 Merge pull request #1624 from princjef/first-line-render
Only render first line when requested
2018-08-23 09:53:33 -07:00
peacefullatom 4c93d8ddaa Merge branch 'master' into fix-underline-color 2018-08-23 16:25:32 +05:00
Jeff Principe b35fa9576e Enforce strict equality through tslint 2018-08-22 19:36:40 -07:00
Jeff Principe 091c42f7e6 only render first line when requested 2018-08-22 19:10:56 -07:00
peacefullatom 6601133912 #957 Link underline should be the same as FG color 2018-08-23 04:24:10 +05:00
Daniel Imms 9273e8175e Merge pull request #1621 from xtermjs/Tyriar-patch-2
Fix license
2018-08-21 15:59:27 -07:00
Daniel Imms cd75d6fb68 Merge pull request #1622 from Tyriar/1620_row_render
Prevent whole viewport from refreshing
2018-08-21 15:59:13 -07:00
Daniel Imms 01bfa1df4b Merge pull request #1619 from meefik/patch-1
Bug with receive the result from FileReader
2018-08-21 15:34:40 -07:00
Daniel Imms 123e074c16 Merge branch 'master' into 1620_row_render 2018-08-21 15:15:42 -07:00
Daniel Imms 929150a8e1 Prevent whole viewport from refreshing
Fixes #1620
2018-08-21 15:13:27 -07:00
Daniel Imms e3eb1b81b3 Fix license 2018-08-21 12:29:46 -07:00
Anton Skshidlevsky 04c4448f97 Bug with receive the result from FileReader
Incorrect variable "this" must be replace to fileReader.
2018-08-18 15:36:51 +03:00
Daniel Imms 0e45909c7e Merge pull request #1613 from shroudedcode/support-not-italic
Add support for the "Not italic" escape code
2018-08-14 11:33:39 -07:00
Niklas Higi 44366ffd3c Add support for the "Not italic" escape code 2018-08-14 12:29:12 +02:00
Daniel Imms 49cf1a2cea Merge pull request #1610 from princjef/typings-no-emit
Stop typescript from emitting output files in typings test
2018-08-10 19:47:18 -07:00
Daniel Imms 86800d2d71 Bump version to 3.6.0 2018-08-10 19:28:06 -07:00
Daniel Imms 41fdc9071a Update AUTHORS 2018-08-10 19:27:16 -07:00
Jeff Principe 14d75364eb Stop typescript from emitting output files in typings test 2018-08-09 19:44:25 -07:00
Daniel Imms 2127128ef5 Only sync viewport in an animation frame
Fixes #444
2018-08-09 12:19:37 -07:00
Daniel Imms 95ebba6fdb Add link to running the demo from CONTRIBUTING.md 2018-08-07 19:32:30 -07:00
Daniel Imms ff63d3eb23 Merge pull request #1601 from segevfiner/source-map-loader
Add source-map-loader to webpack config
2018-08-07 14:11:08 -07:00
Daniel Imms 05b8ef1727 Merge pull request #1599 from 7PH/master
#1591: Fix bold inverted text displayed with wrong color
2018-08-07 14:07:32 -07:00
Segev Finer 458f2d8bf1 Add source-map-loader to webpack config
This makes source maps work in the demo
2018-08-07 22:39:09 +03:00
PowerHat 87a84b608c #1591: Fix bold inverted text displayed with wrong color 2018-08-06 22:41:57 +02:00
Daniel Imms dd7a9c3b7a Merge pull request #1594 from Tyriar/1593_column_select
Fix bug in column selection rendering
2018-08-06 12:32:35 -07:00
Daniel Imms d1ca0d7839 Merge branch 'master' into 1593_column_select 2018-08-06 11:33:59 -07:00
Daniel Imms 3419480b98 Merge pull request #1586 from Tyriar/1579_emit_pos_directly
Report device status directly via emit
2018-08-06 11:26:15 -07:00
Daniel Imms a003a0c585 Merge remote-tracking branch 'origin/master' into 1579_emit_pos_directly 2018-08-06 11:21:35 -07:00
Daniel Imms e3dfe4bc32 Merge branch 'master' into 1593_column_select 2018-08-06 11:17:52 -07:00
Daniel Imms c9ec7aa215 Fix flickering when dragging below viewport 2018-08-06 11:17:28 -07:00
Daniel Imms 7675be7da3 Fix dragging when in column selection mode 2018-08-06 11:13:56 -07:00
Daniel Imms 1a03b703f1 Merge pull request #1578 from Tyriar/1567_npe
Fix NPE in InputHandler.parse
2018-08-06 07:31:28 -07:00
Daniel Imms 9165581266 Merge branch 'master' into 1593_column_select 2018-08-06 07:24:46 -07:00
Daniel Imms 6a770296f9 Add tests for Dispoable 2018-08-06 07:22:32 -07:00
Daniel Imms cbfb99a5cf Move _isDisposed to Disposable class 2018-08-06 07:16:51 -07:00
Daniel Imms bae3f64c10 Merge branch 'master' into 1567_npe 2018-08-06 07:14:33 -07:00
Daniel Imms 7c7102d8a6 Merge pull request #1556 from xtermjs/Tyriar-patch-1
Add pointer to .d.ts and mention addon CSS
2018-08-06 07:13:21 -07:00
Daniel Imms 8e9ba23227 Merge pull request #1598 from xtermjs/remove_travis
Remove Travis CI badge
2018-08-06 07:12:35 -07:00
Daniel Imms 1d91e3c5bf Merge pull request #1597 from Tyriar/1596_a11y_npe
Fix NPE in AccessibilityManager
2018-08-06 07:12:23 -07:00
Daniel Imms 45d4622920 Merge pull request #1590 from Tyriar/1589_swap_renderer
Allow renderer to be swapped in and out at runtime
2018-08-06 07:08:40 -07:00
Daniel Imms b7da4b6bfe Merge pull request #1588 from Tyriar/1584_use_const
Use const for null cell
2018-08-06 07:08:21 -07:00
Daniel Imms fdf51c119b Merge pull request #1585 from Tyriar/1571_dbl_click_wrapped
Make double click select word aware of wrapped lines
2018-08-06 07:06:45 -07:00
Daniel Imms 6de8c91059 Merge pull request #1583 from Tyriar/remove_jsdoc_types
Remove jsdoc types
2018-08-06 07:06:29 -07:00
Daniel Imms 490f0ad329 Remove Travis CI badge 2018-08-03 19:20:21 -07:00
Daniel Imms 882aea357f Fix NPE in AccessibilityManager
Fixes #1596
2018-08-03 11:10:51 -07:00
Daniel Imms d8eedfa1c7 Fix bug in column selection rendering
Fixes #1593
2018-07-31 10:56:37 -07:00
Daniel Imms 90e57c9b3c Merge branch 'master' into 1571_dbl_click_wrapped 2018-07-29 19:12:07 -07:00
Daniel Imms a269e7f5d9 Merge pull request #1569 from Tyriar/1505_deprecate_emit
Deprecate Terminal.emit
2018-07-29 19:11:15 -07:00
Daniel Imms 4a3c1a4cc6 Store theme in right place 2018-07-29 14:25:55 -07:00
Daniel Imms 804cb36adc Retain theme when renderers are swapped 2018-07-29 14:17:25 -07:00
Daniel Imms 5aaf9ef11b Allow renderer to be swapped in and out at runtime
Fixes #1589
2018-07-29 13:50:45 -07:00
Daniel Imms c65dd1f476 Use const for null cell
Fixes #1584
2018-07-29 13:05:27 -07:00
Daniel Imms 05f136b3da Add link to GitHub dependents to real world uses 2018-07-28 12:42:11 -07:00
Daniel Imms 1c4cb8c620 Reinstate IInputHandlingTerminal
Fixes #1587
2018-07-27 11:46:09 -07:00
Daniel Imms fec66c7dac Remove Terminal.send 2018-07-27 11:32:11 -07:00
Daniel Imms e82f78fc84 Merge branch 'master' into 1571_dbl_click_wrapped 2018-07-26 12:28:37 -07:00
Daniel Imms 67d6ad57c3 Add tests 2018-07-26 12:23:34 -07:00
Daniel Imms 48f1c4667a Fix select to word upwards 2018-07-26 11:30:49 -07:00
Daniel Imms 6a9da97163 Cover select to word downwards 2018-07-26 11:15:34 -07:00
Daniel Imms 7b68cb9fe7 Support double click select word over wrapped lines
Part of #1571
2018-07-26 11:09:29 -07:00
Daniel Imms 6691f80906 Merge pull request #1581 from Tyriar/exp_api
Add note in readme about API/experimental API
2018-07-25 17:53:22 -07:00
Daniel Imms bdfe877c8f Remove jsdoc types
They're redundant in TS/tsdoc
2018-07-24 08:59:20 -07:00
Daniel Imms ee3668eb03 Report device status directly via emit
Fixes #1579
2018-07-24 08:40:51 -07:00
Daniel Imms 4a443c4a45 Move API section to getting started, above addons 2018-07-24 06:30:18 -07:00
Daniel Imms d964c23c43 Add note in readme about API/experimental API 2018-07-24 06:27:05 -07:00
Daniel Imms 20d4c64ffe Make write/_innerWrite aware of terminal disposal 2018-07-23 15:37:04 -07:00
Daniel Imms bf3709f4c5 Fix NPE in InputHandler.parse
Fixes #1567
2018-07-23 15:29:45 -07:00
Daniel Imms 8f22d8dda4 Merge pull request #1574 from vincentwoo/patch-1
refreshRowElements argument order was flipped
2018-07-19 08:14:08 -07:00
Vincent Woo 0f6a8d3991 refreshRowElements argument order was flipped
This is potentially a fix for #1573 but I have not tested.
2018-07-18 17:55:59 -07:00
Daniel Imms 5b8da8c89a Merge pull request #1570 from nikonso/fix-1509
Prevent Uncaught TypeError  - Cannot read property 'isWrapped' on Linkifier
2018-07-17 08:43:08 -07:00
Bruno Ribeito f2e5ea5783 Remove unnecessary get line 2018-07-16 21:11:35 +01:00
Bruno Ribeito cb888c343e break instead of returning 2018-07-15 19:48:16 +01:00
Bruno Ribeito 18f37440dc Prevent Uncaught TypeError
- Cannot read property 'isWrapped' on Linkifier
2018-07-15 19:36:49 +01:00
Daniel Imms 3582f8733d Deprecate emit
Part of #1505
2018-07-14 10:46:55 -07:00
Daniel Imms b84dba2e8d Merge pull request #1566 from Tyriar/1565_charset_fix
Fix charset drawing
2018-07-12 08:45:21 -07:00
Daniel Imms 61fc4ca8a6 Fix charset drawing
Fixes #1565
2018-07-12 08:27:57 -07:00
Daniel Imms bbd234b951 Merge branch 'master' into Tyriar-patch-1 2018-07-10 18:26:31 -07:00
Daniel Imms 0545cfa121 Merge pull request #1563 from Tyriar/1562_yarn
Use yarn
2018-07-10 18:26:12 -07:00
Daniel Imms 26969b725e Merge branch 'master' into 1562_yarn 2018-07-10 17:47:23 -07:00
Daniel Imms eb31732af0 Merge pull request #1564 from Tyriar/remove_travis
Remove TravisCI
2018-07-10 17:47:05 -07:00
Daniel Imms 9c08f78017 Remove TravisCI 2018-07-10 17:33:37 -07:00
Daniel Imms 54dcbeb6cf Use yarn. 2018-07-10 17:25:39 -07:00
Daniel Imms a52aab4618 Merge pull request #1460 from princjef/character-joiner
Add optional character joiner
2018-07-10 17:01:20 -07:00
Daniel Imms 5f5a49995a Merge pull request #1555 from jerch/fix_out_of_bound_deopt
fix out of bound deopt in EscapeSequenceParser.parse
2018-07-10 17:00:58 -07:00
Daniel Imms ac7239732d Merge pull request #1558 from xtermjs/Tyriar-patch-2
Move developer documentation to the wiki
2018-07-10 17:00:25 -07:00
Daniel Imms 68d537fb28 Merge pull request #1561 from roke22/master
Add project that use xterm to the README file
2018-07-10 17:00:14 -07:00
Paris Kasidiaris 7c3bf3a130 Bump version to 3.5.0
Signed-off-by: Paris Kasidiaris <paris@sourcelair.com>
2018-07-10 16:01:25 +00:00
Daniel Imms 7ce071c575 Remove extra list item 2018-07-10 08:24:59 -07:00
Jose Anton 42f1aba00c Add project that use xterm to the README file 2018-07-10 16:20:58 +02:00
Daniel Imms dfb1b4db95 Move third party deps note to wiki 2018-07-09 09:25:35 -07:00
Daniel Imms 6900bbc07a Move developer documentation to the wiki 2018-07-09 09:24:07 -07:00
Daniel Imms d4b507ddb1 Inline private member to ctor 2018-07-09 07:05:12 -07:00
Daniel Imms 1bad71f13a Merge branch 'master' into character-joiner 2018-07-09 06:18:03 -07:00
Jeff Principe 63b3a6f323 Factor logic into registry, make matches cell-based and document 2018-07-08 11:30:54 -07:00
Jörg Breitbart ba7976f3b1 do while loop 2018-07-07 21:20:03 +02:00
Daniel Imms b5b350fdcf Add pointer to .d.ts and mention addon CSS
Part of #1554
2018-07-07 11:12:29 -07:00
Jörg Breitbart 87e292414d fix out of bound deopt in EscapeSequenceParser.parse 2018-07-07 12:46:51 +02:00
Daniel Imms 5620da49d8 Merge pull request #1553 from Tyriar/1552_selection_state
Include ydisp in selection state
2018-07-06 10:18:06 -07:00
Daniel Imms 3c8f336689 Include ydisp in selection state
Fixes #1552
2018-07-06 09:53:45 -07:00
Daniel Imms f1c9d37c83 Merge pull request #1547 from Tyriar/remove_parser
Remove the old parser
2018-07-05 07:40:15 -07:00
Daniel Imms 08603c7975 Merge branch 'master' into remove_parser 2018-07-05 07:40:06 -07:00
Daniel Imms 318dc6fcf6 Merge pull request #1537 from Tyriar/fix_typo
Fix typo
2018-07-05 07:39:48 -07:00
Daniel Imms 68adadf3f4 Remove the old parser 2018-07-04 10:34:53 -07:00
Daniel Imms 5e3ebbde5e Merge branch 'master' into character-joiner 2018-07-03 11:50:27 -07:00
Daniel Imms 6d9d2a3304 Merge remote-tracking branch 'origin/master' into pr/princjef/1460 2018-07-03 11:50:07 -07:00
Daniel Imms 73bc1c577a Merge pull request #1503 from Tyriar/998_mouse_off
Nullify and remove mouse handlers when mouse move it exited
2018-07-02 13:25:36 -07:00
Daniel Imms aec4c908d3 Merge remote-tracking branch 'origin/master' into 998_mouse_off 2018-07-02 13:22:28 -07:00
Daniel Imms 9aad2f7ca5 Merge pull request #1543 from nikonso/fix-SelectionRenderLayer-state
Fix SelectionRenderLayer._state
2018-07-02 09:23:01 -07:00
Daniel Imms af9d17760d Make columnSelectMode mandatory 2018-07-02 09:22:38 -07:00
Daniel Imms 4557f857f7 Merge pull request #1542 from nikonso/recreate-terminal
Add recreate terminal after disposing to the demo
2018-07-02 09:13:16 -07:00
Bruno Ribeito ed58c42513 Fix actions and styles 2018-07-01 22:50:08 +01:00
Bruno Ribeito 7e393dfa8c Move logic to helper function 2018-07-01 22:24:51 +01:00
Bruno Ribeiro 0a70b182a7 Merge branch 'master' into recreate-terminal 2018-07-01 20:35:15 +01:00
Bruno Ribeito 932a8d5028 Fix SelectionRenderLayer._state 2018-07-01 19:26:50 +01:00
Bruno Ribeito 054592520e Add recreate terminal after disposing to the demo 2018-07-01 18:56:58 +01:00
Daniel Imms 38debf77f8 Merge pull request #1538 from vsinha/column-select
Support for column/box selection
2018-06-30 10:20:38 -07:00
Daniel Imms 117c79e4e7 Polish 2018-06-30 10:11:48 -07:00
Viraj Sinha 3a4ad37177 Added mac platform check before we try to use mac specific config var 2018-06-29 20:19:18 -07:00
Viraj Sinha ace612e575 Fixes for merging column select 2018-06-29 20:15:17 -07:00
Daniel Imms e628a9be76 Fix emoji test 2018-06-29 11:25:17 -07:00
Daniel Imms 835d5a16ea Fix build after merge 2018-06-29 11:17:45 -07:00
Viraj Sinha 169cbb3fca Merge branch 'master' into column-select 2018-06-28 15:59:27 -07:00
Viraj Sinha 2669576b6c Adds a toggle to disable column selections on mac 2018-06-28 15:56:25 -07:00
Viraj Sinha 3202ddc96d Adds support for column selections if holding alt on mac and shift on windows/linux 2018-06-28 15:55:44 -07:00
Daniel Imms 35ee3610f7 Add missing new line back 2018-06-28 13:25:54 -07:00
Daniel Imms 45f5a710d6 Merge branch 'master' into fix_typo 2018-06-28 13:25:12 -07:00
Daniel Imms 1395b0f03c Merge pull request #1525 from Tyriar/1518_memory
Ensure all references are released when Terminal.dispose is called
2018-06-28 13:21:27 -07:00
Daniel Imms 38efb1a02d Merge branch 'master' into fix_typo 2018-06-28 13:00:34 -07:00
Daniel Imms 22308fb37c Fix typo 2018-06-28 12:59:53 -07:00
Daniel Imms 100143bd02 Merge branch 'master' into 1518_memory 2018-06-28 10:29:07 -07:00
Daniel Imms 8c20a2e26b Merge pull request #1535 from 7PH/master
#1532: 'Reset to Initial State' (RIS) escape sequence no longer makes the cursor disappear
2018-06-27 07:09:49 -07:00
Daniel Imms e24dca3e29 Send mousemove events when x10Mouse is true 2018-06-26 07:26:14 -07:00
7PH 218a4014c7 #1532: Add test to ensure terminal reset does not display cursor if hidden before 2018-06-26 10:42:08 +02:00
7PH 0ad7b8e27b #1532: Add test to ensure terminal reset does not affect cursorState 2018-06-26 10:36:11 +02:00
7PH f1504e5c0f #1532: Terminal reset does not affect cursorState anymore 2018-06-26 10:33:46 +02:00
Daniel Imms f0d872f7fe Merge pull request #1531 from Tyriar/pin_notepty
Pin node-pty to 0.7.6
2018-06-25 11:38:34 -07:00
Daniel Imms ff18b193eb Pin node-pty to 0.7.6 2018-06-25 11:28:09 -07:00
Daniel Imms 8ae8705ae6 Fix typo 2018-06-25 11:21:00 -07:00
Daniel Imms d585515de1 Move RenderDebouncer and ScreenDprMonitor into ui 2018-06-23 17:34:01 +10:00
Daniel Imms 8dda3e68f8 MOve CharMeasure into ui/ 2018-06-23 17:32:32 +10:00
Daniel Imms 4c7e5d2201 Move CircularList to common (tests in ui/ need) 2018-06-23 17:27:34 +10:00
Daniel Imms cc41fefe31 Move MouseZoneManager into ui/ 2018-06-23 17:25:07 +10:00
Daniel Imms 9a3751d7fb Merge pull request #1522 from 7PH/master
#1521: VT100 escape codes DECSC and DECRC now handle character attributes
2018-06-22 07:36:42 +10:00
PowerHat 64b0a9482c Merge branch 'master' into master 2018-06-21 11:35:01 +02:00
Daniel Imms 221a4353a4 Merge pull request #1524 from Tyriar/tyriar/1523
Make sure DOM renderer doesn't render cells beyond cols
2018-06-21 19:22:39 +10:00
Daniel Imms 989c24cbc3 Merge pull request #1513 from Tyriar/ensure_setting_redraws
Ensure drawBoldTextInBrightColors redraws screen
2018-06-21 19:06:00 +10:00
7PH 654f4bd5ae Merge branch 'master' of https://github.com/7PH/xterm.js 2018-06-21 09:22:41 +02:00
7PH 43ffa957ab #1521: fixed default value of 'Terminal.curAttr' when restoring a not previously saved cursor state 2018-06-21 09:22:17 +02:00
Daniel Imms a9a506f7db Merge branch 'master' into 998_mouse_off 2018-06-21 14:35:09 +10:00
Daniel Imms 6e71fb0fb8 Merge branch 'master' into ensure_setting_redraws 2018-06-21 14:33:42 +10:00
Daniel Imms 4d52cd3c66 Clean reference to custom key event handler on dispose 2018-06-21 14:14:36 +10:00
Daniel Imms 27b1c89f43 More cleaning up of references 2018-06-21 11:48:53 +10:00
Daniel Imms 867ce262e8 Fix test 2018-06-21 11:15:10 +10:00
Daniel Imms 45e4486bf5 Remove on, off, globalOn 2018-06-21 11:10:55 +10:00
Daniel Imms 545d0782c9 Properly register and dispose of majority of remaining listeners 2018-06-21 11:07:29 +10:00
Daniel Imms ede1d5f7c8 Correctly dispose of Renderer and ScreenDprMonitor 2018-06-21 10:49:03 +10:00
Daniel Imms 5adf962eb5 Dispose of attach addon event listeners 2018-06-21 10:39:52 +10:00
Daniel Imms 9293616f02 Add dispose terminal button to demo 2018-06-21 10:32:58 +10:00
Daniel Imms 7e779cd195 Replace _disposables with Disposable, add jsdoc 2018-06-21 10:29:02 +10:00
Daniel Imms dfd17be8bb Introduce Disposable abstract class 2018-06-21 10:24:37 +10:00
Daniel Imms a44f496ec7 Rename dom listener function for better clarity 2018-06-21 10:05:40 +10:00
Daniel Imms c0f4a8eb7c Move Dom listener helper to ui/
Part of #1518
2018-06-21 10:03:53 +10:00
Daniel Imms 086b2c04e0 Make sure DOM renderer doesn't render cells beyond cols
Fixes #1523
2018-06-20 23:02:05 +10:00
PowerHat 4809b04f26 Merge branch 'master' into master 2018-06-20 14:51:52 +02:00
7PH 4fecf05dab #1521: added unit tests for saving & restoring cursor attributes 2018-06-20 14:31:12 +02:00
7PH 285b0b6702 #1521: added 'savedCurAttr' attribute to 'MockInputHandlingTerminal' class 2018-06-20 14:23:05 +02:00
Benjamin Raymond a1b8f96d50 #1521: added default behavior of 'ESC 8' escape sequence (DECRC) when cursor state was never saved before using 'ESC 7' (DECSC) 2018-06-20 14:04:13 +02:00
Benjamin Raymond c345dba591 #1521: added 'savedCurAttr' property in 'Terminal' class which holds the saved state of the character attributes ('ESC 7' escape sequence code) 2018-06-20 13:58:53 +02:00
Benjamin Raymond 8dcb4698d3 #1521: now saving and restoring characters attributes when using ANSI escape sequences 'ESC 7' (DECSC) and 'ESC 8' (DECRC) 2018-06-20 13:57:42 +02:00
Daniel Imms f9bc3c511b Merge pull request #1508 from Tyriar/layering
Start of improved layering
2018-06-20 21:35:51 +10:00
Daniel Imms 0d0f4b048c Merge branch 'master' into layering 2018-06-20 21:25:58 +10:00
Daniel Imms 91cf9e1ba8 Move .strings to public/ 2018-06-20 19:46:04 +10:00
Daniel Imms 5d05c3a5f3 Merge pull request #1517 from JonKohler/patch-1
Sort asending for companies in readme and add Nutanix
2018-06-20 07:40:13 +10:00
Jon Kohler 628e648b57 Update README.md
Update readme and add note for future adders to append to the bottom of list
2018-06-18 22:28:25 -04:00
Jon Kohler 72bb1b030a Sort asending for companies in readme and add Nutanix
Sorted the company list in the readme asending and added Nutanix to the list of users
2018-06-18 10:05:40 -04:00
Daniel Imms 6c6d90a698 Merge branch 'master' into layering 2018-06-13 12:52:43 +02:00
Daniel Imms 356959e338 Merge pull request #1512 from Tyriar/1511_npe_beginFrame
Add a null check to charatlas beginFrame call
2018-06-12 18:02:21 +02:00
Daniel Imms 6c3b6b4655 Ensure drawBoldTextInBrightColors redraws screen 2018-06-12 17:54:26 +02:00
Daniel Imms ee935cc68c Add a null check to charatlas beginFrame call
Fixes #1511
2018-06-12 17:27:36 +02:00
Daniel Imms 57959249d8 Resolve todos 2018-06-12 17:17:21 +02:00
Daniel Imms bb4db71958 Rename base/ to common/ 2018-06-12 17:07:43 +02:00
Daniel Imms 8c3376911f Fix winptyCompat compile 2018-06-12 17:05:13 +02:00
Daniel Imms 1487b8d02d Merge pull request #1510 from FGasper/cpanel_whm_real_world
Add cPanel & WHM to the Real-World Uses list.
2018-06-12 10:25:10 +02:00
Felipe Gasper 3705d8159d Add cPanel & WHM to the Real-World Uses list. 2018-06-11 16:51:07 -04:00
Daniel Imms 6a3ed43ad2 Move EscapeSequences into base 2018-06-10 16:56:29 +01:00
Daniel Imms 12e7f80037 Move Charsets to core 2018-06-10 16:53:28 +01:00
Daniel Imms 410d506f34 Fix applyAddon test 2018-06-10 16:44:50 +01:00
Daniel Imms d29a527724 Introduce the public module 2018-06-10 16:40:36 +01:00
Daniel Imms 20307ef637 Add tests for mobile key events 2018-06-10 12:43:22 +02:00
Daniel Imms 95217ca931 Remove core/input/Keyboard's dep on Terminal 2018-06-10 12:33:50 +02:00
Daniel Imms b4ccbe042b Pull keyboard event translation into core 2018-06-10 11:52:25 +02:00
Daniel Imms e167686b6d Remove conversion step, KeyboardEvent implements IKeyboardEvent 2018-06-10 11:45:50 +02:00
Daniel Imms b6481f120b Introduce IKeyEvent 2018-06-10 11:03:37 +02:00
Daniel Imms fb63b3475b Merge pull request #1501 from Tyriar/issue_template
Add more granular github issue templates
2018-06-09 17:02:36 +02:00
Daniel Imms 2f1c1cd172 Remove old issue template 2018-06-09 17:01:37 +02:00
Daniel Imms 03e31571a9 Merge pull request #1497 from xtermjs/Tyriar-patch-1
Fix copyright line breaks
2018-06-09 17:00:24 +02:00
Daniel Imms c6370ba0cf Merge pull request #1472 from Tyriar/fix_tsconfig
Fix valid lib values in tsconfig
2018-06-09 17:00:05 +02:00
Daniel Imms 432c2cc369 Nullify and remove mouse handlers when mouse move it exited
Fixes #998
2018-06-08 17:36:04 +02:00
Daniel Imms 3637b83bbb Add more granular github issue templates 2018-06-08 09:04:37 +02:00
Daniel Imms ddc9466916 Merge pull request #1500 from Tyriar/coc
Add a code of conduct
2018-06-08 08:55:21 +02:00
Daniel Imms df9d20bfdc Add a code of conduct 2018-06-08 08:54:29 +02:00
Daniel Imms e9af4d0e80 Fix copyright line breaks 2018-06-07 09:22:14 +02:00
Daniel Imms f38a34c6da Merge pull request #1495 from nikonso/passive-events
Explicitly  mark Event Listeners as not passive
2018-06-06 10:04:39 +02:00
Daniel Imms 41b5fd8ddf Merge branch 'master' into passive-events 2018-06-06 09:57:42 +02:00
Daniel Imms 22ef5661eb Merge pull request #1388 from Tyriar/script_improvements
Improved test related npm scripts
2018-06-06 09:23:20 +02:00
Daniel Imms 4e2c30c81d Pin @types/jsdom 2018-06-06 09:09:40 +02:00
Bruno Ribeito 8f91e3bcde Fix #829 2018-06-06 08:02:26 +01:00
Daniel Imms 5aff7c2c1e Update @types/jsdom 2018-06-06 08:47:08 +02:00
Daniel Imms b4bb433c1b Add coveralls 2018-06-06 07:44:09 +02:00
Daniel Imms c405b58456 Merge branch 'master' into script_improvements 2018-06-06 05:45:16 +02:00
Daniel Imms 445689c679 Merge pull request #1494 from svenstaro/patch-1
Add genact
2018-06-06 04:23:48 +02:00
Sven-Hendrik Haase 1c0d7771d7 Add genact
genact uses xterm.js!
2018-06-05 20:58:39 +02:00
Daniel Imms a8964a15dd Merge pull request #1491 from pro-src/master
Fix typo in README.md
2018-06-05 08:36:42 +02:00
pro-src bdfdcf3508 Fix typo in README.md 2018-06-04 14:39:47 -05:00
Daniel Imms 0276ab4f85 Merge pull request #1489 from nikonso/master
Fix npm start on windows
2018-06-03 19:10:16 -07:00
Daniel Imms f83394b0ab Merge pull request #1490 from nikonso/fix-demo-string-options
Fix Demo String Options
2018-06-03 19:09:23 -07:00
Bruno Ribeito 13d5ad6506 Fix Demo String Options 2018-06-03 19:53:51 +01:00
Bruno Ribeito 7751933c8c Fix npm start on windows 2018-06-03 19:37:49 +01:00
Daniel Imms 42d7d3aefc Merge pull request #1488 from Tyriar/all_options
Add all options to demo in a way that makes it easy to maintain
2018-06-03 07:51:14 -07:00
Daniel Imms 0f488e59d7 Merge branch 'master' into all_options 2018-06-03 07:43:27 -07:00
Daniel Imms 1066816142 Merge pull request #1474 from Tyriar/1473_slow_build
Use incremental tsc builds
2018-06-03 07:42:27 -07:00
Daniel Imms 6e3c16a2c2 Merge branch 'master' into 1473_slow_build 2018-06-03 07:39:19 -07:00
Daniel Imms 3d56b152f3 Merge pull request #1421 from Tyriar/more_naming_conventions
Add remaining naming conventions into tslint
2018-06-03 07:39:03 -07:00
Daniel Imms 24fad1126c Add missing renames 2018-06-03 16:34:12 +02:00
Daniel Imms 53463681de Fix lint 2018-06-03 16:25:32 +02:00
Daniel Imms 2aff2eb710 Merge branch 'master' into more_naming_conventions 2018-06-03 07:23:14 -07:00
Daniel Imms c748b02111 Add rendererType 2018-06-03 16:21:23 +02:00
Daniel Imms 73e35b9293 Merge branch 'master' into all_options 2018-06-03 07:19:51 -07:00
Daniel Imms 1cccec6398 Merge pull request #1432 from Tyriar/1360_dom_renderer
Implement a fallback DOM renderer
2018-06-03 07:19:33 -07:00
Daniel Imms 1ca6e51564 Fix lint 2018-06-03 16:06:45 +02:00
Daniel Imms 52be55852e Merge branch 'master' into 1360_dom_renderer 2018-06-03 06:58:08 -07:00
Daniel Imms 824a03e0af Merge branch 'master' into 1473_slow_build 2018-06-03 06:43:42 -07:00
Daniel Imms 3c02c9ce66 Merge pull request #1457 from Tyriar/vsts
Add VSTS build badge
2018-06-03 06:41:50 -07:00
Daniel Imms adb0cf41ab Improve display of options 2018-06-03 15:37:01 +02:00
Daniel Imms de683b35b2 Merge pull request #1485 from Tyriar/664_fit_readme
Add basic fit readme
2018-06-03 06:13:30 -07:00
Daniel Imms 767e3570ac Merge pull request #1486 from Tyriar/1456_triple_click_wrapped
Select entire wrapped line on triple click
2018-06-03 06:10:22 -07:00
Daniel Imms 75a45808c3 Merge branch 'master' into 1456_triple_click_wrapped 2018-06-03 06:04:41 -07:00
Daniel Imms 7ca6873a5e Merge pull request #1487 from Tyriar/no_implicit_any
Enable noImplicitAny compiler option
2018-06-03 06:03:37 -07:00
Daniel Imms 908b06cfa7 Some polish 2018-06-03 11:18:34 +01:00
Daniel Imms 2d786910c8 Correctly set cols/rows 2018-06-03 11:10:11 +01:00
Daniel Imms 5b04451b05 console error on setting ctor only option via setOption 2018-06-03 11:02:39 +01:00
Daniel Imms 4d5e305a25 Generate inputs for all options in demo 2018-06-03 10:37:20 +01:00
Daniel Imms 4dff828374 Add @types/glob 2018-06-03 07:15:45 +01:00
Daniel Imms fea8ba03b8 Finish removing all implicit anys 2018-06-02 19:02:54 -07:00
Daniel Imms 918ee16f86 Don't set options on terminaol object itself 2018-06-02 18:47:04 -07:00
Daniel Imms b79ab7212c Remove a bunch of implicit anys 2018-06-02 18:39:05 -07:00
Daniel Imms 956b773421 Add more tests, fix boundary bug 2018-06-02 18:07:49 -07:00
Daniel Imms cd3418517e Select the whole wrapped line when triple clicking
Fixes #1456
2018-06-02 17:56:44 -07:00
Daniel Imms 285911cd98 Implement IBuffer.getWrappedRangeForLine
Part of #1456
2018-06-02 17:53:35 -07:00
Daniel Imms 5acc45f08b Add basic fit readme
Fixes #664
2018-06-02 12:22:05 -07:00
Jeff Principe eabb25c796 add ability to register/deregister character joiner 2018-06-02 10:24:52 -07:00
Daniel Imms c192a27d93 Merge pull request #1483 from AndrienkoAleksandr/littleFix
Minor: clean up build logs for source code without tests.
2018-06-01 09:12:05 -07:00
Daniel Imms d5af79fc5f Include typings in addons as well 2018-06-01 08:55:22 -07:00
Oleksandr Andriienko 90b9a487cd Minor: clean up build logs for source code without tests.
Signed-off-by: Oleksandr Andriienko <oandriie@redhat.com>
2018-06-01 13:41:35 +03:00
Daniel Imms 4617bab3a0 Merge pull request #1477 from lgeiger/let-const
Prefer const vs let for variables that are only declared once
2018-05-30 11:31:24 -07:00
Lukas Geiger 8989a09853 Prefer const vs let for variables that are only declared once
Requires that variable declarations use `const` instead of `let` and `var` if possible.

This is mostly for code readability, performance wins are debatable.
2018-05-30 19:47:28 +02:00
Daniel Imms 4a4a17966a Merge pull request #1475 from cathy-zhao/master
add a project to real-world uses list
2018-05-29 06:24:24 -07:00
赵雪珂 7db0b181bc add a project to real-world uses list 2018-05-29 13:03:48 +08:00
Daniel Imms 3ce71b7f8f Add css copy tasks 2018-05-28 05:49:47 -07:00
Daniel Imms c2568a6857 Fix Windows build 2018-05-28 05:44:15 -07:00
Daniel Imms 834b266b7f Move demo build into npm start 2018-05-27 07:59:44 -07:00
Daniel Imms 5d9b761f33 Merge branch 'master' into 1473_slow_build 2018-05-27 07:57:48 -07:00
Daniel Imms 35fc10b0e6 Kill watch/prebuild tasks when one fails 2018-05-27 07:42:34 -07:00
Daniel Imms ffd7d5513b Rebuild demo when demo files change 2018-05-27 07:38:04 -07:00
Daniel Imms 656567aed0 Use incremental tsc builds 2018-05-27 07:30:37 -07:00
Daniel Imms 82fdcc0771 Get DomRendererRowFactory test coverage to 100% 2018-05-26 08:43:55 -07:00
Daniel Imms c2b5a243f2 Refactor and add some tests to dom renderer 2018-05-26 08:15:40 -07:00
Daniel Imms 6e9cd35176 Remove coverage files from git 2018-05-26 07:34:32 -07:00
Daniel Imms 9890a8b20f Fix valid lib values in tsconfig
Mixed case is not valid
2018-05-26 07:32:46 -07:00
Daniel Imms 20975278c5 Merge remote-tracking branch 'ups/master' into 1360_dom_renderer 2018-05-26 07:25:08 -07:00
Daniel Imms b43ee08dd2 Merge pull request #1469 from tmpfs/safari-create-image-bitmap-patch
Suppress Safari promise rejections.
2018-05-23 20:28:06 -07:00
muji 3ae96a2266 Improve isSafari test. 2018-05-24 10:18:43 +08:00
muji 87fee8d024 Suppress Safari promise rejections.
Currently Webkit implements createImageBitmap() but returns a promise
rejection.

Note that once Webkit implements createImageBitmap() correctly these
changes should be removed.
2018-05-24 10:11:03 +08:00
Daniel Imms 09e42af730 Merge pull request #1466 from jerch/cleanup_print
cleanup and performance optimizations for InputHandler.print
2018-05-22 06:45:11 -07:00
Daniel Imms 44fde26f04 Remove types when they're inferred 2018-05-22 06:44:50 -07:00
Jörg Breitbart ac9b71549a add missing type decl 2018-05-21 22:39:00 +02:00
Jörg Breitbart 328086f206 declare types in InputHandler.print 2018-05-21 22:29:05 +02:00
Jörg Breitbart b3e8197111 changes in InputHandler.print:
- call updateRange only at start and end
- make all repeated terminal accesses local
- set full charCode (codepoint) in terminal buffer
2018-05-21 20:58:23 +02:00
Daniel Imms 099c7d8f04 Merge pull request #1399 from jerch/new_parser
new parser
2018-05-21 10:48:03 -07:00
Daniel Imms 507c4dc5d2 Use nyc for coverage report
Fixes #1464
2018-05-21 10:42:28 -07:00
Daniel Imms 6bc6ea56a5 Merge branch 'master' into new_parser 2018-05-21 10:04:15 -07:00
Jörg Breitbart e97882e5ad use string templates in DCS responses 2018-05-21 18:52:27 +02:00
Daniel Imms 85dada2eed Merge remote-tracking branch 'origin/master' into 1360_dom_renderer 2018-05-21 09:41:21 -07:00
Jörg Breitbart 8386ec1c19 Merge branch 'new_parser' of https://github.com/jerch/xterm.js into new_parser 2018-05-21 18:34:51 +02:00
Jörg Breitbart ceb1432f75 remove deprecated FIXME 2018-05-21 18:33:59 +02:00
Daniel Imms 8d722d20e2 Merge pull request #1463 from Tyriar/1424_fix_static_cache_ghost
Save and restore correctly when drawing from static cache
2018-05-21 09:21:58 -07:00
Daniel Imms 054abd15ea Save and restore correctly when drawing from static cache
Fixes #1424
2018-05-21 09:11:41 -07:00
Daniel Imms 724aa9d6c7 Fix compile and lint 2018-05-21 08:17:07 -07:00
Daniel Imms ab5fc98627 Merge branch 'master' into more_naming_conventions 2018-05-21 08:06:52 -07:00
Daniel Imms 0dfc9b2118 Merge branch 'master' into vsts 2018-05-21 07:54:50 -07:00
Daniel Imms 8bbc1fa287 Merge branch 'master' into script_improvements 2018-05-21 07:54:07 -07:00
Daniel Imms c1f8225c4f Merge branch 'master' into new_parser 2018-05-21 07:30:35 -07:00
Paris Kasidiaris 0ad1080133 Bump version to 3.4.0
Signed-off-by: Paris Kasidiaris <paris@sourcelair.com>
2018-05-19 08:31:27 +00:00
Daniel Imms 1736c1e12d Prevent outside line-height styles from affecting cursor
See Microsoft/vscode#50125
2018-05-18 12:17:39 -07:00
Benjamin Woodruff 4717619f76 Merge pull request #1327 from bgw/dynamic-char-atlas
Modularize the character atlas system, add a LRU-cache based dynamic character atlas
2018-05-17 22:59:03 -07:00
Benjamin Woodruff 7f761b5b9e Merge branch 'master' into dynamic-char-atlas
I did a bunch of testing of various ansi escape codes (including
italics) with all three char atlas implementations (none, static,
dynamic), with and without `drawBoldTextInBrightColors`, and with and
without `enableBold` to test all of the edge cases that I could.
2018-05-17 22:42:52 -07:00
Daniel Imms c00a3726f3 Merge branch 'master' into vsts 2018-05-16 13:46:06 -07:00
Daniel Imms 5ef399df6f Add VSTS build badge 2018-05-16 13:44:46 -07:00
Daniel Imms f8e9d02566 Merge branch 'master' into more_naming_conventions 2018-05-16 09:45:42 -07:00
Daniel Imms d8afdb1b6b Merge branch 'master' into new_parser 2018-05-15 13:21:33 -07:00
Daniel Imms 2b4c5adb3c Set font family and size 2018-05-15 11:29:51 -07:00
Daniel Imms 7334e6ab19 Merge pull request #1452 from Tyriar/coveralls
Update coveralls
2018-05-15 11:03:22 -07:00
Daniel Imms 137b499538 Merge pull request #1450 from Tyriar/tagline
Update tagline
2018-05-15 11:03:08 -07:00
Daniel Imms 6024e7c5fe Size row container so scroll bar shows 2018-05-15 10:52:01 -07:00
Daniel Imms aa1e1c5d94 Scope styles per terminal 2018-05-15 10:18:43 -07:00
Daniel Imms f055e0ef03 Throw exception for unrecognized renderer type 2018-05-15 10:10:34 -07:00
Daniel Imms 2f618b37c1 Merge branch 'master' into 1360_dom_renderer 2018-05-15 10:08:09 -07:00
Daniel Imms 3acd1eaecc Update coveralls
This broke after we moved the organization

Fixes #1451
2018-05-14 11:48:13 -07:00
Daniel Imms 435cf91ec7 Merge pull request #1433 from Tyriar/fix_lint
Run tslint on all of src/ (for good this time)
2018-05-14 11:33:30 -07:00
Daniel Imms 6e451f58b8 Update tagline 2018-05-14 11:13:01 -07:00
Daniel Imms 7a9f291df9 Merge pull request #1446 from Tyriar/1437_fix_link_pointer
Fix link cursor CSS
2018-05-12 07:45:20 -07:00
Daniel Imms 9dfce63e55 Simplify cursor styles 2018-05-12 07:44:30 -07:00
Daniel Imms 139a246436 Merge pull request #1401 from npezza93/alt-click-map-bug
Handle if getCoords returns null in the AltClickHandler
2018-05-11 15:56:14 -07:00
Daniel Imms 343cc2b7b2 Merge branch 'master' into alt-click-map-bug 2018-05-11 15:50:40 -07:00
Daniel Imms 0375e0064b Fix link cursor CSS
Ensure pointer overrides the default mouse events mode cursor.

Fixes #1437
2018-05-11 10:03:43 -07:00
Daniel Imms 57e35f836e Merge pull request #1438 from diag/master
Add diag.ai to list of real-world uses
2018-05-11 09:16:30 -07:00
Daniel Imms 685757b04b Merge pull request #1417 from pro-src/packaging
Stop publishing test files to npm - closes #1361
2018-05-11 07:51:46 -07:00
Daniel Imms 210a312fbf Remove ignore key from package.json 2018-05-11 07:49:37 -07:00
Daniel Imms c366ee20b8 Merge branch 'master' into packaging 2018-05-11 07:48:34 -07:00
Daniel Imms b9baacac3a Merge pull request #1444 from pengx17/patch-1
Update how to use addons with Typescript
2018-05-11 07:20:17 -07:00
Peng Xiao 45fea0e790 Merge branch 'master' into patch-1 2018-05-11 21:57:40 +08:00
Benjamin Woodruff cded6f80f6 Merge pull request #1445 from pro-src/master
Fix tsc
2018-05-10 23:57:24 -07:00
pro-src 9c1bee300d Fix tsc 2018-05-11 01:51:49 -05:00
Peng Xiao ef4cda2cc6 revise importing addons in ts 2018-05-11 11:20:02 +08:00
Peng Xiao d315dd6684 Merge branch 'master' into patch-1 2018-05-11 11:12:02 +08:00
Benjamin Woodruff 8a5891ede2 Merge pull request #1442 from bgw/dim-save-restore
Save and restore the ctx for cached characters
2018-05-10 09:38:46 -07:00
Peng Xiao bce81f304e Update how to use addons with Typescript 2018-05-10 16:11:25 +08:00
Benjamin Woodruff 3971fc9b4e Save and restore the ctx for cached characters
Drawing dim colors sets the globalAlpha to 0.5, so we need to
save/restore the ctx state. Otherwise, every time we draw some dim
content, our display will get progressively dimmer.

I tested this by running `echo '\u001b[2mfoo'` a few times in zsh.

Fixes #1424
2018-05-09 20:34:55 -07:00
npezza93 4edbd507e5 Check if endCol and endRow are present before handling an alt click 2018-05-09 19:35:02 -04:00
npezza93 b162582e66 Handle if getCoords returns null in the AltClickHandler
Fixes #1397
2018-05-09 19:31:19 -04:00
Benjamin Woodruff be32695e16 Merge pull request #1391 from LinusU/bright-vs-bold
Separate bright and bold
2018-05-08 18:43:41 -07:00
Benjamin Woodruff 9893338020 Add drawBoldTextInBrightColors to DEFAULT_OPTIONS
This lets term.setOption() work for drawBoldTextInBrightColors.
2018-05-08 18:34:23 -07:00
Ledion Bitincka cfdec9ff90 add diag.ai 2018-05-08 16:27:54 -07:00
Jörg Breitbart 02893dcbb8 fix some docs 2018-05-07 23:28:40 +02:00
Linus Unnebäck ce6139e604 Add drawBoldTextInBrightColors option 2018-05-07 22:23:04 +02:00
Linus Unnebäck a23354f018 Fully use char atlas for bright & bold colors 2018-05-07 22:23:01 +02:00
Linus Unnebäck 41fd563144 Separate bright and bold 2018-05-07 22:19:01 +02:00
Jörg Breitbart a37449a8cd some docs cleanup 2018-05-06 23:33:52 +02:00
Jörg Breitbart 551ccc0f2f explicit arguments for fallback handlers 2018-05-06 23:02:54 +02:00
Jörg Breitbart 108aa5ab31 test Uint8Array and Array; fix Uint8Array type 2018-05-06 22:42:07 +02:00
Daniel Imms 362d7698f7 Some polish 2018-05-05 08:12:52 -07:00
Daniel Imms edb06c6b2a Add copyright header 2018-05-05 07:54:38 -07:00
Jörg Breitbart 6cefb4c634 more test cases 2018-05-05 16:26:07 +02:00
Daniel Imms cd3eea5b48 Improve typings 2018-05-04 11:34:24 -07:00
Daniel Imms 5b5eb48867 Polish 2018-05-04 10:55:41 -07:00
Daniel Imms 09624c18e0 Move standard width to style element 2018-05-04 10:43:54 -07:00
Daniel Imms 9bcecd4e2e Run tslint on all of source (for good this time) 2018-05-04 10:20:09 -07:00
Daniel Imms 52e71a2530 Support italic 2018-05-04 10:13:21 -07:00
Daniel Imms 6cadd7c4a8 Fill in documentation on new option 2018-05-04 10:02:01 -07:00
Daniel Imms b14308f2c4 Resolve a bunch of TODOs 2018-05-04 09:38:24 -07:00
Daniel Imms 2c3949375e Update after a options change 2018-05-04 08:37:41 -07:00
Daniel Imms e3e4dcb5d1 Support selection 2018-05-04 08:32:03 -07:00
Daniel Imms e9f4d39f2b Start on selection 2018-05-04 06:27:40 -07:00
Daniel Imms d777513b87 Handle focus, emit refresh 2018-05-03 11:58:46 -07:00
Daniel Imms 1d2f356cfd Add a bunch of constants 2018-05-03 11:44:46 -07:00
Daniel Imms 418f2c6cdf Fix row height, add cursor 2018-05-03 11:35:04 -07:00
Daniel Imms 3cab8bede1 Merge branch 'oncharsizechanged' into 1360_dom_renderer 2018-05-02 15:05:42 -07:00
Daniel Imms 58ce5e2110 Only update dimensions when char size changes 2018-05-02 15:05:37 -07:00
Daniel Imms 20ff107768 Call IRenderer.onCharSizeChanged at right time
Even though Renderer just defers this to onResize, future IRenderer
implementations may take advantage of onCharSizeChanged specifically.
2018-05-02 15:00:42 -07:00
Daniel Imms 16393b228d Initial DOM renderer implementation 2018-05-02 13:32:22 -07:00
Jörg Breitbart 0f8d22547e fix identation 2018-05-02 01:23:46 +02:00
Jörg Breitbart c069e94a4c Merge branch 'master' into new_parser 2018-05-02 00:42:23 +02:00
Jörg Breitbart a1a4cac113 dcs handler implementations 2018-05-02 00:22:35 +02:00
Jörg Breitbart 25ff77af03 fix transition definitions 2018-05-01 22:22:40 +02:00
Jörg Breitbart 536b3a8def fix member scope and tests 2018-05-01 22:17:26 +02:00
Jörg Breitbart d090cbe4b9 some docs 2018-05-01 21:54:15 +02:00
Jörg Breitbart 9a32852e61 single arg for DCS and ESC handler registration 2018-05-01 21:07:13 +02:00
Daniel Imms e48b15e859 Merge pull request #1422 from flybayer/italic
Add support for italic rendering
2018-05-01 11:56:21 -07:00
Jörg Breitbart 89cf45c514 save func pointer in local var 2018-05-01 20:51:36 +02:00
Daniel Imms a732952677 Rearrange italic/bold to get _ctx.font validating 2018-05-01 11:50:06 -07:00
Jörg Breitbart 0c200f2feb remove collect from args where not needed 2018-05-01 20:41:41 +02:00
Jörg Breitbart 728eeebcc7 set member through ctor argument 2018-05-01 20:33:48 +02:00
Daniel Imms b60ab119b2 Merge branch 'master' into italic 2018-05-01 11:30:03 -07:00
Jörg Breitbart c7fdff2f40 several changes:
- missing escape sequence related methods in InputHandler implemented
- created namespace for C1 control codes
2018-05-01 17:50:41 +02:00
Jörg Breitbart 2eeb7b8ea5 ESC and OSC method entries for InputHandler 2018-05-01 16:36:12 +02:00
Jörg Breitbart 0535f5d1b3 unified method signature in InputHandler, moved some CSI condition into methods (FIXME: needs intermediate handler) 2018-05-01 14:58:16 +02:00
Jörg Breitbart aeae688b4c multiple changes in InputHandler:
- remove prefix/postfix
- optional collect arg where needed
- tempPrefix handler removed
- replaced .bind with () => notation
- moved callback registering to ctor again
2018-05-01 14:32:08 +02:00
Jörg Breitbart af392a6305 cleanup, some docs, temp fix for InputHandler tests 2018-04-30 23:35:54 +02:00
Jörg Breitbart ba6fcddc43 real merge of InputHandler and ParserTerminal 2018-04-30 17:04:29 +02:00
Jörg Breitbart dbc6b12ec2 missing whitespace 2018-04-30 15:44:21 +02:00
Jörg Breitbart 645cd2eb2c fix test cases 2018-04-30 15:38:17 +02:00
Jörg Breitbart b158176862 local .buffer in parse 2018-04-30 14:25:29 +02:00
Jörg Breitbart a1035269d5 add array fallback for TransitionTable 2018-04-30 11:27:10 +02:00
Jörg Breitbart f5375c3a99 fix error in esc handler call 2018-04-30 02:06:57 +02:00
Jörg Breitbart a55a7f3695 some cleanup 2018-04-30 01:49:29 +02:00
Jörg Breitbart 826cca7088 fix import issue 2018-04-30 01:32:49 +02:00
Jörg Breitbart 0f3d82a2a5 faster print action 2018-04-29 23:48:30 +02:00
Jörg Breitbart dc14f5226d fix InputHandler 2018-04-29 19:34:43 +02:00
Jörg Breitbart 27a3347c3f Merge branch 'master' into new_parser 2018-04-29 19:30:35 +02:00
Jörg Breitbart 2d77fcf2fb merge ParserTerminal with InputHandler
- quick'n dirty merge of classes - ParserTerminal is subclass of InputHandler
- basic fallback handlers implemented
- test regressions due to multiple changes in EscapeSequenceParser
- runtime down to 2.3s
- TODO: fix tests, implement DCS functions, full merge of classes
2018-04-29 19:10:47 +02:00
Jörg Breitbart 9d2bbd199c remove term from EscapeSequenceParser 2018-04-29 17:23:38 +02:00
Jörg Breitbart b72cdadd11 move switches to jump tables 2018-04-29 15:48:19 +02:00
Benjamin Woodruff 381d3e1444 Merge pull request #1413 from bgw/batch-background
Batch background draws together to reduce draws
2018-04-27 20:53:32 -07:00
Benjamin Woodruff b97eaf2c52 Merge branch 'master' into batch-background 2018-04-27 20:49:03 -07:00
Benjamin Woodruff 513847fd80 Make BaseRenderLayer's _alpha private again
This was accidentally left over from some earlier changes I was playing
with.
2018-04-27 20:47:55 -07:00
Daniel Imms 7b2500bfd6 Merge pull request #1420 from pro-src/patch-1
Update README.md
2018-04-27 09:44:47 -07:00
pro-src 882d5a86d3 Update README.md - prefer hex escapes over octal 2018-04-27 02:19:48 -05:00
Brandon Bayer 235982362c Add support for italic rendering 2018-04-26 17:34:01 -04:00
Daniel Imms aaaec75d73 Add remaining naming conventions into tslint 2018-04-26 13:54:20 -07:00
pro-src 30b88113a8 explicitly exclude demo 2018-04-26 12:09:21 -05:00
pro-src 994895af6d Update README.md
Replace the deprecated octal escapes with Unicode escapes.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Deprecated_octal
2018-04-26 11:53:20 -05:00
pro-src a61ba2e140 closes #1361 2018-04-26 09:18:18 -05:00
Benjamin Woodruff a5a03c40f2 Batch background draws together to reduce draws
Adjacent cells on the same row sharing the same background color will be
drawn using the same `fillCells` call. This should make drawing an
application with a solid or mostly solid background color (e.g. vim)
faster.

I set vim to draw the background color for a file, and started scrolling
through it. Before, _drawBackground was taking around 6ms per frame.
After this commit, it was taking around 0.5ms per frame.

Based on prior experience, I'd expect these results to be more drastic
for larger terminal windows. The demo's window is pretty small.
2018-04-24 23:52:13 -07:00
Daniel Imms 83fe87d012 Merge pull request #1407 from Tyriar/enum_names
Enforce upper case for public const/enum members and const
2018-04-24 11:00:58 -07:00
Daniel Imms 3713d282d8 Fix conflicts 2018-04-24 10:55:53 -07:00
Daniel Imms 8aa65d06f5 Merge pull request #1404 from Tyriar/no_else_return
Add no else return tslint rule
2018-04-24 10:50:27 -07:00
Daniel Imms fd97fead60 Merge branch 'master' into no_else_return 2018-04-24 10:44:54 -07:00
Jörg Breitbart 9eb107a6e9 first handler API changes 2018-04-24 18:53:19 +02:00
Jörg Breitbart c0ab2b9a7c rename enums 2018-04-24 13:06:03 +02:00
Jörg Breitbart a058395014 move addChar to ParserTerminal 2018-04-24 12:27:43 +02:00
Benjamin Woodruff 453da35f51 Merge branch 'master' into dynamic-char-atlas 2018-04-23 22:43:43 -07:00
Benjamin Woodruff d254d69ee2 Fix fontWeight options with DynamicCharAtlas
The atlas wasn't using these values when setting the font.
2018-04-23 22:15:45 -07:00
Benjamin Woodruff ff19ba8e33 Merge pull request #1393 from bgw/text-render-layer
Separate foreground & background rendering passes
2018-04-23 21:48:09 -07:00
Daniel Imms fcde7be62a Enforce const enums
Fixes #1408
2018-04-23 17:35:41 -07:00
Daniel Imms 45b4429712 Merge branch 'master' into enum_names 2018-04-23 17:18:40 -07:00
Daniel Imms 9942dc384d Enforce upper case for public const/enum members
Fixes #1406
2018-04-23 17:17:21 -07:00
Jörg Breitbart 55993ada9b merge with remote 2018-04-24 00:35:55 +02:00
Jörg Breitbart c8910cc5fe utilize more typescript features 2018-04-24 00:23:46 +02:00
Jörg Breitbart f9767073ba new parser 2018-04-24 00:21:27 +02:00
Daniel Imms 56f9d423fe Merge branch 'master' into text-render-layer 2018-04-23 14:15:45 -07:00
Daniel Imms 716a8d5926 Merge pull request #1403 from jerch/performance_optimizations
performance optimizations
2018-04-23 13:49:03 -07:00
Jörg Breitbart 9593cb0cc8 readonly lines; fix for MockBuffer 2018-04-23 22:40:24 +02:00
Jörg Breitbart 7ed7505ce4 change _lines to lines in Buffer 2018-04-23 22:18:05 +02:00
Jörg Breitbart 6ff4ae7194 revert to local const buffer 2018-04-23 22:06:24 +02:00
Daniel Imms 9e863d0377 Add no else return tslint rule 2018-04-23 11:52:42 -07:00
Jörg Breitbart 13d4ab6f8d remove remnant 2018-04-23 18:32:32 +02:00
Jörg Breitbart 0d7ecd9129 prefetch row in addChar 2018-04-23 18:26:06 +02:00
Jörg Breitbart dd096c2e8b const buffer 2018-04-23 17:19:42 +02:00
Jörg Breitbart 0decd77253 map Buffer.lines directly to Buffer._lines 2018-04-23 16:59:55 +02:00
Jörg Breitbart 2bfe74490a make .buffer local where appropriate 2018-04-23 16:29:19 +02:00
Jörg Breitbart 20760d09e4 utilize more typescript features 2018-04-22 04:34:42 +02:00
Jörg Breitbart 73f40ef7d2 merge with master 2018-04-21 16:04:17 +02:00
Jörg Breitbart 9b085d2bdd new parser 2018-04-21 16:02:46 +02:00
Jörg Breitbart fb7e5d590c new parser 2018-04-21 05:12:24 +02:00
Benjamin Woodruff 0fe59df2e9 Rename startRow/endRow in TextRenderLayer
Renaming these to firstRow/lastRow makes the inclusivity of the range
clearer.

Addresses this comment:
https://github.com/xtermjs/xterm.js/pull/1393#discussion_r182471582
2018-04-18 20:22:55 -07:00
Daniel Imms a3ce881897 Merge pull request #1372 from Tyriar/1341_memory_leak
Remove terminal references on dispose
2018-04-18 08:10:20 -07:00
Daniel Imms 58c50f08db Break when the terminal reference is removed 2018-04-18 08:10:05 -07:00
Daniel Imms 984e027c87 Merge branch 'master' into 1341_memory_leak 2018-04-18 08:02:55 -07:00
Benjamin Woodruff b853aa4929 Separate foreground & background rendering passes
I'm primarily interested in doing this because it'll allow me to
optimize the background rendering in later diffs, but this may also make
it possible to fix some minor rendering issues.

Right now, if we draw a single-width character that overflows its cell's
bounds, and the character to the right of it has a background, that
background may cover up the first character's foreground. By drawing the
background in a separate pass, we can avoid those cases.

There's still some issues with how dirty regions are computed that makes
rendering stuff like that flaky, but this at least gets us closer to
"correct" rendering.

Other terminal emulators (e.g. alacritty) render the foreground and
background in separate passes:
https://github.com/jwilm/alacritty/blob/1b7ffea/src/renderer/mod.rs#L766
2018-04-17 21:44:17 -07:00
Benjamin Woodruff 4fd630ec5c Add code to IGlyphIdentifer, use it
It turns out that `glyph.char.charCodeAt(0)` isn't equivalent to the
character's actual code because of utf-16 garbage, so this adds
`glyph.code` to the `glyph` object so that we can use the `code` value,
and don't need to regenerate it.
2018-04-16 09:49:32 -07:00
Benjamin Woodruff ec96c40fde Re-add colors.ansi slicing in generateConfig
- We need to make a clone of this array, because ColorManager mutates
  it.
- We only want to compare the first 16 colors instead of all 256, since
  only the first 16 will ever change. In DynamicCharAtlas, we can pull
  the additional colors from DEFAULT_ANSI_COLORS.

I tested this out by loading the demo and changing the theme a few
times.
2018-04-16 09:41:00 -07:00
Daniel Imms cf8fa10205 Merge pull request #1299 from jonaustin/patch-1
Add Hyper to list of apps
2018-04-16 09:40:07 -07:00
Daniel Imms d8d9d904b5 Merge branch 'master' into patch-1 2018-04-16 09:39:02 -07:00
Benjamin Woodruff 4a13813941 Rename DRAW_TO_CACHE_LIMIT to FRAME_CACHE_DRAW_LIMIT 2018-04-16 08:56:54 -07:00
Daniel Imms cd7911a3d4 Merge pull request #1390 from Tyriar/third_party_addons
Add xterm-webfont addon to readme
2018-04-16 06:55:35 -07:00
Daniel Imms 3625a2278d Merge pull request #1365 from Tyriar/1364_addon_lint
Lint addon files
2018-04-16 06:46:42 -07:00
Daniel Imms 7d108999ff Fix lint 2018-04-16 06:42:16 -07:00
Daniel Imms e3dc36c123 Add xterm-webfont addon to readme 2018-04-16 06:28:45 -07:00
Daniel Imms 11541be4ae Merge branch 'master' into 1364_addon_lint 2018-04-16 06:25:48 -07:00
Daniel Imms ceffb35445 Merge pull request #1369 from Tyriar/897_dead_options
Remove unused options
2018-04-16 06:25:18 -07:00
Daniel Imms e1957ae6aa Merge remote-tracking branch 'origin/master' into 1364_addon_lint 2018-04-16 06:24:37 -07:00
Benjamin Woodruff 5a05db727c Add a per-frame limit on dynamic atlas writes
This limits the amount of damage a pathological program can cause in
thrashing the LRU cache.

I ran the script described here:
https://github.com/xtermjs/xterm.js/pull/1327#issuecomment-374003960

Without this patch, the entire output would get drawn in one frame that
took about 140 ms to draw. With this patch, it takes about 60 ms. It's
still nowhere as good as the static or none atlas implementations, but
it's not terrible, like it was.

This should have minimal impact on real-world applications: it'll just
take a little longer for the atlas to warm up.

The implementation is a little hacky, since it involves throwing some
code into TextRenderLayer that violates the separation of concerns, but
we can clean this up later.
2018-04-15 20:02:39 -07:00
Benjamin Woodruff 1f692ed047 Use a single tmpCtx, avoid parsing color values
Pros:
- The code is simpler.
- AA rendering is consistent between cached and uncached characters.
- No long requires parsing color values to determine the alpha, which
  means that we no longer depend on #rrggbbaa color value support.

Cons:
- We're drawing without SPAA in some cases where we could be.

Addresses this comment:
https://github.com/xtermjs/xterm.js/pull/1327#discussion_r176109332
2018-04-15 19:59:36 -07:00
Benjamin Woodruff c3eea02855 Add a LRUMap test, fix a bug in LRUMap
Bug: When appending a node, we weren't setting the tail's `next` value
correctly.
2018-04-15 19:48:37 -07:00
Benjamin Woodruff c6d66d7b0d Fix subpixel antialising in DynamicCharAtlas
Drawing to a ctx with `{alpha: true}` causes the canvas API (on chrome
at least) to switch to grayscale AA, instead of RGB subpixel AA.

This fixes it by drawing to a ctx that's using `{alpha: false}` when
posisble, and switching to a ctx that's using `{alpha: true}` only when
we have to.
2018-04-15 19:48:37 -07:00
Benjamin Woodruff 9c0ce1d742 Fix DynamicCharAtlas with transparency
There were two bugs:
- We need to clear the background of _tmpCtx instead of just drawing on
  top if the background color is transparent.
- We should set the background to fully transparent if it's partially
  transparent, to avoid drawing the transparent background twice.
2018-04-15 19:43:23 -07:00
Benjamin Woodruff ac7db87fd0 Remove use of Promises in {Base,Static}CharAtlas
Nothing actually cares about the return value, so we can avoid depending
on `Promise` by not returning a promise.

This should make this work for IE11 (though I haven't tested that).

I tried this in Chrome and Firefox to test both codepaths (ImageBitmap
and HTMLCanvasElement).
2018-04-15 18:52:06 -07:00
Benjamin Woodruff 8b3b7535c6 Add a new LRUMap class, remove uses of Map
LRUMap implements the parts of an ordered map that we need to
efficiently implement DynamicCharAtlas. It's more code, but there's a
few advantages of this approach:

- Map isn't available on some older browsers, so this removes the need
  for a polyfill.

- Moving an item to the end of the map's iteration order now only
  requires unlinking and linking a linked-list node, whereas before we
  had to delete and re-insert our value.

- Peeking at the oldest entry in the map no longer requires allocating
  and destroying an iterator.

- We can preallocate the linked-list nodes we want to improve cache
  locality. Similarly, we can recycle linked-list nodes to reduce
  allocations and the GC pauses those allocations may cause.

- LRUMap seems to give slightly better results in Chrome's profiler than
  Map did. We now spend about 5% of our time on map operations instead
  of about 10%.

- In my (limited) testing, it doesn't look like LRUMap is slowing down
  over time. Map appeared to get slightly slower the longer I ran the
  terminal for, either due to memory fragmentation or some sort of leak.

I still need to write some tests for LRUMap, but I've been using this
implementation for the last hour without problems.
2018-04-15 18:52:06 -07:00
Benjamin Woodruff c8b500c182 Skip drawing whitespace from DynamicCharAtlas
When we remove the background from a glyph, we can keep track of if we
made all the pixels fully transparent. If we did, we can just skip
future calls to _drawFromCache, since it would be a noop anyways.
2018-04-15 18:52:06 -07:00
Benjamin Woodruff 24feaabd9a Add a basic dynamic character atlas implementation
This adds a very minimal implementation of DynamicCharAtlas using a LRU
cache.

I've got some optimizations that I'll add on top of this, but this
proves the concept.
2018-04-15 18:49:07 -07:00
Benjamin Woodruff 8c980bc30d Add a dummy NoneCharAtlas implementation
This adds the logic needed to switch between multiple char atlas
implementations, and an example second implementation to test it out
with.

This also offers an escape hatch if something goes wrong with the char
atlas implementation(s).
2018-04-15 18:03:55 -07:00
Benjamin Woodruff 6f21385cd8 Add BaseCharAtlas and implement StaticCharAtlas
The API defined by BaseCharAtlas will let us support multiple char atlas
implementations at once.

I tested this by running the demo with Chrome's profiler, which shows
that calls are going to StaticCharAtlas/drawImage instead of
_drawUncachedChar. Applications using 256 colors also still work fine,
via _drawUncachedChar.
2018-04-15 18:03:55 -07:00
Daniel Imms 83f9d59d91 Merge pull request #1384 from Tyriar/1383_setoption_exception
Guard usages of DOM attached vars in setOption
2018-04-15 13:30:33 -07:00
Daniel Imms 3010760352 Remove vscode settings
No longer required as all the folders are in gitignore
2018-04-13 11:37:52 -07:00
Daniel Imms 82c16dee73 Rename coverage to test-coverage and document 2018-04-13 10:53:45 -07:00
Daniel Imms 7e8dd9647f Add testing section to README 2018-04-13 10:49:02 -07:00
Daniel Imms b594641b26 Run coverage on travis ci 2018-04-13 10:41:27 -07:00
Daniel Imms 5df9808d4c Remove launch.json in favor of auto attach debugging 2018-04-13 10:41:12 -07:00
Daniel Imms 2cee66909b Merge pull request #1374 from Tyriar/1353_run_lint_with_tests
Run lint with tests
2018-04-13 06:20:11 -07:00
Daniel Imms da8151b1b5 Merge pull request #1375 from Tyriar/remove-package-lock
Remove package-lock.json
2018-04-12 10:03:44 -07:00
Daniel Imms a3cb34fbf1 Merge pull request #1385 from johnpoth/headless-mode
Check if charMeasure is defined in headless mode
2018-04-12 07:29:48 -07:00
jpoth 9a1162d7f2 Check if charMeasure is defined in headless mode 2018-04-12 15:43:09 +02:00
Daniel Imms 591b09a62b Merge pull request #1377 from Tyriar/remove_jsdoc
Remove docdash
2018-04-11 09:39:12 -07:00
Daniel Imms f6f3e78e2c Merge pull request #1376 from Tyriar/1324_move_zmodem_demo
Move zmodem demo to demo/
2018-04-11 09:38:56 -07:00
Daniel Imms 82897ed56c Guard usages of DOM attached vars in setOption
Fixes #1383
2018-04-10 19:54:49 -07:00
Daniel Imms 74d91a6bdd Remove docdash 2018-04-07 11:42:36 -07:00
Daniel Imms 4a1ebbfb56 Add .npmrc 2018-04-07 11:40:54 -07:00
Felipe Gasper 86c9b3f92c Fix zmodem demo. 2018-04-05 07:03:09 -07:00
Daniel Imms 4fbd1adaa9 Move zmodem demo to demo/
Fixes #1324
2018-04-04 14:31:25 -07:00
Daniel Imms 004ea61b83 Remove package-lock.json
We don't have any dependencies so this isn't as important to us, it's also ugly
to keep seeing these in PRs.
2018-04-04 14:11:46 -07:00
Daniel Imms 9be57f72f0 Run lint with tests
Fixes #1353
2018-04-04 14:10:03 -07:00
Daniel Imms e5ee76ded4 Remove terminal references on dispose
Part of #1341
Fixes #1370
2018-04-04 11:51:50 -07:00
Daniel Imms 87f21f14a1 Remove unused options
Fixes #897
2018-04-04 11:20:25 -07:00
Daniel Imms ef16811268 Merge branch 'master' into 1364_addon_lint 2018-04-04 11:11:05 -07:00
Daniel Imms 768539a57c Fix lint errors in attach 2018-04-02 08:17:44 -07:00
Daniel Imms 22c4197a1d Lint addons 2018-04-02 08:16:39 -07:00
Jon Austin 07cf029497 Merge branch 'master' into patch-1 2018-02-24 13:12:30 -08:00
Jon Austin f3a37a9522 Add Hyper to list of apps
https://github.com/zeit/hyper/blob/82c7afbeecf5a0c455075868cd23585fce95cf68/package.json#L197
2018-02-24 10:14:51 -08:00
430 changed files with 54297 additions and 30483 deletions
+29
View File
@@ -0,0 +1,29 @@
FROM node:10
# Configure apt
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get -y install --no-install-recommends apt-utils 2>&1
# Verify git and process tools are installed
RUN apt-get install -y git procps
# Install yarn, puppeteer deps
RUN apt-get install -y curl apt-transport-https lsb-release \
&& curl -sS https://dl.yarnpkg.com/$(lsb_release -is | tr '[:upper:]' '[:lower:]')/pubkey.gpg | apt-key add - 2>/dev/null \
&& echo "deb https://dl.yarnpkg.com/$(lsb_release -is | tr '[:upper:]' '[:lower:]')/ stable main" | tee /etc/apt/sources.list.d/yarn.list \
&& apt-get update \
&& apt-get -y install --no-install-recommends \
yarn fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst ttf-freefont \
# https://github.com/Googlechrome/puppeteer/issues/290#issuecomment-322921352
gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 \
libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 \
libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 \
libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 \
ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget
# Clean up
RUN apt-get autoremove -y \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*
ENV DEBIAN_FRONTEND=dialog
+9
View File
@@ -0,0 +1,9 @@
{
"name": "xterm.js",
"dockerFile": "Dockerfile",
"appPort": 3000,
"extensions": [
"dbaeumer.vscode-eslint",
"editorconfig.editorconfig"
]
}
-16
View File
@@ -1,16 +0,0 @@
node_modules/
*.swp
.lock-wscript
lib/
Makefile.gyp
*.Makefile
*.target.gyp.mk
*.node
example/*.log
docs/
npm-debug.log
/.idea/
.env
build/
.vscode/
.git/
+176
View File
@@ -0,0 +1,176 @@
{
"env": {
"browser": true,
"es6": true,
"node": true
},
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": [
"src/browser/tsconfig.json",
"src/common/tsconfig.json",
"test/api/tsconfig.json",
"test/benchmark/tsconfig.json",
"addons/xterm-addon-attach/src/tsconfig.json",
"addons/xterm-addon-attach/test/tsconfig.json",
"addons/xterm-addon-fit/src/tsconfig.json",
"addons/xterm-addon-fit/test/tsconfig.json",
"addons/xterm-addon-ligatures/src/tsconfig.json",
"addons/xterm-addon-search/src/tsconfig.json",
"addons/xterm-addon-search/test/tsconfig.json",
"addons/xterm-addon-serialize/src/tsconfig.json",
"addons/xterm-addon-serialize/test/tsconfig.json",
"addons/xterm-addon-serialize/benchmark/tsconfig.json",
"addons/xterm-addon-unicode11/src/tsconfig.json",
"addons/xterm-addon-unicode11/test/tsconfig.json",
"addons/xterm-addon-web-links/src/tsconfig.json",
"addons/xterm-addon-web-links/test/tsconfig.json",
"addons/xterm-addon-webgl/src/tsconfig.json",
"addons/xterm-addon-webgl/test/tsconfig.json"
],
"sourceType": "module"
},
"ignorePatterns": [
"**/typings/*.d.ts",
"**/node_modules",
"**/*.js"
],
"plugins": [
"@typescript-eslint"
],
"rules": {
"no-extra-semi": "error",
"@typescript-eslint/array-type": [
"warn",
{
"default": "array-simple",
"readonly": "generic"
}
],
"@typescript-eslint/consistent-type-definitions": "warn",
"@typescript-eslint/explicit-function-return-type": [
"warn",
{
"allowExpressions": true
}
],
"@typescript-eslint/explicit-member-accessibility": [
"warn",
{
"accessibility": "explicit",
"overrides": {
"constructors": "off"
}
}
],
"@typescript-eslint/indent": [
"warn",
2
],
"@typescript-eslint/member-delimiter-style": [
"warn",
{
"multiline": {
"delimiter": "semi",
"requireLast": true
},
"singleline": {
"delimiter": "comma",
"requireLast": false
}
}
],
"@typescript-eslint/naming-convention": [
"warn",
{ "selector": "default", "format": ["camelCase"] },
// variableLike
{ "selector": "variable", "format": ["camelCase", "UPPER_CASE"] },
{ "selector": "variable", "filter": "^I.+Service$", "format": ["PascalCase"], "prefix": ["I"] },
// memberLike
{ "selector": "memberLike", "modifiers": ["private"], "format": ["camelCase"], "leadingUnderscore": "require" },
{ "selector": "memberLike", "modifiers": ["protected"], "format": ["camelCase"], "leadingUnderscore": "require" },
{ "selector": "enumMember", "format": ["UPPER_CASE"] },
// memberLike - Allow enum-like objects to use UPPER_CASE
{ "selector": "property", "modifiers": ["public"], "format": ["camelCase", "UPPER_CASE"] },
{ "selector": "method", "modifiers": ["public"], "format": ["camelCase", "UPPER_CASE"] },
// typeLike
{ "selector": "typeLike", "format": ["PascalCase"] },
{ "selector": "interface", "format": ["PascalCase"], "prefix": ["I"] }
],
"@typescript-eslint/prefer-namespace-keyword": "warn",
"@typescript-eslint/type-annotation-spacing": "warn",
"@typescript-eslint/quotes": [
"warn",
"single",
{ "allowTemplateLiterals": true }
],
"@typescript-eslint/semi": [
"warn",
"always"
],
"comma-dangle": [
"warn",
{
"objects": "never",
"arrays": "never",
"functions": "never"
}
],
"curly": [
"warn",
"multi-line"
],
"eol-last": "warn",
"eqeqeq": [
"warn",
"always"
],
"keyword-spacing": "warn",
"new-parens": "warn",
"no-duplicate-imports": "warn",
"no-else-return": [
"warn",
{
"allowElseIf": false
}
],
"no-eval": "warn",
"no-irregular-whitespace": "warn",
"no-restricted-imports": [
"warn",
{
"patterns": [
".*\\/out\\/.*"
]
}
],
"no-trailing-spaces": "warn",
"no-unsafe-finally": "warn",
"no-var": "warn",
"one-var": [
"warn",
"never"
],
"object-curly-spacing": [
"warn",
"always"
],
"prefer-const": "warn",
"spaced-comment": [
"warn",
"always",
{
"markers": ["/"],
"exceptions": ["-"]
}
]
},
"overrides": [
{
"files": ["**/*.test.ts"],
"rules": {
"object-curly-spacing": "off"
}
}
]
}
-11
View File
@@ -1,11 +0,0 @@
<!-- Enter your issue description here -->
## Details
- Browser and browser version:
- OS version:
- xterm.js version:
### Steps to reproduce
1.
2.
+17
View File
@@ -0,0 +1,17 @@
---
name: Bug report
about: Create a bug report
---
<!-- ⚠️ Please search existing issues to avoid creating duplicates. ⚠️ -->
<!-- Describe the bug here. -->
## Details
- Browser and browser version:
- OS version:
- xterm.js version:
### Steps to reproduce
1.
2.
+5
View File
@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Question
url: https://stackoverflow.com/questions/tagged/xtermjs
about: Please ask and answer questions here.
@@ -0,0 +1,7 @@
---
name: Feature request
about: Suggest a feature or enhancement
---
<!-- ⚠️ Please search existing issues to avoid creating duplicates. ⚠️ -->
<!-- Describe the enhancement here. -->
+8 -5
View File
@@ -2,6 +2,9 @@ node_modules/
*.swp
.lock-wscript
lib/
out/
out-test/
.nyc_output/
Makefile.gyp
*.Makefile
*.target.gyp.mk
@@ -12,13 +15,13 @@ npm-debug.log
/.idea/
.env
build/
.vscode/
.DS_Store
fixtures/typings-test/*.js
# Directories needed for code coverage
/coverage/
package-lock.json
# Keep bundled code out of Git
dist/
demo/dist/
# dont commit benchmark folders
.benchmark/
timeline/
+52 -12
View File
@@ -1,16 +1,56 @@
node_modules/
*.swp
.lock-wscript
lib/*.test.js
lib/*.test.js.map
# Blacklist - exclude everything except npm defaults such as LICENSE, etc
*
!*/
# Whitelist - entries to be included must be negated with "!"
!*.js
!*.json
# Whitelist - css/
!css/**/*.css
# Whitelist - dist/
!dist/**/*.js
!dist/**/*.js.map
!dist/**/*.css
# Whitelist - lib/
!lib/**/*.d.ts
!lib/**/*.js
!lib/**/*.js.map
!lib/**/*.css
# Whitelist - src/
!src/**/*.ts
!src/**/*.d.ts
!src/**/*.js
!src/**/*.js.map
!src/**/*.css
# Whitelist - typings/
!typings/*.d.ts
# Blacklist - (normal behavior) these will override any whitelist
*.d.ts.map
*.test.ts
*.test.d.ts
*.test.js
*.test.js.map
lib/test/
Makefile.gyp
*.Makefile
*.target.gyp.mk
*.node
example/*.log
webpack.config.js
docs/
npm-debug.log
/.idea/
.env
.vscode/
bin/
build/
fixtures/
demo/
.devcontainer/
out/
addons/
+1
View File
@@ -0,0 +1 @@
package-lock=false
-20
View File
@@ -1,20 +0,0 @@
language: node_js
os:
- linux
node_js:
- 6
before_install:
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test ; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get -qq update ; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get -qq install g++-4.8 ; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export CXX=g++-4.8 ; fi
- npm install -g npm@5.1.0
env:
matrix:
- NPM_COMMAND=tsc
- NPM_COMMAND=lint
- NPM_COMMAND=test
notifications:
email: false
script: npm run $NPM_COMMAND
after_success: npm run coveralls
+45 -2
View File
@@ -4,7 +4,7 @@
{
"type": "node",
"request": "launch",
"name": "Mocha Tests",
"name": "Unit Tests",
"cwd": "${workspaceRoot}",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/mocha",
"windows": {
@@ -13,11 +13,54 @@
"runtimeArgs": [
"--colors",
"--recursive",
"${workspaceRoot}/lib"
"${workspaceRoot}/out/**/*.test.js"
],
"env": {
"NODE_PATH": "${workspaceRoot}/out"
},
"sourceMaps": true,
"outFiles": [ "${workspaceRoot}/out/**/*.js" ],
"internalConsoleOptions": "openOnSessionStart"
},
{
"type": "node",
"request": "launch",
"name": "Integration Tests",
"cwd": "${workspaceRoot}",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/mocha",
"windows": {
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/mocha.cmd"
},
"runtimeArgs": [
"--colors",
"--recursive",
"${workspaceRoot}/out/**/*.api.js"
],
"sourceMaps": true,
"outFiles": [ "${workspaceRoot}/lib/**/*.js" ],
"internalConsoleOptions": "openOnSessionStart"
},
{
"type": "chrome",
"request": "launch",
"name": "Demo Client",
"url": "http://127.0.0.1:3000",
"webRoot": "${workspaceFolder}/"
},
{
"type": "node",
"request": "launch",
"name": "Demo Server",
"runtimeExecutable": "npm",
"runtimeArgs": [
"run",
"start-debug"
],
"port": 9229,
"serverReadyAction": {
"action": "openExternally",
"pattern": "App listening to (http://.*?:[0-9]+)"
}
}
]
}
+2 -6
View File
@@ -1,8 +1,4 @@
{
"search.exclude": {
"**/node_modules": true,
"**/dist": true,
"**/build": true,
"**/lib": true
}
"typescript.preferences.importModuleSpecifier": "non-relative",
"typescript.preferences.quoteStyle": "single"
}
+70
View File
@@ -0,0 +1,70 @@
{
"version": "2.0.0",
"presentation": {
"echo": false,
"reveal": "always",
"focus": false,
"panel": "dedicated",
"showReuseMessage": true
},
"tasks": [
{
"type": "npm",
"script": "test",
"group": "test",
"problemMatcher": []
},
{
"type": "npm",
"script": "watch",
"group": "build",
"isBackground": true,
"problemMatcher": "$tsc-watch",
"presentation": {
"group": "vscode"
}
},
{
"type": "npm",
"script": "start",
"dependsOn": "npm: watch",
"group": "build",
"isBackground": true,
"problemMatcher": [],
"presentation": {
"group": "vscode"
}
},
{
"label": "Start demo",
"dependsOn": "npm: start",
"group": {
"kind": "build",
"isDefault": true
},
"isBackground": true,
"problemMatcher": {
"owner": "typescript",
"fileLocation": [
"relative",
"${workspaceFolder}"
],
"pattern": [
{
"regexp": "^([^\\\\s].*)\\\\((\\\\d+,\\\\d+)\\\\):\\\\s*(.*)$",
"file": 1,
"location": 2,
"message": 3
}
],
"background": {
"beginsPattern": "assets by",
"endsPattern": "webpack \\d+\\.\\d+\\.\\d+ compiled successfully"
}
},
"presentation": {
"group": "vscode"
}
}
]
}
-112
View File
@@ -1,112 +0,0 @@
List of xterm.js contributors. Updated before every release.
Adrian Labbé <adrilabbelol@gmail.com>
Aleksandr Andrienko <aandrienko@codenvy.com>
Aleksandr Andriienko <oandriie@redhat.com>
Alessandro Nadalin <alessandro.nadalin@gmail.com>
Alexander Olsson <noseglid@gmail.com>
Alexandre Petit-Pas <petitpasalexandre@gmail.com>
Alexey Kontsevoy <alexey@gravitational.com>
Andres Mejia <amejia004@gmail.com>
Anish Athalye <me@anishathalye.com>
Anthony Lapenna <lapenna.anthony@gmail.com>
Antonin Stefanutti <antonin@stefanutti.fr>
Antonis Kalipetis <akalipetis@sourcelair.com>
Anton Skshidlevsky <meefik@gmail.com>
Anton Yurovskykh <anton.yurovskykh@gmail.com>
Artem Arbatskiy <artyom.arbatskiy@gmail.com>
Austin Robertson <austinrobertson@gmail.com>
ayapi <colors.aya@gmail.com>
Ben Hall <ben@benhall.me.uk>
Benjamin Fischer <benjamin.fischer@rwth-aachen.de>
Benjamin Woodruff <github@benjam.info>
Bill Church <billchurch@users.noreply.github.com>
Bob Reid <bobreid@Bobs-MacBook-Pro.local>
bottleofwater <nison.mael+bottleofwater@gmail.com>
Brian Mock <brian@mockbrian.com>
Bruno Ribeiro <b.m.fernandes.ribeiro@gmail.com>
Bruno Ribeito <b.m.fernandes.ribeiro@gmail.com>
Carson Anderson <carson@betterservers.com>
CHaBou <chabup@delean.fr>
Christian Budde Christensen <budde377@gmail.com>
Christof Marti <chrmarti@microsoft.com>
Christopher Jeffrey <chjjeffrey@gmail.com>
coderaiser <mnemonic.enemy@gmail.com>
Damien Tournoud <damien@platform.sh>
Dan Brown <jdanbrown@gmail.com>
Daniel Griffen <dagriffe@microsoft.com>
Daniel Griffen <daniel@griffen.io>
Daniel Imms <daimms@microsoft.com>
Daniel Risacher <drisacher@gmail.com>
Dan Kaplun <dbkaplun@twitch.tv>
Darin Morrison <freebroccolo@users.noreply.github.com>
dcylabs <dcylabs@gmail.com>
Dominik Csapak <d.csapak@proxmox.com>
Edgar Andrés Margffoy Tuay <andfoy@gmail.com>
Elliot Saba <staticfloat@gmail.com>
Exile <exile@chamber.ee>
Felipe Gasper <felipe@felipegasper.com>
Felix <30559812+felixse@users.noreply.github.com>
ficristo <ficristo.work@gmail.com>
Gary Ritchie <gary@rstudio.com>
hiro-su <h.sugipon@gmail.com>
Ian Lewis <ianlewis@google.com>
imoses <ido@twiggle.com>
InDieTasten <indietasten@gmail.com>
irokas <akasidiari@inf.uth.gr>
Jakob Gillich <jakob@gillich.me>
Jan Kuri <jkuri88@gmail.com>
Jean Bruenn <himself@jeanbruenn.info>
Jeremy Danyow <jedanyow@microsoft.com>
Jianhui Zhao <jianhuizhao329@gmail.com>
Joao Moreno <jomo@microsoft.com>
Joao Moreno <mail@joaomoreno.com>
Johannes Zellner <johannes@nebulon.de>
Jon Masters <jon.masters@sky.com>
Jörg Breitbart <jerch@rockborn.de>
Justin Luk <jluk@users.noreply.github.com>
Justin Mecham <justin@mecham.me>
Kirill Merkushev <lanwen@yandex.ru>
Krasimir Tsonev <krasimir@outset.ws>
Luca <LucaT1@users.noreply.github.com>
Lucian Buzzo <lucian.buzzo@gmail.com>
Lukas Drgon <lukas.drgon@gmail.com>
Maël Nison <nison.mael@gmail.com>
Marc Dumais <marc.dumais@ericsson.com>
Marek Libra <mlibra@redhat.com>
Markus F.X.J. Oberhumer <markus@oberhumer.com>
Martin Chloride <i@martincl2.me>
Martin Koppehel <martin.koppehel@st.ovgu.de>
Martin Wang <jiahaow@ca.ibm.com>
Matt Bierner <matb@microsoft.com>
Matthew James <matthew.d.james87@gmail.com>
Michael Irwin <mikesir87@gmail.com>
Mikko Karvonen <mikko.karvonen@arm.com>
mofux <t.zilz@mofux.org>
Nicolas Ramz <nicolas.ramz@gmail.com>
npezza93 <npezza93@gmail.com>
Oleksandr Andriienko <oandriie@redhat.com>
Paris Kasidiaris <pariskasidiaris@gmail.com>
Paris Kasidiaris <paris@sourcelair.com>
Peter Baumgarten <me@peterbaumgarten.com>
Philip Olson <philip.olson@protonmail.ch>
Rick Baker <rick@ricktbaker.com>
runarberg <runar@greenqloud.com>
Saad Malik <simfox3@gmail.com>
Samuel Williams <samuel.williams@oriontransfer.co.nz>
Saswat Das <saswatds@users.noreply.github.com>
Saul Costa <saul@codevolve.com>
Shuanglei Tao <tsl0922@gmail.com>
sitzmar <sitzmar@gmail.com>
Steven Silvester <steven.silvester@ieee.org>
stuicey <stuicey@users.noreply.github.com>
t-amqi <umberos@gmail.com>
Thanasis Daglis <thanasis@sourcelair.com>
thomas <thomas@kreativkonzentrat.de>
Thomas Zilz <t.zilz@mofux.org>
Tine Jozelj <tine.jozelj@outlook.com>
Tyler Jewell <tjewell@codenvy.com>
Vincent Woo <me@vincentwoo.com>
yutaka <shigure@refy.net>
YuviPanda <yuvipanda@gmail.com>
ZHAO Xudong <zxdong@gmail.com>
+73
View File
@@ -0,0 +1,73 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
education, socio-economic status, nationality, personal appearance, race,
religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting [@Tyriar](https://twitter.com/Tyriar) or [@pariskasid](https://twitter.com/pariskasid) on Twitter. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
[homepage]: https://www.contributor-covenant.org
+11 -9
View File
@@ -23,34 +23,36 @@ opening an issue, read these pointers.
- Mention precisely what went wrong. What did you expect to happen? What happened instead? Describe the
exact steps a maintainer has to take to make the problem occur.
- If the problem can not be reproduced in the [demo of xterm.js](README.md#demo), please provide an HTML document that demonstrates the problem.
- If the problem can not be reproduced in the [demo of xterm.js](https://github.com/xtermjs/xterm.js/wiki/Contributing#running-the-demo), please provide an HTML document that demonstrates the problem.
- Be polite. Issues with an indignant or belligerent tone tend to be moved to the
bottom of the pile.
## Contributing code
- Make sure you have a [GitHub account](https://github.com/join)
You can find issues to work on by looking at the [help wanted](https://github.com/xtermjs/xterm.js/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) or [good first issue](https://github.com/xtermjs/xterm.js/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) issues. It's a good idea to comment on the issue saying that you're taking it, just in case someone else comes along and you duplicate work. Once you have your issue, here are the steps to contribute:
- Fork [xterm.js](https://github.com/sourcelair/xterm.js/)
([how to fork a repo](https://help.github.com/articles/fork-a-repo))
- Make your changes
([how to fork a repo](https://help.github.com/articles/fork-a-repo)).
- Get the [xterm.js demo](https://github.com/xtermjs/xterm.js/wiki/Contributing#running-the-demo) running.
- Make your changes.
- If your changes are easy to test or likely to regress, add tests. Tests go into `test`, directory.
- Follow the general code style of the rest of the project (see below).
- Submit a pull request
([how to create a pull request](https://help.github.com/articles/fork-a-repo)).
Don't put more than one feature/fix in a single pull request.
By contributing code to xterm.js you
By contributing code to xterm.js you:
- agree to license the contributed code under xterm.js' [MIT
- Agree to license the contributed code under xterm.js' [MIT
license](LICENSE).
- confirm that you have the right to contribute and license the code
- Confirm that you have the right to contribute and license the code
in question. (Either you hold all rights on the code, or the rights
holder has explicitly granted the right to use it like this,
through a compatible open source license or through a direct
agreement with you.)
### Third party dependencies
### Test coverage
We prefer to not include any non-dev third party dependencies in order to keep our code minimal, performant and secure. If you plan on adding a dependency on a third party library it's a good idea to discuss the need in an issue with the maintainers first.
One area that always needs attention is improving out unit test coverage, you can view the code coverage report on [Azure Pipelines](https://dev.azure.com/xtermjs/xterm.js/_build/latest?definitionId=3) by clicking the Code Coverage tab.
-19
View File
@@ -1,19 +0,0 @@
FROM node:8
MAINTAINER Paris Kasidiaris <paris@sourcelair.com>
# Set the working directory
WORKDIR /usr/src/app
# Set an entrypoint, to automatically install node modules
ENTRYPOINT ["/bin/bash", "-c", "if [[ ! -d node_modules ]]; then npm install; fi; exec \"${@:0}\";"]
CMD ["npm", "run", "start"]
# First, install dependencies to improve layer caching
COPY package.json /usr/src/app/
RUN npm install
# Add the code
COPY . /usr/src/app
# Run the tests and build, to make sure everything is working nicely
RUN npm run build && npm run webpack && npm run test
+1
View File
@@ -1,3 +1,4 @@
Copyright (c) 2017-2019, The xterm.js authors (https://github.com/xtermjs/xterm.js)
Copyright (c) 2014-2016, SourceLair Private Company (https://www.sourcelair.com)
Copyright (c) 2012-2013, Christopher Jeffrey (https://github.com/chjj/)
+120 -139
View File
@@ -1,117 +1,125 @@
# [![xterm.js logo](logo-full.png)](https://xtermjs.org)
[![xterm.js build status](https://api.travis-ci.org/xtermjs/xterm.js.svg)](https://travis-ci.org/xtermjs/xterm.js) [![Coverage Status](https://coveralls.io/repos/github/sourcelair/xterm.js/badge.svg)](https://coveralls.io/github/sourcelair/xterm.js) [![Gitter](https://badges.gitter.im/sourcelair/xterm.js.svg)](https://gitter.im/sourcelair/xterm.js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) [![jsDelivr Hits](https://data.jsdelivr.com/v1/package/npm/xterm/badge?style=rounded)](https://www.jsdelivr.com/package/npm/xterm)
[![Build Status](https://dev.azure.com/xtermjs/xterm.js/_apis/build/status/xtermjs.xterm.js)](https://dev.azure.com/xtermjs/xterm.js/_build/latest?definitionId=3)
Xterm.js is a terminal front-end component written in JavaScript that works in the browser.
It enables applications to provide fully featured terminals to their users and create great development experiences.
Xterm.js is a front-end component written in TypeScript that lets applications bring fully-featured terminals to their users in the browser. It's used by popular projects such as VS Code, Hyper and Theia.
## Features
- **Text-based application support**: Use xterm.js to work with applications like `bash`, `git` etc.
- **Curses-based application support**: Use xterm.js to work with applications like `vim`, `tmux` etc.
- **Mouse events support**: Xterm.js captures mouse events like click and scroll and passes them to the terminal's back-end controlling process
- **CJK (Chinese, Japanese, Korean) character support**: Xterm.js renders CJK characters seamlessly
- **IME support**: Insert international (including CJK) characters using IME input with your keyboard
- **Self-contained library**: Xterm.js works on its own. It does not require any external libraries like jQuery or React to work
- **Modular, event-based API**: Lets you build addons and themes with ease
- **Terminal apps just work**: Xterm.js works with most terminal apps such as `bash`, `vim`, and `tmux`, including support for curses-based apps and mouse events.
- **Performant**: Xterm.js is *really* fast, it even includes a GPU-accelerated renderer.
- **Rich Unicode support**: Supports CJK, emojis, and IMEs.
- **Self-contained**: Requires zero dependencies to work.
- **Accessible**: Screen reader and minimum contrast ratio support can be turned on.
- **And much more**: Links, theming, addons, well documented API, etc.
## What xterm.js is not
- Xterm.js is not a terminal application that you can download and use on your computer
- Xterm.js is not `bash`. Xterm.js can be connected to processes like `bash` and let you interact with them (provide input, receive output)
- Xterm.js is not a terminal application that you can download and use on your computer.
- Xterm.js is not `bash`. Xterm.js can be connected to processes like `bash` and let you interact with them (provide input, receive output).
## Getting Started
First you need to install the module, we ship exclusively through [npm](https://www.npmjs.com/) so you need that installed and then add xterm.js as a dependency by running:
First, you need to install the module, we ship exclusively through [npm](https://www.npmjs.com/), so you need that installed and then add xterm.js as a dependency by running:
```
```bash
npm install xterm
```
To start using xterm.js on your browser, add the `xterm.js` and `xterm.css` to the head of your html page. Then create a `<div id="terminal"></div>` onto which xterm can attach itself.
To start using xterm.js on your browser, add the `xterm.js` and `xterm.css` to the head of your HTML page. Then create a `<div id="terminal"></div>` onto which xterm can attach itself. Finally, instantiate the `Terminal` object and then call the `open` function with the DOM object of the `div`.
```html
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="node_modules/xterm/dist/xterm.css" />
<script src="node_modules/xterm/dist/xterm.js"></script>
<link rel="stylesheet" href="node_modules/xterm/css/xterm.css" />
<script src="node_modules/xterm/lib/xterm.js"></script>
</head>
<body>
<div id="terminal"></div>
<script>
var term = new Terminal();
var term = new Terminal();
term.open(document.getElementById('terminal'));
term.write('Hello from \033[1;3;31mxterm.js\033[0m $ ')
term.write('Hello from \x1B[1;3;31mxterm.js\x1B[0m $ ')
</script>
</body>
</html>
```
Finally instantiate the `Terminal` object and then call the `open` function with the DOM object of the `div`.
### Importing
The proposed way to load xterm.js is via the ES6 module syntax.
The recommended way to load xterm.js is via the ES6 module syntax:
```javascript
import { Terminal } from 'xterm';
```
*Note: There are currently no typings for addons so you will need to upcast if using TypeScript, eg. `(<any>xterm).fit()`.*
### Addons
Addons are JavaScript modules that extend the `Terminal` prototype with new methods and attributes to provide additional functionality. There are a handful available in the main repository in the `src/addons` directory and you can even write your own, by using xterm.js' public API.
⚠️ *This section describes the new addon format introduced in v3.14.0, see [here](https://github.com/xtermjs/xterm.js/blob/3.14.2/README.md#addons) for the instructions on the old format*
To use an addon, just import the JavaScript module and pass it to `Terminal`'s `applyAddon` method:
Addons are separate modules that extend the `Terminal` by building on the [xterm.js API](https://github.com/xtermjs/xterm.js/blob/master/typings/xterm.d.ts). To use an addon, you first need to install it in your project:
```javascript
import { Terminal } from xterm;
import * as fit from 'xterm/lib/addons/fit/fit';
Terminal.applyAddon(fit);
var xterm = new Terminal(); // Instantiate the terminal
xterm.fit(); // Use the `fit` method, provided by the `fit` addon
```bash
npm i -S xterm-addon-web-links
```
Then import the addon, instantiate it and call `Terminal.loadAddon`:
```ts
import { Terminal } from 'xterm';
import { WebLinksAddon } from 'xterm-addon-web-links';
const terminal = new Terminal();
// Load WebLinksAddon on terminal, this is all that's needed to get web links
// working in the terminal.
terminal.loadAddon(new WebLinksAddon());
```
The xterm.js team maintains the following addons, but anyone can build them:
- [`xterm-addon-attach`](https://github.com/xtermjs/xterm.js/tree/master/addons/xterm-addon-attach): Attaches to a server running a process via a websocket
- [`xterm-addon-fit`](https://github.com/xtermjs/xterm.js/tree/master/addons/xterm-addon-fit): Fits the terminal to the containing element
- [`xterm-addon-search`](https://github.com/xtermjs/xterm.js/tree/master/addons/xterm-addon-search): Adds search functionality
- [`xterm-addon-web-links`](https://github.com/xtermjs/xterm.js/tree/master/addons/xterm-addon-web-links): Adds web link detection and interaction
## Browser Support
Since xterm.js is typically implemented as a developer tool, only modern browsers are supported officially. Here is a list of the versions we aim to support:
Since xterm.js is typically implemented as a developer tool, only modern browsers are supported officially. Specifically the latest versions of *Chrome*, *Edge*, *Firefox*, and *Safari*.
- Chrome latest
- Edge latest
- Firefox latest
- Safari latest
- IE11
We also partially support *Internet Explorer 11*, meaning xterm.js should work for the most part, but we reserve the right to not provide workarounds specifically for it unless it's absolutely necessary to get the basic input/output flow working.
Xterm.js works seamlessly in Electron apps and may even work on earlier versions of the browsers but these are the browsers we strive to keep working.
Xterm.js works seamlessly in [Electron](https://electronjs.org/) apps and may even work on earlier versions of the browsers. These are the versions we strive to keep working.
## API
The full API for xterm.js is contained within the [TypeScript declaration file](https://github.com/xtermjs/xterm.js/blob/master/typings/xterm.d.ts), use the branch/tag picker in GitHub (`w`) to navigate to the correct version of the API.
Note that some APIs are marked *experimental*, these are added to enable experimentation with new ideas without committing to support it like a normal [semver](https://semver.org/) API. Note that these APIs can change radically between versions, so be sure to read release notes if you plan on using experimental APIs.
## Real-world uses
Xterm.js is used in several world-class applications to provide great terminal experiences.
- [**SourceLair**](https://www.sourcelair.com/): In-browser IDE that provides its users with fully-featured Linux terminals based on xterm.js
- [**Microsoft Visual Studio Code**](http://code.visualstudio.com/): Modern, versatile and powerful open source code editor that provides an integrated terminal based on xterm.js
- [**ttyd**](https://github.com/tsl0922/ttyd): A command-line tool for sharing terminal over the web, with fully-featured terminal emulation based on xterm.js
- [**SourceLair**](https://www.sourcelair.com/): In-browser IDE that provides its users with fully-featured Linux terminals based on xterm.js.
- [**Microsoft Visual Studio Code**](http://code.visualstudio.com/): Modern, versatile, and powerful open source code editor that provides an integrated terminal based on xterm.js.
- [**ttyd**](https://github.com/tsl0922/ttyd): A command-line tool for sharing terminal over the web, with fully-featured terminal emulation based on xterm.js.
- [**Katacoda**](https://www.katacoda.com/): Katacoda is an Interactive Learning Platform for software developers, covering the latest Cloud Native technologies.
- [**Eclipse Che**](http://www.eclipse.org/che): Developer workspace server, cloud IDE, and Eclipse next-generation IDE.
- [**Codenvy**](http://www.codenvy.com): Cloud workspaces for development teams.
- [**CoderPad**](https://coderpad.io): Online interviewing platform for programmers. Run code in many programming languages, with results displayed by `xterm.js`.
- [**WebSSH2**](https://github.com/billchurch/WebSSH2): A web based SSH2 client using `xterm.js`, socket.io, and ssh2.
- [**CoderPad**](https://coderpad.io): Online interviewing platform for programmers. Run code in many programming languages, with results displayed by xterm.js.
- [**WebSSH2**](https://github.com/billchurch/WebSSH2): A web based SSH2 client using xterm.js, socket.io, and ssh2.
- [**Spyder Terminal**](https://github.com/spyder-ide/spyder-terminal): A full fledged system terminal embedded on Spyder IDE.
- [**Cloud Commander**](https://cloudcmd.io "Cloud Commander"): Orthodox web file manager with console and editor.
- [**Codevolve**](https://www.codevolve.com "Codevolve"): Online platform for interactive coding and web development courses. Live container-backed terminal uses `xterm.js`.
- [**Next Tech**](https://next.tech "Next Tech"): Online platform for interactive coding and web development courses. Live container-backed terminal uses xterm.js.
- [**RStudio**](https://www.rstudio.com/products/RStudio "RStudio"): RStudio is an integrated development environment (IDE) for R.
- [**Terminal for Atom**](https://github.com/jsmecham/atom-terminal-tab): A simple terminal for the Atom text editor.
- [**Eclipse Orion**](https://orionhub.org): A modern, open source software development environment that runs in the cloud. Code, deploy and run in the cloud.
- [**Eclipse Orion**](https://orionhub.org): A modern, open source software development environment that runs in the cloud. Code, deploy, and run in the cloud.
- [**Gravitational Teleport**](https://github.com/gravitational/teleport): Gravitational Teleport is a modern SSH server for remotely accessing clusters of Linux servers via SSH or HTTPS.
- [**Hexlet**](https://en.hexlet.io): Practical programming courses (JavaScript, PHP, Unix, databases, functional programming). A steady path from the first line of code to the first job.
- [**Selenoid UI**](https://github.com/aerokube/selenoid-ui): Simple UI for the scallable golang implementation of Selenium Hub named Selenoid. We use XTerm for streaming logs over websockets from docker containers.
- [**Selenoid UI**](https://github.com/aerokube/selenoid-ui): Simple UI for the scalable golang implementation of Selenium Hub named Selenoid. We use XTerm for streaming logs over websockets from docker containers.
- [**Portainer**](https://portainer.io): Simple management UI for Docker.
- [**SSHy**](https://github.com/stuicey/SSHy): HTML5 Based SSHv2 Web Client with E2E encryption utilising `xterm.js`, SJCL & websockets.
- [**JupyterLab**](https://github.com/jupyterlab/jupyterlab): An extensible
computational environment for Jupyter, supporting interactive data science and scientific computing across all programming languages.
- [**SSHy**](https://github.com/stuicey/SSHy): HTML5 Based SSHv2 Web Client with E2E encryption utilising xterm.js, SJCL & websockets.
- [**JupyterLab**](https://github.com/jupyterlab/jupyterlab): An extensible computational environment for Jupyter, supporting interactive data science and scientific computing across all programming languages.
- [**Theia**](https://github.com/theia-ide/theia): Theia is a cloud & desktop IDE framework implemented in TypeScript.
- [**Opshell**](https://github.com/ricktbaker/opshell) Ops Helper tool to make life easier working with AWS instances across multiple organizations.
- [**Proxmox VE**](https://www.proxmox.com/en/proxmox-ve): Proxmox VE is a complete open-source platform for enterprise virtualization. It uses xterm.js for container terminals and the host shell.
@@ -122,106 +130,79 @@ computational environment for Jupyter, supporting interactive data science and s
- [**Kubebox**](https://github.com/astefanutti/kubebox): Terminal console for Kubernetes clusters.
- [**Azure Cloud Shell**](https://shell.azure.com): Azure Cloud Shell is a Microsoft-managed admin machine built on Azure, for Azure.
- [**atom-xterm**](https://atom.io/packages/atom-xterm): Atom plugin for providing terminals inside your Atom workspace.
- [**rtty**](https://github.com/zhaojh329/rtty): A reverse proxy WebTTY. It is composed of the client and the server.
- [**Pisth**](https://github.com/ColdGrub1384/Pisth): An SFTP and SSH client for iOS
- [**rtty**](https://github.com/zhaojh329/rtty): Access your terminals from anywhere via the web.
- [**Pisth**](https://github.com/ColdGrub1384/Pisth): An SFTP and SSH client for iOS.
- [**abstruse**](https://github.com/bleenco/abstruse): Abstruse CI is a continuous integration platform based on Node.JS and Docker.
- [**Microsoft SQL Operations Studio**](https://github.com/Microsoft/sqlopsstudio): A data management tool that enables working with SQL Server, Azure SQL DB and SQL DW from Windows, macOS and Linux
- [**FreeMAN**](https://github.com/matthew-matvei/freeman): A free, cross-platform file manager for power users
- [**Azure Data Studio**](https://github.com/Microsoft/azuredatastudio): A data management tool that enables working with SQL Server, Azure SQL DB and SQL DW from Windows, macOS and Linux.
- [**FreeMAN**](https://github.com/matthew-matvei/freeman): A free, cross-platform file manager for power users.
- [**Fluent Terminal**](https://github.com/felixse/FluentTerminal): A terminal emulator based on UWP and web technologies.
- [**Hyper**](https://hyper.is): A terminal built on web technologies.
- [**Diag**](https://diag.ai): A better way to troubleshoot problems faster. Capture, share and reapply troubleshooting knowledge so you can focus on solving problems that matter.
- [**GoTTY**](https://github.com/yudai/gotty): A simple command line tool that shares your terminal as a web application based on xterm.js.
- [**genact**](https://github.com/svenstaro/genact): A nonsense activity generator.
- [**cPanel & WHM**](https://cpanel.com): The hosting platform of choice.
- [**Nutanix**](https://github.com/nutanix): Nutanix Enterprise Cloud uses xterm in the webssh functionality within Nutanix Calm, and is also looking to move our old noserial (termjs) functionality to xterm.js.
- [**SSH Web Client**](https://github.com/roke22/PHP-SSH2-Web-Client): SSH Web Client with PHP.
- [**Shellvault**](https://www.shellvault.io): The cloud-based SSH terminal you can access from anywhere.
- [**Juno**](http://junolab.org/): A flexible Julia IDE, based on Atom.
- [**webssh**](https://github.com/huashengdun/webssh): Web based ssh client.
- [**info-beamer hosted**](https://info-beamer.com): Uses xterm.js to manage digital signage devices from the web dashboard.
- [**Jumpserver**](https://github.com/jumpserver/luna): Jumpserver Luna project, Jumpserver is a bastion server project, Luna use xterm.js for web terminal emulation.
- [**LxdMosaic**](https://github.com/turtle0x1/LxdMosaic): Uses xterm.js to give terminal access to containers through LXD
- [**CodeInterview.io**](https://codeinterview.io): A coding interview platform in 25+ languages and many web frameworks. Uses xterm.js to provide shell access.
- [**Bastillion**](https://www.bastillion.io): Bastillion is an open-source web-based SSH console that centrally manages administrative access to systems.
- [**PHP App Server**](https://github.com/cubiclesoft/php-app-server/): Create lightweight, installable almost-native applications for desktop OSes. ExecTerminal (nicely wraps the xterm.js Terminal), TerminalManager, and RunProcessSDK are self-contained, reusable ES5+ compliant Javascript components.
- [**NgTerminal**](https://github.com/qwefgh90/ng-terminal): NgTerminal is a web terminal that leverages xterm.js on Angular 7+. You can easily add it into your application by adding `<ng-terminal></ng-terminal>` into your component.
- [**tty-share**](https://tty-share.com): Extremely simple terminal sharing over the Internet.
- [**Ten Hands**](https://github.com/saisandeepvaddi/ten-hands): One place to run your command-line tasks.
- [**WebAssembly.sh**](https://webassembly.sh): A WebAssembly WASI browser terminal
- [**Gus**](https://gus.jp): A shared coding pad where you can run Python with xterm.js
- [**Linode**](https://linode.com): Linode uses xterm.js to provide users a web console for their Linode instances.
- [**FluffOS**](https://www.fluffos.info): Active maintained LPMUD driver with websocket support.
- [**x-terminal**](https://atom.io/packages/x-terminal): Atom plugin for providing terminals inside your Atom workspace.
- [**CoCalc**](https://cocalc.com/): Lots of free software pre-installed, to chat, collaborate, develop, program, publish, research, share, teach, in C++, HTML, Julia, Jupyter, LaTeX, Markdown, Python, R, SageMath, Scala, ...
- [**Dank Domain**](https://www.DDgame.us/): Open source multiuser medieval game supporting old & new terminal emulation.
- [**DockerStacks**](https://docker-stacks.com/): Local LAMP/LEMP development studio
- [**Codecademy**](https://codecademy.com/): Uses xterm.js in its courses on Bash.
- [**Laravel Ssh Web Client**](https://github.com/roke22/Laravel-ssh-client): Laravel server inventory with ssh web client to connect at server using xterm.js
- [**Repl.it**](https://repl.it): Collaborative browser based IDE with support for 50+ different languages.
- [**TeleType**](https://github.com/akshaykmr/TeleType): cli tool that allows you to share your terminal online conveniently. Show off mad cli-fu, help a colleague, teach, or troubleshoot.
- [**Intervue**](https://www.intervue.io): Pair programming for interviews. Multiple programming languages are supported, with results displayed by xterm.js.
- [**TRASA**](https://trasa.io): Zero trust access to Web, SSH, RDP, and Database services.
- [**Commas**](https://github.com/CyanSalt/commas): Commas is a hackable terminal and command runner.
- [**Devtron**](https://github.com/devtron-labs/devtron): Software Delivery Workflow For Kubernetes.
- [**NxShell**](https://github.com/nxshell/nxshell): An easy to use new terminal for SSH.
- [**gifcast**](https://dstein64.github.io/gifcast/): Converts an asciinema cast to an animated GIF.
- [**WizardWebssh**](https://gitlab.com/mikeramsey/wizardwebssh): A terminal with Pyqt5 Widget for embedding, which can be used as an ssh client to connect to your ssh servers. It is written in Python, based on tornado, paramiko, and xterm.js.
- [**Wizard Assistant**](https://wizardassistant.com/): Wizard Assistant comes with advanced automation tools, preloaded common and special time-saving commands, and a built-in SSH terminal. Now you can remotely administer, troubleshoot, and analyze any system with ease.
[And much more...](https://github.com/xtermjs/xterm.js/network/dependents)
Do you use xterm.js in your application as well? Please [open a Pull Request](https://github.com/sourcelair/xterm.js/pulls) to include it here. We would love to have it in our list.
## Demo
Xterm.js ships with a barebones demo implementation, designed for the development and evaluation of the library only. Exposing the demo to the public as is would introduce security risks for the host.
Below you can find instructions on how to run the demo on different platforms.
### SourceLair
SourceLair will run the demo and builder in parallel automatically. Just make sure to choose the "Node.js" project type, when cloning the xterm.js repo (or just use this shortcut; https://lair.io/xtermjs/xtermjs).
Then open your project's [Public URL](https://help.sourcelair.com/projects/the-public-url/) to access the demo.
### Docker
First, make sure you have Docker Engine 1.13.0 (or newer) and Docker Compose 1.10.0 (or newer).
Xterm.js [provides a pre-built Docker image](https://hub.docker.com/r/xtermjs/xterm.js/) to help run the demo easily (Git tags are built as [tagged Docker images](https://hub.docker.com/r/xtermjs/xterm.js/tags/) too).
To run the just demo (with no editing access). run the following command in your terminal:
```
docker run -p 3000:3000 xtermjs/xterm.js
```
Then open http://0.0.0.0:3000 in a web browser to access the demo.
To run the demo and builder in parallel, run the following command in your terminal:
```
docker-compose up
```
Then open http://0.0.0.0:3000 in a web browser to access the demo. If you prefer a different port than `3000` to access the xterm.js demo, then set the `XTERMJS_PORT` environment variable to the desired port.
### Foreman (or other Procfile runner)
First, be sure that a C++ compiler such as GCC-C++ or Clang is installed, then run the following commands in your terminal:
```
npm install
foreman start # Replace foreman with "honcho", "forego" etc. depending on your runner
```
Then open http://0.0.0.0:3000 in a web browser to access the demo.
### Linux or macOS
First, be sure that a C++ compiler such as GCC-C++ or Clang is installed, then run the following commands in your terminal:
```
npm install
npm start # Run this in its own terminal
npm run watch # Run this in its own terminal
```
Then open http://0.0.0.0:3000 in a web browser to access the demo.
### Windows
First, ensure [node-gyp](https://github.com/nodejs/node-gyp) is installed and configured correctly, then run the following commands in your terminal:
```
npm install
npm start # Run this in its own terminal
npm run watch # Run this in its own terminal
```
Then open http://127.0.0.1:3000 in a web browser to access the demo.
*Note: Do not use ConEmu, as it seems to break the demo for some reason.*
Do you use xterm.js in your application as well? Please [open a Pull Request](https://github.com/sourcelair/xterm.js/pulls) to include it here. We would love to have it on our list. Note: Please add any new contributions to the end of the list only.
## Releases
Xterm.js follows a monthly release cycle roughly.
The existing releases are available at this GitHub repo's [Releases](https://github.com/sourcelair/xterm.js/releases), while the roadmap is available as [Milestones](https://github.com/sourcelair/xterm.js/milestones).
All current and past releases are available on this repo's [Releases page](https://github.com/sourcelair/xterm.js/releases), you can view the [high-level roadmap on the wiki](https://github.com/xtermjs/xterm.js/wiki/Roadmap) and see what we're working on now by looking through [Milestones](https://github.com/sourcelair/xterm.js/milestones).
## Development and Contribution
### Beta builds
Xterm.js is maintained by [SourceLair](https://www.sourcelair.com/) and a few external contributors, but we would love to receive contributions from everyone!
Our CI releases beta builds to npm for every change that goes into master. Install the latest beta build with:
To contribute either code, documentation or issues to xterm.js please read the [Contributing document](CONTRIBUTING.md) beforehand. The development of xterm.js does not require any special tool. All you need is an editor that supports JavaScript/TypeScript and a browser. You will need Node.js installed locally to get all the features working in the demo.
```bash
npm install -S xterm@beta
```
### Code structure
These should generally be stable, but some bugs may slip in. We recommend using the beta build primarily to test out new features and to verify bug fixes.
`src/` is roughly split up into areas of functionality such as `renderer/` that handles all rendering and `utils/` which provides general utility functions. The `shared/` folder contains code that can be used from either the main thread or a web worker thread, all code inside a `shared/` folder should only ever import other code from a `shared/` folder to minimize the amount of code run what launching a web worker.
## Contributing
You can read the [guide on the wiki](https://github.com/xtermjs/xterm.js/wiki/Contributing) to learn how to contribute and set up xterm.js for development.
## License Agreement
If you contribute code to this project, you are implicitly allowing your code to be distributed under the MIT license. You are also implicitly verifying that all code is your original work.
If you contribute code to this project, you implicitly allow your code to be distributed under the MIT license. You are also implicitly verifying that all code is your original work.
Copyright (c) 2017-2018, [The xterm.js authors](https://github.com/xtermjs/xterm.js/graphs/contributors) (MIT License)
Copyright (c) 2014-2017, SourceLair, Private Company ([www.sourcelair.com](https://www.sourcelair.com/home)) (MIT License)
Copyright (c) 2017-2019, [The xterm.js authors](https://github.com/xtermjs/xterm.js/graphs/contributors) (MIT License)<br>
Copyright (c) 2014-2017, SourceLair, Private Company ([www.sourcelair.com](https://www.sourcelair.com/home)) (MIT License)<br>
Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
+2
View File
@@ -0,0 +1,2 @@
lib
node_modules
+5
View File
@@ -0,0 +1,5 @@
**/*.api.js
**/*.api.ts
tsconfig.json
.yarnrc
webpack.config.js
+19
View File
@@ -0,0 +1,19 @@
Copyright (c) 2017, The xterm.js authors (https://github.com/xtermjs/xterm.js)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
+22
View File
@@ -0,0 +1,22 @@
## xterm-addon-attach
An addon for [xterm.js](https://github.com/xtermjs/xterm.js) that enables attaching to a web socket. This addon requires xterm.js v4+.
### Install
```bash
npm install --save xterm-addon-attach
```
### Usage
```ts
import { Terminal } from 'xterm';
import { AttachAddon } from 'xterm-addon-attach';
const terminal = new Terminal();
const attachAddon = new AttachAddon(webSocket);
terminal.loadAddon(attachAddon);
```
See the full [API](https://github.com/xtermjs/xterm.js/blob/master/addons/xterm-addon-attach/typings/xterm-addon-attach.d.ts) for more advanced usage.
+21
View File
@@ -0,0 +1,21 @@
{
"name": "xterm-addon-attach",
"version": "0.6.0",
"author": {
"name": "The xterm.js authors",
"url": "https://xtermjs.org/"
},
"main": "lib/xterm-addon-attach.js",
"types": "typings/xterm-addon-attach.d.ts",
"repository": "https://github.com/xtermjs/xterm.js",
"license": "MIT",
"scripts": {
"build": "../../node_modules/.bin/tsc -p .",
"prepackage": "npm run build",
"package": "../../node_modules/.bin/webpack",
"prepublishOnly": "npm run package"
},
"peerDependencies": {
"xterm": "^4.0.0"
}
}
@@ -0,0 +1,81 @@
/**
* Copyright (c) 2014, 2019 The xterm.js authors. All rights reserved.
* @license MIT
*
* Implements the attach method, that attaches the terminal to a WebSocket stream.
*/
import { Terminal, IDisposable, ITerminalAddon } from 'xterm';
interface IAttachOptions {
bidirectional?: boolean;
}
export class AttachAddon implements ITerminalAddon {
private _socket: WebSocket;
private _bidirectional: boolean;
private _disposables: IDisposable[] = [];
constructor(socket: WebSocket, options?: IAttachOptions) {
this._socket = socket;
// always set binary type to arraybuffer, we do not handle blobs
this._socket.binaryType = 'arraybuffer';
this._bidirectional = (options && options.bidirectional === false) ? false : true;
}
public activate(terminal: Terminal): void {
this._disposables.push(
addSocketListener(this._socket, 'message', ev => {
const data: ArrayBuffer | string = ev.data;
terminal.write(typeof data === 'string' ? data : new Uint8Array(data));
})
);
if (this._bidirectional) {
this._disposables.push(terminal.onData(data => this._sendData(data)));
this._disposables.push(terminal.onBinary(data => this._sendBinary(data)));
}
this._disposables.push(addSocketListener(this._socket, 'close', () => this.dispose()));
this._disposables.push(addSocketListener(this._socket, 'error', () => this.dispose()));
}
public dispose(): void {
for (const d of this._disposables) {
d.dispose();
}
}
private _sendData(data: string): void {
// TODO: do something better than just swallowing
// the data if the socket is not in a working condition
if (this._socket.readyState !== 1) {
return;
}
this._socket.send(data);
}
private _sendBinary(data: string): void {
if (this._socket.readyState !== 1) {
return;
}
const buffer = new Uint8Array(data.length);
for (let i = 0; i < data.length; ++i) {
buffer[i] = data.charCodeAt(i) & 255;
}
this._socket.send(buffer);
}
}
function addSocketListener<K extends keyof WebSocketEventMap>(socket: WebSocket, type: K, handler: (this: WebSocket, ev: WebSocketEventMap[K]) => any): IDisposable {
socket.addEventListener(type, handler);
return {
dispose: () => {
if (!handler) {
// Already disposed
return;
}
socket.removeEventListener(type, handler);
}
};
}
@@ -0,0 +1,22 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"lib": [
"dom",
"es2015"
],
"rootDir": ".",
"outDir": "../out",
"sourceMap": true,
"removeComments": true,
"strict": true,
"types": [
"../../../node_modules/@types/mocha"
]
},
"include": [
"./**/*",
"../../../typings/xterm.d.ts"
]
}
@@ -0,0 +1,53 @@
/**
* Copyright (c) 2019 The xterm.js authors. All rights reserved.
* @license MIT
*/
import WebSocket = require('ws');
import { openTerminal, pollFor, getBrowserType } from '../../../out-test/api/TestUtils';
import { Browser, Page } from 'playwright';
const APP = 'http://127.0.0.1:3001/test';
let browser: Browser;
let page: Page;
const width = 800;
const height = 600;
describe('AttachAddon', () => {
before(async function(): Promise<any> {
const browserType = getBrowserType();
browser = await browserType.launch({
headless: process.argv.includes('--headless')
});
page = await (await browser.newContext()).newPage();
await page.setViewportSize({ width, height });
});
after(async () => {
await browser.close();
});
beforeEach(async () => await page.goto(APP));
it('string', async function(): Promise<any> {
await openTerminal(page, { rendererType: 'dom' });
const port = 8080;
const server = new WebSocket.Server({ port });
server.on('connection', socket => socket.send('foo'));
await page.evaluate(`window.term.loadAddon(new window.AttachAddon(new WebSocket('ws://localhost:${port}')))`);
await pollFor(page, `window.term.buffer.active.getLine(0).translateToString(true)`, 'foo');
server.close();
});
it('utf8', async function(): Promise<any> {
await openTerminal(page, { rendererType: 'dom' });
const port = 8080;
const server = new WebSocket.Server({ port });
const data = new Uint8Array([102, 111, 111]);
server.on('connection', socket => socket.send(data));
await page.evaluate(`window.term.loadAddon(new window.AttachAddon(new WebSocket('ws://localhost:${port}')))`);
await pollFor(page, `window.term.buffer.active.getLine(0).translateToString(true)`, 'foo');
server.close();
});
});
@@ -0,0 +1,23 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"lib": [
"es2015"
],
"rootDir": ".",
"outDir": "../out-test",
"sourceMap": true,
"removeComments": true,
"strict": true,
"types": [
"../../../node_modules/@types/mocha",
"../../../node_modules/@types/node",
"../../../out-test/api/TestUtils"
]
},
"include": [
"./**/*",
"../../../typings/xterm.d.ts"
]
}
+8
View File
@@ -0,0 +1,8 @@
{
"files": [],
"include": [],
"references": [
{ "path": "./src" },
{ "path": "./test" }
]
}
@@ -0,0 +1,21 @@
/**
* Copyright (c) 2017 The xterm.js authors. All rights reserved.
* @license MIT
*/
import { Terminal, ILinkMatcherOptions, ITerminalAddon } from 'xterm';
declare module 'xterm-addon-attach' {
export interface IAttachOptions {
/**
* Whether input should be written to the backend. Defaults to `true`.
*/
bidirectional?: boolean;
}
export class AttachAddon implements ITerminalAddon {
constructor(socket: WebSocket, options?: IAttachOptions);
public activate(terminal: Terminal): void;
public dispose(): void;
}
}
@@ -0,0 +1,31 @@
/**
* Copyright (c) 2019 The xterm.js authors. All rights reserved.
* @license MIT
*/
const path = require('path');
const addonName = 'AttachAddon';
const mainFile = 'xterm-addon-attach.js';
module.exports = {
entry: `./out/${addonName}.js`,
devtool: 'source-map',
module: {
rules: [
{
test: /\.js$/,
use: ["source-map-loader"],
enforce: "pre",
exclude: /node_modules/
}
]
},
output: {
filename: mainFile,
path: path.resolve('./lib'),
library: addonName,
libraryTarget: 'umd'
},
mode: 'production'
};
+2
View File
@@ -0,0 +1,2 @@
lib
node_modules
+5
View File
@@ -0,0 +1,5 @@
**/*.api.js
**/*.api.ts
tsconfig.json
.yarnrc
webpack.config.js
+19
View File
@@ -0,0 +1,19 @@
Copyright (c) 2019, The xterm.js authors (https://github.com/xtermjs/xterm.js)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
+24
View File
@@ -0,0 +1,24 @@
## xterm-addon-fit
An addon for [xterm.js](https://github.com/xtermjs/xterm.js) that enables fitting the terminal's dimensions to a containing element. This addon requires xterm.js v4+.
### Install
```bash
npm install --save xterm-addon-fit
```
### Usage
```ts
import { Terminal } from 'xterm';
import { FitAddon } from 'xterm-addon-fit';
const terminal = new Terminal();
const fitAddon = new FitAddon();
terminal.loadAddon(fitAddon);
terminal.open(containerElement);
fitAddon.fit();
```
See the full [API](https://github.com/xtermjs/xterm.js/blob/master/addons/xterm-addon-fit/typings/xterm-addon-fit.d.ts) for more advanced usage.
+21
View File
@@ -0,0 +1,21 @@
{
"name": "xterm-addon-fit",
"version": "0.5.0",
"author": {
"name": "The xterm.js authors",
"url": "https://xtermjs.org/"
},
"main": "lib/xterm-addon-fit.js",
"types": "typings/xterm-addon-fit.d.ts",
"repository": "https://github.com/xtermjs/xterm.js",
"license": "MIT",
"scripts": {
"build": "../../node_modules/.bin/tsc -p .",
"prepackage": "npm run build",
"package": "../../node_modules/.bin/webpack",
"prepublishOnly": "npm run package"
},
"peerDependencies": {
"xterm": "^4.0.0"
}
}
+86
View File
@@ -0,0 +1,86 @@
/**
* Copyright (c) 2017 The xterm.js authors. All rights reserved.
* @license MIT
*/
import { Terminal, ITerminalAddon } from 'xterm';
interface ITerminalDimensions {
/**
* The number of rows in the terminal.
*/
rows: number;
/**
* The number of columns in the terminal.
*/
cols: number;
}
const MINIMUM_COLS = 2;
const MINIMUM_ROWS = 1;
export class FitAddon implements ITerminalAddon {
private _terminal: Terminal | undefined;
constructor() {}
public activate(terminal: Terminal): void {
this._terminal = terminal;
}
public dispose(): void {}
public fit(): void {
const dims = this.proposeDimensions();
if (!dims || !this._terminal) {
return;
}
// TODO: Remove reliance on private API
const core = (this._terminal as any)._core;
// Force a full render
if (this._terminal.rows !== dims.rows || this._terminal.cols !== dims.cols) {
core._renderService.clear();
this._terminal.resize(dims.cols, dims.rows);
}
}
public proposeDimensions(): ITerminalDimensions | undefined {
if (!this._terminal) {
return undefined;
}
if (!this._terminal.element || !this._terminal.element.parentElement) {
return undefined;
}
// TODO: Remove reliance on private API
const core = (this._terminal as any)._core;
if (core._renderService.dimensions.actualCellWidth === 0 || core._renderService.dimensions.actualCellHeight === 0) {
return undefined;
}
const parentElementStyle = window.getComputedStyle(this._terminal.element.parentElement);
const parentElementHeight = parseInt(parentElementStyle.getPropertyValue('height'));
const parentElementWidth = Math.max(0, parseInt(parentElementStyle.getPropertyValue('width')));
const elementStyle = window.getComputedStyle(this._terminal.element);
const elementPadding = {
top: parseInt(elementStyle.getPropertyValue('padding-top')),
bottom: parseInt(elementStyle.getPropertyValue('padding-bottom')),
right: parseInt(elementStyle.getPropertyValue('padding-right')),
left: parseInt(elementStyle.getPropertyValue('padding-left'))
};
const elementPaddingVer = elementPadding.top + elementPadding.bottom;
const elementPaddingHor = elementPadding.right + elementPadding.left;
const availableHeight = parentElementHeight - elementPaddingVer;
const availableWidth = parentElementWidth - elementPaddingHor - core.viewport.scrollBarWidth;
const geometry = {
cols: Math.max(MINIMUM_COLS, Math.floor(availableWidth / core._renderService.dimensions.actualCellWidth)),
rows: Math.max(MINIMUM_ROWS, Math.floor(availableHeight / core._renderService.dimensions.actualCellHeight))
};
return geometry;
}
}
+22
View File
@@ -0,0 +1,22 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"lib": [
"dom",
"es2015"
],
"rootDir": ".",
"outDir": "../out",
"sourceMap": true,
"removeComments": true,
"strict": true,
"types": [
"../../../node_modules/@types/mocha"
]
},
"include": [
"./**/*",
"../../../typings/xterm.d.ts"
]
}
+130
View File
@@ -0,0 +1,130 @@
/**
* Copyright (c) 2019 The xterm.js authors. All rights reserved.
* @license MIT
*/
import { assert } from 'chai';
import { openTerminal, getBrowserType } from '../../../out-test/api/TestUtils';
import { Browser, Page } from 'playwright';
const APP = 'http://127.0.0.1:3001/test';
let browser: Browser;
let page: Page;
const width = 1024;
const height = 768;
describe('FitAddon', () => {
before(async function(): Promise<any> {
const browserType = getBrowserType();
browser = await browserType.launch({
headless: process.argv.includes('--headless')
});
page = await (await browser.newContext()).newPage();
await page.setViewportSize({ width, height });
await page.goto(APP);
});
beforeEach(async function(): Promise<any> {
await page.evaluate(`document.querySelector('#terminal-container').style.display=''`);
await openTerminal(page);
});
after(async () => {
await browser.close();
});
afterEach(async function(): Promise<any> {
await page.evaluate(`window.term.dispose()`);
});
it('no terminal', async function(): Promise<any> {
await page.evaluate(`window.fit = new FitAddon();`);
assert.equal(await page.evaluate(`window.fit.proposeDimensions()`), undefined);
});
describe('proposeDimensions', () => {
afterEach(async () => {
return await unloadFit();
});
it('default', async function(): Promise<any> {
await loadFit();
const dimensions: {cols: number, rows: number} = await page.evaluate(`window.fit.proposeDimensions()`);
assert.equal(dimensions.cols, 87);
assert.isAbove(dimensions.rows, 24);
assert.isBelow(dimensions.rows, 29);
});
it('width', async function(): Promise<any> {
await loadFit(1008);
const dimensions: {cols: number, rows: number} = await page.evaluate(`window.fit.proposeDimensions()`);
assert.equal(dimensions.cols, 110);
assert.isAbove(dimensions.rows, 24);
assert.isBelow(dimensions.rows, 29);
});
it('small', async function(): Promise<any> {
await loadFit(1, 1);
assert.deepEqual(await page.evaluate(`window.fit.proposeDimensions()`), {
cols: 2,
rows: 1
});
});
it('hidden', async function(): Promise<any> {
await page.evaluate(`window.term.dispose()`);
await page.evaluate(`document.querySelector('#terminal-container').style.display='none'`);
await page.evaluate(`window.term = new Terminal()`);
await page.evaluate(`window.term.open(document.querySelector('#terminal-container'))`);
await loadFit();
assert.equal(await page.evaluate(`window.fit.proposeDimensions()`), undefined);
});
});
describe('fit', () => {
afterEach(async () => {
return await unloadFit();
});
it('default', async function(): Promise<any> {
await loadFit();
await page.evaluate(`window.fit.fit()`);
const cols: number = await page.evaluate(`window.term.cols`);
const rows: number = await page.evaluate(`window.term.rows`);
assert.equal(cols, 87);
assert.isAbove(rows, 24);
assert.isBelow(rows, 29);
});
it('width', async function(): Promise<any> {
await loadFit(1008);
await page.evaluate(`window.fit.fit()`);
const cols: number = await page.evaluate(`window.term.cols`);
const rows: number = await page.evaluate(`window.term.rows`);
assert.equal(cols, 110);
assert.isAbove(rows, 24);
assert.isBelow(rows, 29);
});
it('small', async function(): Promise<any> {
await loadFit(1, 1);
await page.evaluate(`window.fit.fit()`);
assert.equal(await page.evaluate(`window.term.cols`), 2);
assert.equal(await page.evaluate(`window.term.rows`), 1);
});
});
});
async function loadFit(width: number = 800, height: number = 450): Promise<void> {
await page.evaluate(`
window.fit = new FitAddon();
window.term.loadAddon(window.fit);
document.querySelector('#terminal-container').style.width='${width}px';
document.querySelector('#terminal-container').style.height='${height}px';
`);
}
async function unloadFit(): Promise<void> {
await page.evaluate(`window.fit.dispose();`);
}
+23
View File
@@ -0,0 +1,23 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"lib": [
"es2015"
],
"rootDir": ".",
"outDir": "../out-test",
"sourceMap": true,
"removeComments": true,
"strict": true,
"types": [
"../../../node_modules/@types/mocha",
"../../../node_modules/@types/node",
"../../../out-test/api/TestUtils"
]
},
"include": [
"./**/*",
"../../../typings/xterm.d.ts"
]
}
+8
View File
@@ -0,0 +1,8 @@
{
"files": [],
"include": [],
"references": [
{ "path": "./src" },
{ "path": "./test" }
]
}
+55
View File
@@ -0,0 +1,55 @@
/**
* Copyright (c) 2019 The xterm.js authors. All rights reserved.
* @license MIT
*/
import { Terminal, ITerminalAddon } from 'xterm';
declare module 'xterm-addon-fit' {
/**
* An xterm.js addon that enables resizing the terminal to the dimensions of
* its containing element.
*/
export class FitAddon implements ITerminalAddon {
/**
* Creates a new fit addon.
*/
constructor();
/**
* Activates the addon
* @param terminal The terminal the addon is being loaded in.
*/
public activate(terminal: Terminal): void;
/**
* Disposes the addon.
*/
public dispose(): void;
/**
* Resizes the terminal to the dimensions of its containing element.
*/
public fit(): void;
/**
* Gets the proposed dimensions that will be used for a fit.
*/
public proposeDimensions(): ITerminalDimensions;
}
/**
* Reprepresents the dimensions of a terminal.
*/
export interface ITerminalDimensions {
/**
* The number of rows in the terminal.
*/
rows: number;
/**
* The number of columns in the terminal.
*/
cols: number;
}
}
+31
View File
@@ -0,0 +1,31 @@
/**
* Copyright (c) 2019 The xterm.js authors. All rights reserved.
* @license MIT
*/
const path = require('path');
const addonName = 'FitAddon';
const mainFile = 'xterm-addon-fit.js';
module.exports = {
entry: `./out/${addonName}.js`,
devtool: 'source-map',
module: {
rules: [
{
test: /\.js$/,
use: ["source-map-loader"],
enforce: "pre",
exclude: /node_modules/
}
]
},
output: {
filename: mainFile,
path: path.resolve('./lib'),
library: addonName,
libraryTarget: 'umd'
},
mode: 'production'
};
+13
View File
@@ -0,0 +1,13 @@
node_modules/
.nyc_output/
coverage/
lib/
fonts/
.env
.vscode/
*.swp
*.tgz
npm-debug.log*
yarn-error.log*
+48
View File
@@ -0,0 +1,48 @@
# Blacklist - exclude everything except npm defaults such as LICENSE, etc
*
!*/
# Whitelist - entries to be included must be negated with "!"
!*.js
!*.json
# Whitelist - lib/
!lib/**/*.d.ts
!lib/**/*.js
!lib/**/*.js.map
# Whitelist - out/
!out/**/*.d.ts
!out/**/*.js
!out/**/*.js.map
# Whitelist - src/
!src/**/*.ts
!src/**/*.d.ts
!src/**/*.js
!src/**/*.js.map
# Whitelist - typings/
!typings/**/*.d.ts
# Blacklist - (normal behavior) these will override any whitelist
*.test.ts
*.test.d.ts
*.test.js
*.test.js.map
docs/
/.idea/
.vscode/
coverage/
.nyc_output/
fonts/
**/*.api.js
**/*.api.ts
tsconfig.json
.yarnrc
webpack.config.js
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2018
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+54
View File
@@ -0,0 +1,54 @@
## xterm-addon-ligatures
Add support for programming ligatures to [xterm.js] when running in environments with access to [Node.js] APIs (such as [Electron]).
### Requirements
* [Node.js] 8.x or higher (present in [Electron] 1.8.3 or higher)
* [xterm.js] 4.0.0 or higher using the default canvas renderer
### Install
```bash
npm install --save xterm-addon-ligatures
```
### Usage
```ts
import { Terminal } from 'xterm';
import { LigaturesAddon } from 'xterm-addon-ligatures';
const terminal = new Terminal();
const ligaturesAddon = new LigaturesAddon();
terminal.open(containerElement);
terminal.loadAddon(ligaturesAddon);
```
### How It Works
In a browser environment, font ligature information is read directly by the web browser and used to render text correctly without any intervention from the developer. As of version 3, xterm.js uses the canvas to render characters individually, resulting in a significant performance boost. However, this means that it can no longer lean on the browser to determine when to draw font ligatures.
This package locates the font file on disk for the font currently in use by the terminal and parses the ligature information out of it (via the [font-ligatures] package). As text is rendered in xterm.js, this package annotates it with the locations of ligatures, allowing xterm.js to render it correctly.
Since this package depends on being able to find and resolve a system font from disk, it has to have system access that isn't available in the web browser. As a result, this package is mainly useful in environments that combine browser and Node.js runtimes (such as [Electron]).
### Fonts
This package makes use of the following fonts for testing:
* [Fira Code][Fira Code] - [Licensed under the OFL][Fira Code License] by Nikita
Prokopov, Mozilla Foundation with reserved names Fira Code, Fira Mono, and
Fira Sans
* [Iosevka] - [Licensed under the OFL][Iosevka License] by Belleve Invis with
reserved name Iosevka
[xterm.js]: https://github.com/xtermjs/xterm.js
[Electron]: https://electronjs.org/
[Node.js]: https://nodejs.org/
[font-ligatures]: https://github.com/princjef/font-ligatures
[Fira Code]: https://github.com/tonsky/FiraCode
[Fira Code License]: https://github.com/tonsky/FiraCode/blob/master/LICENSE
[Iosevka]: https://github.com/be5invis/Iosevka
[Iosevka License]: https://github.com/be5invis/Iosevka/blob/master/LICENSE.md
@@ -0,0 +1,75 @@
/**
* Copyright (c) 2018 The xterm.js authors. All rights reserved.
* @license MIT
*/
const fs = require('fs');
const path = require('path');
const util = require('util');
const axios = require('axios').default;
const mkdirp = require('mkdirp');
const yauzl = require('yauzl');
const urls = {
fira: 'https://github.com/tonsky/FiraCode/raw/d42e7276fa925e5f82748f3ec9ea429736611b48/distr/otf/FiraCode-Regular.otf',
iosevka: 'https://github.com/be5invis/Iosevka/releases/download/v1.14.3/01-iosevka-1.14.3.zip'
};
const writeFile = util.promisify(fs.writeFile);
const fontsFolder = path.join(__dirname, '../fonts');
async function download() {
await mkdirp(fontsFolder);
await downloadFiraCode();
await downloadIosevka();
console.log('Loaded all fonts for testing')
}
async function downloadFiraCode() {
const file = path.join(fontsFolder, 'firaCode.otf');
if (await util.promisify(fs.exists)(file)) {
console.log('Fira Code already loaded');
} else {
console.log('Downloading Fira Code...');
await writeFile(
file,
(await axios.get(urls.fira, { responseType: 'arraybuffer' })).data
);
}
}
async function downloadIosevka() {
const file = path.join(fontsFolder, 'iosevka.ttf');
if (await util.promisify(fs.exists)(file)) {
console.log('Iosevka already loaded');
} else {
console.log('Downloading Iosevka...');
const iosevkaContents = (await axios.get(urls.iosevka, { responseType: 'arraybuffer' })).data;
const iosevkaZipfile = await util.promisify(yauzl.fromBuffer)(iosevkaContents);
await new Promise((resolve, reject) => {
iosevkaZipfile.on('entry', entry => {
if (entry.fileName === 'ttf/iosevka-regular.ttf') {
iosevkaZipfile.openReadStream(entry, (err, stream) => {
if (err) {
return reject(err);
}
const writeStream = fs.createWriteStream(file);
stream.pipe(writeStream);
writeStream.on('close', () => resolve());
});
}
});
});
}
}
download();
process.on('unhandledRejection', e => {
console.error(e);
process.exit(1);
});
+47
View File
@@ -0,0 +1,47 @@
{
"name": "xterm-addon-ligatures",
"version": "0.5.0",
"description": "Add support for programming ligatures to xterm.js",
"author": {
"name": "The xterm.js authors",
"url": "https://xtermjs.org/"
},
"main": "lib/xterm-addon-ligatures.js",
"types": "typings/xterm-addon-ligatures.d.ts",
"repository": "https://github.com/xtermjs/xterm.js",
"engines": {
"node": ">8.0.0"
},
"scripts": {
"prepare": "node bin/download-fonts.js",
"build": "tsc -p src",
"watch": "tsc -w -p src",
"prepackage": "npm run build",
"package": "webpack",
"pretest": "npm run build",
"test": "nyc mocha out/**/*.test.js",
"prepublish": "npm run package"
},
"keywords": [
"font",
"ligature",
"xterm",
"xterm.js",
"terminal"
],
"license": "MIT",
"dependencies": {
"font-finder": "^1.1.0",
"font-ligatures": "^1.4.0"
},
"devDependencies": {
"@types/sinon": "^5.0.1",
"axios": "^0.18.0",
"mkdirp": "0.5.5",
"sinon": "6.3.5",
"yauzl": "^2.10.0"
},
"peerDependencies": {
"xterm": "^4.0.0"
}
}
@@ -0,0 +1,23 @@
/**
* Copyright (c) 2018 The xterm.js authors. All rights reserved.
* @license MIT
*/
import { Terminal } from 'xterm';
import { enableLigatures } from '.';
export interface ITerminalAddon {
activate(terminal: Terminal): void;
dispose(): void;
}
export class LigaturesAddon implements ITerminalAddon {
constructor() {}
public activate(terminal: Terminal): void {
enableLigatures(terminal);
}
public dispose(): void {}
}
+105
View File
@@ -0,0 +1,105 @@
/**
* Copyright (c) 2018 The xterm.js authors. All rights reserved.
* @license MIT
*/
import { FontList } from 'font-finder';
import { Font, loadBuffer, loadFile } from 'font-ligatures';
import parse from './parse';
interface IFontMetadata {
family: string;
fullName: string;
postscriptName: string;
blob: () => Promise<Blob>;
}
let fontsPromise: Promise<FontList | Record<string, IFontMetadata[]>> | undefined = undefined;
/**
* Loads the font ligature wrapper for the specified font family if it could be
* resolved, throwing if it is unable to find a suitable match.
* @param fontFamily The CSS font family definition to resolve
* @param cacheSize The size of the ligature cache to maintain if the font is resolved
*/
export default async function load(fontFamily: string, cacheSize: number): Promise<Font | undefined> {
if (!fontsPromise) {
// Web environment that supports font access API
if (typeof navigator !== 'undefined' && 'fonts' in navigator) {
try {
const status = await (navigator as any).permissions.request?.({
name: 'local-fonts'
});
if (status && status.state !== 'granted') {
throw new Error('Permission to access local fonts not granted.');
}
} catch (err) {
// A `TypeError` indicates the 'local-fonts'
// permission is not yet implemented, so
// only `throw` if this is _not_ the problem.
if (err.name !== 'TypeError') {
throw err;
}
}
const fonts: Record<string, IFontMetadata[]> = {};
try {
const fontsIterator: AsyncIterableIterator<IFontMetadata> = (navigator as any).fonts.query();
for await (const metadata of fontsIterator) {
if (!fonts.hasOwnProperty(metadata.family)) {
fonts[metadata.family] = [];
}
fonts[metadata.family].push(metadata);
}
fontsPromise = Promise.resolve(fonts);
} catch (err) {
console.error(err.name, err.message);
}
}
// Node environment or no font access API
else {
try {
fontsPromise = (await import('font-finder')).list();
} catch (err) {
// No-op
}
}
if (!fontsPromise) {
fontsPromise = Promise.resolve({});
}
}
const fonts = await fontsPromise;
for (const family of parse(fontFamily)) {
// If we reach one of the generic font families, the font resolution
// will end for the browser and we can't determine the specific font
// used. Throw.
if (genericFontFamilies.includes(family)) {
return undefined;
}
if (fonts.hasOwnProperty(family) && fonts[family].length > 0) {
const font = fonts[family][0];
if ('blob' in font) {
return loadBuffer(await (await font.blob()).arrayBuffer(), { cacheSize });
}
return await loadFile(font.path, { cacheSize });
}
}
// If none of the fonts could resolve, throw an error
return undefined;
}
// https://drafts.csswg.org/css-fonts-4/#generic-font-families
const genericFontFamilies = [
'serif',
'sans-serif',
'cursive',
'fantasy',
'monospace',
'system-ui',
'emoji',
'math',
'fangsong'
];
@@ -0,0 +1,222 @@
/**
* Copyright (c) 2018 The xterm.js authors. All rights reserved.
* @license MIT
*/
import * as path from 'path';
import * as sinon from 'sinon';
import { assert } from 'chai';
import * as fontFinder from 'font-finder';
import * as fontLigatures from 'font-ligatures';
import * as ligatureSupport from '.';
describe('xterm-addon-ligatures', () => {
let onRefresh: sinon.SinonStub;
let term: MockTerminal;
// -> forms a ligature in Fira Code and Iosevka, but www only forms a ligature
// in Fira Code
const input = 'a -> b www c';
before(() => {
sinon.stub(fontFinder, 'list').returns(Promise.resolve({
// eslint-disable-next-line @typescript-eslint/naming-convention
'Fira Code': [{
path: path.join(__dirname, '../fonts/firaCode.otf'),
style: fontFinder.Style.Regular,
type: fontFinder.Type.Monospace,
weight: 400
}],
// eslint-disable-next-line @typescript-eslint/naming-convention
'Iosevka': [{
path: path.join(__dirname, '../fonts/iosevka.ttf'),
style: fontFinder.Style.Regular,
type: fontFinder.Type.Monospace,
weight: 400
}],
// eslint-disable-next-line @typescript-eslint/naming-convention
'Nonexistant Font': [{
path: path.join(__dirname, '../fonts/nonexistant.ttf'),
style: fontFinder.Style.Regular,
type: fontFinder.Type.Monospace,
weight: 400
}]
} as fontFinder.FontList));
});
beforeEach(() => {
onRefresh = sinon.stub();
term = new MockTerminal(onRefresh);
ligatureSupport.enableLigatures(term as any);
});
it('registers itself correctly', () => {
const term = new MockTerminal(sinon.spy());
assert.isUndefined(term.joiner);
ligatureSupport.enableLigatures(term as any);
assert.isFunction(term.joiner);
});
it('registers itself correctly when called directly', () => {
const term = new MockTerminal(sinon.spy());
assert.isUndefined(term.joiner);
ligatureSupport.enableLigatures(term as any);
assert.isFunction(term.joiner);
});
it('returns an empty set of ranges on the first call while the font is loading', () => {
assert.deepEqual(term.joiner!(input), []);
});
it('returns the correct set of ranges once the font has loaded', done => {
assert.deepEqual(term.joiner!(input), []);
onRefresh.callsFake(() => {
assert.deepEqual(term.joiner!(input), [[2, 4], [7, 10]]);
done();
});
});
it('handles quoted font names', done => {
term.setOption('fontFamily', '"Fira Code", monospace');
assert.deepEqual(term.joiner!(input), []);
onRefresh.callsFake(() => {
assert.deepEqual(term.joiner!(input), [[2, 4], [7, 10]]);
done();
});
});
it('falls back to later fonts if earlier ones are not present', done => {
term.setOption('fontFamily', 'notinstalled, Fira Code, monospace');
assert.deepEqual(term.joiner!(input), []);
onRefresh.callsFake(() => {
assert.deepEqual(term.joiner!(input), [[2, 4], [7, 10]]);
done();
});
});
it('uses the current font value', done => {
// The first three calls are all synchronous so that we don't allow time for
// any fonts to load while we're switching things around
term.setOption('fontFamily', 'Fira Code');
assert.deepEqual(term.joiner!(input), []);
term.setOption('fontFamily', 'notinstalled');
assert.deepEqual(term.joiner!(input), []);
term.setOption('fontFamily', 'Iosevka');
assert.deepEqual(term.joiner!(input), []);
onRefresh.callsFake(() => {
assert.deepEqual(term.joiner!(input), [[2, 4]]);
// And switch it back to Fira Code for good measure
term.setOption('fontFamily', 'Fira Code');
// At this point, we haven't loaded the new font, so the result reverts
// back to empty until that happens
assert.deepEqual(term.joiner!(input), []);
onRefresh.callsFake(() => {
assert.deepEqual(term.joiner!(input), [[2, 4], [7, 10]]);
done();
});
});
});
it('allows multiple terminal instances that use different fonts', done => {
const onRefresh2 = sinon.stub();
const term2 = new MockTerminal(onRefresh2);
term2.setOption('fontFamily', 'Iosevka');
ligatureSupport.enableLigatures(term2 as any);
assert.deepEqual(term.joiner!(input), []);
onRefresh.callsFake(() => {
assert.deepEqual(term.joiner!(input), [[2, 4], [7, 10]]);
assert.deepEqual(term2.joiner!(input), []);
onRefresh2.callsFake(() => {
assert.deepEqual(term2.joiner!(input), [[2, 4]]);
assert.deepEqual(term.joiner!(input), [[2, 4], [7, 10]]);
done();
});
});
});
it('fails if it finds but cannot load the font', async () => {
term.setOption('fontFamily', 'Nonexistant Font, monospace');
assert.deepEqual(term.joiner!(input), []);
await delay(500);
assert.isTrue(onRefresh.notCalled);
assert.throws(() => term.joiner!(input));
});
it('returns nothing if the font is not present on the system', async () => {
term.setOption('fontFamily', 'notinstalled');
assert.deepEqual(term.joiner!(input), []);
await delay(500);
assert.isTrue(onRefresh.notCalled);
assert.deepEqual(term.joiner!(input), []);
});
it('returns nothing if no specific font is specified', async () => {
term.setOption('fontFamily', 'monospace');
assert.deepEqual(term.joiner!(input), []);
await delay(500);
assert.isTrue(onRefresh.notCalled);
assert.deepEqual(term.joiner!(input), []);
});
it('returns nothing if no fonts are provided', async () => {
term.setOption('fontFamily', '');
assert.deepEqual(term.joiner!(input), []);
await delay(500);
assert.isTrue(onRefresh.notCalled);
assert.deepEqual(term.joiner!(input), []);
});
it('fails when given malformed inputs', async () => {
term.setOption('fontFamily', {} as any);
assert.deepEqual(term.joiner!(input), []);
await delay(500);
assert.isTrue(onRefresh.notCalled);
assert.throws(() => term.joiner!(input));
});
it('ensures no empty errors are thrown', async () => {
sinon.stub(fontLigatures, 'loadFile').callsFake(async () => { throw undefined; });
term.setOption('fontFamily', 'Iosevka');
assert.deepEqual(term.joiner!(input), []);
await delay(500);
assert.isTrue(onRefresh.notCalled);
assert.throws(() => term.joiner!(input), 'Failure while loading font');
(fontLigatures.loadFile as sinon.SinonStub).restore();
});
});
class MockTerminal {
private _options: { [name: string]: string | number } = {
fontFamily: 'Fira Code, monospace',
rows: 50
};
public joiner?: (text: string) => [number, number][];
public refresh: (start: number, end: number) => void;
constructor(onRefresh: (start: number, end: number) => void) {
this.refresh = onRefresh;
}
public registerCharacterJoiner(handler: (text: string) => [number, number][]): number {
this.joiner = handler;
return 1;
}
public deregisterCharacterJoiner(id: number): void {
this.joiner = undefined;
}
public setOption(name: string, value: string | number): void {
this._options[name] = value;
}
public getOption(name: string): string | number {
return this._options[name];
}
}
function delay(delayMs: number): Promise<void> {
return new Promise(resolve => setTimeout(resolve, delayMs));
}
+85
View File
@@ -0,0 +1,85 @@
/**
* Copyright (c) 2018 The xterm.js authors. All rights reserved.
* @license MIT
*/
import { Terminal } from 'xterm';
import { Font } from 'font-ligatures';
import load from './font';
const enum LoadingState {
UNLOADED,
LOADING,
LOADED,
FAILED
}
// Caches 100K characters worth of ligatures. In practice this works out to
// about 650 KB worth of cache, when a moderate number of ligatures are present.
const CACHE_SIZE = 100000;
/**
* Enable ligature support for the provided Terminal instance. To function
* properly, this must be called after `open()` is called on the therminal. If
* the font currently in use supports ligatures, the terminal will automatically
* start to render them.
* @param term Terminal instance from xterm.js
*/
export function enableLigatures(term: Terminal): void {
let currentFontName: string | undefined = undefined;
let font: Font | undefined = undefined;
let loadingState: LoadingState = LoadingState.UNLOADED;
let loadError: any | undefined = undefined;
term.registerCharacterJoiner((text: string): [number, number][] => {
// If the font hasn't been loaded yet, load it and return an empty result
const termFont = term.getOption('fontFamily');
if (
termFont &&
(loadingState === LoadingState.UNLOADED || currentFontName !== termFont)
) {
font = undefined;
loadingState = LoadingState.LOADING;
currentFontName = termFont;
const currentCallFontName = currentFontName;
load(currentCallFontName, CACHE_SIZE)
.then(f => {
// Another request may have come in while we were waiting, so make
// sure our font is still vaild.
if (currentCallFontName === term.getOption('fontFamily')) {
loadingState = LoadingState.LOADED;
font = f;
// Only refresh things if we actually found a font
if (f) {
term.refresh(0, term.getOption('rows') - 1);
}
}
})
.catch(e => {
// Another request may have come in while we were waiting, so make
// sure our font is still vaild.
if (currentCallFontName === term.getOption('fontFamily')) {
loadingState = LoadingState.FAILED;
font = undefined;
loadError = e;
}
});
}
if (font && loadingState === LoadingState.LOADED) {
// We clone the entries to avoid the internal cache of the ligature finder
// getting messed up.
return font.findLigatureRanges(text).map<[number, number]>(
range => [range[0], range[1]]
);
}
if (loadingState === LoadingState.FAILED) {
throw loadError || new Error('Failure while loading font');
}
return [];
});
}
@@ -0,0 +1,75 @@
/**
* Copyright (c) 2018 The xterm.js authors. All rights reserved.
* @license MIT
*/
import { assert } from 'chai';
import parse from './parse';
// TODO: integrate tests from http://test.csswg.org/suites/css-fonts-4_dev/nightly-unstable/
describe('parse', () => {
it('parses individual families', () => {
assert.deepEqual(parse('monospace'), ['monospace']);
});
it('parses multiple families', () => {
assert.deepEqual(parse('Arial, Verdana, serif'), ['Arial', 'Verdana', 'serif']);
});
it('parses quoted families', () => {
assert.deepEqual(parse('"Times New Roman", serif'), ['Times New Roman', 'serif']);
});
it('parses single quoted families', () => {
assert.deepEqual(parse('\'Times New Roman\', serif'), ['Times New Roman', 'serif']);
});
it('parses families with spaces in their names', () => {
assert.deepEqual(parse('Times New Roman, serif'), ['Times New Roman', 'serif']);
});
it('collapses multiple spaces together in identifiers', () => {
assert.deepEqual(parse('Times New Roman, serif'), ['Times New Roman', 'serif']);
});
it('does not collapse multiple spaces together in quoted strings', () => {
assert.deepEqual(parse('"Times New Roman", serif'), ['Times New Roman', 'serif']);
});
it('handles escaped characters in strings', () => {
assert.deepEqual(parse('"quote \\" slash \\\\ slashquote \\\\\\"", serif'), ['quote " slash \\ slashquote \\"', 'serif']);
});
it('fails if a family has an unterminated string', () => {
assert.throws(() => parse('"Unterminated, serif'));
});
it('handles unicode escape sequences', () => {
assert.deepEqual(parse('"space\\20 between", serif'), ['space between', 'serif']);
});
it('swallows only the first space after a unicode escape', () => {
assert.deepEqual(parse('"two-space\\20 between", serif'), ['two-space between', 'serif']);
});
it('automatically ends the unicode escape after six digits', () => {
assert.deepEqual(parse('space\\000020between, serif'), ['space between', 'serif']);
});
it('handles unicode escapes at the end of the family', () => {
assert.deepEqual(parse('endswithbrace \\7b, serif'), ['endswithbrace {', 'serif']);
});
it('handles unicode escapes at the end of the input', () => {
assert.deepEqual(parse('endswithbrace \\7b'), ['endswithbrace {']);
});
it('handles other escaped characters in identifiers', () => {
assert.deepEqual(parse('has\\,comma'), ['has,comma']);
});
it('swallows escaped newlines in strings', () => {
assert.deepEqual(parse('"multi \\\nline", serif'), ['multi line', 'serif']);
});
});
+180
View File
@@ -0,0 +1,180 @@
/**
* Copyright (c) 2018 The xterm.js authors. All rights reserved.
* @license MIT
*/
interface IParseContext {
input: string;
offset: number;
}
/**
* Parses a CSS font family value, returning the component font families
* contained within.
*
* @param family The CSS font family input string to parse
*/
export default function parse(family: string): string[] {
if (typeof family !== 'string') {
throw new Error('Font family must be a string');
}
const context: IParseContext = {
input: family,
offset: 0
};
const families = [];
let currentFamily = '';
// Work through the input character by character until there are none left.
// This lexing and parsing in one pass.
while (context.offset < context.input.length) {
const char = context.input[context.offset++];
switch (char) {
// String
case '\'':
case '"':
currentFamily += parseString(context, char);
break;
// End of family
case ',':
families.push(currentFamily);
currentFamily = '';
break;
default:
// Identifiers (whitespace between families is swallowed)
if (!/\s/.test(char)) {
context.offset--;
currentFamily += parseIdentifier(context);
families.push(currentFamily);
currentFamily = '';
}
}
}
return families;
}
/**
* Parse a CSS string.
*
* @param context Parsing input and offset
* @param quoteChar The quote character for the string (' or ")
*/
function parseString(context: IParseContext, quoteChar: '\'' | '"'): string {
let str = '';
let escaped = false;
while (context.offset < context.input.length) {
const char = context.input[context.offset++];
if (escaped) {
if (/[\dA-Fa-f]/.test(char)) {
// Unicode escape
context.offset--;
str += parseUnicode(context);
} else if (char !== '\n') {
// Newlines are ignored if escaped. Other characters are used as is.
str += char;
}
escaped = false;
} else {
switch (char) {
// Terminated quote
case quoteChar:
return str;
// Begin escape
case '\\':
escaped = true;
break;
// Add character to string
default:
str += char;
}
}
}
throw new Error('Unterminated string');
}
/**
* Parse a CSS custom identifier.
*
* @param context Parsing input and offset
*/
function parseIdentifier(context: IParseContext): string {
let str = '';
let escaped = false;
while (context.offset < context.input.length) {
const char = context.input[context.offset++];
if (escaped) {
if (/[\dA-Fa-f]/.test(char)) {
// Unicode escape
context.offset--;
str += parseUnicode(context);
} else {
// Everything else is used as is
str += char;
}
escaped = false;
} else {
switch (char) {
// Begin escape
case '\\':
escaped = true;
break;
// Terminate identifier
case ',':
return str;
default:
if (/\s/.test(char)) {
// Whitespace is collapsed into a single space within an identifier
if (!str.endsWith(' ')) {
str += ' ';
}
} else {
// Add other characters directly
str += char;
}
}
}
}
return str;
}
/**
* Parse a CSS unicode escape.
*
* @param context Parsing input and offset
*/
function parseUnicode(context: IParseContext): string {
let str = '';
while (context.offset < context.input.length) {
const char = context.input[context.offset++];
if (/\s/.test(char)) {
// The first whitespace character after a unicode escape indicates the end
// of the escape and is swallowed.
return unicodeToString(str);
}
if (str.length >= 6 || !/[\dA-Fa-f]/.test(char)) {
// If the next character is not a valid hex digit or we have reached the
// maximum of 6 digits in the escape, terminate the escape.
context.offset--;
return unicodeToString(str);
}
// Otherwise, just add it to the escape
str += char;
}
return unicodeToString(str);
}
/**
* Convert a unicode code point from a hex string to a utf8 string.
*
* @param codePoint Unicode code point represented as a hex string
*/
function unicodeToString(codePoint: string): string {
return String.fromCodePoint(parseInt(codePoint, 16));
}
@@ -0,0 +1,19 @@
{
"compilerOptions": {
"target": "es2017",
"module": "commonjs",
"sourceMap": true,
"outDir": "../out",
"rootDir": ".",
"strict": true,
"noUnusedLocals": true,
"preserveWatchOutput": true,
"types": [
"../../../node_modules/@types/mocha"
]
},
"include": [
"./**/*",
"../../../typings/xterm.d.ts"
]
}
@@ -0,0 +1,7 @@
{
"files": [],
"include": [],
"references": [
{ "path": "./src" }
]
}
@@ -0,0 +1,34 @@
/**
* Copyright (c) 2018 The xterm.js authors. All rights reserved.
* @license MIT
*
* This contains the type declarations for the xterm-addon-ligatures library.
* Note that some interfaces may differ between this file and the actual
* implementation in src/, that's because this file declares the *public* API
* which is intended to be stable and consumed by external programs.
*/
import { Terminal, ITerminalAddon } from 'xterm';
declare module 'xterm-addon-ligatures' {
/**
* An xterm.js addon that enables web links.
*/
export class LigaturesAddon implements ITerminalAddon {
/**
* Creates a new ligatures addon.
*/
constructor();
/**
* Activates the addon
* @param terminal The terminal the addon is being loaded in.
*/
public activate(terminal: Terminal): void;
/**
* Disposes the addon.
*/
public dispose(): void;
}
}
@@ -0,0 +1,47 @@
/**
* Copyright (c) 2019 The xterm.js authors. All rights reserved.
* @license MIT
*/
const path = require('path');
const addonName = 'LigaturesAddon';
const mainFile = 'xterm-addon-ligatures.js';
module.exports = {
entry: `./out/${addonName}.js`,
devtool: 'source-map',
target: 'electron-renderer',
module: {
rules: [
{
test: /\.js$/,
use: ["source-map-loader"],
enforce: "pre",
exclude: /node_modules/
}
]
},
output: {
filename: mainFile,
path: path.resolve('./lib'),
library: addonName,
libraryTarget: 'umd'
},
mode: 'production',
externals: {
'font-finder': 'font-finder',
'stream': 'stream',
'os': 'os',
'util': 'util'
},
resolve: {
// The ligature modules contains fallbacks for node environments, we never want to browserify them
fallback: {
stream: false,
util: false,
os: false,
path: false
}
}
};
+241
View File
@@ -0,0 +1,241 @@
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
"@sinonjs/commons@^1", "@sinonjs/commons@^1.0.2", "@sinonjs/commons@^1.3.0", "@sinonjs/commons@^1.7.0":
version "1.8.0"
resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.0.tgz#c8d68821a854c555bba172f3b06959a0039b236d"
integrity sha512-wEj54PfsZ5jGSwMX68G8ZXFawcSglQSXqCftWX3ec8MDUzQdHgcKvw97awHbY0efQEL5iKUOAmmVtoYgmrSG4Q==
dependencies:
type-detect "4.0.8"
"@sinonjs/formatio@^3.0.0", "@sinonjs/formatio@^3.2.1":
version "3.2.2"
resolved "https://registry.yarnpkg.com/@sinonjs/formatio/-/formatio-3.2.2.tgz#771c60dfa75ea7f2d68e3b94c7e888a78781372c"
integrity sha512-B8SEsgd8gArBLMD6zpRw3juQ2FVSsmdd7qlevyDqzS9WTCtvF55/gAL+h6gue8ZvPYcdiPdvueM/qm//9XzyTQ==
dependencies:
"@sinonjs/commons" "^1"
"@sinonjs/samsam" "^3.1.0"
"@sinonjs/samsam@^2.1.2":
version "2.1.3"
resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-2.1.3.tgz#62cf2a9b624edc795134135fe37fc2ae8ea36be3"
integrity sha512-8zNeBkSKhU9a5cRNbpCKau2WWPfan+Q2zDlcXvXyhn9EsMqgYs4qzo0XHNVlXC6ABQL8fT6nV+zzo5RTHJzyXw==
"@sinonjs/samsam@^3.1.0":
version "3.3.3"
resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-3.3.3.tgz#46682efd9967b259b81136b9f120fd54585feb4a"
integrity sha512-bKCMKZvWIjYD0BLGnNrxVuw4dkWCYsLqFOUWw8VgKF/+5Y+mE7LfHWPIYoDXowH+3a9LsWDMo0uAP8YDosPvHQ==
dependencies:
"@sinonjs/commons" "^1.3.0"
array-from "^2.1.1"
lodash "^4.17.15"
"@sinonjs/text-encoding@^0.7.1":
version "0.7.1"
resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz#8da5c6530915653f3a1f38fd5f101d8c3f8079c5"
integrity sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==
"@types/sinon@^5.0.1":
version "5.0.1"
resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-5.0.1.tgz#a15b36ec42f1f53166617491feabd1734cb03e21"
array-from@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/array-from/-/array-from-2.1.1.tgz#cfe9d8c26628b9dc5aecc62a9f5d8f1f352c1195"
integrity sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=
axios@^0.18.0:
version "0.18.1"
resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.1.tgz#ff3f0de2e7b5d180e757ad98000f1081b87bcea3"
dependencies:
follow-redirects "1.5.10"
is-buffer "^2.0.2"
buffer-crc32@~0.2.3:
version "0.2.13"
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
debug@=3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
dependencies:
ms "2.0.0"
diff@^3.5.0:
version "3.5.0"
resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
fd-slicer@~1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e"
dependencies:
pend "~1.2.0"
follow-redirects@1.5.10:
version "1.5.10"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a"
dependencies:
debug "=3.1.0"
font-finder@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/font-finder/-/font-finder-1.0.4.tgz#2ca944954dd8d0e1b5bdc4c596cc08607761d89b"
dependencies:
get-system-fonts "^2.0.0"
promise-stream-reader "^1.0.1"
font-finder@^1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/font-finder/-/font-finder-1.1.0.tgz#2bff2b2762acba720239c8bec898a96daae90858"
integrity sha512-wpCL2uIbi6GurJbU7ZlQ3nGd61Ho+dSU6U83/xJT5UPFfN35EeCW/rOtS+5k+IuEZu2SYmHzDIPL9eA5tSYRAw==
dependencies:
get-system-fonts "^2.0.0"
promise-stream-reader "^1.0.1"
font-ligatures@^1.4.0:
version "1.4.0"
resolved "https://registry.npmjs.org/font-ligatures/-/font-ligatures-1.4.0.tgz#6a7b370d96be1358dddfad67830e82fbfd59e6dc"
integrity sha512-n7DFnnEpJ0NrVoLqZIL4tMGVs+CnFwQc92m80LWyrbgAFO4x234+t2/H9o4eOYA1eh6ta9dZAEEsJAwsBdNezA==
dependencies:
font-finder "^1.0.3"
lru-cache "^6.0.0"
opentype.js "^0.8.0"
get-system-fonts@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/get-system-fonts/-/get-system-fonts-2.0.0.tgz#a43b9a33f05c0715a60176d2aad5ce6e98f0a3c6"
has-flag@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
is-buffer@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725"
isarray@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
just-extend@^4.0.2:
version "4.1.0"
resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.1.0.tgz#7278a4027d889601640ee0ce0e5a00b992467da4"
integrity sha512-ApcjaOdVTJ7y4r08xI5wIqpvwS48Q0PBG4DJROcEkH1f8MdAiNFyFxz3xoL0LWAVwjrwPYZdVHHxhRHcx/uGLA==
lodash.get@^4.4.2:
version "4.4.2"
resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
lodash@^4.17.15:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
lolex@^2.7.5:
version "2.7.5"
resolved "https://registry.yarnpkg.com/lolex/-/lolex-2.7.5.tgz#113001d56bfc7e02d56e36291cc5c413d1aa0733"
integrity sha512-l9x0+1offnKKIzYVjyXU2SiwhXDLekRzKyhnbyldPHvC7BvLPVpdNUNR2KeMAiCN2D/kLNttZgQD5WjSxuBx3Q==
lolex@^5.0.1:
version "5.1.2"
resolved "https://registry.yarnpkg.com/lolex/-/lolex-5.1.2.tgz#953694d098ce7c07bc5ed6d0e42bc6c0c6d5a367"
integrity sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A==
dependencies:
"@sinonjs/commons" "^1.7.0"
lru-cache@^6.0.0:
version "6.0.0"
resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
dependencies:
yallist "^4.0.0"
minimist@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
mkdirp@0.5.5:
version "0.5.5"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
dependencies:
minimist "^1.2.5"
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
nise@^1.4.5:
version "1.5.3"
resolved "https://registry.yarnpkg.com/nise/-/nise-1.5.3.tgz#9d2cfe37d44f57317766c6e9408a359c5d3ac1f7"
integrity sha512-Ymbac/94xeIrMf59REBPOv0thr+CJVFMhrlAkW/gjCIE58BGQdCj0x7KRCb3yz+Ga2Rz3E9XXSvUyyxqqhjQAQ==
dependencies:
"@sinonjs/formatio" "^3.2.1"
"@sinonjs/text-encoding" "^0.7.1"
just-extend "^4.0.2"
lolex "^5.0.1"
path-to-regexp "^1.7.0"
opentype.js@^0.8.0:
version "0.8.0"
resolved "https://registry.yarnpkg.com/opentype.js/-/opentype.js-0.8.0.tgz#acabcfa1642fbe894a3e4d759e43ba694e02bd35"
dependencies:
tiny-inflate "^1.0.2"
path-to-regexp@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d"
dependencies:
isarray "0.0.1"
pend@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
promise-stream-reader@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/promise-stream-reader/-/promise-stream-reader-1.0.1.tgz#4e793a79c9d49a73ccd947c6da9c127f12923649"
sinon@6.3.5:
version "6.3.5"
resolved "https://registry.yarnpkg.com/sinon/-/sinon-6.3.5.tgz#0f6d6a5b4ebaad1f6e8e019395542d1d02c144a0"
integrity sha512-xgoZ2gKjyVRcF08RrIQc+srnSyY1JDJtxu3Nsz07j1ffjgXoY6uPLf/qja6nDBZgzYYEovVkFryw2+KiZz11xQ==
dependencies:
"@sinonjs/commons" "^1.0.2"
"@sinonjs/formatio" "^3.0.0"
"@sinonjs/samsam" "^2.1.2"
diff "^3.5.0"
lodash.get "^4.4.2"
lolex "^2.7.5"
nise "^1.4.5"
supports-color "^5.5.0"
type-detect "^4.0.8"
supports-color@^5.5.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
dependencies:
has-flag "^3.0.0"
tiny-inflate@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/tiny-inflate/-/tiny-inflate-1.0.2.tgz#93d9decffc8805bd57eae4310f0b745e9b6fb3a7"
type-detect@4.0.8, type-detect@^4.0.8:
version "4.0.8"
resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
yallist@^4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
yauzl@^2.10.0:
version "2.10.0"
resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"
dependencies:
buffer-crc32 "~0.2.3"
fd-slicer "~1.1.0"
+2
View File
@@ -0,0 +1,2 @@
lib
node_modules
+5
View File
@@ -0,0 +1,5 @@
**/*.api.js
**/*.api.ts
tsconfig.json
.yarnrc
webpack.config.js
+19
View File
@@ -0,0 +1,19 @@
Copyright (c) 2017, The xterm.js authors (https://github.com/xtermjs/xterm.js)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
+23
View File
@@ -0,0 +1,23 @@
## xterm-addon-search
An addon for [xterm.js](https://github.com/xtermjs/xterm.js) that enables searching the buffer. This addon requires xterm.js v4+.
### Install
```bash
npm install --save xterm-addon-search
```
### Usage
```ts
import { Terminal } from 'xterm';
import { SearchAddon } from 'xterm-addon-search';
const terminal = new Terminal();
const searchAddon = new SearchAddon();
terminal.loadAddon(searchAddon);
searchAddon.findNext('foo');
```
See the full [API](https://github.com/xtermjs/xterm.js/blob/master/addons/xterm-addon-search/typings/xterm-addon-search.d.ts) for more advanced usage.
@@ -0,0 +1,70 @@
/usr/bin/cmake -E cmake_progress_report /home/yan/ssd/searchtrunk/tmp/release/CMakeFiles
make[3]: Entering directory `/home/yan/ssd/searchtrunk/tmp/release'
make[3]: Nothing to be done for `libsrc/wrap_curl/CMakeFiles/wrap_curl.dir/build'.
make[3]: Leaving directory `/home/yan/ssd/searchtrunk/tmp/release'
[ 0%] /usr/bin/cmake -E cmake_progress_report /home/yan/ssd/searchtrunk/tmp/release/CMakeFiles
[ 0%] [ 0%] /usr/bin/cmake -E cmake_progress_report /home/yan/ssd/searchtrunk/tmp/release/CMakeFiles
Built target config_utils
[ 0%] make[3]: Entering directory `/home/yan/ssd/searchtrunk/tmp/release'
/usr/bin/cmake -E cmake_progress_report /home/yan/ssd/searchtrunk/tmp/release/CMakeFiles
Built target omega
make[3]: Entering directory `/home/yan/ssd/searchtrunk/tmp/release'
cd /home/yan/ssd/searchtrunk/tmp/release && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/yan/ssd/searchtrunk /home/yan/ssd/searchtrunk/projects/protogen/cpp /home/yan/ssd/searchtrunk/tmp/release /home/yan/ssd/searchtrunk/tmp/release/projects/protogen/cpp /home/yan/ssd/searchtrunk/tmp/release/projects/protogen/cpp/CMakeFiles/protogen.dir/DependInfo.cmake --color=
/usr/bin/cmake -E cmake_progress_report /home/yan/ssd/searchtrunk/tmp/release/CMakeFiles
Built target morpheus
make[3]: Leaving directory `/home/yan/ssd/searchtrunk/tmp/release'
make -f libsrc/base/CMakeFiles/base.dir/build.make libsrc/base/CMakeFiles/base.dir/build
make[3]: Entering directory `/home/yan/ssd/searchtrunk/tmp/release'
make[3]: Nothing to be done for `libsrc/coroutine/CMakeFiles/coroutine.dir/build'.
Built target wrap_curl
make[3]: Leaving directory `/home/yan/ssd/searchtrunk/tmp/release'
/usr/bin/cmake -E cmake_progress_report /home/yan/ssd/searchtrunk/tmp/release/CMakeFiles
/usr/bin/cmake -E cmake_progress_report /home/yan/ssd/searchtrunk/tmp/release/CMakeFiles
[ 0%] [ 0%] [ 0%] [ 0%] Building CXX object libsrc/image_crop/CMakeFiles/image_crop.dir/src/crop_context.cpp.o
cd /home/yan/ssd/searchtrunk/tmp/release/libsrc/image_crop && /opt/rh/devtoolset-7/root/usr/bin/c++ -DGOGO_USE_LIBEVENT2=1 -DGOGO_USE_OPENSSL_SNI=1 -DHAVE_BOOST -DHAVE_GLIBC -DHAVE_MALLOC_TRIM -DHAVE_PREAD -DHAVE_READAHEAD -D_FILE_OFFSET_BITS=64 -D_STAT_LEMM -pipe -Wall -Wextra -Werror=multichar -Wno-deprecated -Wno-unused-parameter -pthread -fPIC -Woverloaded-virtual -Wnon-virtual-dtor -Werror -std=gnu++11 -Wno-unknown-pragmas -DBOOST_FILESYSTEM_VERSION=3 -DBOOST_NO_CXX11_HDR_CODECVT -DMAGICKCORE_QUANTUM_DEPTH=8 -DMAGICKCORE_HDRI_ENABLE=0 -Wno-unused-local-typedefs -D_GLIBCXX_USE_CXX11_ABI=0 -std=gnu++14 -DCXXHASH128_EXIST -static-libstdc++ -Wno-implicit-fallthrough -Wno-stringop-overflow -O3 -DNDEBUG -DBOOST_UBLAS_NDEBUG -g0 -march=core2 -mssse3 -msse4.1 -I/home/yan/ssd/searchtrunk/tmp/release/__inc -I/home/yan/ssd/searchtrunk/libsrc/image_crop/src -I/home/yan/ssd/searchtrunk/include -isystem /home/yan/ssd/searchtrunk/tmp/release/contrib/boost_1_69_0/include -isystem /home/yan/ssd/searchtrunk/tmp/release/contrib/icu-49.1.2/include -isystem /home/yan/ssd/searchtrunk/tmp/release/contrib/protobuf-3.4.0/include -I/home/yan/ssd/searchtrunk/tmp/release -isystem /home/yan/ssd/searchtrunk/tmp/release/contrib/opencv-3.0.0m2/include -isystem /home/yan/ssd/searchtrunk/tmp/release/contrib/dlib-19.7p1/include -Wno-array-bounds -o CMakeFiles/image_crop.dir/src/crop_context.cpp.o -c /home/yan/ssd/searchtrunk/libsrc/image_crop/src/crop_context.cpp
Building CXX object libsrc/image_crop/CMakeFiles/image_crop.dir/src/detector.cpp.o
Building CXX object libsrc/image_crop/CMakeFiles/image_crop.dir/src/image_crop.cpp.o
cd /home/yan/ssd/searchtrunk/tmp/release/libsrc/image_crop && /opt/rh/devtoolset-7/root/usr/bin/c++ -DGOGO_USE_LIBEVENT2=1 -DGOGO_USE_OPENSSL_SNI=1 -DHAVE_BOOST -DHAVE_GLIBC -DHAVE_MALLOC_TRIM -DHAVE_PREAD -DHAVE_READAHEAD -D_FILE_OFFSET_BITS=64 -D_STAT_LEMM -pipe -Wall -Wextra -Werror=multichar -Wno-deprecated -Wno-unused-parameter -pthread -fPIC -Woverloaded-virtual -Wnon-virtual-dtor -Werror -std=gnu++11 -Wno-unknown-pragmas -DBOOST_FILESYSTEM_VERSION=3 -DBOOST_NO_CXX11_HDR_CODECVT -DMAGICKCORE_QUANTUM_DEPTH=8 -DMAGICKCORE_HDRI_ENABLE=0 -Wno-unused-local-typedefs -D_GLIBCXX_USE_CXX11_ABI=0 -std=gnu++14 -DCXXHASH128_EXIST -static-libstdc++ -Wno-implicit-fallthrough -Wno-stringop-overflow -O3 -DNDEBUG -DBOOST_UBLAS_NDEBUG -g0 -march=core2 -mssse3 -msse4.1 -I/home/yan/ssd/searchtrunk/tmp/release/__inc -I/home/yan/ssd/searchtrunk/libsrc/image_crop/src -I/home/yan/ssd/searchtrunk/include -isystem /home/yan/ssd/searchtrunk/tmp/release/contrib/boost_1_69_0/include -isystem /home/yan/ssd/searchtrunk/tmp/release/contrib/icu-49.1.2/include -isystem /home/yan/ssd/searchtrunk/tmp/release/contrib/protobuf-3.4.0/include -I/home/yan/ssd/searchtrunk/tmp/release -isystem /home/yan/ssd/searchtrunk/tmp/release/contrib/opencv-3.0.0m2/include -isystem /home/yan/ssd/searchtrunk/tmp/release/contrib/dlib-19.7p1/include -Wno-array-bounds -o CMakeFiles/image_crop.dir/src/detector.cpp.o -c /home/yan/ssd/searchtrunk/libsrc/image_crop/src/detector.cpp
Built target coroutine
cd /home/yan/ssd/searchtrunk/tmp/release/libsrc/image_crop && /opt/rh/devtoolset-7/root/usr/bin/c++ -DGOGO_USE_LIBEVENT2=1 -DGOGO_USE_OPENSSL_SNI=1 -DHAVE_BOOST -DHAVE_GLIBC -DHAVE_MALLOC_TRIM -DHAVE_PREAD -DHAVE_READAHEAD -D_FILE_OFFSET_BITS=64 -D_STAT_LEMM -pipe -Wall -Wextra -Werror=multichar -Wno-deprecated -Wno-unused-parameter -pthread -fPIC -Woverloaded-virtual -Wnon-virtual-dtor -Werror -std=gnu++11 -Wno-unknown-pragmas -DBOOST_FILESYSTEM_VERSION=3 -DBOOST_NO_CXX11_HDR_CODECVT -DMAGICKCORE_QUANTUM_DEPTH=8 -DMAGICKCORE_HDRI_ENABLE=0 -Wno-unused-local-typedefs -D_GLIBCXX_USE_CXX11_ABI=0 -std=gnu++14 -DCXXHASH128_EXIST -static-libstdc++ -Wno-implicit-fallthrough -Wno-stringop-overflow -O3 -DNDEBUG -DBOOST_UBLAS_NDEBUG -g0 -march=core2 -mssse3 -msse4.1 -I/home/yan/ssd/searchtrunk/tmp/release/__inc -I/home/yan/ssd/searchtrunk/libsrc/image_crop/src -I/home/yan/ssd/searchtrunk/include -isystem /home/yan/ssd/searchtrunk/tmp/release/contrib/boost_1_69_0/include -isystem /home/yan/ssd/searchtrunk/tmp/release/contrib/icu-49.1.2/include -isystem /home/yan/ssd/searchtrunk/tmp/release/contrib/protobuf-3.4.0/include -I/home/yan/ssd/searchtrunk/tmp/release -isystem /home/yan/ssd/searchtrunk/tmp/release/contrib/opencv-3.0.0m2/include -isystem /home/yan/ssd/searchtrunk/tmp/release/contrib/dlib-19.7p1/include -Wno-array-bounds -o CMakeFiles/image_crop.dir/src/image_crop.cpp.o -c /home/yan/ssd/searchtrunk/libsrc/image_crop/src/image_crop.cpp
make[3]: Entering directory `/home/yan/ssd/searchtrunk/tmp/release'
make[3]: Nothing to be done for `libsrc/base/CMakeFiles/base.dir/build'.
make[3]: Leaving directory `/home/yan/ssd/searchtrunk/tmp/release'
/usr/bin/cmake -E cmake_progress_report /home/yan/ssd/searchtrunk/tmp/release/CMakeFiles
make[3]: Leaving directory `/home/yan/ssd/searchtrunk/tmp/release'
make -f projects/protogen/cpp/CMakeFiles/protogen.dir/build.make projects/protogen/cpp/CMakeFiles/protogen.dir/build
[ 0%] Built target base
In file included from /home/yan/ssd/searchtrunk/include/image_crop/detector.hpp:3:0,
from /home/yan/ssd/searchtrunk/libsrc/image_crop/src/detector.cpp:2:
/home/yan/ssd/searchtrunk/include/image_crop/crop_context.hpp:6:10: fatal error: opencv2/dnn.hpp: No such file or directory
#include <opencv2/dnn.hpp>
^~~~~~~~~~~~~~~~~
compilation terminated.
make[3]: *** [libsrc/image_crop/CMakeFiles/image_crop.dir/src/detector.cpp.o] Error 1
make[3]: *** Waiting for unfinished jobs....
In file included from /home/yan/ssd/searchtrunk/include/image_crop/image_crop.hpp:3:0,
from /home/yan/ssd/searchtrunk/libsrc/image_crop/src/image_crop.cpp:1:
/home/yan/ssd/searchtrunk/include/image_crop/crop_context.hpp:6:10: fatal error: opencv2/dnn.hpp: No such file or directory
#include <opencv2/dnn.hpp>
^~~~~~~~~~~~~~~~~
compilation terminated.
make[3]: *** [libsrc/image_crop/CMakeFiles/image_crop.dir/src/image_crop.cpp.o] Error 1
In file included from /home/yan/ssd/searchtrunk/libsrc/image_crop/src/crop_context.cpp:1:0:
/home/yan/ssd/searchtrunk/include/image_crop/crop_context.hpp:6:10: fatal error: opencv2/dnn.hpp: No such file or directory
#include <opencv2/dnn.hpp>
^~~~~~~~~~~~~~~~~
compilation terminated.
make[3]: *** [libsrc/image_crop/CMakeFiles/image_crop.dir/src/crop_context.cpp.o] Error 1
make[3]: Leaving directory `/home/yan/ssd/searchtrunk/tmp/release'
make[2]: *** [libsrc/image_crop/CMakeFiles/image_crop.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....
make[3]: Entering directory `/home/yan/ssd/searchtrunk/tmp/release'
make[3]: Nothing to be done for `projects/protogen/cpp/CMakeFiles/protogen.dir/build'.
make[3]: Leaving directory `/home/yan/ssd/searchtrunk/tmp/release'
/usr/bin/cmake -E cmake_progress_report /home/yan/ssd/searchtrunk/tmp/release/CMakeFiles 63 64 65 66
[ 25%] Built target protogen
make[2]: Leaving directory `/home/yan/ssd/searchtrunk/tmp/release'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/yan/ssd/searchtrunk/tmp/release/projects/projectX'
make: *** [install] Error 2
yan@yPC:~/ssd/searchtrunk/projects/projectX$
+21
View File
@@ -0,0 +1,21 @@
{
"name": "xterm-addon-search",
"version": "0.8.0",
"author": {
"name": "The xterm.js authors",
"url": "https://xtermjs.org/"
},
"main": "lib/xterm-addon-search.js",
"types": "typings/xterm-addon-search.d.ts",
"repository": "https://github.com/xtermjs/xterm.js",
"license": "MIT",
"scripts": {
"build": "../../node_modules/.bin/tsc -p .",
"prepackage": "npm run build",
"package": "../../node_modules/.bin/webpack",
"prepublishOnly": "npm run package"
},
"peerDependencies": {
"xterm": "^4.0.0"
}
}
@@ -0,0 +1,402 @@
/**
* Copyright (c) 2017 The xterm.js authors. All rights reserved.
* @license MIT
*/
import { Terminal, IDisposable, ITerminalAddon, ISelectionPosition } from 'xterm';
export interface ISearchOptions {
regex?: boolean;
wholeWord?: boolean;
caseSensitive?: boolean;
incremental?: boolean;
}
export interface ISearchPosition {
startCol: number;
startRow: number;
}
export interface ISearchResult {
term: string;
col: number;
row: number;
}
const NON_WORD_CHARACTERS = ' ~!@#$%^&*()+`-=[]{}|\;:"\',./<>?';
const LINES_CACHE_TIME_TO_LIVE = 15 * 1000; // 15 secs
export class SearchAddon implements ITerminalAddon {
private _terminal: Terminal | undefined;
/**
* translateBufferLineToStringWithWrap is a fairly expensive call.
* We memoize the calls into an array that has a time based ttl.
* _linesCache is also invalidated when the terminal cursor moves.
*/
private _linesCache: string[] | undefined;
private _linesCacheTimeoutId = 0;
private _cursorMoveListener: IDisposable | undefined;
private _resizeListener: IDisposable | undefined;
public activate(terminal: Terminal): void {
this._terminal = terminal;
}
public dispose(): void { }
/**
* Find the next instance of the term, then scroll to and select it. If it
* doesn't exist, do nothing.
* @param term The search term.
* @param searchOptions Search options.
* @return Whether a result was found.
*/
public findNext(term: string, searchOptions?: ISearchOptions): boolean {
if (!this._terminal) {
throw new Error('Cannot use addon until it has been loaded');
}
if (!term || term.length === 0) {
this._terminal.clearSelection();
return false;
}
let startCol = 0;
let startRow = 0;
let currentSelection: ISelectionPosition | undefined;
if (this._terminal.hasSelection()) {
const incremental = searchOptions ? searchOptions.incremental : false;
// Start from the selection end if there is a selection
// For incremental search, use existing row
currentSelection = this._terminal.getSelectionPosition()!;
startRow = incremental ? currentSelection.startRow : currentSelection.endRow;
startCol = incremental ? currentSelection.startColumn : currentSelection.endColumn;
}
this._initLinesCache();
const searchPosition: ISearchPosition = {
startRow,
startCol
};
// Search startRow
let result = this._findInLine(term, searchPosition, searchOptions);
// Search from startRow + 1 to end
if (!result) {
for (let y = startRow + 1; y < this._terminal.buffer.active.baseY + this._terminal.rows; y++) {
searchPosition.startRow = y;
searchPosition.startCol = 0;
// If the current line is wrapped line, increase index of column to ignore the previous scan
// Otherwise, reset beginning column index to zero with set new unwrapped line index
result = this._findInLine(term, searchPosition, searchOptions);
if (result) {
break;
}
}
}
// If we hit the bottom and didn't search from the very top wrap back up
if (!result && startRow !== 0) {
for (let y = 0; y < startRow; y++) {
searchPosition.startRow = y;
searchPosition.startCol = 0;
result = this._findInLine(term, searchPosition, searchOptions);
if (result) {
break;
}
}
}
// If there is only one result, wrap back and return selection if it exists.
if (!result && currentSelection) {
searchPosition.startRow = currentSelection.startRow;
searchPosition.startCol = 0;
result = this._findInLine(term, searchPosition, searchOptions);
}
// Set selection and scroll if a result was found
return this._selectResult(result);
}
/**
* Find the previous instance of the term, then scroll to and select it. If it
* doesn't exist, do nothing.
* @param term The search term.
* @param searchOptions Search options.
* @return Whether a result was found.
*/
public findPrevious(term: string, searchOptions?: ISearchOptions): boolean {
if (!this._terminal) {
throw new Error('Cannot use addon until it has been loaded');
}
if (!term || term.length === 0) {
this._terminal.clearSelection();
return false;
}
const isReverseSearch = true;
let startRow = this._terminal.buffer.active.baseY + this._terminal.rows;
let startCol = this._terminal.cols;
let result: ISearchResult | undefined;
const incremental = searchOptions ? searchOptions.incremental : false;
let currentSelection: ISelectionPosition | undefined;
if (this._terminal.hasSelection()) {
currentSelection = this._terminal.getSelectionPosition()!;
// Start from selection start if there is a selection
startRow = currentSelection.startRow;
startCol = currentSelection.startColumn;
}
this._initLinesCache();
const searchPosition: ISearchPosition = {
startRow,
startCol
};
if (incremental) {
// Try to expand selection to right first.
result = this._findInLine(term, searchPosition, searchOptions, false);
const isOldResultHighlighted = result && result.row === startRow && result.col === startCol;
if (!isOldResultHighlighted) {
// If selection was not able to be expanded to the right, then try reverse search
if (currentSelection) {
searchPosition.startRow = currentSelection.endRow;
searchPosition.startCol = currentSelection.endColumn;
}
result = this._findInLine(term, searchPosition, searchOptions, true);
}
} else {
result = this._findInLine(term, searchPosition, searchOptions, isReverseSearch);
}
// Search from startRow - 1 to top
if (!result) {
searchPosition.startCol = Math.max(searchPosition.startCol, this._terminal.cols);
for (let y = startRow - 1; y >= 0; y--) {
searchPosition.startRow = y;
result = this._findInLine(term, searchPosition, searchOptions, isReverseSearch);
if (result) {
break;
}
}
}
// If we hit the top and didn't search from the very bottom wrap back down
if (!result && startRow !== (this._terminal.buffer.active.baseY + this._terminal.rows)) {
for (let y = (this._terminal.buffer.active.baseY + this._terminal.rows); y >= startRow; y--) {
searchPosition.startRow = y;
result = this._findInLine(term, searchPosition, searchOptions, isReverseSearch);
if (result) {
break;
}
}
}
// If there is only one result, return true.
if (!result && currentSelection) return true;
// Set selection and scroll if a result was found
return this._selectResult(result);
}
/**
* Sets up a line cache with a ttl
*/
private _initLinesCache(): void {
const terminal = this._terminal!;
if (!this._linesCache) {
this._linesCache = new Array(terminal.buffer.active.length);
this._cursorMoveListener = terminal.onCursorMove(() => this._destroyLinesCache());
this._resizeListener = terminal.onResize(() => this._destroyLinesCache());
}
window.clearTimeout(this._linesCacheTimeoutId);
this._linesCacheTimeoutId = window.setTimeout(() => this._destroyLinesCache(), LINES_CACHE_TIME_TO_LIVE);
}
private _destroyLinesCache(): void {
this._linesCache = undefined;
if (this._cursorMoveListener) {
this._cursorMoveListener.dispose();
this._cursorMoveListener = undefined;
}
if (this._resizeListener) {
this._resizeListener.dispose();
this._resizeListener = undefined;
}
if (this._linesCacheTimeoutId) {
window.clearTimeout(this._linesCacheTimeoutId);
this._linesCacheTimeoutId = 0;
}
}
/**
* A found substring is a whole word if it doesn't have an alphanumeric character directly adjacent to it.
* @param searchIndex starting indext of the potential whole word substring
* @param line entire string in which the potential whole word was found
* @param term the substring that starts at searchIndex
*/
private _isWholeWord(searchIndex: number, line: string, term: string): boolean {
return ((searchIndex === 0) || (NON_WORD_CHARACTERS.includes(line[searchIndex - 1]))) &&
(((searchIndex + term.length) === line.length) || (NON_WORD_CHARACTERS.includes(line[searchIndex + term.length])));
}
/**
* Searches a line for a search term. Takes the provided terminal line and searches the text line, which may contain
* subsequent terminal lines if the text is wrapped. If the provided line number is part of a wrapped text line that
* started on an earlier line then it is skipped since it will be properly searched when the terminal line that the
* text starts on is searched.
* @param term The search term.
* @param position The position to start the search.
* @param searchOptions Search options.
* @param isReverseSearch Whether the search should start from the right side of the terminal and search to the left.
* @return The search result if it was found.
*/
protected _findInLine(term: string, searchPosition: ISearchPosition, searchOptions: ISearchOptions = {}, isReverseSearch: boolean = false): ISearchResult | undefined {
const terminal = this._terminal!;
let row = searchPosition.startRow;
const col = searchPosition.startCol;
// Ignore wrapped lines, only consider on unwrapped line (first row of command string).
const firstLine = terminal.buffer.active.getLine(row);
if (firstLine?.isWrapped) {
if (isReverseSearch) {
searchPosition.startCol += terminal.cols;
return;
}
// This will iterate until we find the line start.
// When we find it, we will search using the calculated start column.
searchPosition.startRow--;
searchPosition.startCol += terminal.cols;
return this._findInLine(term, searchPosition, searchOptions);
}
let stringLine = this._linesCache ? this._linesCache[row] : void 0;
if (stringLine === void 0) {
stringLine = this._translateBufferLineToStringWithWrap(row, true);
if (this._linesCache) {
this._linesCache[row] = stringLine;
}
}
const searchTerm = searchOptions.caseSensitive ? term : term.toLowerCase();
const searchStringLine = searchOptions.caseSensitive ? stringLine : stringLine.toLowerCase();
let resultIndex = -1;
if (searchOptions.regex) {
const searchRegex = RegExp(searchTerm, 'g');
let foundTerm: RegExpExecArray | null;
if (isReverseSearch) {
// This loop will get the resultIndex of the _last_ regex match in the range 0..col
while (foundTerm = searchRegex.exec(searchStringLine.slice(0, col))) {
resultIndex = searchRegex.lastIndex - foundTerm[0].length;
term = foundTerm[0];
searchRegex.lastIndex -= (term.length - 1);
}
} else {
foundTerm = searchRegex.exec(searchStringLine.slice(col));
if (foundTerm && foundTerm[0].length > 0) {
resultIndex = col + (searchRegex.lastIndex - foundTerm[0].length);
term = foundTerm[0];
}
}
} else {
if (isReverseSearch) {
if (col - searchTerm.length >= 0) {
resultIndex = searchStringLine.lastIndexOf(searchTerm, col - searchTerm.length);
}
} else {
resultIndex = searchStringLine.indexOf(searchTerm, col);
}
}
if (resultIndex >= 0) {
// Adjust the row number and search index if needed since a "line" of text can span multiple rows
if (resultIndex >= terminal.cols) {
row += Math.floor(resultIndex / terminal.cols);
resultIndex = resultIndex % terminal.cols;
}
if (searchOptions.wholeWord && !this._isWholeWord(resultIndex, searchStringLine, term)) {
return;
}
const line = terminal.buffer.active.getLine(row);
if (line) {
for (let i = 0; i < resultIndex; i++) {
const cell = line.getCell(i);
if (!cell) {
break;
}
// Adjust the searchIndex to normalize emoji into single chars
const char = cell.getChars();
if (char.length > 1) {
resultIndex -= char.length - 1;
}
// Adjust the searchIndex for empty characters following wide unicode
// chars (eg. CJK)
const charWidth = cell.getWidth();
if (charWidth === 0) {
resultIndex++;
}
}
}
return {
term,
col: resultIndex,
row
};
}
}
/**
* Translates a buffer line to a string, including subsequent lines if they are wraps.
* Wide characters will count as two columns in the resulting string. This
* function is useful for getting the actual text underneath the raw selection
* position.
* @param line The line being translated.
* @param trimRight Whether to trim whitespace to the right.
*/
private _translateBufferLineToStringWithWrap(lineIndex: number, trimRight: boolean): string {
const terminal = this._terminal!;
let lineString = '';
let lineWrapsToNext: boolean;
do {
const nextLine = terminal.buffer.active.getLine(lineIndex + 1);
lineWrapsToNext = nextLine ? nextLine.isWrapped : false;
const line = terminal.buffer.active.getLine(lineIndex);
if (!line) {
break;
}
lineString += line.translateToString(!lineWrapsToNext && trimRight).substring(0, terminal.cols);
lineIndex++;
} while (lineWrapsToNext);
return lineString;
}
/**
* Selects and scrolls to a result.
* @param result The result to select.
* @return Whethera result was selected.
*/
private _selectResult(result: ISearchResult | undefined): boolean {
const terminal = this._terminal!;
if (!result) {
terminal.clearSelection();
return false;
}
terminal.select(result.col, result.row, result.term.length);
// If it is not in the viewport then we scroll else it just gets selected
if (result.row >= (terminal.buffer.active.viewportY + terminal.rows) || result.row < terminal.buffer.active.viewportY) {
let scroll = result.row - terminal.buffer.active.viewportY;
scroll = scroll - Math.floor(terminal.rows / 2);
terminal.scrollLines(scroll);
}
return true;
}
}
@@ -0,0 +1,22 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"lib": [
"dom",
"es6",
],
"rootDir": ".",
"outDir": "../out",
"sourceMap": true,
"removeComments": true,
"strict": true,
"types": [
"../../../node_modules/@types/mocha"
]
},
"include": [
"./**/*",
"../../../typings/xterm.d.ts"
]
}
@@ -0,0 +1,204 @@
/**
* Copyright (c) 2019 The xterm.js authors. All rights reserved.
* @license MIT
*/
import { assert } from 'chai';
import { readFile } from 'fs';
import { resolve } from 'path';
import { openTerminal, writeSync, getBrowserType } from '../../../out-test/api/TestUtils';
import { Browser, Page } from 'playwright';
const APP = 'http://127.0.0.1:3001/test';
let browser: Browser;
let page: Page;
const width = 800;
const height = 600;
describe('Search Tests', function(): void {
before(async function(): Promise<any> {
const browserType = getBrowserType();
browser = await browserType.launch({
headless: process.argv.includes('--headless')
});
page = await (await browser.newContext()).newPage();
await page.setViewportSize({ width, height });
await page.goto(APP);
await openTerminal(page);
await page.evaluate(`window.search = new SearchAddon();`);
await page.evaluate(`window.term.loadAddon(window.search);`);
});
after(() => {
browser.close();
});
beforeEach(async () => {
await page.evaluate(`window.term.reset()`);
});
it('Simple Search', async () => {
await writeSync(page, 'dafhdjfldshafhldsahfkjhldhjkftestlhfdsakjfhdjhlfdsjkafhjdlk');
assert.deepEqual(await page.evaluate(`window.search.findNext('test')`), true);
assert.deepEqual(await page.evaluate(`window.term.getSelection()`), 'test');
});
it('Scrolling Search', async () => {
let dataString = '';
for (let i = 0; i < 100; i++) {
if (i === 52) {
dataString += '$^1_3{}test$#';
}
dataString += makeData(50);
}
await writeSync(page, dataString);
assert.deepEqual(await page.evaluate(`window.search.findNext('$^1_3{}test$#')`), true);
assert.deepEqual(await page.evaluate(`window.term.getSelection()`), '$^1_3{}test$#');
});
it('Incremental Find Previous', async () => {
await page.evaluate(`window.term.writeln('package.jsonc\\n')`);
await writeSync(page, 'package.json pack package.lock');
await page.evaluate(`window.search.findPrevious('pack', {incremental: true})`);
let line: string = await page.evaluate(`window.term.buffer.active.getLine(window.term.getSelectionPosition().startRow).translateToString()`);
let selectionPosition: { startColumn: number, startRow: number, endColumn: number, endRow: number } = await page.evaluate(`window.term.getSelectionPosition()`);
// We look further ahead in the line to ensure that pack was selected from package.lock
assert.deepEqual(line.substring(selectionPosition.startColumn, selectionPosition.endColumn + 8), 'package.lock');
await page.evaluate(`window.search.findPrevious('package.j', {incremental: true})`);
selectionPosition = await page.evaluate(`window.term.getSelectionPosition()`);
assert.deepEqual(line.substring(selectionPosition.startColumn, selectionPosition.endColumn + 3), 'package.json');
await page.evaluate(`window.search.findPrevious('package.jsonc', {incremental: true})`);
// We have to reevaluate line because it should have switched starting rows at this point
line = await page.evaluate(`window.term.buffer.active.getLine(window.term.getSelectionPosition().startRow).translateToString()`);
selectionPosition = await page.evaluate(`window.term.getSelectionPosition()`);
assert.deepEqual(line.substring(selectionPosition.startColumn, selectionPosition.endColumn), 'package.jsonc');
});
it('Incremental Find Next', async () => {
await page.evaluate(`window.term.writeln('package.lock pack package.json package.ups\\n')`);
await writeSync(page, 'package.jsonc');
await page.evaluate(`window.search.findNext('pack', {incremental: true})`);
let line: string = await page.evaluate(`window.term.buffer.active.getLine(window.term.getSelectionPosition().startRow).translateToString()`);
let selectionPosition: { startColumn: number, startRow: number, endColumn: number, endRow: number } = await page.evaluate(`window.term.getSelectionPosition()`);
// We look further ahead in the line to ensure that pack was selected from package.lock
assert.deepEqual(line.substring(selectionPosition.startColumn, selectionPosition.endColumn + 8), 'package.lock');
await page.evaluate(`window.search.findNext('package.j', {incremental: true})`);
selectionPosition = await page.evaluate(`window.term.getSelectionPosition()`);
assert.deepEqual(line.substring(selectionPosition.startColumn, selectionPosition.endColumn + 3), 'package.json');
await page.evaluate(`window.search.findNext('package.jsonc', {incremental: true})`);
// We have to reevaluate line because it should have switched starting rows at this point
line = await page.evaluate(`window.term.buffer.active.getLine(window.term.getSelectionPosition().startRow).translateToString()`);
selectionPosition = await page.evaluate(`window.term.getSelectionPosition()`);
assert.deepEqual(line.substring(selectionPosition.startColumn, selectionPosition.endColumn), 'package.jsonc');
});
it('Simple Regex', async () => {
await writeSync(page, 'abc123defABCD');
await page.evaluate(`window.search.findNext('[a-z]+', {regex: true})`);
assert.deepEqual(await page.evaluate(`window.term.getSelection()`), 'abc');
await page.evaluate(`window.search.findNext('[A-Z]+', {regex: true, caseSensitive: true})`);
assert.deepEqual(await page.evaluate(`window.term.getSelection()`), 'ABCD');
});
it('Search for single result twice should not unselect it', async () => {
await writeSync(page, 'abc def');
assert.deepEqual(await page.evaluate(`window.search.findNext('abc')`), true);
assert.deepEqual(await page.evaluate(`window.term.getSelection()`), 'abc');
assert.deepEqual(await page.evaluate(`window.search.findNext('abc')`), true);
assert.deepEqual(await page.evaluate(`window.term.getSelection()`), 'abc');
});
describe('Regression tests', () => {
describe('#2444 wrapped line content not being found', () => {
let fixture: string;
before(async () => {
const rawFixture = await new Promise<Buffer>(r => readFile(resolve(__dirname, '../fixtures/issue-2444'), (err, data) => r(data)));
if (process.platform === 'win32') {
fixture = rawFixture.toString()
.replace(/\n/g, '\\n')
.replace(/\r/g, '\\r');
} else {
fixture = rawFixture.toString()
.replace(/\n/g, '\\n\\r');
}
fixture = fixture
.replace(/'/g, '\\\'');
});
it('should find all occurrences using findNext', async () => {
await writeSync(page, fixture);
assert.deepEqual(await page.evaluate(`window.search.findNext('opencv')`), true);
let selectionPosition = await page.evaluate(`window.term.getSelectionPosition()`);
assert.deepEqual(selectionPosition, { startColumn: 24, startRow: 53, endColumn: 30, endRow: 53 });
assert.deepEqual(await page.evaluate(`window.search.findNext('opencv')`), true);
selectionPosition = await page.evaluate(`window.term.getSelectionPosition()`);
assert.deepEqual(selectionPosition, { startColumn: 24, startRow: 76, endColumn: 30, endRow: 76 });
assert.deepEqual(await page.evaluate(`window.search.findNext('opencv')`), true);
selectionPosition = await page.evaluate(`window.term.getSelectionPosition()`);
assert.deepEqual(selectionPosition, { startColumn: 24, startRow: 96, endColumn: 30, endRow: 96 });
assert.deepEqual(await page.evaluate(`window.search.findNext('opencv')`), true);
selectionPosition = await page.evaluate(`window.term.getSelectionPosition()`);
assert.deepEqual(selectionPosition, { startColumn: 1, startRow: 114, endColumn: 7, endRow: 114 });
assert.deepEqual(await page.evaluate(`window.search.findNext('opencv')`), true);
selectionPosition = await page.evaluate(`window.term.getSelectionPosition()`);
assert.deepEqual(selectionPosition, { startColumn: 11, startRow: 115, endColumn: 17, endRow: 115 });
assert.deepEqual(await page.evaluate(`window.search.findNext('opencv')`), true);
selectionPosition = await page.evaluate(`window.term.getSelectionPosition()`);
assert.deepEqual(selectionPosition, { startColumn: 1, startRow: 126, endColumn: 7, endRow: 126 });
assert.deepEqual(await page.evaluate(`window.search.findNext('opencv')`), true);
selectionPosition = await page.evaluate(`window.term.getSelectionPosition()`);
assert.deepEqual(selectionPosition, { startColumn: 11, startRow: 127, endColumn: 17, endRow: 127 });
assert.deepEqual(await page.evaluate(`window.search.findNext('opencv')`), true);
selectionPosition = await page.evaluate(`window.term.getSelectionPosition()`);
assert.deepEqual(selectionPosition, { startColumn: 1, startRow: 135, endColumn: 7, endRow: 135 });
assert.deepEqual(await page.evaluate(`window.search.findNext('opencv')`), true);
selectionPosition = await page.evaluate(`window.term.getSelectionPosition()`);
assert.deepEqual(selectionPosition, { startColumn: 11, startRow: 136, endColumn: 17, endRow: 136 });
// Wrap around to first result
assert.deepEqual(await page.evaluate(`window.search.findNext('opencv')`), true);
selectionPosition = await page.evaluate(`window.term.getSelectionPosition()`);
assert.deepEqual(selectionPosition, { startColumn: 24, startRow: 53, endColumn: 30, endRow: 53 });
});
it('should find all occurrences using findPrevious', async () => {
await writeSync(page, fixture);
assert.deepEqual(await page.evaluate(`window.search.findPrevious('opencv')`), true);
let selectionPosition = await page.evaluate(`window.term.getSelectionPosition()`);
assert.deepEqual(selectionPosition, { startColumn: 11, startRow: 136, endColumn: 17, endRow: 136 });
assert.deepEqual(await page.evaluate(`window.search.findPrevious('opencv')`), true);
selectionPosition = await page.evaluate(`window.term.getSelectionPosition()`);
assert.deepEqual(selectionPosition, { startColumn: 1, startRow: 135, endColumn: 7, endRow: 135 });
assert.deepEqual(await page.evaluate(`window.search.findPrevious('opencv')`), true);
selectionPosition = await page.evaluate(`window.term.getSelectionPosition()`);
assert.deepEqual(selectionPosition, { startColumn: 11, startRow: 127, endColumn: 17, endRow: 127 });
assert.deepEqual(await page.evaluate(`window.search.findPrevious('opencv')`), true);
selectionPosition = await page.evaluate(`window.term.getSelectionPosition()`);
assert.deepEqual(selectionPosition, { startColumn: 1, startRow: 126, endColumn: 7, endRow: 126 });
assert.deepEqual(await page.evaluate(`window.search.findPrevious('opencv')`), true);
selectionPosition = await page.evaluate(`window.term.getSelectionPosition()`);
assert.deepEqual(selectionPosition, { startColumn: 11, startRow: 115, endColumn: 17, endRow: 115 });
assert.deepEqual(await page.evaluate(`window.search.findPrevious('opencv')`), true);
selectionPosition = await page.evaluate(`window.term.getSelectionPosition()`);
assert.deepEqual(selectionPosition, { startColumn: 1, startRow: 114, endColumn: 7, endRow: 114 });
assert.deepEqual(await page.evaluate(`window.search.findPrevious('opencv')`), true);
selectionPosition = await page.evaluate(`window.term.getSelectionPosition()`);
assert.deepEqual(selectionPosition, { startColumn: 24, startRow: 96, endColumn: 30, endRow: 96 });
assert.deepEqual(await page.evaluate(`window.search.findPrevious('opencv')`), true);
selectionPosition = await page.evaluate(`window.term.getSelectionPosition()`);
assert.deepEqual(selectionPosition, { startColumn: 24, startRow: 76, endColumn: 30, endRow: 76 });
assert.deepEqual(await page.evaluate(`window.search.findPrevious('opencv')`), true);
selectionPosition = await page.evaluate(`window.term.getSelectionPosition()`);
assert.deepEqual(selectionPosition, { startColumn: 24, startRow: 53, endColumn: 30, endRow: 53 });
// Wrap around to first result
assert.deepEqual(await page.evaluate(`window.search.findPrevious('opencv')`), true);
selectionPosition = await page.evaluate(`window.term.getSelectionPosition()`);
assert.deepEqual(selectionPosition, { startColumn: 11, startRow: 136, endColumn: 17, endRow: 136 });
});
});
});
});
function makeData(length: number): string {
let result = '';
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
for (let i = 0; i < length; i++) {
result += characters.charAt(Math.floor(Math.random() * characters.length));
}
return result;
}
@@ -0,0 +1,23 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"lib": [
"es6",
],
"rootDir": ".",
"outDir": "../out-test",
"sourceMap": true,
"removeComments": true,
"strict": true,
"types": [
"../../../node_modules/@types/mocha",
"../../../node_modules/@types/node",
"../../../out-test/api/TestUtils"
]
},
"include": [
"./**/*",
"../../../typings/xterm.d.ts"
]
}
+8
View File
@@ -0,0 +1,8 @@
{
"files": [],
"include": [],
"references": [
{ "path": "./src" },
{ "path": "./test" }
]
}
@@ -0,0 +1,68 @@
/**
* Copyright (c) 2017 The xterm.js authors. All rights reserved.
* @license MIT
*/
import { Terminal, ILinkMatcherOptions, IDisposable, ITerminalAddon } from 'xterm';
declare module 'xterm-addon-search' {
/**
* Options for a search.
*/
export interface ISearchOptions {
/**
* Whether the search term is a regex.
*/
regex?: boolean;
/**
* Whether to search for a whole word, the result is only valid if it's
* surrounded in "non-word" characters such as `_`, `(`, `)` or space.
*/
wholeWord?: boolean;
/**
* Whether the search is case sensitive.
*/
caseSensitive?: boolean;
/**
* Whether to do an incremental search, this will expand the selection if it
* still matches the term the user typed. Note that this only affects
* `findNext`, not `findPrevious`.
*/
incremental?: boolean;
}
/**
* An xterm.js addon that provides search functionality.
*/
export class SearchAddon implements ITerminalAddon {
/**
* Activates the addon
* @param terminal The terminal the addon is being loaded in.
*/
public activate(terminal: Terminal): void;
/**
* Disposes the addon.
*/
public dispose(): void;
/**
* Search forwards for the next result that matches the search term and
* options.
* @param term The search term.
* @param searchOptions The options for the search.
*/
public findNext(term: string, searchOptions?: ISearchOptions): boolean;
/**
* Search backwards for the previous result that matches the search term and
* options.
* @param term The search term.
* @param searchOptions The options for the search.
*/
public findPrevious(term: string, searchOptions?: ISearchOptions): boolean;
}
}
@@ -0,0 +1,31 @@
/**
* Copyright (c) 2019 The xterm.js authors. All rights reserved.
* @license MIT
*/
const path = require('path');
const addonName = 'SearchAddon';
const mainFile = 'xterm-addon-search.js';
module.exports = {
entry: `./out/${addonName}.js`,
devtool: 'source-map',
module: {
rules: [
{
test: /\.js$/,
use: ["source-map-loader"],
enforce: "pre",
exclude: /node_modules/
}
]
},
output: {
filename: mainFile,
path: path.resolve('./lib'),
library: addonName,
libraryTarget: 'umd'
},
mode: 'production'
};
+3
View File
@@ -0,0 +1,3 @@
lib
node_modules
out-benchmark
+5
View File
@@ -0,0 +1,5 @@
**/*.api.js
**/*.api.ts
tsconfig.json
.yarnrc
webpack.config.js
+42
View File
@@ -0,0 +1,42 @@
## xterm-addon-serialize
An addon for [xterm.js](https://github.com/xtermjs/xterm.js) that enables xterm.js to serialize a terminal framebuffer into string or html. This addon requires xterm.js v4+.
⚠️ This is an experimental addon that is still under construction ⚠️
### Install
```bash
npm install --save xterm-addon-serialize
```
### Usage
```ts
import { Terminal } from "xterm";
import { SerializeAddon } from "xterm-addon-serialize";
const terminal = new Terminal();
const serializeAddon = new SerializeAddon();
terminal.loadAddon(serializeAddon);
terminal.write("something...", () => {
console.log(serializeAddon.serialize());
});
```
See the full [API](https://github.com/xtermjs/xterm.js/blob/master/addons/xterm-addon-serialize/typings/xterm-addon-serialize.d.ts) for more advanced usage.
### Benchmark
⚠️ Ensure you have `lolcat`, `hexdump` programs installed in your computer
```shell
$ git clone https://github.com/xtermjs/xterm.js.git
$ cd xterm.js
$ yarn
$ cd addons/xterm-addon-serialize
$ yarn benchmark && yarn benchmark-baseline
$ # change some code in `xterm-addon-serialize`
$ yarn benchmark-eval
```
@@ -0,0 +1,65 @@
/**
* Copyright (c) 2019 The xterm.js authors. All rights reserved.
* @license MIT
*/
import { perfContext, before, ThroughputRuntimeCase } from 'xterm-benchmark';
import { spawn } from 'node-pty';
import { Utf8ToUtf32, stringFromCodePoint } from 'common/input/TextDecoder';
import { Terminal } from 'browser/public/Terminal';
import { SerializeAddon } from 'SerializeAddon';
class TestTerminal extends Terminal {
public writeSync(data: string): void {
(this as any)._core.writeSync(data);
}
}
perfContext('Terminal: sh -c "dd if=/dev/urandom count=40 bs=1k | hexdump | lolcat -f"', () => {
let content = '';
let contentUtf8: Uint8Array;
before(async () => {
const p = spawn('sh', ['-c', 'dd if=/dev/urandom count=40 bs=1k | hexdump | lolcat -f'], {
name: 'xterm-256color',
cols: 80,
rows: 25,
cwd: process.env.HOME,
env: process.env,
encoding: (null as unknown as string) // needs to be fixed in node-pty
});
const chunks: Buffer[] = [];
let length = 0;
p.on('data', data => {
chunks.push(data as unknown as Buffer);
length += data.length;
});
await new Promise(resolve => p.on('exit', () => resolve()));
contentUtf8 = Buffer.concat(chunks, length);
// translate to content string
const buffer = new Uint32Array(contentUtf8.length);
const decoder = new Utf8ToUtf32();
const codepoints = decoder.decode(contentUtf8, buffer);
for (let i = 0; i < codepoints; ++i) {
content += stringFromCodePoint(buffer[i]);
// peek into content to force flat repr in v8
if (!(i % 10000000)) {
content[i];
}
}
});
perfContext('serialize', () => {
let terminal: TestTerminal;
const serializeAddon = new SerializeAddon();
before(() => {
terminal = new TestTerminal({ cols: 80, rows: 25, scrollback: 5000 });
serializeAddon.activate(terminal);
terminal.writeSync(content);
});
new ThroughputRuntimeCase('', () => {
return { payloadSize: serializeAddon.serialize().length };
}, { fork: false }).showAverageThroughput();
});
});
@@ -0,0 +1,19 @@
{
"APP_PATH": ".benchmark",
"evalConfig": {
"tolerance": {
"*": [0.75, 1.5],
"*.dev": [0.01, 1.5],
"*.cv": [0.01, 1.5],
"EscapeSequenceParser.benchmark.js.*.averageThroughput.mean": [0.9, 5]
},
"skip": [
"*.median",
"*.runs",
"*.dev",
"*.cv",
"EscapeSequenceParser.benchmark.js.*.averageRuntime",
"Terminal.benchmark.js.*.averageRuntime"
]
}
}
@@ -0,0 +1,23 @@
{
"compilerOptions": {
"lib": ["dom", "es6"],
"outDir": "../out-benchmark",
"types": ["../../../node_modules/@types/node"],
"moduleResolution": "node",
"strict": false,
"target": "es2015",
"module": "commonjs",
"baseUrl": ".",
"paths": {
"common/*": ["../../../src/common/*"],
"browser/*": ["../../../src/browser/*"],
"SerializeAddon": ["../src/SerializeAddon"]
}
},
"include": ["../**/*", "../../../typings/xterm.d.ts", "../../../out/**/*"],
"exclude": ["../../../**/*test.ts", "../../**/*api.ts"],
"references": [
{ "path": "../../../src/common" },
{ "path": "../../../src/browser" }
]
}
+23
View File
@@ -0,0 +1,23 @@
{
"name": "xterm-addon-serialize",
"version": "0.5.0",
"author": {
"name": "The xterm.js authors",
"url": "https://xtermjs.org/"
},
"main": "lib/xterm-addon-serialize.js",
"types": "typings/xterm-addon-serialize.d.ts",
"license": "MIT",
"scripts": {
"build": "../../node_modules/.bin/tsc -p .",
"prepackage": "npm run build",
"package": "../../node_modules/.bin/webpack",
"prepublishOnly": "npm run package",
"benchmark": "NODE_PATH=../../out:./out:./out-benchmark/ ../../node_modules/.bin/xterm-benchmark -r 5 -c benchmark/benchmark.json",
"benchmark-baseline": "NODE_PATH=../../out:./out:./out-benchmark/ ../../node_modules/.bin/xterm-benchmark -r 5 -c benchmark/benchmark.json --baseline out-benchmark/benchmark/*benchmark.js",
"benchmark-eval": "NODE_PATH=../../out:./out:./out-benchmark/ ../../node_modules/.bin/xterm-benchmark -r 5 -c benchmark/benchmark.json --eval out-benchmark/benchmark/*benchmark.js"
},
"peerDependencies": {
"xterm": "^4.0.0"
}
}
@@ -0,0 +1,426 @@
/**
* Copyright (c) 2019 The xterm.js authors. All rights reserved.
* @license MIT
*
* (EXPERIMENTAL) This Addon is still under development
*/
import { Terminal, ITerminalAddon, IBuffer, IBufferCell } from 'xterm';
function constrain(value: number, low: number, high: number): number {
return Math.max(low, Math.min(value, high));
}
// TODO: Refine this template class later
abstract class BaseSerializeHandler {
constructor(private _buffer: IBuffer) { }
public serialize(startRow: number, endRow: number): string {
// we need two of them to flip between old and new cell
const cell1 = this._buffer.getNullCell();
const cell2 = this._buffer.getNullCell();
let oldCell = cell1;
this._beforeSerialize(endRow - startRow, startRow, endRow);
for (let row = startRow; row < endRow; row++) {
const line = this._buffer.getLine(row);
if (line) {
for (let col = 0; col < line.length; col++) {
const c = line.getCell(col, oldCell === cell1 ? cell2 : cell1);
if (!c) {
console.warn(`Can't get cell at row=${row}, col=${col}`);
continue;
}
this._nextCell(c, oldCell, row, col);
oldCell = c;
}
}
this._rowEnd(row, row === endRow - 1);
}
this._afterSerialize();
return this._serializeString();
}
protected _nextCell(cell: IBufferCell, oldCell: IBufferCell, row: number, col: number): void { }
protected _rowEnd(row: number, isLastRow: boolean): void { }
protected _beforeSerialize(rows: number, startRow: number, endRow: number): void { }
protected _afterSerialize(): void { }
protected _serializeString(): string { return ''; }
}
function equalFg(cell1: IBufferCell, cell2: IBufferCell): boolean {
return cell1.getFgColorMode() === cell2.getFgColorMode()
&& cell1.getFgColor() === cell2.getFgColor();
}
function equalBg(cell1: IBufferCell, cell2: IBufferCell): boolean {
return cell1.getBgColorMode() === cell2.getBgColorMode()
&& cell1.getBgColor() === cell2.getBgColor();
}
function equalFlags(cell1: IBufferCell, cell2: IBufferCell): boolean {
return cell1.isInverse() === cell2.isInverse()
&& cell1.isBold() === cell2.isBold()
&& cell1.isUnderline() === cell2.isUnderline()
&& cell1.isBlink() === cell2.isBlink()
&& cell1.isInvisible() === cell2.isInvisible()
&& cell1.isItalic() === cell2.isItalic()
&& cell1.isDim() === cell2.isDim();
}
class StringSerializeHandler extends BaseSerializeHandler {
private _rowIndex: number = 0;
private _allRows: string[] = new Array<string>();
private _allRowSeparators: string[] = new Array<string>();
private _currentRow: string = '';
private _nullCellCount: number = 0;
// we can see a full colored cell and a null cell that only have background the same style
// but the information isn't preserved by null cell itself
// so wee need to record it when required.
private _cursorStyle: IBufferCell = this._buffer1.getNullCell();
// where exact the cursor styles comes from
// because we can't copy the cell directly
// so we remember where the content comes from instead
private _cursorStyleRow: number = 0;
private _cursorStyleCol: number = 0;
// this is a null cell for reference for checking whether background is empty or not
private _backgroundCell: IBufferCell = this._buffer1.getNullCell();
private _firstRow: number = 0;
private _lastCursorRow: number = 0;
private _lastCursorCol: number = 0;
private _lastContentCursorRow: number = 0;
private _lastContentCursorCol: number = 0;
constructor(private _buffer1: IBuffer, private _terminal: Terminal) {
super(_buffer1);
}
protected _beforeSerialize(rows: number, start: number, end: number): void {
this._allRows = new Array<string>(rows);
this._lastContentCursorRow = start;
this._lastCursorRow = start;
this._firstRow = start;
}
private _thisRowLastChar: IBufferCell = this._buffer1.getNullCell();
private _thisRowLastSecondChar: IBufferCell = this._buffer1.getNullCell();
private _nextRowFirstChar: IBufferCell = this._buffer1.getNullCell();
protected _rowEnd(row: number, isLastRow: boolean): void {
// if there is colorful empty cell at line end, whe must pad it back, or the the color block will missing
if (this._nullCellCount > 0 && !equalBg(this._cursorStyle, this._backgroundCell)) {
// use clear right to set background.
this._currentRow += `\x1b[${this._nullCellCount}X`;
}
let rowSeparator = '';
// handle row separator
if (!isLastRow) {
// Enable BCE
if (row - this._firstRow >= this._terminal.rows) {
this._buffer1.getLine(this._cursorStyleRow)?.getCell(this._cursorStyleCol, this._backgroundCell);
}
// Fetch current line
const currentLine = this._buffer1.getLine(row)!;
// Fetch next line
const nextLine = this._buffer1.getLine(row + 1)!;
if (!nextLine.isWrapped) {
// just insert the line break
rowSeparator = '\r\n';
// we sended the enter
this._lastCursorRow = row + 1;
this._lastCursorCol = 0;
} else {
rowSeparator = '';
const thisRowLastChar = currentLine.getCell(currentLine.length - 1, this._thisRowLastChar)!;
const thisRowLastSecondChar = currentLine.getCell(currentLine.length - 2, this._thisRowLastSecondChar)!;
const nextRowFirstChar = nextLine.getCell(0, this._nextRowFirstChar)!;
const isNextRowFirstCharDoubleWidth = nextRowFirstChar.getWidth() > 1;
// validate whether this line wrap is ever possible
// which mean whether cursor can placed at a overflow position (x === row) naturally
let isValid = false;
if (
// you must output character to cause overflow, control sequence can't do this
nextRowFirstChar.getChars() &&
isNextRowFirstCharDoubleWidth ? this._nullCellCount <= 1 : this._nullCellCount <= 0
) {
if (
// the last character can't be null,
// you can't use control sequence to move cursor to (x === row)
(thisRowLastChar.getChars() || thisRowLastChar.getWidth() === 0) &&
// change background of the first wrapped cell also affects BCE
// so we mark it as invalid to simply the process to determine line separator
equalBg(thisRowLastChar, nextRowFirstChar)
) {
isValid = true;
}
if (
// the second to last character can't be null if the next line starts with CJK,
// you can't use control sequence to move cursor to (x === row)
isNextRowFirstCharDoubleWidth &&
(thisRowLastSecondChar.getChars() || thisRowLastSecondChar.getWidth() === 0) &&
// change background of the first wrapped cell also affects BCE
// so we mark it as invalid to simply the process to determine line separator
equalBg(thisRowLastChar, nextRowFirstChar) &&
equalBg(thisRowLastSecondChar, nextRowFirstChar)
) {
isValid = true;
}
}
if (!isValid) {
// force the wrap with magic
// insert enough character to force the wrap
rowSeparator = '-'.repeat(this._nullCellCount + 1);
// move back and erase next line head
rowSeparator += '\x1b[1D\x1b[1X';
if (this._nullCellCount > 0) {
// do these because we filled the last several null slot, which we shouldn't
rowSeparator += '\x1b[A';
rowSeparator += `\x1b[${currentLine.length - this._nullCellCount}C`;
rowSeparator += `\x1b[${this._nullCellCount}X`;
rowSeparator += `\x1b[${currentLine.length - this._nullCellCount}D`;
rowSeparator += '\x1b[B';
}
// This is content and need the be serialized even it is invisible.
// without this, wrap will be missing from outputs.
this._lastContentCursorRow = row + 1;
this._lastContentCursorCol = 0;
// force commit the cursor position
this._lastCursorRow = row + 1;
this._lastCursorCol = 0;
}
}
}
this._allRows[this._rowIndex] = this._currentRow;
this._allRowSeparators[this._rowIndex++] = rowSeparator;
this._currentRow = '';
this._nullCellCount = 0;
}
private _diffStyle(cell: IBufferCell, oldCell: IBufferCell): number[] {
const sgrSeq: number[] = [];
const fgChanged = !equalFg(cell, oldCell);
const bgChanged = !equalBg(cell, oldCell);
const flagsChanged = !equalFlags(cell, oldCell);
if (fgChanged || bgChanged || flagsChanged) {
if (cell.isAttributeDefault()) {
if (!oldCell.isAttributeDefault()) {
sgrSeq.push(0);
}
} else {
if (fgChanged) {
const color = cell.getFgColor();
if (cell.isFgRGB()) { sgrSeq.push(38, 2, (color >>> 16) & 0xFF, (color >>> 8) & 0xFF, color & 0xFF); }
else if (cell.isFgPalette()) {
if (color >= 16) { sgrSeq.push(38, 5, color); }
else { sgrSeq.push(color & 8 ? 90 + (color & 7) : 30 + (color & 7)); }
}
else { sgrSeq.push(39); }
}
if (bgChanged) {
const color = cell.getBgColor();
if (cell.isBgRGB()) { sgrSeq.push(48, 2, (color >>> 16) & 0xFF, (color >>> 8) & 0xFF, color & 0xFF); }
else if (cell.isBgPalette()) {
if (color >= 16) { sgrSeq.push(48, 5, color); }
else { sgrSeq.push(color & 8 ? 100 + (color & 7) : 40 + (color & 7)); }
}
else { sgrSeq.push(49); }
}
if (flagsChanged) {
if (cell.isInverse() !== oldCell.isInverse()) { sgrSeq.push(cell.isInverse() ? 7 : 27); }
if (cell.isBold() !== oldCell.isBold()) { sgrSeq.push(cell.isBold() ? 1 : 22); }
if (cell.isUnderline() !== oldCell.isUnderline()) { sgrSeq.push(cell.isUnderline() ? 4 : 24); }
if (cell.isBlink() !== oldCell.isBlink()) { sgrSeq.push(cell.isBlink() ? 5 : 25); }
if (cell.isInvisible() !== oldCell.isInvisible()) { sgrSeq.push(cell.isInvisible() ? 8 : 28); }
if (cell.isItalic() !== oldCell.isItalic()) { sgrSeq.push(cell.isItalic() ? 3 : 23); }
if (cell.isDim() !== oldCell.isDim()) { sgrSeq.push(cell.isDim() ? 2 : 22); }
}
}
}
return sgrSeq;
}
protected _nextCell(cell: IBufferCell, oldCell: IBufferCell, row: number, col: number): void {
// a width 0 cell don't need to be count because it is just a placeholder after a CJK character;
const isPlaceHolderCell = cell.getWidth() === 0;
if (isPlaceHolderCell) {
return;
}
// this cell don't have content
const isEmptyCell = cell.getChars() === '';
const sgrSeq = this._diffStyle(cell, this._cursorStyle);
// the empty cell style is only assumed to be changed when background changed, because foreground is always 0.
const styleChanged = isEmptyCell ? !equalBg(this._cursorStyle, cell) : sgrSeq.length > 0;
/**
* handles style change
*/
if (styleChanged) {
// before update the style, we need to fill empty cell back
if (this._nullCellCount > 0) {
// use clear right to set background.
if (!equalBg(this._cursorStyle, this._backgroundCell)) {
this._currentRow += `\x1b[${this._nullCellCount}X`;
}
// use move right to move cursor.
this._currentRow += `\x1b[${this._nullCellCount}C`;
this._nullCellCount = 0;
}
this._lastContentCursorRow = this._lastCursorRow = row;
this._lastContentCursorCol = this._lastCursorCol = col;
this._currentRow += `\x1b[${sgrSeq.join(';')}m`;
// update the last cursor style
const line = this._buffer1.getLine(row);
if (line !== undefined) {
line.getCell(col, this._cursorStyle);
this._cursorStyleRow = row;
this._cursorStyleCol = col;
}
}
/**
* handles actual content
*/
if (isEmptyCell) {
this._nullCellCount += cell.getWidth();
} else {
if (this._nullCellCount > 0) {
// we can just assume we have same style with previous one here
// because style change is handled by previous stage
// use move right when background is empty, use clear right when there is background.
if (equalBg(this._cursorStyle, this._backgroundCell)) {
this._currentRow += `\x1b[${this._nullCellCount}C`;
} else {
this._currentRow += `\x1b[${this._nullCellCount}X`;
this._currentRow += `\x1b[${this._nullCellCount}C`;
}
this._nullCellCount = 0;
}
this._currentRow += cell.getChars();
// update cursor
this._lastContentCursorRow = this._lastCursorRow = row;
this._lastContentCursorCol = this._lastCursorCol = col + cell.getWidth();
}
}
protected _serializeString(): string {
let rowEnd = this._allRows.length;
// the fixup is only required for data without scrollback
// because it will always be placed at last line otherwise
if (this._buffer1.length - this._firstRow <= this._terminal.rows) {
rowEnd = this._lastContentCursorRow + 1 - this._firstRow;
this._lastCursorCol = this._lastContentCursorCol;
this._lastCursorRow = this._lastContentCursorRow;
}
let content = '';
for (let i = 0; i < rowEnd; i++) {
content += this._allRows[i];
if (i + 1 < rowEnd) {
content += this._allRowSeparators[i];
}
}
// restore the cursor
const realCursorRow = this._buffer1.baseY + this._buffer1.cursorY;
const realCursorCol = this._buffer1.cursorX;
const cursorMoved = (realCursorRow !== this._lastCursorRow || realCursorCol !== this._lastCursorCol);
const moveRight = (offset: number): void => {
if (offset > 0) {
content += `\u001b[${offset}C`;
} else if (offset < 0) {
content += `\u001b[${-offset}D`;
}
};
const moveDown = (offset: number): void => {
if (offset > 0) {
content += `\u001b[${offset}B`;
} else if (offset < 0) {
content += `\u001b[${-offset}A`;
}
};
if (cursorMoved) {
moveDown(realCursorRow - this._lastCursorRow);
moveRight(realCursorCol - this._lastCursorCol);
}
return content;
}
}
export class SerializeAddon implements ITerminalAddon {
private _terminal: Terminal | undefined;
constructor() { }
public activate(terminal: Terminal): void {
this._terminal = terminal;
}
private _getString(buffer: IBuffer, scrollback?: number): string {
const maxRows = buffer.length;
const handler = new StringSerializeHandler(buffer, this._terminal!);
const correctRows = (scrollback === undefined) ? maxRows : constrain(scrollback + this!._terminal!.rows, 0, maxRows);
const result = handler.serialize(maxRows - correctRows, maxRows);
return result;
}
public serialize(scrollback?: number): string {
// TODO: Add combinedData support
if (!this._terminal) {
throw new Error('Cannot use addon until it has been loaded');
}
if (this._terminal.buffer.active.type === 'normal') {
return this._getString(this._terminal.buffer.active, scrollback);
}
const normalScreenContent = this._getString(this._terminal.buffer.normal, scrollback);
// alt screen don't have scrollback
const alternativeScreenContent = this._getString(this._terminal.buffer.alternate, undefined);
return normalScreenContent
+ '\u001b[?1049h\u001b[H'
+ alternativeScreenContent;
}
public dispose(): void { }
}
@@ -0,0 +1,33 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"lib": [
"dom",
"es2015"
],
"rootDir": ".",
"outDir": "../out",
"sourceMap": true,
"removeComments": true,
"baseUrl": ".",
"paths": {
"common/*": [
"../../../src/common/*"
]
},
"strict": true,
"types": [
"../../../node_modules/@types/mocha"
]
},
"include": [
"./**/*",
"../../../typings/xterm.d.ts"
],
"references": [
{
"path": "../../../src/common"
}
]
}
@@ -0,0 +1,551 @@
/**
* Copyright (c) 2019 The xterm.js authors. All rights reserved.
* @license MIT
*/
import { assert } from 'chai';
import { openTerminal, writeSync, getBrowserType } from '../../../out-test/api/TestUtils';
import { Browser, Page } from 'playwright';
const APP = 'http://127.0.0.1:3001/test';
let browser: Browser;
let page: Page;
const width = 800;
const height = 600;
const writeRawSync = (page: any, str: string): Promise<void> => writeSync(page, '\' +' + JSON.stringify(str) + '+ \'');
const testNormalScreenEqual = async (page: any, str: string): Promise<void> => {
await writeRawSync(page, str);
const originalBuffer = await page.evaluate(`inspectBuffer(term.buffer.normal);`);
const result = await page.evaluate(`serializeAddon.serialize();`) as string;
await page.evaluate(`term.reset();`);
await writeRawSync(page, result);
const newBuffer = await page.evaluate(`inspectBuffer(term.buffer.normal);`);
// chai decides -0 and 0 are different number...
// and firefox have a bug that output -0 for unknown reason
assert.equal(JSON.stringify(originalBuffer), JSON.stringify(newBuffer));
};
describe('SerializeAddon', () => {
before(async function(): Promise<any> {
const browserType = getBrowserType();
browser = await browserType.launch({
headless: process.argv.includes('--headless')
});
page = await (await browser.newContext()).newPage();
await page.setViewportSize({ width, height });
await page.goto(APP);
await openTerminal(page, { rows: 10, cols: 10, rendererType: 'dom' });
await page.evaluate(`
window.serializeAddon = new SerializeAddon();
window.term.loadAddon(window.serializeAddon);
window.inspectBuffer = (buffer) => {
const lines = [];
for (let i = 0; i < buffer.length; i++) {
// Do this intentionally to get content of underlining source
const bufferLine = buffer.getLine(i)._line;
lines.push(JSON.stringify(bufferLine));
}
return {
x: buffer.cursorX,
y: buffer.cursorY,
data: lines
};
}
`);
});
after(async () => await browser.close());
beforeEach(async () => await page.evaluate(`window.term.reset()`));
it('produce different output when we call test util with different text', async function(): Promise<any> {
await writeRawSync(page, '12345');
const buffer1 = await page.evaluate(`inspectBuffer(term.buffer.normal);`);
await page.evaluate(`term.reset();`);
await writeRawSync(page, '67890');
const buffer2 = await page.evaluate(`inspectBuffer(term.buffer.normal);`);
assert.throw(() => {
assert.equal(JSON.stringify(buffer1), JSON.stringify(buffer2));
});
});
it('produce different output when we call test util with different line wrap', async function(): Promise<any> {
await writeRawSync(page, '1234567890\r\n12345');
const buffer3 = await page.evaluate(`inspectBuffer(term.buffer.normal);`);
await page.evaluate(`term.reset();`);
await writeRawSync(page, '1234567890n12345');
const buffer4 = await page.evaluate(`inspectBuffer(term.buffer.normal);`);
assert.throw(() => {
assert.equal(JSON.stringify(buffer3), JSON.stringify(buffer4));
});
});
it('empty content', async function(): Promise<any> {
const rows = 10;
const cols = 10;
assert.equal(await page.evaluate(`serializeAddon.serialize();`), '');
});
it('unwrap wrapped line', async function(): Promise<any> {
const lines = ['123456789123456789'];
await writeSync(page, lines.join('\\r\\n'));
assert.equal(await page.evaluate(`serializeAddon.serialize();`), lines.join('\r\n'));
});
it('does not unwrap non-wrapped line', async function(): Promise<any> {
const lines = [
'123456789',
'123456789'
];
await writeSync(page, lines.join('\\r\\n'));
assert.equal(await page.evaluate(`serializeAddon.serialize();`), lines.join('\r\n'));
});
it('preserve last empty lines', async function(): Promise<any> {
const cols = 10;
const lines = [
'',
'',
digitsString(cols),
digitsString(cols),
'',
'',
digitsString(cols),
digitsString(cols),
'',
'',
''
];
await writeSync(page, lines.join('\\r\\n'));
assert.equal(await page.evaluate(`serializeAddon.serialize();`), lines.join('\r\n'));
});
it('digits content', async function(): Promise<any> {
const rows = 10;
const cols = 10;
const digitsLine = digitsString(cols);
const lines = newArray<string>(digitsLine, rows);
await writeSync(page, lines.join('\\r\\n'));
assert.equal(await page.evaluate(`serializeAddon.serialize();`), lines.join('\r\n'));
});
it('serialize with half of scrollback', async function(): Promise<any> {
const rows = 20;
const scrollback = rows - 10;
const halfScrollback = scrollback / 2;
const cols = 10;
const lines = newArray<string>((index: number) => digitsString(cols, index), rows);
await writeSync(page, lines.join('\\r\\n'));
assert.equal(await page.evaluate(`serializeAddon.serialize(${halfScrollback});`), lines.slice(halfScrollback, rows).join('\r\n'));
});
it('serialize 0 rows of scrollback', async function(): Promise<any> {
const rows = 20;
const cols = 10;
const lines = newArray<string>((index: number) => digitsString(cols, index), rows);
await writeSync(page, lines.join('\\r\\n'));
assert.equal(await page.evaluate(`serializeAddon.serialize(0);`), lines.slice(rows - 10, rows).join('\r\n'));
});
it('serialize all rows of content with color16', async function(): Promise<any> {
const cols = 10;
const color16 = [
30, 31, 32, 33, 34, 35, 36, 37, // Set foreground color
90, 91, 92, 93, 94, 95, 96, 97,
40, 41, 42, 43, 44, 45, 46, 47, // Set background color
100, 101, 103, 104, 105, 106, 107
];
const rows = color16.length;
const lines = newArray<string>(
(index: number) => digitsString(cols, index, `\x1b[${color16[index % color16.length]}m`),
rows
);
await writeSync(page, lines.join('\\r\\n'));
assert.equal(await page.evaluate(`serializeAddon.serialize();`), lines.join('\r\n'));
});
it('serialize all rows of content with fg/bg flags', async function(): Promise<any> {
const cols = 10;
const line = '+'.repeat(cols);
const lines: string[] = [
mkSGR(FG_P16_GREEN) + line, // Workaround: If we clear all flags a the end, serialize will use \x1b[0m to clear instead of the sepcific disable sequence
mkSGR(INVERSE) + line,
mkSGR(BOLD) + line,
mkSGR(UNDERLINED) + line,
mkSGR(BLINK) + line,
mkSGR(INVISIBLE) + line,
mkSGR(NO_INVERSE) + line,
mkSGR(NO_BOLD) + line,
mkSGR(NO_UNDERLINED) + line,
mkSGR(NO_BLINK) + line,
mkSGR(NO_INVISIBLE) + line
];
const rows = lines.length;
await writeSync(page, lines.join('\\r\\n'));
assert.equal(await page.evaluate(`serializeAddon.serialize();`), lines.join('\r\n'));
});
it('serialize all rows of content with color256', async function(): Promise<any> {
const rows = 32;
const cols = 10;
const lines = newArray<string>(
(index: number) => digitsString(cols, index, `\x1b[38;5;${16 + index}m`),
rows
);
await writeSync(page, lines.join('\\r\\n'));
assert.equal(await page.evaluate(`serializeAddon.serialize();`), lines.join('\r\n'));
});
it('serialize all rows of content with color16 and style separately', async function(): Promise<any> {
const cols = 10;
const line = '+'.repeat(cols);
const lines: string[] = [
mkSGR(FG_P16_RED) + line, // fg Red,
mkSGR(UNDERLINED) + line, // fg Red, Underlined
mkSGR(FG_P16_GREEN) + line, // fg Green, Underlined
mkSGR(INVERSE) + line, // fg Green, Underlined, Inverse
mkSGR(NO_INVERSE) + line, // fg Green, Underlined
mkSGR(INVERSE) + line, // fg Green, Underlined, Inverse
mkSGR(BG_P16_YELLOW) + line, // fg Green, bg Yellow, Underlined, Inverse
mkSGR(FG_RESET) + line, // bg Yellow, Underlined, Inverse
mkSGR(BG_RESET) + line, // Underlined, Inverse
mkSGR(NORMAL) + line // Back to normal
];
await writeSync(page, lines.join('\\r\\n'));
assert.equal(await page.evaluate(`serializeAddon.serialize();`), lines.join('\r\n'));
});
it('serialize all rows of content with color16 and style together', async function(): Promise<any> {
const cols = 10;
const line = '+'.repeat(cols);
const lines: string[] = [
mkSGR(FG_P16_RED) + line, // fg Red
mkSGR(FG_P16_GREEN, BG_P16_YELLOW) + line, // fg Green, bg Yellow
mkSGR(UNDERLINED, ITALIC) + line, // fg Green, bg Yellow, Underlined, Italic
mkSGR(NO_UNDERLINED, NO_ITALIC) + line, // fg Green, bg Yellow
mkSGR(FG_RESET, ITALIC) + line, // bg Yellow, Italic
mkSGR(BG_RESET) + line, // Italic
mkSGR(NORMAL) + line, // Back to normal
mkSGR(FG_P16_RED) + line, // fg Red
mkSGR(FG_P16_GREEN, BG_P16_YELLOW) + line, // fg Green, bg Yellow
mkSGR(UNDERLINED, ITALIC) + line, // fg Green, bg Yellow, Underlined, Italic
mkSGR(NO_UNDERLINED, NO_ITALIC) + line, // fg Green, bg Yellow
mkSGR(FG_RESET, ITALIC) + line, // bg Yellow, Italic
mkSGR(BG_RESET) + line // Italic
];
await writeSync(page, lines.join('\\r\\n'));
assert.equal(await page.evaluate(`serializeAddon.serialize();`), lines.join('\r\n'));
});
it('serialize all rows of content with color256 and style separately', async function(): Promise<any> {
const cols = 10;
const line = '+'.repeat(cols);
const lines: string[] = [
mkSGR(FG_P256_RED) + line, // fg Red 256,
mkSGR(UNDERLINED) + line, // fg Red 256, Underlined
mkSGR(FG_P256_GREEN) + line, // fg Green 256, Underlined
mkSGR(INVERSE) + line, // fg Green 256, Underlined, Inverse
mkSGR(NO_INVERSE) + line, // fg Green 256, Underlined
mkSGR(INVERSE) + line, // fg Green 256, Underlined, Inverse
mkSGR(BG_P256_YELLOW) + line, // fg Green 256, bg Yellow 256, Underlined, Inverse
mkSGR(FG_RESET) + line, // bg Yellow 256, Underlined, Inverse
mkSGR(BG_RESET) + line, // Underlined, Inverse
mkSGR(NORMAL) + line // Back to normal
];
await writeSync(page, lines.join('\\r\\n'));
assert.equal(await page.evaluate(`serializeAddon.serialize();`), lines.join('\r\n'));
});
it('serialize all rows of content with color256 and style together', async function(): Promise<any> {
const cols = 10;
const line = '+'.repeat(cols);
const lines: string[] = [
mkSGR(FG_P256_RED) + line, // fg Red 256
mkSGR(FG_P256_GREEN, BG_P256_YELLOW) + line, // fg Green 256, bg Yellow 256
mkSGR(UNDERLINED, ITALIC) + line, // fg Green 256, bg Yellow 256, Underlined, Italic
mkSGR(NO_UNDERLINED, NO_ITALIC) + line, // fg Green 256, bg Yellow 256
mkSGR(FG_RESET, ITALIC) + line, // bg Yellow 256, Italic
mkSGR(BG_RESET) + line, // Italic
mkSGR(NORMAL) + line, // Back to normal
mkSGR(FG_P256_RED) + line, // fg Red 256
mkSGR(FG_P256_GREEN, BG_P256_YELLOW) + line, // fg Green 256, bg Yellow 256
mkSGR(UNDERLINED, ITALIC) + line, // fg Green 256, bg Yellow 256, Underlined, Italic
mkSGR(NO_UNDERLINED, NO_ITALIC) + line, // fg Green 256, bg Yellow 256
mkSGR(FG_RESET, ITALIC) + line, // bg Yellow 256, Italic
mkSGR(BG_RESET) + line // Italic
];
await writeSync(page, lines.join('\\r\\n'));
assert.equal(await page.evaluate(`serializeAddon.serialize();`), lines.join('\r\n'));
});
it('serialize all rows of content with colorRGB and style separately', async function(): Promise<any> {
const cols = 10;
const line = '+'.repeat(cols);
const lines: string[] = [
mkSGR(FG_RGB_RED) + line, // fg Red RGB,
mkSGR(UNDERLINED) + line, // fg Red RGB, Underlined
mkSGR(FG_RGB_GREEN) + line, // fg Green RGB, Underlined
mkSGR(INVERSE) + line, // fg Green RGB, Underlined, Inverse
mkSGR(NO_INVERSE) + line, // fg Green RGB, Underlined
mkSGR(INVERSE) + line, // fg Green RGB, Underlined, Inverse
mkSGR(BG_RGB_YELLOW) + line, // fg Green RGB, bg Yellow RGB, Underlined, Inverse
mkSGR(FG_RESET) + line, // bg Yellow RGB, Underlined, Inverse
mkSGR(BG_RESET) + line, // Underlined, Inverse
mkSGR(NORMAL) + line // Back to normal
];
await writeSync(page, lines.join('\\r\\n'));
assert.equal(await page.evaluate(`serializeAddon.serialize();`), lines.join('\r\n'));
});
it('serialize all rows of content with colorRGB and style together', async function(): Promise<any> {
const cols = 10;
const line = '+'.repeat(cols);
const lines: string[] = [
mkSGR(FG_RGB_RED) + line, // fg Red RGB
mkSGR(FG_RGB_GREEN, BG_RGB_YELLOW) + line, // fg Green RGB, bg Yellow RGB
mkSGR(UNDERLINED, ITALIC) + line, // fg Green RGB, bg Yellow RGB, Underlined, Italic
mkSGR(NO_UNDERLINED, NO_ITALIC) + line, // fg Green RGB, bg Yellow RGB
mkSGR(FG_RESET, ITALIC) + line, // bg Yellow RGB, Italic
mkSGR(BG_RESET) + line, // Italic
mkSGR(NORMAL) + line, // Back to normal
mkSGR(FG_RGB_RED) + line, // fg Red RGB
mkSGR(FG_RGB_GREEN, BG_RGB_YELLOW) + line, // fg Green RGB, bg Yellow RGB
mkSGR(UNDERLINED, ITALIC) + line, // fg Green RGB, bg Yellow RGB, Underlined, Italic
mkSGR(NO_UNDERLINED, NO_ITALIC) + line, // fg Green RGB, bg Yellow RGB
mkSGR(FG_RESET, ITALIC) + line, // bg Yellow RGB, Italic
mkSGR(BG_RESET) + line // Italic
];
await writeSync(page, lines.join('\\r\\n'));
assert.equal(await page.evaluate(`serializeAddon.serialize();`), lines.join('\r\n'));
});
it('serialize tabs correctly', async () => {
const lines = [
'a\tb',
'aa\tc',
'aaa\td'
];
const expected = [
'a\x1b[7Cb',
'aa\x1b[6Cc',
'aaa\x1b[5Cd'
];
await writeSync(page, lines.join('\\r\\n'));
assert.equal(await page.evaluate(`serializeAddon.serialize();`), expected.join('\r\n'));
});
it('serialize CJK correctly', async () => {
const lines = [
'中文中文',
'12中文',
'中文12',
// This line is going to be wrapped at last character
// because it has line length of 11 (1+2*5).
// We concat it back without the null cell currently.
// But this may be incorrect.
// see also #3097
'1中文中文中'
];
await writeSync(page, lines.join('\\r\\n'));
assert.equal(await page.evaluate(`serializeAddon.serialize();`), lines.join('\r\n'));
});
it('serialize CJK Mixed with tab correctly', async () => {
const lines = [
'中文\t12' // CJK mixed with tab
];
const expected = [
'中文\x1b[4C12'
];
await writeSync(page, lines.join('\\r\\n'));
assert.equal(await page.evaluate(`serializeAddon.serialize();`), expected.join('\r\n'));
});
it('serialize with alt screen correctly', async () => {
const SMCUP = '\u001b[?1049h';
const CUP = '\u001b[H';
const lines = [
`1${SMCUP}${CUP}2`
];
const expected = [
`1${SMCUP}${CUP}2`
];
await writeSync(page, lines.join('\\r\\n'));
assert.equal(await page.evaluate(`window.term.buffer.active.type`), 'alternate');
assert.equal(JSON.stringify(await page.evaluate(`serializeAddon.serialize();`)), JSON.stringify(expected.join('\r\n')));
});
it('serialize without alt screen correctly', async () => {
const SMCUP = '\u001b[?1049h';
const RMCUP = '\u001b[?1049l';
const lines = [
`1${SMCUP}2${RMCUP}`
];
const expected = [
`1`
];
await writeSync(page, lines.join('\\r\\n'));
assert.equal(await page.evaluate(`window.term.buffer.active.type`), 'normal');
assert.equal(JSON.stringify(await page.evaluate(`serializeAddon.serialize();`)), JSON.stringify(expected.join('\r\n')));
});
it('serialize with background', async () => {
const CLEAR_RIGHT = (l: number): string => `\u001b[${l}X`;
const lines = [
`1\u001b[44m${CLEAR_RIGHT(5)}`,
`2${CLEAR_RIGHT(9)}`
];
await testNormalScreenEqual(page, lines.join('\r\n'));
});
it('cause the BCE on scroll', async () => {
const CLEAR_RIGHT = (l: number): string => `\u001b[${l}X`;
const padLines = newArray<string>(
(index: number) => digitsString(10, index),
10
);
const lines = [
...padLines,
`\u001b[44m${CLEAR_RIGHT(5)}1111111111111111`
];
await testNormalScreenEqual(page, lines.join('\r\n'));
});
it('handle invalid wrap before scroll', async () => {
const CLEAR_RIGHT = (l: number): string => `\u001b[${l}X`;
const MOVE_UP = (l: number): string => `\u001b[${l}A`;
const MOVE_DOWN = (l: number): string => `\u001b[${l}B`;
const MOVE_LEFT = (l: number): string => `\u001b[${l}D`;
// A line wrap happened after current line.
// But there is no content.
// so wrap shouldn't even be able to happen.
const segments = [
`123456789012345`,
MOVE_UP(1),
CLEAR_RIGHT(5),
MOVE_DOWN(1),
MOVE_LEFT(5),
CLEAR_RIGHT(5),
MOVE_UP(1),
'1'
];
await testNormalScreenEqual(page, segments.join(''));
});
it('handle invalid wrap after scroll', async () => {
const CLEAR_RIGHT = (l: number): string => `\u001b[${l}X`;
const MOVE_UP = (l: number): string => `\u001b[${l}A`;
const MOVE_DOWN = (l: number): string => `\u001b[${l}B`;
const MOVE_LEFT = (l: number): string => `\u001b[${l}D`;
const padLines = newArray<string>(
(index: number) => digitsString(10, index),
10
);
// A line wrap happened after current line.
// But there is no content.
// so wrap shouldn't even be able to happen.
const lines = [
padLines.join('\r\n'),
'\r\n',
`123456789012345`,
MOVE_UP(1),
CLEAR_RIGHT(5),
MOVE_DOWN(1),
MOVE_LEFT(5),
CLEAR_RIGHT(5),
MOVE_UP(1),
'1'
];
await testNormalScreenEqual(page, lines.join(''));
});
});
function newArray<T>(initial: T | ((index: number) => T), count: number): T[] {
const array: T[] = new Array<T>(count);
for (let i = 0; i < array.length; i++) {
if (typeof initial === 'function') {
array[i] = (<(index: number) => T>initial)(i);
} else {
array[i] = <T>initial;
}
}
return array;
}
function digitsString(length: number, from: number = 0, sgr: string = ''): string {
let s = sgr;
for (let i = 0; i < length; i++) {
s += `${(from++) % 10}`;
}
return s;
}
function mkSGR(...seq: string[]): string {
return `\x1b[${seq.join(';')}m`;
}
const NORMAL = '0';
const FG_P16_RED = '31';
const FG_P16_GREEN = '32';
const FG_P16_YELLOW = '33';
const FG_P256_RED = '38;5;196';
const FG_P256_GREEN = '38;5;46';
const FG_P256_YELLOW = '38;5;226';
const FG_RGB_RED = '38;2;255;0;0';
const FG_RGB_GREEN = '38;2;0;255;0';
const FG_RGB_YELLOW = '38;2;255;255;0';
const FG_RESET = '39';
const BG_P16_RED = '41';
const BG_P16_GREEN = '42';
const BG_P16_YELLOW = '43';
const BG_P256_RED = '48;5;196';
const BG_P256_GREEN = '48;5;46';
const BG_P256_YELLOW = '48;5;226';
const BG_RGB_RED = '48;2;255;0;0';
const BG_RGB_GREEN = '48;2;0;255;0';
const BG_RGB_YELLOW = '48;2;255;255;0';
const BG_RESET = '49';
const INVERSE = '7';
const BOLD = '1';
const UNDERLINED = '4';
const BLINK = '5';
const INVISIBLE = '8';
const NO_INVERSE = '27';
const NO_BOLD = '22';
const NO_UNDERLINED = '24';
const NO_BLINK = '25';
const NO_INVISIBLE = '28';
const ITALIC = '3';
const DIM = '2';
const NO_ITALIC = '23';
const NO_DIM = '22';
@@ -0,0 +1,34 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "es5",
"lib": [
"es2015"
],
"rootDir": ".",
"outDir": "../out-test",
"sourceMap": true,
"removeComments": true,
"baseUrl": ".",
"paths": {
"common/*": [
"../../../src/common/*"
]
},
"strict": true,
"types": [
"../../../node_modules/@types/mocha",
"../../../node_modules/@types/node",
"../../../out-test/api/TestUtils"
]
},
"include": [
"./**/*",
"../../../typings/xterm.d.ts"
],
"references": [
{
"path": "../../../src/common"
}
]
}
@@ -0,0 +1,9 @@
{
"files": [],
"include": [],
"references": [
{ "path": "./src" },
{ "path": "./test" },
{ "path": "./benchmark" }
]
}
@@ -0,0 +1,38 @@
/**
* Copyright (c) 2017 The xterm.js authors. All rights reserved.
* @license MIT
*/
import { Terminal, ITerminalAddon } from 'xterm';
declare module 'xterm-addon-serialize' {
/**
* An xterm.js addon that enables web links.
*/
export class SerializeAddon implements ITerminalAddon {
constructor();
/**
* Activates the addon
* @param terminal The terminal the addon is being loaded in.
*/
public activate(terminal: Terminal): void;
/**
* Serializes terminal rows into a string that can be written back to the terminal
* to restore the state. The cursor will also be positioned to the correct cell.
* When restoring a terminal it is best to do before `Terminal.open` is called
* to avoid wasting CPU cycles rendering incomplete frames.
* @param scrollback The number of rows in scrollback buffer to serialize, starting from the bottom of the
* scrollback buffer. This defaults to the all available rows in the scrollback buffer.
*/
public serialize(scrollback?: number): string;
/**
* Disposes the addon.
*/
public dispose(): void;
}
}
@@ -0,0 +1,31 @@
/**
* Copyright (c) 2019 The xterm.js authors. All rights reserved.
* @license MIT
*/
const path = require('path');
const addonName = 'SerializeAddon';
const mainFile = 'xterm-addon-serialize.js';
module.exports = {
entry: `./out/${addonName}.js`,
devtool: 'source-map',
module: {
rules: [
{
test: /\.js$/,
use: ["source-map-loader"],
enforce: "pre",
exclude: /node_modules/
}
]
},
output: {
filename: mainFile,
path: path.resolve('./lib'),
library: addonName,
libraryTarget: 'umd'
},
mode: 'production'
};
+2
View File
@@ -0,0 +1,2 @@
lib
node_modules
+5
View File
@@ -0,0 +1,5 @@
**/*.api.js
**/*.api.ts
tsconfig.json
.yarnrc
webpack.config.js
+19
View File
@@ -0,0 +1,19 @@
Copyright (c) 2019, The xterm.js authors (https://github.com/xtermjs/xterm.js)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
+23
View File
@@ -0,0 +1,23 @@
## xterm-addon-unicode11
An addon providing Unicode version 11 rules for xterm.js.
### Install
```bash
npm install --save xterm-addon-unicode11
```
### Usage
```ts
import { Terminal } from 'xterm';
import { Unicode11Addon } from 'xterm-addon-unicode11';
const terminal = new Terminal();
const unicode11Addon = new Unicode11Addon();
terminal.loadAddon(unicode11Addon);
// activate the new version
terminal.unicode.activeVersion = '11';
```
+21
View File
@@ -0,0 +1,21 @@
{
"name": "xterm-addon-unicode11",
"version": "0.2.0",
"author": {
"name": "The xterm.js authors",
"url": "https://xtermjs.org/"
},
"main": "lib/xterm-addon-unicode11.js",
"types": "typings/xterm-addon-unicode11.d.ts",
"repository": "https://github.com/xtermjs/xterm.js",
"license": "MIT",
"scripts": {
"build": "../../node_modules/.bin/tsc -p .",
"prepackage": "npm run build",
"package": "../../node_modules/.bin/webpack",
"prepublishOnly": "npm run package"
},
"peerDependencies": {
"xterm": "^4.0.0"
}
}
@@ -0,0 +1,16 @@
/**
* Copyright (c) 2019 The xterm.js authors. All rights reserved.
* @license MIT
*
* UnicodeVersionProvider for V11.
*/
import { Terminal, ITerminalAddon } from 'xterm';
import { UnicodeV11 } from './UnicodeV11';
export class Unicode11Addon implements ITerminalAddon {
public activate(terminal: Terminal): void {
terminal.unicode.register(new UnicodeV11());
}
public dispose(): void { }
}
@@ -0,0 +1,222 @@
/**
* Copyright (c) 2019 The xterm.js authors. All rights reserved.
* @license MIT
*/
import { IUnicodeVersionProvider } from 'xterm';
import { fill } from 'common/TypedArrayUtils';
type CharWidth = 0 | 1 | 2;
const BMP_COMBINING = [
[0x0300, 0x036F], [0x0483, 0x0489], [0x0591, 0x05BD],
[0x05BF, 0x05BF], [0x05C1, 0x05C2], [0x05C4, 0x05C5],
[0x05C7, 0x05C7], [0x0600, 0x0605], [0x0610, 0x061A],
[0x061C, 0x061C], [0x064B, 0x065F], [0x0670, 0x0670],
[0x06D6, 0x06DD], [0x06DF, 0x06E4], [0x06E7, 0x06E8],
[0x06EA, 0x06ED], [0x070F, 0x070F], [0x0711, 0x0711],
[0x0730, 0x074A], [0x07A6, 0x07B0], [0x07EB, 0x07F3],
[0x07FD, 0x07FD], [0x0816, 0x0819], [0x081B, 0x0823],
[0x0825, 0x0827], [0x0829, 0x082D], [0x0859, 0x085B],
[0x08D3, 0x0902], [0x093A, 0x093A], [0x093C, 0x093C],
[0x0941, 0x0948], [0x094D, 0x094D], [0x0951, 0x0957],
[0x0962, 0x0963], [0x0981, 0x0981], [0x09BC, 0x09BC],
[0x09C1, 0x09C4], [0x09CD, 0x09CD], [0x09E2, 0x09E3],
[0x09FE, 0x09FE], [0x0A01, 0x0A02], [0x0A3C, 0x0A3C],
[0x0A41, 0x0A42], [0x0A47, 0x0A48], [0x0A4B, 0x0A4D],
[0x0A51, 0x0A51], [0x0A70, 0x0A71], [0x0A75, 0x0A75],
[0x0A81, 0x0A82], [0x0ABC, 0x0ABC], [0x0AC1, 0x0AC5],
[0x0AC7, 0x0AC8], [0x0ACD, 0x0ACD], [0x0AE2, 0x0AE3],
[0x0AFA, 0x0AFF], [0x0B01, 0x0B01], [0x0B3C, 0x0B3C],
[0x0B3F, 0x0B3F], [0x0B41, 0x0B44], [0x0B4D, 0x0B4D],
[0x0B56, 0x0B56], [0x0B62, 0x0B63], [0x0B82, 0x0B82],
[0x0BC0, 0x0BC0], [0x0BCD, 0x0BCD], [0x0C00, 0x0C00],
[0x0C04, 0x0C04], [0x0C3E, 0x0C40], [0x0C46, 0x0C48],
[0x0C4A, 0x0C4D], [0x0C55, 0x0C56], [0x0C62, 0x0C63],
[0x0C81, 0x0C81], [0x0CBC, 0x0CBC], [0x0CBF, 0x0CBF],
[0x0CC6, 0x0CC6], [0x0CCC, 0x0CCD], [0x0CE2, 0x0CE3],
[0x0D00, 0x0D01], [0x0D3B, 0x0D3C], [0x0D41, 0x0D44],
[0x0D4D, 0x0D4D], [0x0D62, 0x0D63], [0x0DCA, 0x0DCA],
[0x0DD2, 0x0DD4], [0x0DD6, 0x0DD6], [0x0E31, 0x0E31],
[0x0E34, 0x0E3A], [0x0E47, 0x0E4E], [0x0EB1, 0x0EB1],
[0x0EB4, 0x0EBC], [0x0EC8, 0x0ECD], [0x0F18, 0x0F19],
[0x0F35, 0x0F35], [0x0F37, 0x0F37], [0x0F39, 0x0F39],
[0x0F71, 0x0F7E], [0x0F80, 0x0F84], [0x0F86, 0x0F87],
[0x0F8D, 0x0F97], [0x0F99, 0x0FBC], [0x0FC6, 0x0FC6],
[0x102D, 0x1030], [0x1032, 0x1037], [0x1039, 0x103A],
[0x103D, 0x103E], [0x1058, 0x1059], [0x105E, 0x1060],
[0x1071, 0x1074], [0x1082, 0x1082], [0x1085, 0x1086],
[0x108D, 0x108D], [0x109D, 0x109D], [0x1160, 0x11FF],
[0x135D, 0x135F], [0x1712, 0x1714], [0x1732, 0x1734],
[0x1752, 0x1753], [0x1772, 0x1773], [0x17B4, 0x17B5],
[0x17B7, 0x17BD], [0x17C6, 0x17C6], [0x17C9, 0x17D3],
[0x17DD, 0x17DD], [0x180B, 0x180E], [0x1885, 0x1886],
[0x18A9, 0x18A9], [0x1920, 0x1922], [0x1927, 0x1928],
[0x1932, 0x1932], [0x1939, 0x193B], [0x1A17, 0x1A18],
[0x1A1B, 0x1A1B], [0x1A56, 0x1A56], [0x1A58, 0x1A5E],
[0x1A60, 0x1A60], [0x1A62, 0x1A62], [0x1A65, 0x1A6C],
[0x1A73, 0x1A7C], [0x1A7F, 0x1A7F], [0x1AB0, 0x1ABE],
[0x1B00, 0x1B03], [0x1B34, 0x1B34], [0x1B36, 0x1B3A],
[0x1B3C, 0x1B3C], [0x1B42, 0x1B42], [0x1B6B, 0x1B73],
[0x1B80, 0x1B81], [0x1BA2, 0x1BA5], [0x1BA8, 0x1BA9],
[0x1BAB, 0x1BAD], [0x1BE6, 0x1BE6], [0x1BE8, 0x1BE9],
[0x1BED, 0x1BED], [0x1BEF, 0x1BF1], [0x1C2C, 0x1C33],
[0x1C36, 0x1C37], [0x1CD0, 0x1CD2], [0x1CD4, 0x1CE0],
[0x1CE2, 0x1CE8], [0x1CED, 0x1CED], [0x1CF4, 0x1CF4],
[0x1CF8, 0x1CF9], [0x1DC0, 0x1DF9], [0x1DFB, 0x1DFF],
[0x200B, 0x200F], [0x202A, 0x202E], [0x2060, 0x2064],
[0x2066, 0x206F], [0x20D0, 0x20F0], [0x2CEF, 0x2CF1],
[0x2D7F, 0x2D7F], [0x2DE0, 0x2DFF], [0x302A, 0x302D],
[0x3099, 0x309A], [0xA66F, 0xA672], [0xA674, 0xA67D],
[0xA69E, 0xA69F], [0xA6F0, 0xA6F1], [0xA802, 0xA802],
[0xA806, 0xA806], [0xA80B, 0xA80B], [0xA825, 0xA826],
[0xA8C4, 0xA8C5], [0xA8E0, 0xA8F1], [0xA8FF, 0xA8FF],
[0xA926, 0xA92D], [0xA947, 0xA951], [0xA980, 0xA982],
[0xA9B3, 0xA9B3], [0xA9B6, 0xA9B9], [0xA9BC, 0xA9BD],
[0xA9E5, 0xA9E5], [0xAA29, 0xAA2E], [0xAA31, 0xAA32],
[0xAA35, 0xAA36], [0xAA43, 0xAA43], [0xAA4C, 0xAA4C],
[0xAA7C, 0xAA7C], [0xAAB0, 0xAAB0], [0xAAB2, 0xAAB4],
[0xAAB7, 0xAAB8], [0xAABE, 0xAABF], [0xAAC1, 0xAAC1],
[0xAAEC, 0xAAED], [0xAAF6, 0xAAF6], [0xABE5, 0xABE5],
[0xABE8, 0xABE8], [0xABED, 0xABED], [0xFB1E, 0xFB1E],
[0xFE00, 0xFE0F], [0xFE20, 0xFE2F], [0xFEFF, 0xFEFF],
[0xFFF9, 0xFFFB]
];
const HIGH_COMBINING = [
[0x101FD, 0x101FD], [0x102E0, 0x102E0],
[0x10376, 0x1037A], [0x10A01, 0x10A03], [0x10A05, 0x10A06],
[0x10A0C, 0x10A0F], [0x10A38, 0x10A3A], [0x10A3F, 0x10A3F],
[0x10AE5, 0x10AE6], [0x10D24, 0x10D27], [0x10F46, 0x10F50],
[0x11001, 0x11001], [0x11038, 0x11046], [0x1107F, 0x11081],
[0x110B3, 0x110B6], [0x110B9, 0x110BA], [0x110BD, 0x110BD],
[0x110CD, 0x110CD], [0x11100, 0x11102], [0x11127, 0x1112B],
[0x1112D, 0x11134], [0x11173, 0x11173], [0x11180, 0x11181],
[0x111B6, 0x111BE], [0x111C9, 0x111CC], [0x1122F, 0x11231],
[0x11234, 0x11234], [0x11236, 0x11237], [0x1123E, 0x1123E],
[0x112DF, 0x112DF], [0x112E3, 0x112EA], [0x11300, 0x11301],
[0x1133B, 0x1133C], [0x11340, 0x11340], [0x11366, 0x1136C],
[0x11370, 0x11374], [0x11438, 0x1143F], [0x11442, 0x11444],
[0x11446, 0x11446], [0x1145E, 0x1145E], [0x114B3, 0x114B8],
[0x114BA, 0x114BA], [0x114BF, 0x114C0], [0x114C2, 0x114C3],
[0x115B2, 0x115B5], [0x115BC, 0x115BD], [0x115BF, 0x115C0],
[0x115DC, 0x115DD], [0x11633, 0x1163A], [0x1163D, 0x1163D],
[0x1163F, 0x11640], [0x116AB, 0x116AB], [0x116AD, 0x116AD],
[0x116B0, 0x116B5], [0x116B7, 0x116B7], [0x1171D, 0x1171F],
[0x11722, 0x11725], [0x11727, 0x1172B], [0x1182F, 0x11837],
[0x11839, 0x1183A], [0x119D4, 0x119D7], [0x119DA, 0x119DB],
[0x119E0, 0x119E0], [0x11A01, 0x11A0A], [0x11A33, 0x11A38],
[0x11A3B, 0x11A3E], [0x11A47, 0x11A47], [0x11A51, 0x11A56],
[0x11A59, 0x11A5B], [0x11A8A, 0x11A96], [0x11A98, 0x11A99],
[0x11C30, 0x11C36], [0x11C38, 0x11C3D], [0x11C3F, 0x11C3F],
[0x11C92, 0x11CA7], [0x11CAA, 0x11CB0], [0x11CB2, 0x11CB3],
[0x11CB5, 0x11CB6], [0x11D31, 0x11D36], [0x11D3A, 0x11D3A],
[0x11D3C, 0x11D3D], [0x11D3F, 0x11D45], [0x11D47, 0x11D47],
[0x11D90, 0x11D91], [0x11D95, 0x11D95], [0x11D97, 0x11D97],
[0x11EF3, 0x11EF4], [0x13430, 0x13438], [0x16AF0, 0x16AF4],
[0x16B30, 0x16B36], [0x16F4F, 0x16F4F], [0x16F8F, 0x16F92],
[0x1BC9D, 0x1BC9E], [0x1BCA0, 0x1BCA3], [0x1D167, 0x1D169],
[0x1D173, 0x1D182], [0x1D185, 0x1D18B], [0x1D1AA, 0x1D1AD],
[0x1D242, 0x1D244], [0x1DA00, 0x1DA36], [0x1DA3B, 0x1DA6C],
[0x1DA75, 0x1DA75], [0x1DA84, 0x1DA84], [0x1DA9B, 0x1DA9F],
[0x1DAA1, 0x1DAAF], [0x1E000, 0x1E006], [0x1E008, 0x1E018],
[0x1E01B, 0x1E021], [0x1E023, 0x1E024], [0x1E026, 0x1E02A],
[0x1E130, 0x1E136], [0x1E2EC, 0x1E2EF], [0x1E8D0, 0x1E8D6],
[0x1E944, 0x1E94A], [0xE0001, 0xE0001], [0xE0020, 0xE007F],
[0xE0100, 0xE01EF]
];
const BMP_WIDE = [
[0x1100, 0x115F], [0x231A, 0x231B], [0x2329, 0x232A],
[0x23E9, 0x23EC], [0x23F0, 0x23F0], [0x23F3, 0x23F3],
[0x25FD, 0x25FE], [0x2614, 0x2615], [0x2648, 0x2653],
[0x267F, 0x267F], [0x2693, 0x2693], [0x26A1, 0x26A1],
[0x26AA, 0x26AB], [0x26BD, 0x26BE], [0x26C4, 0x26C5],
[0x26CE, 0x26CE], [0x26D4, 0x26D4], [0x26EA, 0x26EA],
[0x26F2, 0x26F3], [0x26F5, 0x26F5], [0x26FA, 0x26FA],
[0x26FD, 0x26FD], [0x2705, 0x2705], [0x270A, 0x270B],
[0x2728, 0x2728], [0x274C, 0x274C], [0x274E, 0x274E],
[0x2753, 0x2755], [0x2757, 0x2757], [0x2795, 0x2797],
[0x27B0, 0x27B0], [0x27BF, 0x27BF], [0x2B1B, 0x2B1C],
[0x2B50, 0x2B50], [0x2B55, 0x2B55], [0x2E80, 0x2E99],
[0x2E9B, 0x2EF3], [0x2F00, 0x2FD5], [0x2FF0, 0x2FFB],
[0x3000, 0x3029], [0x302E, 0x303E], [0x3041, 0x3096],
[0x309B, 0x30FF], [0x3105, 0x312F], [0x3131, 0x318E],
[0x3190, 0x31BA], [0x31C0, 0x31E3], [0x31F0, 0x321E],
[0x3220, 0x3247], [0x3250, 0x4DBF], [0x4E00, 0xA48C],
[0xA490, 0xA4C6], [0xA960, 0xA97C], [0xAC00, 0xD7A3],
[0xF900, 0xFAFF], [0xFE10, 0xFE19], [0xFE30, 0xFE52],
[0xFE54, 0xFE66], [0xFE68, 0xFE6B], [0xFF01, 0xFF60],
[0xFFE0, 0xFFE6]
];
const HIGH_WIDE = [
[0x16FE0, 0x16FE3], [0x17000, 0x187F7],
[0x18800, 0x18AF2], [0x1B000, 0x1B11E], [0x1B150, 0x1B152],
[0x1B164, 0x1B167], [0x1B170, 0x1B2FB], [0x1F004, 0x1F004],
[0x1F0CF, 0x1F0CF], [0x1F18E, 0x1F18E], [0x1F191, 0x1F19A],
[0x1F200, 0x1F202], [0x1F210, 0x1F23B], [0x1F240, 0x1F248],
[0x1F250, 0x1F251], [0x1F260, 0x1F265], [0x1F300, 0x1F320],
[0x1F32D, 0x1F335], [0x1F337, 0x1F37C], [0x1F37E, 0x1F393],
[0x1F3A0, 0x1F3CA], [0x1F3CF, 0x1F3D3], [0x1F3E0, 0x1F3F0],
[0x1F3F4, 0x1F3F4], [0x1F3F8, 0x1F43E], [0x1F440, 0x1F440],
[0x1F442, 0x1F4FC], [0x1F4FF, 0x1F53D], [0x1F54B, 0x1F54E],
[0x1F550, 0x1F567], [0x1F57A, 0x1F57A], [0x1F595, 0x1F596],
[0x1F5A4, 0x1F5A4], [0x1F5FB, 0x1F64F], [0x1F680, 0x1F6C5],
[0x1F6CC, 0x1F6CC], [0x1F6D0, 0x1F6D2], [0x1F6D5, 0x1F6D5],
[0x1F6EB, 0x1F6EC], [0x1F6F4, 0x1F6FA], [0x1F7E0, 0x1F7EB],
[0x1F90D, 0x1F971], [0x1F973, 0x1F976], [0x1F97A, 0x1F9A2],
[0x1F9A5, 0x1F9AA], [0x1F9AE, 0x1F9CA], [0x1F9CD, 0x1F9FF],
[0x1FA70, 0x1FA73], [0x1FA78, 0x1FA7A], [0x1FA80, 0x1FA82],
[0x1FA90, 0x1FA95], [0x20000, 0x2FFFD], [0x30000, 0x3FFFD]
];
// BMP lookup table, lazy initialized during first addon loading
let table: Uint8Array;
function bisearch(ucs: number, data: number[][]): boolean {
let min = 0;
let max = data.length - 1;
let mid;
if (ucs < data[0][0] || ucs > data[max][1]) {
return false;
}
while (max >= min) {
mid = (min + max) >> 1;
if (ucs > data[mid][1]) {
min = mid + 1;
} else if (ucs < data[mid][0]) {
max = mid - 1;
} else {
return true;
}
}
return false;
}
export class UnicodeV11 implements IUnicodeVersionProvider {
public readonly version = '11';
constructor() {
if (!table) {
table = new Uint8Array(65536);
fill(table, 1);
table[0] = 0;
fill(table, 0, 1, 32);
fill(table, 0, 0x7f, 0xa0);
for (let r = 0; r < BMP_COMBINING.length; ++r) {
fill(table, 0, BMP_COMBINING[r][0], BMP_COMBINING[r][1] + 1);
}
for (let r = 0; r < BMP_WIDE.length; ++r) {
fill(table, 2, BMP_WIDE[r][0], BMP_WIDE[r][1] + 1);
}
}
}
public wcwidth(num: number): CharWidth {
if (num < 32) return 0;
if (num < 127) return 1;
if (num < 65536) return table[num] as CharWidth;
if (bisearch(num, HIGH_COMBINING)) return 0;
if (bisearch(num, HIGH_WIDE)) return 2;
return 1;
}
}
@@ -0,0 +1,33 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "es2015",
"lib": [
"dom",
"es2015"
],
"rootDir": ".",
"outDir": "../out",
"sourceMap": true,
"removeComments": true,
"strict": true,
"baseUrl": ".",
"paths": {
"common/*": [
"../../../src/common/*"
]
},
"types": [
"../../../node_modules/@types/mocha"
]
},
"include": [
"./**/*",
"../../../typings/xterm.d.ts"
],
"references": [
{
"path": "../../../src/common"
}
]
}
@@ -0,0 +1,49 @@
/**
* Copyright (c) 2019 The xterm.js authors. All rights reserved.
* @license MIT
*/
import { assert } from 'chai';
import { openTerminal, getBrowserType } from '../../../out-test/api/TestUtils';
import { Browser, Page } from 'playwright';
const APP = 'http://127.0.0.1:3001/test';
let browser: Browser;
let page: Page;
const width = 800;
const height = 600;
describe('Unicode11Addon', () => {
before(async function(): Promise<any> {
const browserType = getBrowserType();
browser = await browserType.launch({
headless: process.argv.includes('--headless')
});
page = await (await browser.newContext()).newPage();
await page.setViewportSize({ width, height });
});
after(async () => {
await browser.close();
});
beforeEach(async function(): Promise<any> {
await page.goto(APP);
await openTerminal(page);
});
it('wcwidth V11 emoji test', async () => {
await page.evaluate(`
window.unicode11 = new Unicode11Addon();
window.term.loadAddon(window.unicode11);
`);
// should have loaded '11'
assert.deepEqual(await page.evaluate(`window.term.unicode.versions`), ['6', '11']);
// switch should not throw
await page.evaluate(`window.term.unicode.activeVersion = '11';`);
assert.deepEqual(await page.evaluate(`window.term.unicode.activeVersion`), '11');
// v6: 10, V11: 20
assert.deepEqual(await page.evaluate(`window.term._core.unicodeService.getStringCellWidth('🤣🤣🤣🤣🤣🤣🤣🤣🤣🤣')`), 20);
});
});
@@ -0,0 +1,35 @@
{
"compilerOptions": {
"module": "commonjs",
"target": "es2015",
"lib": [
"dom",
"es2015"
],
"rootDir": ".",
"outDir": "../out-test",
"sourceMap": true,
"removeComments": true,
"strict": true,
"baseUrl": ".",
"paths": {
"common/*": [
"../../../src/common/*"
]
},
"types": [
"../../../node_modules/@types/mocha",
"../../../node_modules/@types/node",
"../../../out-test/api/TestUtils"
]
},
"include": [
"./**/*",
"../../../typings/xterm.d.ts"
],
"references": [
{
"path": "../../../src/common"
}
]
}
@@ -0,0 +1,8 @@
{
"files": [],
"include": [],
"references": [
{ "path": "./src" },
{ "path": "./test" }
]
}

Some files were not shown because too many files have changed in this diff Show More