Add getSelectionText API

This allows consumers to implement their own copy functionality/keybindings
This commit is contained in:
Daniel Imms
2017-06-07 11:59:28 -07:00
parent 9c459aacc7
commit 9e47ec9af2
+10 -1
View File
@@ -13,7 +13,7 @@
import { CompositionHelper } from './CompositionHelper';
import { EventEmitter } from './EventEmitter';
import { Viewport } from './Viewport';
import { rightClickHandler, pasteHandler, copyHandler } from './handlers/Clipboard';
import { rightClickHandler, pasteHandler, copyHandler, prepareTextForClipboard } from './handlers/Clipboard';
import { CircularList } from './utils/CircularList';
import { C0 } from './EscapeSequences';
import { InputHandler } from './InputHandler';
@@ -1373,6 +1373,15 @@ Terminal.prototype.deregisterLinkMatcher = function(matcherId) {
}
}
/**
* Gets the terminal's current selection, this is useful for implementing copy
* behavior outside of xterm.js.
*/
Terminal.prototype.getSelectionText = function() {
// TODO: Should prepareTextForClipboard logic be moved to SelectionManager?
return prepareTextForClipboard(this.selectionManager.selectionText);
}
/**
* Selects all text within the terminal.
*/