| 1149 | } |
| 1150 | |
| 1151 | function resolveShellArgs(shell) { |
| 1152 | const value = String(shell || '').toLowerCase() |
| 1153 | if (IS_WINDOWS) { |
| 1154 | if (value === 'cmd' || value === 'cmd.exe') return ['/D', '/K', 'chcp 65001 >nul'] |
| 1155 | if (value === 'powershell' || value === 'powershell.exe') { |
| 1156 | const init = '$OutputEncoding=[Text.UTF8Encoding]::UTF8; [Console]::InputEncoding=[Text.UTF8Encoding]::UTF8; [Console]::OutputEncoding=[Text.UTF8Encoding]::UTF8; chcp 65001 > $null' |
| 1157 | return ['-NoLogo', '-NoExit', '-Command', init] |
| 1158 | } |
| 1159 | return [] |
| 1160 | } |
| 1161 | |
| 1162 | if (value.endsWith('zsh')) return ['-l'] |
| 1163 | if (value.endsWith('bash')) return ['--login'] |
| 1164 | return [] |
| 1165 | } |
| 1166 | |
| 1167 | function resolveCwd(cwd) { |
| 1168 | if (!cwd) return process.cwd() |