Commit Graph
100 Commits
Author SHA1 Message Date
Daniel Imms adc657898c Remove bad getOption param 2017-07-13 09:23:56 -07:00
Daniel Imms 5e815de82a Remove comments from Travis config 2017-07-08 19:13:43 -07:00
Daniel Imms 0536862b8f Try fix build 2017-07-08 17:47:54 -07:00
Daniel Imms b520e2fd35 Use standard naming for functions 2017-07-08 17:33:18 -07:00
Daniel Imms 740d4a45f9 Remove dependency on sleep module 2017-07-08 17:32:47 -07:00
Daniel Imms cb53cdd728 Merge remote-tracking branch 'ups/master' into 687_macos_ci 2017-07-08 17:19:47 -07:00
Daniel Imms 9b8cb03c55 Properly mark initial viewport lines as wrapped
Fixes #767
2017-07-07 11:18:18 -07:00
Daniel Imms 85c892c218 Don't refresh terminal when scrollDisp doesn't scroll
Fixes #765
2017-07-06 21:16:20 -07:00
Daniel Imms 3e8ddd1966 Add jsdoc 2017-07-03 21:43:52 -07:00
Daniel Imms 7463166aec Fix tests 2017-07-02 12:29:31 -07:00
Daniel Imms ca03f8928d Remove colon from the word separators
Fixes #745
2017-06-30 17:07:52 -07:00
Daniel Imms cfe22e6fd2 Use crlf when copying on Windows
Fixes #737
2017-06-29 07:38:41 -07:00
Daniel Imms 645a5920da Drop selection when the active buffer changes
Fixes #732
2017-06-27 10:13:16 -07:00
Daniel Imms 63d63c27e7 Ensure outside selection pastes are respected
We were resetting the selection on every auxclick, meaning outside
selections could not be pasted in when the terminal had a current
selection.
2017-06-20 11:17:12 -07:00
Daniel Imms ef1e2ab9e2 Use auxclick event 2017-06-20 10:49:58 -07:00
Daniel Imms 7b46940772 Have Terminal.hasSelection return false when no selection
Fixes #724
2017-06-20 10:38:33 -07:00
Daniel Imms 6f5f68df1a Add a comment 2017-06-20 10:24:16 -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 32f1782c84 Fix context menu in firefox
Fixes #721
2017-06-20 10:01:39 -07:00
Daniel Imms 8811d96a8b Fix selection going to clipboard
Part of #699
2017-06-19 15:45:18 -07:00
Daniel Imms 6dbc476cdc Allow mouse events to pass through selection 2017-06-19 11:26:52 -07:00
Daniel Imms 57921e3fe0 Render selection on top of rows
Fixes #718
2017-06-19 11:18:55 -07:00
Daniel Imms 320fb55ddc Use an enum for selection mode 2017-06-18 12:56:32 -07:00
Daniel Imms 4b170ca43f Select to the word at the mouse after double click
Fixes #697
2017-06-18 12:52:43 -07:00
Daniel Imms b05814e6a5 Improve selection cell selection
Fixes #709
2017-06-18 12:02:58 -07:00
Daniel Imms 07882c42dc Also consider ' and " word separators
For example URIs in json
2017-06-18 11:51:00 -07:00
Daniel Imms 7f2e94c30c Don't select colon or brackets when double clicking
Fixes #713
2017-06-18 10:38:04 -07:00
Daniel Imms 2a0f44b0fb Prevent mousedown event default selection behavior
Fixes #698
2017-06-12 14:51:58 -07:00
Daniel Imms 0950369a5c Merge remote-tracking branch 'origin/master' into set_row_height_explicitly 2017-06-10 10:21:20 -07:00
Daniel Imms 346b5177bc Retain wrapped line state when copying
Fixes #443
2017-06-09 17:12:00 -07:00
Daniel Imms 9246d524cb Use a single element for the middle of the selection
This reduces the number of DOM nodes used for the selection dramatically.
2017-06-09 16:35:26 -07:00
Daniel Imms 6480933861 Skip failing tests of macOS and add to CI
Fixes #687
2017-06-09 16:27:47 -07:00
Daniel Imms 6075498c24 Add class header comments 2017-06-09 12:47:16 -07:00
Daniel Imms ee1da73a69 Add regression test 2017-06-09 11:59:18 -07:00
Daniel Imms 29ac6a153e Fix issue with strings in wrapped spans being duplicated
This was happening because the linkifier assumed that top-level spans
in the terminal would only contain single text nodes

