Commit Graph
115 Commits
Author SHA1 Message Date
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 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 e9b0867bd2 addons/test.js and test.js -> Terminal.test.ts
Part of #862
2017-08-07 22:15:13 -07:00
Daniel Imms c2bb507fe4 Move BufferLines.ts into Buffer.ts
Part of #791
2017-08-07 15:22:58 -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 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 109d467b95 Make buffer length = rows + scrollback
Fixes #847
2017-08-06 13:28:58 -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 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 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 f9fce53cc4 Add typedef tslint rule 2017-08-05 13:56:38 -07:00
Daniel Imms 2104dccec5 Fix most errors in Terminal.ts 2017-08-05 01:58:42 -07:00
Daniel Imms e56f710cd1 Make SelectionManager more resilient
Fixes #809
2017-07-21 05:45:53 -07:00
Daniel Imms 11de0d0ca0 Merge remote-tracking branch 'ups/master' into 553_find_api 2017-07-08 23:07:57 -07:00
Paris Kasidiaris 0ea2e9cfd6 Update jsdom to 1.11
Also, add package-lock.json
2017-07-08 10:59:38 +03:00
Daniel Imms baccca843c Merge branch 'master' into 553_find_api 2017-06-22 19:37:18 -07:00
Daniel Imms f93b24acc7 Merge branch 'master' into 553_find_api 2017-06-20 17:44:43 -07:00
Daniel Imms dc165175cf Handle middle click to paste selection
This appears to work in Chrome but not Firefox
2017-06-20 10:18:29 -07:00
Daniel Imms b05814e6a5 Improve selection cell selection
Fixes #709
2017-06-18 12:02:58 -07:00
Daniel Imms b957130787 Consolidate translateBufferLineToString functions 2017-06-13 19:55:29 -07:00
Daniel Imms 7147787441 Undo CiruclarList id changes, fix null check, lint 2017-06-06 22:59:16 -07:00
Daniel Imms 0dc3dd0336 Initial scroll drag implementation 2017-05-23 11:20:55 -07:00
Daniel Imms c4762e7228 Merge remote-tracking branch 'ups/master' into 207_selection_manager 2017-05-22 19:51:42 -07:00
Daniel Imms 70e35de56b Polish comments and cap code 2017-05-21 12:05:30 -07:00
Daniel Imms c323e0ad4a jsdoc 2017-05-21 11:57:24 -07:00
Daniel Imms 4d32826891 Pull getCoords into a Mouse util module
This is part of the work to prepare for the upcoing selection changes

Related #207
2017-05-21 11:50:01 -07:00
Daniel Imms 207c4cf961 More work on SelectionManager 2017-05-19 19:57:52 -07:00
Daniel Imms fe11837a61 Create new entries when shifting 2017-05-19 19:11:28 -07:00
Daniel Imms fee912023f Merge remote-tracking branch 'ups/master' into 207_selection_manager 2017-05-19 18:38:24 -07:00
Daniel Imms 1a777edffe Add missing return type 2017-05-16 10:04:12 -07:00
Daniel Imms 537018f71f DomElementObjectPool jsdoc 2017-05-16 10:03:56 -07:00
Daniel Imms 23e6a475ee Merge remote-tracking branch 'origin/master' into 449_keep_span_pool 2017-05-07 15:49:40 -07:00
Daniel Imms 65256c8751 Support an entry ID in CircularList
This is needed to keep track of which row is which outside of the class
2017-05-05 20:24:25 -07:00
Daniel Imms 70fda99415 Basic fetching of coordinates 2017-05-05 17:36:15 -07:00
Daniel Imms 202b54afbb Convert CharMeasure phantom test to jsdom 2017-02-27 11:18:00 -08:00
Daniel Imms d06c920a2d Hide CharMeasure element from assistive technologies 2017-02-19 13:20:36 -08:00
Daniel Imms 1306431e7c Add PhantomJS test support and CharMeasure tests
Fixes #534
2017-02-08 19:53:32 -08:00
Daniel Imms 9626b1e39d Only keep > 0 geometry in CharMeasure
Fixes #494
2017-01-19 18:02:09 -08:00
Daniel Imms d9682bd6d6 Perform CharMeasure.measure async
This fixes the edge case where getBoundingClientRect was returning a width and
height of 0,0.

Fixes #465
2017-01-10 11:36:22 -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 a1ee8aefbb Merge remote-tracking branch 'upstream/master' into 439_wide_char_class 2017-01-08 16:32:51 -08:00
Daniel Imms 2b4c019f13 Use object pool in refresh 2017-01-04 09:32:23 -08:00
Daniel Imms 335850380e Implement DomElementObjectPool with tests 2017-01-04 08:50:19 -08:00
Daniel Imms 4f18d842f9 Add CharMeasure util class 2016-12-31 15:46:17 -08:00
Daniel Imms 3e1a607179 Convert browser and generic to TS
Part of #335
2016-12-31 07:36:56 -08:00
Daniel Imms 50cfe2b21a Improve header comment 2016-12-27 13:40:52 -08:00
Daniel Imms d7f2ec89d7 Polish 2016-12-24 03:17:30 -08:00
Daniel Imms 969a2e953c Implement CircularList.shiftElements 2016-12-21 03:18:30 -08:00