Commit Graph

385 Commits

Author SHA1 Message Date
Daniel Imms
a1d71c9198 Properly queue linkify after refresh 2017-02-09 20:35:06 -08:00
Daniel Imms
1306431e7c Add PhantomJS test support and CharMeasure tests
Fixes #534
2017-02-08 19:53:32 -08:00
Vincent Woo
c3256556aa Fix missing Number.isNaN in IE
See https://github.com/sourcelair/xterm.js/pull/525#issuecomment-278497452
2017-02-08 15:33:20 -08:00
Daniel Imms
0f3ee21d9d Enable custom http link handlers 2017-02-08 14:13:30 -08:00
Daniel Imms
2207d356f2 Initial linkify implementation
Part of 455
2017-02-08 11:11:52 -08:00
Paris Kasidiaris
03e46fbdee Merge pull request #525 from LucianBuzzo/resize
Fix issue when resizing hidden terminals
2017-02-05 17:59:54 +02:00
Lucian Buzzo
ee0d6b4533 Fixed issue where terminal would become unusable if NaN values are sent
to resize method.
2017-02-05 12:45:55 +00:00
Daniel Imms
833eb5216b Add null check on Terminal.element
Since the Terminal can be used now before being attached, we should check element on destroy.

Related to #266
2017-02-01 11:50:52 -08:00
Daniel Imms
cc78fdd63c Hold on to renderer if a reset occurs 2017-02-01 11:19:54 -08:00
Daniel Imms
3c635f3ce5 Remove Terminal.queueRefresh, call refresh directly 2017-02-01 11:13:00 -08:00
Daniel Imms
cc6893d0f2 Merge remote-tracking branch 'upstream/master' into 266_pull_renderer_out 2017-02-01 10:29:11 -08:00
Daniel Imms
8d7df670b4 Merge pull request #521 from Tyriar/517_dont_loop_animation_frame
Don't requeue animation frame if not needed
2017-01-31 23:51:51 -08:00
Daniel Imms
92068f36f2 Pull renderer out of xterm.js 2017-01-31 22:45:28 -08:00
Daniel Imms
047729ee9e Don't requeue animation frame if not needed
Fixes #517
2017-01-31 21:53:29 -08:00
Daniel Imms
637a5bd9cc Don't requeue animation frame if not needed
Fixes #517
2017-01-31 21:23:21 -08:00
Daniel Imms
6cd5c2b846 Add null checks in eraseRight and eraseLeft
Fixes #519
2017-01-31 21:03:13 -08:00
Daniel Imms
c2a69721f3 Add useFlowControl option
Fixes #511
2017-01-26 21:14:07 -08:00
Daniel Imms
5850cbcd05 Add comments explaining actions preventing x from wrapping 2017-01-25 10:34:43 -08:00
Daniel Imms
72063329fe Fix index behavior
Don't wrap cursor to column 0 after an index, fixes 2 tests
2017-01-20 21:49:39 -08:00
Paris Kasidiaris
7b87e78ed3 Merge pull request #497 from sourcelair/issue-#488-tabstopwidth
Implement configurable tab stop width
2017-01-21 01:08:23 +02:00
Daniel Imms
9a86e4e109 Fix setupStops call in resize
Fixes #259
2017-01-20 14:23:45 -08:00
Paris Kasidiaris
8cb46f2726 Move tabStopWidth option callback into setOption 2017-01-20 16:19:19 +00:00
Paris Kasidiaris
f4293a6dfa Fix #488: Implement configurable tab width 2017-01-20 16:18:19 +00:00
Daniel Imms
0bd469f505 Implement CSI Ps SP q Set cursor style
Fixes #480
2017-01-18 10:06:57 -08:00
Daniel Imms
1cdd2e00ab Remove parser states from xterm.js 2017-01-16 14:11:00 -08:00
Daniel Imms
5e1ccb358b Merge remote-tracking branch 'upstream/master' into 459_parser__on_460 2017-01-16 13:53:19 -08:00
Daniel Imms
a05bb50230 Don't drop selection on modifier keyup
Fixes #348
2017-01-15 21:41:42 -08:00
Daniel Imms
375ccbd9e2 Merge remote-tracking branch 'upstream/master' into 478_cursorBlink_refresh 2017-01-15 02:22:45 -08:00
Paris Kasidiaris
6309752208 Merge pull request #435 from sourcelair/issue-#359-gulp
Introduce build system based on Gulp
2017-01-15 11:49:32 +02:00
Daniel Imms
d1dac57f7a Move cursor blink style to class on .terminal 2017-01-14 21:26:49 -08:00
Daniel Imms
3422f84e00 Merge pull request #477 from Tyriar/476_scrollback_update
Apply scrollback via setOption
2017-01-14 10:46:54 -08:00
Daniel Imms
7679475bfe Apply cursorBlink via setOption
Fixes #478
2017-01-13 21:31:31 -08:00
Daniel Imms
5a932b2a20 Apply scrollback via setOption
Fixes #476
2017-01-13 21:27:19 -08:00
Daniel Imms
b1ef934aea Merge pull request #474 from Tyriar/473_refresh_null_checks
Add null checks to refresh line and character fetches
2017-01-13 07:09:12 -08:00
Daniel Imms
f4846aa154 Finish CSI codes 2017-01-12 21:58:50 -08:00
Daniel Imms
9b66208029 Add more CSI codes 2017-01-12 21:33:28 -08:00
Daniel Imms
c43c3b411a Add more CSI codes 2017-01-12 20:51:15 -08:00
Daniel Imms
f9a286a851 Convert more CSI codes 2017-01-12 20:32:15 -08:00
Daniel Imms
3de3912b96 Add another null check on children[y] 2017-01-12 11:23:17 -08:00
Daniel Imms
23169e89c8 Add null checks to refresh line and character fetches
Fixes #473
2017-01-12 11:14:14 -08:00
Daniel Imms
0f5f34e8f5 Move CharMeasure element to the helper container
Fixes #470
2017-01-12 10:47:57 -08:00
Daniel Imms
342e862d69 Merge remote-tracking branch 'upstream/master' into 459_parser__on_460 2017-01-11 13:43:33 -08:00
Paris Kasidiaris
081fe3f301 Fix #359 - Introduce build system based on Gulp
- Add Gulp and new dependencies to `package.json`
- Add `gulpfile.js` with four tasks:
    - `tsc`: For building TypeScript sources
    - `bundle`: For bundling JavaScript modules in a monolith
    - `sorcery`: For resolving the source map chains back to the original TypeScript files
    - `build` (`default`): Runs the whole `tsc` → `bundle` → `sorcery` chain
