]> git.proxmox.com Git - mirror_xterm.js.git/blobdiff - src/handlers/Clipboard.ts
Handle copy
[mirror_xterm.js.git] / src / handlers / Clipboard.ts
index 719bf2c8b53017f9a76cdfa873d3155ddbc4f117..2d1f5bc21c053df90ca850c1b8ac5a47a9422f1d 100644 (file)
@@ -5,7 +5,7 @@
  * @license MIT
  */
 
-import { ITerminal } from '../Interfaces';
+import { ITerminal, ISelectionManager } from '../Interfaces';
 
 interface IWindow extends Window {
   clipboardData?: {
@@ -53,11 +53,10 @@ export function prepareTextForTerminal(text: string, isMSWindows: boolean): stri
  * Binds copy functionality to the given terminal.
  * @param {ClipboardEvent} ev The original copy event to be handled
  */
-export function copyHandler(ev: ClipboardEvent, term: ITerminal) {
+export function copyHandler(ev: ClipboardEvent, term: ITerminal, selectionManager: ISelectionManager) {
   // We cast `window` to `any` type, because TypeScript has not declared the `clipboardData`
   // property that we use below for Internet Explorer.
-  let copiedText = window.getSelection().toString(),
-      text = prepareTextForClipboard(copiedText);
+  let text = prepareTextForClipboard(selectionManager.selectionText);
 
   if (term.browser.isMSIE) {
     window.clipboardData.setData('Text', text);