mirror of
https://github.com/Eugeny/tabby.git
synced 2025-07-30 22:17:00 +00:00
automatically trim trailing newline when pasting
This commit is contained in:
@@ -422,15 +422,16 @@ export class BaseTerminalTabComponent extends BaseTabComponent implements OnInit
|
|||||||
|
|
||||||
async paste (): Promise<void> {
|
async paste (): Promise<void> {
|
||||||
let data = this.platform.readClipboard()
|
let data = this.platform.readClipboard()
|
||||||
if (this.config.store.terminal.bracketedPaste && this.frontend?.supportsBracketedPaste()) {
|
|
||||||
data = `\x1b[200~${data}\x1b[201~`
|
|
||||||
}
|
|
||||||
if (this.hostApp.platform === Platform.Windows) {
|
if (this.hostApp.platform === Platform.Windows) {
|
||||||
data = data.replaceAll('\r\n', '\r')
|
data = data.replaceAll('\r\n', '\r')
|
||||||
} else {
|
} else {
|
||||||
data = data.replaceAll('\n', '\r')
|
data = data.replaceAll('\n', '\r')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (data.endsWith('\n')) {
|
||||||
|
data = data.substring(0, data.length - 1)
|
||||||
|
}
|
||||||
|
|
||||||
if (!this.alternateScreenActive) {
|
if (!this.alternateScreenActive) {
|
||||||
data = data.trim()
|
data = data.trim()
|
||||||
|
|
||||||
@@ -451,6 +452,10 @@ export class BaseTerminalTabComponent extends BaseTabComponent implements OnInit
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this.config.store.terminal.bracketedPaste && this.frontend?.supportsBracketedPaste()) {
|
||||||
|
data = `\x1b[200~${data}\x1b[201~`
|
||||||
|
}
|
||||||
this.sendInput(data)
|
this.sendInput(data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user