提交 f947fe3f 编写于 作者: E Eugene Pankov

paste as a configurable hotkey (fixes #260)

上级 b5f96a59
......@@ -93,6 +93,9 @@ export class TerminalTabComponent extends BaseTabComponent {
case 'copy':
this.hterm.copySelectionToClipboard()
break
case 'paste':
this.paste()
break
case 'clear':
this.clear()
break
......@@ -231,10 +234,7 @@ export class TerminalTabComponent extends BaseTabComponent {
hterm.primaryScreen_.terminal = hterm
hterm.alternateScreen_.terminal = hterm
const _onPaste = hterm.scrollPort_.onPaste_.bind(hterm.scrollPort_)
hterm.scrollPort_.onPaste_ = (event) => {
hterm.scrollPort_.pasteTarget_.value = event.clipboardData.getData('text/plain').trim()
_onPaste()
event.preventDefault()
}
......@@ -336,7 +336,12 @@ export class TerminalTabComponent extends BaseTabComponent {
}
paste () {
this.sendInput(this.electron.clipboard.readText())
let data = this.electron.clipboard.readText()
data = this.hterm.keyboard.encode(data)
if (this.hterm.options_.bracketedPaste) {
data = '\x1b[200~' + data + '\x1b[201~'
}
this.sendInput(data)
}
clear () {
......
......@@ -56,6 +56,9 @@ export class TerminalConfigProvider extends ConfigProvider {
'copy': [
'⌘-C',
],
'paste': [
'⌘-V',
],
'clear': [
'⌘-K',
],
......@@ -96,6 +99,9 @@ export class TerminalConfigProvider extends ConfigProvider {
'copy': [
'Ctrl-Shift-C',
],
'paste': [
'Ctrl-Shift-V',
],
'clear': [
'Ctrl-L',
],
......@@ -133,6 +139,9 @@ export class TerminalConfigProvider extends ConfigProvider {
'copy': [
'Ctrl-Shift-C',
],
'paste': [
'Ctrl-Shift-V',
],
'clear': [
'Ctrl-L',
],
......
......@@ -8,6 +8,10 @@ export class TerminalHotkeyProvider extends HotkeyProvider {
id: 'copy',
name: 'Copy to clipboard',
},
{
id: 'paste',
name: 'Paste from clipboard',
},
{
id: 'home',
name: 'Beginning of the line',
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册