Skip to content

Commit

Permalink
Merge pull request #9307 from kimbob13/implicit-cr-lf
Browse files Browse the repository at this point in the history
  • Loading branch information
Eugeny authored Dec 6, 2023
2 parents 2dc64ae + 2437dc5 commit a4aa07c
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 1 deletion.
8 changes: 8 additions & 0 deletions locale/ko-KR.po
Original file line number Diff line number Diff line change
Expand Up @@ -916,6 +916,14 @@ msgstr "CRLF 강제"
msgid "Force LF"
msgstr "LF 강제"

#: tabby-terminal/src/components/streamProcessingSettings.component.ts:56
msgid "Implicit CR in every LF"
msgstr "LF에만 CR 추가"

#: tabby-terminal/src/components/streamProcessingSettings.component.ts:57
msgid "Implicit LF in every CR"
msgstr "CR에만 LF 추가"

#: locale/tmp-html/tabby-ssh/src/components/sshSettingsTab.component.html:25
msgid "Forces a specific SSH agent connection type."
msgstr "특정 SSH 에이전트로 연결 유형 강제"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ export class StreamProcessingSettingsComponent {
{ key: 'cr', name: _('Force CR') },
{ key: 'lf', name: _('Force LF') },
{ key: 'crlf', name: _('Force CRLF') },
{ key: 'implicit_cr', name: _('Implicit CR in every LF') },
{ key: 'implicit_lf', name: _('Implicit LF in every CR') },
]

getInputModeName (key) {
Expand Down
7 changes: 6 additions & 1 deletion tabby-terminal/src/middleware/streamProcessing.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { SessionMiddleware } from '../api/middleware'

export type InputMode = null | 'local-echo' | 'readline' | 'readline-hex'
export type OutputMode = null | 'hex'
export type NewlineMode = null | 'cr' | 'lf' | 'crlf'
export type NewlineMode = null | 'cr' | 'lf' | 'crlf' | 'implicit_cr' | 'implicit_lf'

export interface StreamProcessingOptions {
inputMode?: InputMode
Expand Down Expand Up @@ -133,7 +133,12 @@ export class TerminalStreamProcessor extends SessionMiddleware {
private replaceNewlines (data: Buffer, mode?: NewlineMode): Buffer {
if (!mode) {
return data
} else if (mode === 'implicit_cr') {
return bufferReplace(data, '\n', '\r\n')
} else if (mode === 'implicit_lf') {
return bufferReplace(data, '\r', '\r\n')
}

data = bufferReplace(data, '\r\n', '\n')
data = bufferReplace(data, '\r', '\n')
const replacement = {
Expand Down

0 comments on commit a4aa07c

Please sign in to comment.