- Clean up `Dockerfile`, since `cpio` is not needed any more
- Clean up not needed dependencies from `package.json`
- Remove `bin/build`
- Update `bin/release` to use `npm run build` instead of `./bin/build`
2017-01-11 08:11:45 +00:00
Daniel Imms
0ec125557a Merge remote-tracking branch 'upstream/master' into 425_xon_xoff_on_280 2017-01-10 20:24:07 -08:00
Daniel Imms
0b977fc35f Merge pull request #461 from Tyriar/460_escape_sequence_c0
Pull C0 escape sequences into its own file
2017-01-10 20:06:36 -08:00
Daniel Imms
0739a4be06 Merge remote-tracking branch 'upstream/master' into 425_xon_xoff_on_280 2017-01-10 20:04:26 -08:00
Daniel Imms
411b80cdc0 Add CSI @, E, F, G 2017-01-09 23:06:36 -08:00
Daniel Imms
db81c28bd7 Support more CSI codes, remove unused CSI helper functions 2017-01-09 22:57:38 -08:00
Daniel Imms
9942477bff Start converting CSI codes 2017-01-09 15:38:54 -08:00
Daniel Imms
6deaaa8ef8 Move all parser state handling into the parser 2017-01-09 15:00:37 -08:00
Daniel Imms
f4267c4f74 Merge remote-tracking branch 'upstream/master' into 459_parser__on_460 2017-01-09 14:50:28 -08:00
Daniel Imms
1848fff4c9 Pull charsets out of xterm.js 2017-01-09 14:21:59 -08:00
Daniel Imms
a31921ae73 Move parsing logic into Parser.ts 2017-01-09 13:45:55 -08:00
Daniel Imms
27a7f1504c Merge pull request #453 from Tyriar/452_disable_stdin_option
Add disableStdin option
2017-01-09 09:53:22 -08:00
Daniel Imms
da7ea104de Merge remote-tracking branch 'upstream/master' into 460_escape_sequence_c0 2017-01-08 17:13:28 -08:00
Daniel Imms
6b5ced0078 Merge remote-tracking branch 'upstream/master' into 449_keep_span_pool 2017-01-08 17:09:23 -08:00
Daniel Imms
dddc91fbcc Merge remote-tracking branch 'upstream/master' into 425_xon_xoff_on_280 2017-01-08 17:05:19 -08:00
Daniel Imms
ecb892d995 Merge remote-tracking branch 'upstream/master' into 425_xon_xoff_on_280 2017-01-08 17:05:10 -08:00
Daniel Imms
cabe23b782 Merge pull request #436 from Tyriar/434_tmux_scroll_fix
Fix scroll in tmux with max scrollback
2017-01-08 17:02:44 -08:00
Daniel Imms
a1ee8aefbb Merge remote-tracking branch 'upstream/master' into 439_wide_char_class 2017-01-08 16:32:51 -08:00
Daniel Imms
659fb90c1c Handle C0 codes via handler map in Parser 2017-01-08 16:21:51 -08:00
Daniel Imms
04b1ebf1a7 Create InputHandler which performs C0 actions
Part of #459
2017-01-08 16:11:35 -08:00
Daniel Imms
3de3c0c6b6 Pull C0 escape sequences into its own file
Part of #460
2017-01-08 15:49:19 -08:00
Daniel Imms
d9d60063d7 Add disableStdin option
Fixes #452
2017-01-04 12:43:21 -08:00
Daniel Imms
c7e8498166 Clear row and return spans before generating row 2017-01-04 09:44:58 -08:00
Daniel Imms
2b4c019f13 Use object pool in refresh 2017-01-04 09:32:23 -08:00
Daniel Imms
2b8820fdac Further tweaks, add write batching 2017-01-03 15:52:45 -08:00
Daniel Imms
0ec7b661f2 Tweak config values 2017-01-03 15:38:14 -08:00
Daniel Imms
dc5efa886a Make innerWrite iterative 2017-01-03 15:29:23 -08:00
Daniel Imms
e66b1c5704 Add write buffer pause and refresh frame skip 2017-01-03 15:26:41 -08:00
Daniel Imms
6b8c43ed7f Send \x13 when a write buffer threadhold is reached 2017-01-03 14:57:13 -08:00
Daniel Imms
b9d374affa Add XON/XOFF and eparate write from processing
Part of #425
2017-01-03 14:57:04 -08:00
Daniel Imms
74483fb294 Use CharMeasure in Viewport and to style wide chars
Fixes #439
2016-12-31 15:56:57 -08:00
Daniel Imms
4f18d842f9 Add CharMeasure util class 2016-12-31 15:46:17 -08:00
Daniel Imms
188e197e20 Wrap wide chars in a span/class
Part of #439
2016-12-31 15:19:54 -08:00
Daniel Imms
7234bfb6eb Move row evaluation into refreshLoop
This allows the refresh public API to still function
2016-12-31 14:58:17 -08:00
Daniel Imms
97feb3321c Improve refresh queue
Use requestAnimationFrame in addition to a queue to refresh every animation
frame but only when a refresh is needed.

