feat: add terminal settings for Oh My Zsh and Powerlevel10k shell integration

Added two new terminal settings:
- terminalZshOhMy: Sets ITERM_SHELL_INTEGRATION_INSTALLED=Yes for Oh My Zsh
- terminalZshP10k: Sets POWERLEVEL9K_TERM_SHELL_INTEGRATION=true for Powerlevel10k

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
This commit is contained in:
Eric Wheeler 2025-04-10 17:38:56 -07:00
parent b020e46076
commit b4c67f133b
28 changed files with 280 additions and 1 deletions

View file

@ -357,6 +357,8 @@ export class ClineProvider extends EventEmitter<ClineProviderEvents> implements
terminalShellIntegrationTimeout,
terminalCommandDelay,
terminalZshClearEolMark,
terminalZshOhMy,
terminalZshP10k,
terminalPowershellCounter,
}) => {
setSoundEnabled(soundEnabled ?? false)
@ -365,6 +367,8 @@ export class ClineProvider extends EventEmitter<ClineProviderEvents> implements
)
Terminal.setCommandDelay(terminalCommandDelay ?? 0)
Terminal.setTerminalZshClearEolMark(terminalZshClearEolMark ?? true)
Terminal.setTerminalZshOhMy(terminalZshOhMy ?? false)
Terminal.setTerminalZshP10k(terminalZshP10k ?? false)
Terminal.setPowershellCounter(terminalPowershellCounter ?? false)
},
)
@ -1213,6 +1217,8 @@ export class ClineProvider extends EventEmitter<ClineProviderEvents> implements
terminalCommandDelay,
terminalPowershellCounter,
terminalZshClearEolMark,
terminalZshOhMy,
terminalZshP10k,
fuzzyMatchThreshold,
mcpEnabled,
enableMcpServerCreation,
@ -1283,6 +1289,8 @@ export class ClineProvider extends EventEmitter<ClineProviderEvents> implements
terminalCommandDelay: terminalCommandDelay ?? 0,
terminalPowershellCounter: terminalPowershellCounter ?? false,
terminalZshClearEolMark: terminalZshClearEolMark ?? true,
terminalZshOhMy: terminalZshOhMy ?? false,
terminalZshP10k: terminalZshP10k ?? false,
fuzzyMatchThreshold: fuzzyMatchThreshold ?? 1.0,
mcpEnabled: mcpEnabled ?? true,
enableMcpServerCreation: enableMcpServerCreation ?? true,
@ -1372,6 +1380,8 @@ export class ClineProvider extends EventEmitter<ClineProviderEvents> implements
terminalCommandDelay: stateValues.terminalCommandDelay ?? 0,
terminalPowershellCounter: stateValues.terminalPowershellCounter ?? false,
terminalZshClearEolMark: stateValues.terminalZshClearEolMark ?? true,
terminalZshOhMy: stateValues.terminalZshOhMy ?? false,
terminalZshP10k: stateValues.terminalZshP10k ?? false,
mode: stateValues.mode ?? defaultModeSlug,
language: stateValues.language ?? formatLanguage(vscode.env.language),
mcpEnabled: stateValues.mcpEnabled ?? true,

View file

@ -757,6 +757,20 @@ export const webviewMessageHandler = async (provider: ClineProvider, message: We
Terminal.setTerminalZshClearEolMark(message.bool)
}
break
case "terminalZshOhMy":
await updateGlobalState("terminalZshOhMy", message.bool)
await provider.postStateToWebview()
if (message.bool !== undefined) {
Terminal.setTerminalZshOhMy(message.bool)
}
break
case "terminalZshP10k":
await updateGlobalState("terminalZshP10k", message.bool)
await provider.postStateToWebview()
if (message.bool !== undefined) {
Terminal.setTerminalZshP10k(message.bool)
}
break
case "mode":
await provider.handleModeSwitch(message.text as Mode)
break

View file

