Commit Graph
100 Commits
Author SHA1 Message Date
Daniel Imms dff3d16831 Support 256 color 2017-08-31 00:25:52 -07:00
Daniel Imms d601f0aec2 Hang on to selection state to avoid redrawing 2017-08-31 00:13:49 -07:00
Daniel Imms 3d1bb2c60f Support selection 2017-08-31 00:09:23 -07:00
Daniel Imms 5953bbab42 Start SelectionRenderLayer 2017-08-30 23:44:52 -07:00
Daniel Imms 7aff45c2dc Remove additional frame skipping as rendering is so fast now 2017-08-30 23:39:33 -07:00
Daniel Imms a224ed7cc7 Move canvas Renderer into folder 2017-08-30 23:06:55 -07:00
Daniel Imms 1291dc5571 Support inverse 2017-08-30 23:05:51 -07:00
Daniel Imms 6a0b9bd209 Only render fg cells if there are changes 2017-08-30 22:55:17 -07:00
Daniel Imms d93a80398d Draw unicode characters 2017-08-30 22:23:25 -07:00
Daniel Imms 129633a66d Only draw background when needed 2017-08-30 22:09:25 -07:00
Daniel Imms 18e1134e61 Tidy up 2017-08-30 21:55:24 -07:00
Daniel Imms 2cb6593b6b Move fg rendering into IRenderLayer 2017-08-30 21:44:41 -07:00
Daniel Imms 5961bdbd9e typescript@2.3.0 for ImageBitmap interface 2017-08-30 21:44:18 -07:00
Daniel Imms 0db42e2056 Pull bg rendering into an IRenderLayer 2017-08-30 21:13:57 -07:00
Daniel Imms 137847e85c Linkify all rows at once to prevent multiple timeout restarts 2017-08-30 19:27:37 -07:00
Daniel Imms 5ce39d3c81 GPU ascii rendering 2017-08-30 19:12:29 -07:00
Daniel Imms e98794a0a7 progress 2017-08-30 17:27:20 -07:00
Daniel Imms 640cd18515 Support bold, underline, fix colors 2017-08-30 17:07:30 -07:00
Daniel Imms c6d4c73c8a Initial prototype 2017-08-30 14:50:16 -07:00
Daniel Imms a57e511fa3 Properly setup and maintain tab stops for the alt buffer
Fixes #930
2017-08-29 21:08:11 -07:00
Daniel Imms 6b8b32015d Don't include Terminal in search addon
Fixes #927
2017-08-27 10:39:13 -07:00
Daniel Imms bc86664726 Improve Buffer.resize to work with uninitialized buffers
Fixes #924
2017-08-25 13:14:30 -07:00
Daniel Imms 54cf30ae68 Remove test files 2017-08-25 12:47:45 -07:00
Daniel Imms 41463d8eb5 Make reverseIndex scroll region-aware
This was causing a issue when scrollback was 0 as the start of the
buffer was getting copied
2017-08-25 12:41:53 -07:00
Daniel Imms a2161532db Fix reverseIndex to work with scroll regions and 0 scrollback 2017-08-25 12:11:20 -07:00
Daniel Imms 9a8b7a4d8d Fix scroll region scrolling with 0 scrollback 2017-08-25 11:26:46 -07:00
Daniel Imms 877e1e5eb3 Prevent scrollback setOption < 0
Fixes #911
2017-08-21 14:30:56 -07:00
Daniel Imms 8bc2242d9f Add generic overloads to overloaded functions in d.ts
If we don't have this then tsc will throw errors when passing strings
to the functions, seems wrong to force casting strings to use the
functions, eg. <'bar'>style
2017-08-20 11:45:42 -07:00
Daniel Imms cea3dd60b6 Add cols and rows to d.ts 2017-08-20 11:43:40 -07:00
Daniel Imms eda9443b1a Allow null with cursorStyle and bellStyle 2017-08-20 10:29:48 -07:00
Daniel Imms 668b25eeb2 Fix license info and lint 2017-08-19 11:04:06 -07:00
Daniel Imms 34f5b2cb8a Remove option overloads from src
src/ handles more than that specified (and should incase you're not
using TS), this also reduces duplication as the definitions are only
in typings/
2017-08-19 10:29:05 -07:00
Daniel Imms 380f950d4d Clean up 2017-08-19 10:22:46 -07:00
Daniel Imms 6e2ca0af12 Fill out typings tests 2017-08-19 10:17:47 -07:00
Daniel Imms fd8b62610f Add typings test setup 2017-08-19 09:49:37 -07:00
Daniel Imms 4474f29ebf Add link matcher APIs 2017-08-19 09:25:57 -07:00
Daniel Imms cd29c83a64 Improve overloaded function typings/comments 2017-08-19 09:18:44 -07:00
Daniel Imms e4e2fbf885 Add overloads for Terminal.on 2017-08-18 17:46:49 -07:00
Daniel Imms 92ac427d00 Type addon strings in loadAddon 2017-08-18 17:34:10 -07:00
Daniel Imms 3ba3638ab7 Include all APIs from website 2017-08-18 17:25:40 -07:00
Daniel Imms 2f60c241ee Use manual typings over automatically generated ones
These are pulled from the typings I wrote for vscode

