diff --git a/terminus-terminal/src/components/terminalSettingsTab.component.pug b/terminus-terminal/src/components/terminalSettingsTab.component.pug index 32b17d3b..2a22060c 100644 --- a/terminus-terminal/src/components/terminalSettingsTab.component.pug +++ b/terminus-terminal/src/components/terminalSettingsTab.component.pug @@ -29,11 +29,11 @@ h3.mb-3 Terminal [value]='"audible"' ) | Audible - + .alert.alert-info.d-flex.align-items-center(*ngIf='config.store.terminal.bell != "audible" && config.store.terminal.shell.startsWith("wsl")') .mr-auto WSL terminal bell can only be muted via Volume Mixer button.btn.btn-secondary((click)='openWSLVolumeMixer()') Show Mixer - + .form-line .header .title Right click @@ -63,11 +63,11 @@ h3.mb-3 Terminal value='paste' ) | Paste - + .form-line .header .title Paste on middle-click - + toggle( [(ngModel)]='config.store.terminal.pasteOnMiddleClick', (ngModelChange)='config.save()', @@ -76,7 +76,7 @@ h3.mb-3 Terminal .form-line .header .title Auto-open a terminal on app start - + toggle( [(ngModel)]='config.store.terminal.autoOpen', (ngModelChange)='config.save()', @@ -85,7 +85,7 @@ h3.mb-3 Terminal .form-line .header .title Restore terminal tabs on app start - + toggle( [(ngModel)]='config.store.terminal.recoverTabs', (ngModelChange)='config.save()', @@ -116,7 +116,7 @@ h3.mb-3 Terminal [(ngModel)]='config.store.terminal.scrollOnInput', (ngModelChange)='config.save()', ) - + .form-line .header .title Use Alt key as the Meta key @@ -125,3 +125,14 @@ h3.mb-3 Terminal [(ngModel)]='config.store.terminal.altIsMeta', (ngModelChange)='config.save()', ) + +.form-line + .header + .title Word separators + .description Double-click selection will stop at these characters + input.form-control( + type='text', + placeholder=' ()[]{}\'"', + [(ngModel)]='config.store.terminal.wordSeparator', + (ngModelChange)='config.save()', + ) diff --git a/terminus-terminal/src/config.ts b/terminus-terminal/src/config.ts index 8d26eee9..ea09dba5 100644 --- a/terminus-terminal/src/config.ts +++ b/terminus-terminal/src/config.ts @@ -31,6 +31,7 @@ export class TerminalConfigProvider extends ConfigProvider { workingDirectory: '', alwaysUseWorkingDirectory: false, altIsMeta: false, + wordSeparator: ' ()[]{}\'"', colorScheme: { __nonStructural: true, name: 'Material', diff --git a/terminus-terminal/src/frontends/xtermFrontend.ts b/terminus-terminal/src/frontends/xtermFrontend.ts index fc90dddc..d59185b8 100644 --- a/terminus-terminal/src/frontends/xtermFrontend.ts +++ b/terminus-terminal/src/frontends/xtermFrontend.ts @@ -215,6 +215,7 @@ export class XTermFrontend extends Frontend { this.xterm.setOption('cursorBlink', config.terminal.cursorBlink) this.xterm.setOption('macOptionIsMeta', config.terminal.altIsMeta) this.xterm.setOption('scrollback', 100000) + this.xterm.setOption('wordSeparator', config.terminal.wordSeparator) this.configuredFontSize = config.terminal.fontSize this.configuredLinePadding = config.terminal.linePadding this.setFontSize()