mirror of
https://github.com/stablyai/orca.git
synced 2026-09-23 00:02:29 +00:00
35 lines
1.1 KiB
TypeScript
35 lines
1.1 KiB
TypeScript
import type { Tab, TerminalTab } from './types'
|
|
import { isMeaningfulOpenCodeTerminalTitle } from './opencode-terminal-title'
|
|
|
|
export function resolveTerminalTabTitle(
|
|
tab: Pick<TerminalTab, 'customTitle' | 'quickCommandLabel' | 'generatedTitle' | 'title'>,
|
|
generatedTitlesEnabled: boolean,
|
|
fallback = ''
|
|
): string {
|
|
const liveTitle = tab.title?.trim() ?? ''
|
|
return (
|
|
tab.customTitle?.trim() ||
|
|
tab.quickCommandLabel?.trim() ||
|
|
(isMeaningfulOpenCodeTerminalTitle(liveTitle) ? liveTitle : '') ||
|
|
(generatedTitlesEnabled ? tab.generatedTitle?.trim() : '') ||
|
|
liveTitle ||
|
|
fallback
|
|
)
|
|
}
|
|
|
|
export function resolveUnifiedTabLabel(
|
|
tab: Pick<Tab, 'customLabel' | 'quickCommandLabel' | 'generatedLabel' | 'label'> | undefined,
|
|
generatedTitlesEnabled: boolean,
|
|
fallback = ''
|
|
): string {
|
|
const liveLabel = tab?.label?.trim() ?? ''
|
|
return (
|
|
tab?.customLabel?.trim() ||
|
|
tab?.quickCommandLabel?.trim() ||
|
|
(isMeaningfulOpenCodeTerminalTitle(liveLabel) ? liveLabel : '') ||
|
|
(generatedTitlesEnabled ? tab?.generatedLabel?.trim() : '') ||
|
|
liveLabel ||
|
|
fallback
|
|
)
|
|
}
|