Fixes #898
2017-08-18 16:51:43 -07:00
Daniel Imms b5fc054fa5 Prevent exception switching to alt buffer before open()
Fixes #892
2017-08-17 08:36:08 -07:00
Daniel Imms 7b0d0e810c _isAltBuffer -> _hasScrollback 2017-08-16 08:45:30 -07:00
Daniel Imms 9dd1083918 Merge remote-tracking branch 'ups/v3' into 847_proper_scrollback_value 2017-08-16 08:41:42 -07:00
Daniel Imms d583163ac8 Move uses and browser support sections down 2017-08-12 14:48:38 -07:00
Daniel Imms a3f7b36986 Remove bower from prepare-release 2017-08-12 14:45:21 -07:00
Daniel Imms 7c3189379c Remove bower from .vscode/settings.json 2017-08-12 14:45:00 -07:00
Daniel Imms fcd2ba78bb Remove bower from README and reorganize/clean up 2017-08-12 14:44:49 -07:00
Daniel Imms 48b9173f2e Remove bower.json
Part of #406
2017-08-12 14:17:03 -07:00
Daniel Imms 184f49d909 Remove dist folder
Part of #406
2017-08-12 13:54:34 -07:00
Daniel Imms 996eb1b06f Merge remote-tracking branch 'ups/v3' into 847_proper_scrollback_value 2017-08-08 19:05:24 -07:00
Daniel Imms ad1a42d210 Merge remote-tracking branch 'ups/master' into v3 2017-08-08 18:50:34 -07:00
Daniel Imms bb526aaa88 Fix exception when resizing both dimensions
This happened because buffers now resize themselves but they were
relying on Terminal to give them a blank line. The blank line was
coming back with the old columns value, causing an NPE.

Fixes #860
2017-08-08 12:59:02 -07:00
Daniel Imms 0902b92f79 Revert "Disable selection override on Windows/Linux"
This reverts commit 3479614c73.
2017-08-08 01:05:24 -07:00
Daniel Imms 9659f29e50 Remove Terminal.open focus param 2017-08-08 00:59:14 -07:00
Daniel Imms f21d5f25ec Fix search addon after TS refactor
Fixes #867
2017-08-08 00:29:22 -07:00
Daniel Imms 3b787824d3 Fix import for CommonJS consumers
CommonJS now imports the Terminal object directly as the trick in xterm.ts
wasn't working properly.