@ -269,6 +269,8 @@ type GlobalSettings = {
terminalCommandDelay?: number | undefined
terminalPowershellCounter?: boolean | undefined
terminalZshClearEolMark?: boolean | undefined
terminalZshOhMy?: boolean | undefined
terminalZshP10k?: boolean | undefined
rateLimitSeconds?: number | undefined
diffEnabled?: boolean | undefined
fuzzyMatchThreshold?: number | undefined

View file

@ -272,6 +272,8 @@ type GlobalSettings = {
terminalCommandDelay?: number | undefined
terminalPowershellCounter?: boolean | undefined
terminalZshClearEolMark?: boolean | undefined
terminalZshOhMy?: boolean | undefined
terminalZshP10k?: boolean | undefined
rateLimitSeconds?: number | undefined
diffEnabled?: boolean | undefined
fuzzyMatchThreshold?: number | undefined

View file

@ -10,6 +10,8 @@ export class Terminal {
private static commandDelay: number = 0
private static powershellCounter: boolean = false
private static terminalZshClearEolMark: boolean = true
private static terminalZshOhMy: boolean = false
private static terminalZshP10k: boolean = false
public terminal: vscode.Terminal
public busy: boolean
@ -311,6 +313,38 @@ export class Terminal {
return Terminal.terminalZshClearEolMark
}
/**
* Sets whether to enable Oh My Zsh shell integration
* @param enabled Whether to enable Oh My Zsh shell integration
*/
public static setTerminalZshOhMy(enabled: boolean): void {
Terminal.terminalZshOhMy = enabled
}
/**
* Gets whether Oh My Zsh shell integration is enabled
* @returns Whether Oh My Zsh shell integration is enabled
*/
public static getTerminalZshOhMy(): boolean {
return Terminal.terminalZshOhMy
}
/**
* Sets whether to enable Powerlevel10k shell integration
* @param enabled Whether to enable Powerlevel10k shell integration
*/
public static setTerminalZshP10k(enabled: boolean): void {
Terminal.terminalZshP10k = enabled
}
/**
* Gets whether Powerlevel10k shell integration is enabled
* @returns Whether Powerlevel10k shell integration is enabled
*/
public static getTerminalZshP10k(): boolean {
return Terminal.terminalZshP10k
}
public static compressTerminalOutput(input: string, lineLimit: number): string {
return truncateOutput(applyRunLengthEncoding(input), lineLimit)
}

View file

@ -117,6 +117,16 @@ export class TerminalRegistry {
VTE_VERSION: "0",
}
// Set Oh My Zsh shell integration if enabled
if (Terminal.getTerminalZshOhMy()) {
env.ITERM_SHELL_INTEGRATION_INSTALLED = "Yes"
}
// Set Powerlevel10k shell integration if enabled
if (Terminal.getTerminalZshP10k()) {
env.POWERLEVEL9K_TERM_SHELL_INTEGRATION = "true"
}
// VSCode bug#237208: Command output can be lost due to a race between completion
// sequences and consumers. Add delay via PROMPT_COMMAND to ensure the
// \x1b]633;D escape sequence arrives after command output is processed.

View file

@ -62,5 +62,47 @@ describe("TerminalRegistry", () => {
Terminal.setCommandDelay(originalDelay)
}
})
it("adds Oh My Zsh integration env var when enabled", () => {
Terminal.setTerminalZshOhMy(true)
try {
TerminalRegistry.createTerminal("/test/path")
expect(mockCreateTerminal).toHaveBeenCalledWith({
cwd: "/test/path",
name: "Roo Code",
iconPath: expect.any(Object),
env: {
PAGER: "cat",
VTE_VERSION: "0",
PROMPT_EOL_MARK: "",
ITERM_SHELL_INTEGRATION_INSTALLED: "Yes",
},
})
} finally {
Terminal.setTerminalZshOhMy(false)
}
})
it("adds Powerlevel10k integration env var when enabled", () => {
Terminal.setTerminalZshP10k(true)
try {
TerminalRegistry.createTerminal("/test/path")
expect(mockCreateTerminal).toHaveBeenCalledWith({
cwd: "/test/path",
name: "Roo Code",
iconPath: expect.any(Object),
env: {
PAGER: "cat",
VTE_VERSION: "0",
PROMPT_EOL_MARK: "",
POWERLEVEL9K_TERM_SHELL_INTEGRATION: "true",
},
})
} finally {
Terminal.setTerminalZshP10k(false)
}
})
})
})