Fixes #642
2017-06-09 11:48:12 -07:00
Daniel Imms 28ed7772c6 Select last character in bottom right in select all 2017-06-07 14:44:16 -07:00
Daniel Imms a047359f81 Add more selection manager/model tests 2017-06-07 14:37:09 -07:00
Daniel Imms b81c165bea Add SelectionModel tests 2017-06-07 14:15:18 -07:00
Daniel Imms 4405f5e163 Fix clearSelection in select all mode 2017-06-07 13:48:12 -07:00
Daniel Imms 2012c8c91d Move prepareTextForClipboard logic into SelectionManager 2017-06-07 13:42:08 -07:00
Daniel Imms f719a4e91b Fix tests 2017-06-07 13:20:44 -07:00
Daniel Imms 5d33727ae4 Add clearSelection API 2017-06-07 13:07:34 -07:00
Daniel Imms 1343b83fc3 Add hasSelection public API 2017-06-07 12:40:48 -07:00
Daniel Imms 9e47ec9af2 Add getSelectionText API
This allows consumers to implement their own copy functionality/keybindings
2017-06-07 11:59:28 -07:00
Daniel Imms 9c459aacc7 Explicitly size selectionContainer to allow for more flexible layouts 2017-06-07 11:48:31 -07:00
Daniel Imms 72724abac8 Ensure host program handles copy if mouseevents are active 2017-06-07 11:20:03 -07:00
Daniel Imms 9a86eeb333 Support copying in the alt buffer 2017-06-07 11:10:05 -07:00
Daniel Imms 46f6fd18b0 Merge remote-tracking branch 'ups/master' into set_row_height_explicitly 2017-06-06 14:34:07 -07:00
Daniel Imms 603f22a7bb Set row height when char size is changed
When zoomed in line-height and actual rendered row height differs. This
can be seen in the viewport being too large when zoomed in right now
but also has additional impacts in the new selection model #207
2017-06-06 14:31:57 -07:00
Daniel Imms 13c401cbaa Only refresh the selection on an animation frame 2017-06-06 10:52:42 -07:00
Daniel Imms b812991072 Fix multiple drag scroll intervals being registered 2017-06-06 10:40:22 -07:00
Daniel Imms 2b2431824f Fix select all with no start and include content below viewport 2017-06-06 23:13:50 -07:00
Daniel Imms 7147787441 Undo CiruclarList id changes, fix null check, lint 2017-06-06 22:59:16 -07:00
Daniel Imms ec3bf1139d Resolve TODOs 2017-06-06 22:33:32 -07:00
Daniel Imms d0b603d033 jsdoc all of SelectionManager 2017-06-06 21:55:52 -07:00
Daniel Imms 2621be819e Resolve more TODOs, add jsdoc 2017-06-06 21:43:19 -07:00
Daniel Imms f380153f42 Resolve some TODOs 2017-06-06 21:29:30 -07:00
Daniel Imms fd91c5e1a8 Add _selectLineAt test 2017-06-06 15:22:35 -07:00
Daniel Imms f61d852f3c Don't allow double click selection on empty row going out of viewport 2017-06-06 15:05:22 -07:00
Daniel Imms 5bc1112151 Select lines when dragging a triple click 2017-06-06 15:02:52 -07:00
Daniel Imms 59cc0b675e Merge remote-tracking branch 'ups/master' into 207_selection_manager 2017-06-06 14:35:06 -07:00
Daniel Imms db8ded2a02 Implement shift+click 2017-06-06 14:19:12 -07:00
Daniel Imms d3865ad23f Add some SelectionManager selectWorkAt tests, fix lint 2017-06-01 17:36:47 -07:00
Daniel Imms 8b1067d180 Remove no longer valid clipboard test and add new one 2017-06-01 17:11:07 -07:00
Daniel Imms a53a0acd65 Fix issue with trimming whitespace 2017-06-01 17:04:59 -07:00
Daniel Imms 11cec31da6 Clean up wide char select word code 2017-05-25 21:12:44 -07:00
Daniel Imms d9991b25a4 Support wide char double click 2017-05-25 20:48:48 -07:00
Daniel Imms cb6533f3a6 Get double click selection for wide chars mostly working 2017-05-25 20:22:43 -07:00
Daniel Imms 54e7f65d4e Support selecting wide characters 2017-05-25 19:34:32 -07:00
Daniel Imms ec61f3acf0 Only trim the right whitespace from selection
Fixes #673
2017-05-25 18:52:06 -07:00
Daniel Imms 910aa1ad7f Properly prepare text for clipboard for context menu
This makes the context menu in macOS embed the right text
2017-05-25 18:12:03 -07:00
Daniel Imms 24bed01fa4 Support copy and paste via context menu 2017-05-25 16:17:43 -07:00
Daniel Imms f7d6ab5f2a Move the selection model to its own module 2017-05-25 13:20:57 -07:00
Daniel Imms 0716cffd7d Tidy up _areSelectionValuesReversed 2017-05-25 12:46:54 -07:00
Daniel Imms e29ab29441 Fix drag when selectioning via double/triple click 2017-05-25 12:46:08 -07:00
Daniel Imms 9f271de803 Implement triple click to select line 2017-05-25 12:27:47 -07:00
Daniel Imms 43c796a781 Support copying of select all text 2017-05-25 11:35:22 -07:00
Daniel Imms 25152e4441 Add select all API 2017-05-25 10:14:40 -07:00
Daniel Imms 3846fe0a7d Add null checks to fix trim related crash 2017-05-25 09:55:08 -07:00
Daniel Imms b3b2bd1faf Don't flag user scrolling if no scrolling happens 2017-05-25 09:51:13 -07:00
Daniel Imms 2c3d98abc8 Fix bug with parser state when using vtop
Fixes #662
2017-05-25 09:36:59 -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 d2b0d514f8 Add missing semi-colons 2017-05-21 13:51:02 -07:00
Daniel Imms ab40908fa4 Disable selection manager in mouse mode
This allows the application to take full control of the selection
2017-05-21 12:35:07 -07:00
Daniel Imms a5c48c891e Temp fix until mouse getCoords PR merged 2017-05-21 12:16:36 -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 13088f55a0 Declare pt and valid vars in correct spot 2017-05-21 11:27:57 -07:00
Daniel Imms ea008411e4 Add missing EventEmitter.emit args/types 2017-05-21 11:25:18 -07:00
Daniel Imms e63fdf580b Clean up 2017-05-20 15:21:12 -07:00
Daniel Imms 597c6939c8 Handle basic double click select 2017-05-20 00:17:23 -07:00
Daniel Imms 293ae18a11 Fix copy after scroll 2017-05-20 00:01:55 -07:00
Daniel Imms 32b34cbe4c Handle copy 2017-05-19 23:53:20 -07:00
Daniel Imms 2f6d05f99d Handle scrolling of selection 2017-05-19 23:32:26 -07:00
Daniel Imms ad3ae67e70 Get selection partially rendering 2017-05-19 23:29:51 -07:00
Daniel Imms b594407cd5 Tell renderer to draw selection 2017-05-19 20:06:05 -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