Fixes #865
2017-08-08 00:24:41 -07:00
Daniel Imms a0ce9a79a9 Build and export TS declaration files
Fixes #866
2017-08-07 23:48:58 -07:00
Daniel Imms b42a9039cc Rename TestUtils.ts to TestUtils.test.ts
This will allow it to be excluded when we do #863
2017-08-07 22:40:15 -07:00
Daniel Imms b3ad3eff8b Shuffle files around
src/test/escape-sequences-test.ts -> src/Terminal.integration.ts
src/test/escape_sequence_files/* -> fixtures/escape_sequence_files/
2017-08-07 22:38:42 -07:00
Daniel Imms 28c85b8fb9 Convert escape sequences test to TS
Part of #862
2017-08-07 22:24:22 -07:00
Daniel Imms e9b0867bd2 addons/test.js and test.js -> Terminal.test.ts
Part of #862
2017-08-07 22:15:13 -07:00
Daniel Imms fd61c8e874 Use a const for all refs to data char and width
Part of #791
2017-08-07 15:40:48 -07:00
Daniel Imms c2bb507fe4 Move BufferLines.ts into Buffer.ts
Part of #791
2017-08-07 15:22:58 -07:00
Daniel Imms b1c6a97839 No longer focus the terminal by default
Fixes #646
2017-08-06 19:22:15 -07:00
Daniel Imms 8c46f1b6ba Remove deprecated attachCustomKeydownHandler
Fixes #744
2017-08-06 19:19:49 -07:00
Daniel Imms fb6cbbdaad Fix vscode debugging
This broke when the TS addon was added
2017-08-06 19:02:56 -07:00
Daniel Imms e7ee3ec63c Fix trimming on a buffer with 0 scrollback
Unfortunately this removed the padding idea from CircularList as it
would only work when the list is not full.
2017-08-06 18:56:37 -07:00
Daniel Imms a57f55dcbf Support buffers with scrollback of 0, force alt as 0
Fixes #802
2017-08-06 18:18:49 -07:00
Daniel Imms 27f7679494 Add some padding and a shrink threshold to CircularList
This is needed so that resize is still performant. Now the list size is only
rebuild (O(n)) when it goes beyond 40 entries of the initial max length. The
List is also rebuilt when the size shrinks below 120 of the actual backing max
length (init_max_length + 40 - 120).
2017-08-06 14:17:30 -07:00
Daniel Imms 26977b370e Fix crash on negative tab stop width
Fixes #851
2017-08-06 13:47:03 -07:00
Daniel Imms 109d467b95 Make buffer length = rows + scrollback
Fixes #847
2017-08-06 13:28:58 -07:00
Daniel Imms 45157d80c6 Properly cancel event when in mouse mode
Fixes #848
2017-08-06 12:59:40 -07:00
Daniel Imms b07c0e4d23 Merge remote-tracking branch 'ups/master' into v3 2017-08-06 11:18:39 -07:00
Daniel Imms 24932b16d7 jsdoc 2017-08-06 21:03:59 +03:00
Daniel Imms 0731f28615 jsdoc 2017-08-06 10:25:25 -07:00
Daniel Imms 6cf2e8753e Remove comments 2017-08-06 01:44:27 -07:00
Daniel Imms 33cc78c987 Add explicit types on set/getOption 2017-08-06 01:42:57 -07:00
Daniel Imms 7cd8d1ec74 Resolve todos 2017-08-06 01:42:41 -07:00
Daniel Imms e0809d526e Type InputHandler tests 2017-08-06 00:58:21 -07:00
Daniel Imms ae3169e6ae Add CharData and LineData 2017-08-05 21:11:16 -07:00
Daniel Imms 2878d978c4 Fix lint 2017-08-05 21:06:04 -07:00
Daniel Imms 56ec6ed22c Merge branch '842_resize_buffers_bug' into 335_xterm_to_ts
setOption('scrollback', 0) no longer returns false, it just warns.
2017-08-05 20:48:42 -07:00
Daniel Imms d46003843b Add tests for Buffer.fillViewportRows 2017-08-05 20:15:23 -07:00
Daniel Imms 13619d427a Add a bunch of Buffer tests 🎉 2017-08-05 20:11:26 -07:00
Daniel Imms f03d00a497 Clean up buffer clean up/fill logic
The alt buffer is now cleared immediated after activating the normal buffer and
is filled when switching to it. The tests were failing because the alt buffer
wasn't being cleared properly with the previous solution.
2017-08-05 19:42:54 -07:00
Daniel Imms 3d20c2f266 Resize both buffers on resize
This brings in proper support to resize both buffers (#510) and fixes an
exception that was caused by wrongfully not clearing the normal buffer when
resizing while the alt buffer is active.

There was an obscure bug in this that could have caused some great confusion
later on; When switching to the alt buffer, a hard terminal reset was performed
which tried to retain the buffers. However, because buffers was initialized in
the Terminal constructor to a new BufferSet, the Terminal.buffer convenience
pointer was pointing at a stale alt buffer which was the one actually being
used, not Terminal.buffers.alt.

Fixes #842
Fixes #510
2017-08-05 18:59:44 -07:00
Daniel Imms f9fce53cc4 Add typedef tslint rule 2017-08-05 13:56:38 -07:00
Daniel Imms aee474b53e Type InputHandler._terminal 2017-08-05 12:57:29 -07:00
Daniel Imms 8a0bcf6b79 Clean up 2017-08-05 11:28:24 -07:00
Daniel Imms ad25905783 Fix reset 2017-08-05 11:20:39 -07:00
Daniel Imms 0b5ff47cc0 Give terminal options a proper interface 2017-08-05 02:57:34 -07:00
Daniel Imms da50e33aa8 Finish types on Terminal's properties 2017-08-05 02:50:44 -07:00
Daniel Imms e6b431d92f Add one-variable-per-declaration tslint rule
Multiple declarations per line makes it more difficult to read what
exactly is declared and generally makes code more verbose and less
likely to fill in types
2017-08-05 02:42:49 -07:00
Daniel Imms 7d1c5d1ac6 Fix tests 2017-08-05 02:34:21 -07:00
Daniel Imms 8903bddb17 Fix a bunch of warnings, remove dead code 2017-08-05 02:28:20 -07:00
Daniel Imms 41c335c0e6 The terminal works! 2017-08-05 02:22:43 -07:00
Daniel Imms 2104dccec5 Fix most errors in Terminal.ts 2017-08-05 01:58:42 -07:00
Daniel Imms db5b908d62 Move xterm.js -> Terminal.ts 2017-08-05 00:22:31 -07:00
Daniel Imms 3479614c73 Disable selection override on Windows/Linux 2017-07-28 14:06:55 -07:00