Fixes #280
Fixes #290
2016-12-31 14:14:02 -08:00
Daniel Imms
c3f46e4a6b Fix scroll in tmux with max scrollback
I believe this is related to when scrollBottom is not the last row in the viewport

Fixes #434
2016-12-31 07:18:50 -08:00
Daniel Imms
2bfbdb1c06 Sync scroll bar when alt/normal buffer is switched in
Fixes #427
2016-12-29 03:55:36 -08:00
Daniel Imms
5d29d4ea22 Remove log 2016-12-28 03:41:48 -08:00
Daniel Imms
a9e1ed5a72 Ensure ydisp does not drop below 0 in refresh
Fixes #428
Related to #385
2016-12-28 03:41:12 -08:00
Daniel Imms
d7f2ec89d7 Polish 2016-12-24 03:17:30 -08:00
Daniel Imms
cc5ae8193b Fix insertLines as max buffer size 2016-12-24 00:26:43 -08:00
Daniel Imms
30a1f1ccb5 Fix issue with max buffer size after vim fix 2016-12-24 00:14:30 -08:00
Daniel Imms
6f7cb990ca Fix issue with vim scrolling 2016-12-24 00:04:31 -08:00
Daniel Imms
bf16fdc01d Have reverseIndex use CircularList.shiftElements 🎉 2016-12-21 03:26:40 -08:00
Daniel Imms
3b35d12e60 Fix issue with the git log
The old code was assuming that the buffer was not going to change, this is not
true with the current impl though where the list is shifted and ybase and ydisp
need to be compensated for that.
2016-12-22 02:02:05 -08:00
Daniel Imms
4bc679b0b3 Merge remote-tracking branch 'upstream/master' into 361_circular_list_scrollback 2016-12-21 15:43:18 -08:00
Daniel Imms
be56c72b5f Fix when scrollback limit is reached 2016-12-21 15:43:04 -08:00
Bob Reid
2824da371f Added macOS check to escape sequences and updated tests 2016-12-16 15:03:49 -05:00
Bob Reid
2e17366bce changed escape sequence for alt-arrow to work on bash on os x 2016-12-16 10:29:42 -05:00
Paris Kasidiaris
ab87dece0b Fix weird paste issue: #405
Fix #405
2016-12-14 01:45:53 +02:00
Daniel Imms
fd25bd7ca2 Merge remote-tracking branch 'upstream/master' into 361_circular_list_scrollback 2016-12-12 15:05:19 -08:00
bottleofwater
a75bafc4ba Don't apply the 32 delta when in sgr mode - fix #394 2016-12-09 10:52:09 +01:00
Paris Kasidiaris
1d30091188 Update documentation with cleaner license declaration
Fix #366
2016-12-01 13:37:20 +00:00
Daniel Imms
2bc8adee8c Scroll to bottom whenever handler is called
This catches all current and future cases for correctly scrolling to the bottom
on input by handling it in the handler immediately before emitting the data
event.

Fixes #378
2016-11-28 10:41:05 -08:00
Daniel Imms
48b87c2f40 Merge remote-tracking branch 'upstream/master' into 335_CompositionHelper_ts 2016-11-28 08:16:38 -08:00
Daniel Imms
ca818fbf04 Merge pull request #379 from Tyriar/378_cannot_scroll_up_1plus_pages
Only scroll to bottom during composition or result.key is evaluated
2016-11-28 08:07:00 -08:00
Daniel Imms
264fe4edc7 Merge pull request #372 from Tyriar/335_viewport_tidy
Clean up viewport more after TS conversion
2016-11-28 08:06:50 -08:00
Daniel Imms
607c819109 Progress 2016-11-27 03:27:36 -08:00