View file

@ -535,6 +535,8 @@ export const globalSettingsSchema = z.object({
terminalCommandDelay: z.number().optional(),
terminalPowershellCounter: z.boolean().optional(),
terminalZshClearEolMark: z.boolean().optional(),
terminalZshOhMy: z.boolean().optional(),
terminalZshP10k: z.boolean().optional(),
rateLimitSeconds: z.number().optional(),
diffEnabled: z.boolean().optional(),
@ -608,6 +610,8 @@ const globalSettingsRecord: GlobalSettingsRecord = {
terminalCommandDelay: undefined,
terminalPowershellCounter: undefined,
terminalZshClearEolMark: undefined,
terminalZshOhMy: undefined,
terminalZshP10k: undefined,
rateLimitSeconds: undefined,
diffEnabled: undefined,

View file

@ -156,6 +156,8 @@ export type ExtensionState = Pick<
| "terminalCommandDelay"
| "terminalPowershellCounter"
| "terminalZshClearEolMark"
| "terminalZshOhMy"
| "terminalZshP10k"
| "diffEnabled"
| "fuzzyMatchThreshold"
// | "experiments" // Optional in GlobalSettings, required here.

View file

@ -85,6 +85,8 @@ export interface WebviewMessage {
| "terminalCommandDelay"
| "terminalPowershellCounter"
| "terminalZshClearEolMark"
| "terminalZshOhMy"
| "terminalZshP10k"
| "mcpEnabled"
| "enableMcpServerCreation"
| "searchCommits"

View file

@ -132,6 +132,8 @@ const SettingsView = forwardRef<SettingsViewRef, SettingsViewProps>(({ onDone, t
terminalCommandDelay,
terminalPowershellCounter,
terminalZshClearEolMark,
terminalZshOhMy,
terminalZshP10k,
writeDelayMs,
showRooIgnoredFiles,
remoteBrowserEnabled,
@ -243,6 +245,8 @@ const SettingsView = forwardRef<SettingsViewRef, SettingsViewProps>(({ onDone, t
vscode.postMessage({ type: "terminalCommandDelay", value: terminalCommandDelay })
vscode.postMessage({ type: "terminalPowershellCounter", bool: terminalPowershellCounter })
vscode.postMessage({ type: "terminalZshClearEolMark", bool: terminalZshClearEolMark })
vscode.postMessage({ type: "terminalZshOhMy", bool: terminalZshOhMy })
vscode.postMessage({ type: "terminalZshP10k", bool: terminalZshP10k })
vscode.postMessage({ type: "mcpEnabled", bool: mcpEnabled })
vscode.postMessage({ type: "alwaysApproveResubmit", bool: alwaysApproveResubmit })
vscode.postMessage({ type: "requestDelaySeconds", value: requestDelaySeconds })
@ -490,6 +494,8 @@ const SettingsView = forwardRef<SettingsViewRef, SettingsViewProps>(({ onDone, t
terminalCommandDelay={terminalCommandDelay}
terminalPowershellCounter={terminalPowershellCounter}
terminalZshClearEolMark={terminalZshClearEolMark}
terminalZshOhMy={terminalZshOhMy}
terminalZshP10k={terminalZshP10k}
setCachedStateField={setCachedStateField}
/>
</div>

View file

@ -16,12 +16,16 @@ type TerminalSettingsProps = HTMLAttributes<HTMLDivElement> & {
terminalCommandDelay?: number
terminalPowershellCounter?: boolean
terminalZshClearEolMark?: boolean
terminalZshOhMy?: boolean
terminalZshP10k?: boolean
setCachedStateField: SetCachedStateField<
| "terminalOutputLineLimit"
| "terminalShellIntegrationTimeout"
| "terminalCommandDelay"
| "terminalPowershellCounter"
| "terminalZshClearEolMark"
| "terminalZshOhMy"
| "terminalZshP10k"
>
}
@ -31,6 +35,8 @@ export const TerminalSettings = ({
terminalCommandDelay,
terminalPowershellCounter,
terminalZshClearEolMark,
terminalZshOhMy,
terminalZshP10k,
setCachedStateField,
className,
...props
@ -131,6 +137,30 @@ export const TerminalSettings = ({
{t("settings:terminal.zshClearEolMark.description")}
</div>
</div>
<div>
<VSCodeCheckbox
checked={terminalZshOhMy ?? false}
onChange={(e: any) => setCachedStateField("terminalZshOhMy", e.target.checked)}
data-testid="terminal-zsh-oh-my-checkbox">
<span className="font-medium">{t("settings:terminal.zshOhMy.label")}</span>
</VSCodeCheckbox>
<div className="text-vscode-descriptionForeground text-sm mt-1">
{t("settings:terminal.zshOhMy.description")}
</div>
</div>
<div>
<VSCodeCheckbox
checked={terminalZshP10k ?? false}
onChange={(e: any) => setCachedStateField("terminalZshP10k", e.target.checked)}
data-testid="terminal-zsh-p10k-checkbox">
<span className="font-medium">{t("settings:terminal.zshP10k.label")}</span>
</VSCodeCheckbox>
<div className="text-vscode-descriptionForeground text-sm mt-1">
{t("settings:terminal.zshP10k.description")}
</div>
</div>
</Section>
</div>
)

View file

@ -158,6 +158,8 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode
renderContext: "sidebar",
maxReadFileLine: 500, // Default max read file line limit
pinnedApiConfigs: {}, // Empty object for pinned API configs
terminalZshOhMy: false, // Default Oh My Zsh integration setting
terminalZshP10k: false, // Default Powerlevel10k integration setting
})
const [didHydrateState, setDidHydrateState] = useState(false)
@ -165,7 +167,6 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode
const [theme, setTheme] = useState<any>(undefined)
const [filePaths, setFilePaths] = useState<string[]>([])
const [openedTabs, setOpenedTabs] = useState<Array<{ label: string; isActive: boolean; path?: string }>>([])
const [mcpServers, setMcpServers] = useState<McpServer[]>([])
const [currentCheckpoint, setCurrentCheckpoint] = useState<string>()

View file

@ -313,6 +313,14 @@
"zshClearEolMark": {
"label": "Neteja la marca EOL de ZSH",
"description": "Quan està habilitat, neteja la marca de final de línia de ZSH establint PROMPT_EOL_MARK=''. Això evita problemes amb la interpretació de la sortida de comandes quan acaba amb caràcters especials com '%'."
},
"zshOhMy": {
"label": "Habilita la integració Oh My Zsh",
"description": "Quan està habilitat, estableix ITERM_SHELL_INTEGRATION_INSTALLED=Yes per habilitar les característiques d'integració del shell Oh My Zsh. (experimental)"
},
"zshP10k": {
"label": "Habilita la integració Powerlevel10k",
"description": "Quan està habilitat, estableix POWERLEVEL9K_TERM_SHELL_INTEGRATION=true per habilitar les característiques d'integració del shell Powerlevel10k. (experimental)"
}
},
"advanced": {

View file

@ -313,6 +313,14 @@
"zshClearEolMark": {
"label": "ZSH-Zeilenende-Markierung löschen",
"description": "Wenn aktiviert, wird die ZSH-Zeilenende-Markierung durch Setzen von PROMPT_EOL_MARK='' gelöscht. Dies verhindert Probleme bei der Interpretation der Befehlsausgabe, wenn diese mit Sonderzeichen wie '%' endet."
},
"zshOhMy": {
"label": "Oh My Zsh-Integration aktivieren",
"description": "Wenn aktiviert, wird ITERM_SHELL_INTEGRATION_INSTALLED=Yes gesetzt, um die Shell-Integrationsfunktionen von Oh My Zsh zu aktivieren. (experimentell)"
},
"zshP10k": {
"label": "Powerlevel10k-Integration aktivieren",
"description": "Wenn aktiviert, wird POWERLEVEL9K_TERM_SHELL_INTEGRATION=true gesetzt, um die Shell-Integrationsfunktionen von Powerlevel10k zu aktivieren. (experimentell)"
}
},
"advanced": {

View file

@ -313,6 +313,14 @@
"zshClearEolMark": {
"label": "Clear ZSH EOL mark",
"description": "When enabled, clears the ZSH end-of-line mark by setting PROMPT_EOL_MARK=''. This prevents issues with command output interpretation when output ends with special characters like '%'."
},
"zshOhMy": {
"label": "Enable Oh My Zsh integration",
"description": "When enabled, sets ITERM_SHELL_INTEGRATION_INSTALLED=Yes to enable Oh My Zsh shell integration features. (experimental)"
},
"zshP10k": {
"label": "Enable Powerlevel10k integration",
"description": "When enabled, sets POWERLEVEL9K_TERM_SHELL_INTEGRATION=true to enable Powerlevel10k shell integration features. (experimental)"
}
},
"advanced": {

View file

@ -313,6 +313,14 @@
"zshClearEolMark": {
"label": "Limpiar marca de fin de línea de ZSH",
"description": "Cuando está habilitado, limpia la marca de fin de línea de ZSH estableciendo PROMPT_EOL_MARK=''. Esto evita problemas con la interpretación de la salida de comandos cuando termina con caracteres especiales como '%'."
},
"zshOhMy": {
"label": "Habilitar integración Oh My Zsh",
"description": "Cuando está habilitado, establece ITERM_SHELL_INTEGRATION_INSTALLED=Yes para habilitar las características de integración del shell Oh My Zsh. (experimental)"
},
"zshP10k": {
"label": "Habilitar integración Powerlevel10k",
"description": "Cuando está habilitado, establece POWERLEVEL9K_TERM_SHELL_INTEGRATION=true para habilitar las características de integración del shell Powerlevel10k. (experimental)"
}
},
"advanced": {

View file

@ -313,6 +313,14 @@
"zshClearEolMark": {
"label": "Effacer la marque de fin de ligne ZSH",
"description": "Lorsqu'activé, efface la marque de fin de ligne ZSH en définissant PROMPT_EOL_MARK=''. Cela évite les problèmes d'interprétation de la sortie des commandes lorsqu'elle se termine par des caractères spéciaux comme '%'."
},
"zshOhMy": {
"label": "Activer l'intégration Oh My Zsh",
"description": "Lorsqu'activé, définit ITERM_SHELL_INTEGRATION_INSTALLED=Yes pour activer les fonctionnalités d'intégration du shell Oh My Zsh. (expérimental)"
},
"zshP10k": {
"label": "Activer l'intégration Powerlevel10k",
"description": "Lorsqu'activé, définit POWERLEVEL9K_TERM_SHELL_INTEGRATION=true pour activer les fonctionnalités d'intégration du shell Powerlevel10k. (expérimental)"
}
},
"advanced": {

View file

@ -313,6 +313,14 @@
"zshClearEolMark": {
"label": "ZSH EOL मार्क साफ़ करें",
"description": "सक्षम होने पर, PROMPT_EOL_MARK='' सेट करके ZSH लाइन-समाप्ति मार्क को साफ़ करता है। यह कमांड आउटपुट की व्याख्या में समस्याओं को रोकता है जब आउटपुट '%' जैसे विशेष वर्णों के साथ समाप्त होता है।"
},
"zshOhMy": {
"label": "Oh My Zsh एकीकरण सक्षम करें",
"description": "सक्षम होने पर, Oh My Zsh शेल एकीकरण सुविधाओं को सक्षम करने के लिए ITERM_SHELL_INTEGRATION_INSTALLED=Yes सेट करता है। (प्रयोगात्मक)"
},
"zshP10k": {
"label": "Powerlevel10k एकीकरण सक्षम करें",
"description": "सक्षम होने पर, Powerlevel10k शेल एकीकरण सुविधाओं को सक्षम करने के लिए POWERLEVEL9K_TERM_SHELL_INTEGRATION=true सेट करता है। (प्रयोगात्मक)"
}
},
"advanced": {

View file

@ -313,6 +313,14 @@
"zshClearEolMark": {
"label": "Cancella marcatore fine riga ZSH",
"description": "Quando abilitato, cancella il marcatore di fine riga ZSH impostando PROMPT_EOL_MARK=''. Questo previene problemi con l'interpretazione dell'output dei comandi quando termina con caratteri speciali come '%'."
},
"zshOhMy": {
"label": "Abilita integrazione Oh My Zsh",
"description": "Quando abilitato, imposta ITERM_SHELL_INTEGRATION_INSTALLED=Yes per abilitare le funzionalità di integrazione della shell Oh My Zsh. (sperimentale)"
},
"zshP10k": {
"label": "Abilita integrazione Powerlevel10k",
"description": "Quando abilitato, imposta POWERLEVEL9K_TERM_SHELL_INTEGRATION=true per abilitare le funzionalità di integrazione della shell Powerlevel10k. (sperimentale)"
}
},
"advanced": {

View file

@ -313,6 +313,14 @@
"zshClearEolMark": {
"label": "ZSH行末マークをクリア",
"description": "有効にすると、PROMPT_EOL_MARK=''を設定してZSHの行末マークをクリアします。これにより、'%'などの特殊文字で終わるコマンド出力の解釈に関する問題を防ぎます。"
},
"zshOhMy": {
"label": "Oh My Zsh 統合を有効化",
"description": "有効にすると、ITERM_SHELL_INTEGRATION_INSTALLED=Yes を設定して Oh My Zsh シェル統合機能を有効にします。(実験的)"
},
"zshP10k": {
"label": "Powerlevel10k 統合を有効化",
"description": "有効にすると、POWERLEVEL9K_TERM_SHELL_INTEGRATION=true を設定して Powerlevel10k シェル統合機能を有効にします。(実験的)"
}
},
"advanced": {

View file

@ -313,6 +313,14 @@
"zshClearEolMark": {
"label": "ZSH 줄 끝 표시 지우기",
"description": "활성화하면 PROMPT_EOL_MARK=''를 설정하여 ZSH 줄 끝 표시를 지웁니다. 이는 '%'와 같은 특수 문자로 끝나는 명령 출력 해석의 문제를 방지합니다."
},
"zshOhMy": {
"label": "Oh My Zsh 통합 활성화",
"description": "활성화하면 ITERM_SHELL_INTEGRATION_INSTALLED=Yes를 설정하여 Oh My Zsh 셸 통합 기능을 활성화합니다. (실험적)"
},
"zshP10k": {
"label": "Powerlevel10k 통합 활성화",
"description": "활성화하면 POWERLEVEL9K_TERM_SHELL_INTEGRATION=true를 설정하여 Powerlevel10k 셸 통합 기능을 활성화합니다. (실험적)"
}
},
"advanced": {

View file

@ -313,6 +313,14 @@
"zshClearEolMark": {
"label": "Wyczyść znacznik końca linii ZSH",
"description": "Po włączeniu czyści znacznik końca linii ZSH poprzez ustawienie PROMPT_EOL_MARK=''. Zapobiega to problemom z interpretacją wyjścia poleceń, gdy kończy się ono znakami specjalnymi jak '%'."
},
"zshOhMy": {
"label": "Włącz integrację Oh My Zsh",
"description": "Po włączeniu ustawia ITERM_SHELL_INTEGRATION_INSTALLED=Yes, aby włączyć funkcje integracji powłoki Oh My Zsh. (eksperymentalne)"
},
"zshP10k": {
"label": "Włącz integrację Powerlevel10k",
"description": "Po włączeniu ustawia POWERLEVEL9K_TERM_SHELL_INTEGRATION=true, aby włączyć funkcje integracji powłoki Powerlevel10k. (eksperymentalne)"
}
},
"advanced": {

View file

@ -313,6 +313,14 @@
"zshClearEolMark": {
"label": "Limpar marca de fim de linha do ZSH",
"description": "Quando ativado, limpa a marca de fim de linha do ZSH definindo PROMPT_EOL_MARK=''. Isso evita problemas com a interpretação da saída de comandos quando termina com caracteres especiais como '%'."
},
"zshOhMy": {
"label": "Ativar integração Oh My Zsh",
"description": "Quando ativado, define ITERM_SHELL_INTEGRATION_INSTALLED=Yes para habilitar os recursos de integração do shell Oh My Zsh. (experimental)"
},
"zshP10k": {
"label": "Ativar integração Powerlevel10k",
"description": "Quando ativado, define POWERLEVEL9K_TERM_SHELL_INTEGRATION=true para habilitar os recursos de integração do shell Powerlevel10k. (experimental)"
}
},
"advanced": {

View file

@ -313,6 +313,14 @@
"zshClearEolMark": {
"label": "ZSH satır sonu işaretini temizle",
"description": "Etkinleştirildiğinde, PROMPT_EOL_MARK='' ayarlanarak ZSH satır sonu işaretini temizler. Bu, '%' gibi özel karakterlerle biten komut çıktılarının yorumlanmasında sorun yaşanmasını önler."
},
"zshOhMy": {
"label": "Oh My Zsh entegrasyonunu etkinleştir",
"description": "Etkinleştirildiğinde, Oh My Zsh kabuk entegrasyon özelliklerini etkinleştirmek için ITERM_SHELL_INTEGRATION_INSTALLED=Yes ayarlar. (deneysel)"
},
"zshP10k": {
"label": "Powerlevel10k entegrasyonunu etkinleştir",
"description": "Etkinleştirildiğinde, Powerlevel10k kabuk entegrasyon özelliklerini etkinleştirmek için POWERLEVEL9K_TERM_SHELL_INTEGRATION=true ayarlar. (deneysel)"
}
},
"advanced": {

View file

@ -313,6 +313,14 @@
"zshClearEolMark": {
"label": "Xóa dấu cuối dòng ZSH",
"description": "Khi được bật, xóa dấu cuối dòng ZSH bằng cách đặt PROMPT_EOL_MARK=''. Điều này ngăn chặn các vấn đề về diễn giải đầu ra lệnh khi kết thúc bằng các ký tự đặc biệt như '%'."
},
"zshOhMy": {
"label": "Bật tích hợp Oh My Zsh",
"description": "Khi được bật, đặt ITERM_SHELL_INTEGRATION_INSTALLED=Yes để kích hoạt các tính năng tích hợp shell của Oh My Zsh. (thử nghiệm)"
},
"zshP10k": {
"label": "Bật tích hợp Powerlevel10k",
"description": "Khi được bật, đặt POWERLEVEL9K_TERM_SHELL_INTEGRATION=true để kích hoạt các tính năng tích hợp shell của Powerlevel10k. (thử nghiệm)"
}
},
"advanced": {

View file

@ -313,6 +313,14 @@
"zshClearEolMark": {
"label": "清除 ZSH 行尾标记",
"description": "启用后,通过设置 PROMPT_EOL_MARK='' 清除 ZSH 行尾标记。这可以防止命令输出以特殊字符(如 '%')结尾时的解析问题。"
},
"zshOhMy": {
"label": "启用 Oh My Zsh 集成",
"description": "启用后,设置 ITERM_SHELL_INTEGRATION_INSTALLED=Yes 以启用 Oh My Zsh shell 集成功能。(实验性)"
},
"zshP10k": {
"label": "启用 Powerlevel10k 集成",
"description": "启用后,设置 POWERLEVEL9K_TERM_SHELL_INTEGRATION=true 以启用 Powerlevel10k shell 集成功能。(实验性)"
}
},
"advanced": {

View file

@ -313,6 +313,14 @@
"zshClearEolMark": {
"label": "清除 ZSH 行尾標記",
"description": "啟用後,透過設定 PROMPT_EOL_MARK='' 清除 ZSH 行尾標記。這可以防止命令輸出以特殊字元(如 '%')結尾時的解析問題。"
},
"zshOhMy": {
"label": "啟用 Oh My Zsh 整合",
"description": "啟用後,設定 ITERM_SHELL_INTEGRATION_INSTALLED=Yes 以啟用 Oh My Zsh shell 整合功能。(實驗性)"
},
"zshP10k": {
"label": "啟用 Powerlevel10k 整合",
"description": "啟用後,設定 POWERLEVEL9K_TERM_SHELL_INTEGRATION=true 以啟用 Powerlevel10k shell 整合功能。(實驗性)"
}
},
"advanced": {