diff --git a/src/vs/code/node/cli.ts b/src/vs/code/node/cli.ts index 0c2429c97e0..35f7aa4a4f2 100644 --- a/src/vs/code/node/cli.ts +++ b/src/vs/code/node/cli.ts @@ -71,6 +71,8 @@ export async function main(argv: string[]): Promise { case 'pwsh': file = 'shellIntegration.ps1'; break; // Usage: `[[ "$TERM_PROGRAM" == "vscode" ]] && . "$(code --locate-shell-integration-path zsh)"` case 'zsh': file = 'shellIntegration-rc.zsh'; break; + // Usage: `string match -q "$TERM_PROGRAM" "vscode"; and . (code --locate-shell-integration-path fish)` + case 'fish': file = 'shellIntegration-fish.fish'; break; default: throw new Error('Error using --locate-shell-integration-path: Invalid shell type'); } console.log(join(dirname(FileAccess.asFileUri('', require)).fsPath, 'out', 'vs', 'workbench', 'contrib', 'terminal', 'browser', 'media', file)); diff --git a/src/vs/platform/environment/node/argv.ts b/src/vs/platform/environment/node/argv.ts index 1728cfec19a..06936cc458b 100644 --- a/src/vs/platform/environment/node/argv.ts +++ b/src/vs/platform/environment/node/argv.ts @@ -128,7 +128,7 @@ export const OPTIONS: OptionDescriptions> = { 'logsPath': { type: 'string' }, '__enable-file-policy': { type: 'boolean' }, 'editSessionId': { type: 'string' }, - 'locate-shell-integration-path': { type: 'string', args: ['bash', 'pwsh', 'zsh'] }, + 'locate-shell-integration-path': { type: 'string', args: ['bash', 'pwsh', 'zsh', 'fish'] }, // chromium flags 'no-proxy-server': { type: 'boolean' }, diff --git a/src/vs/server/node/server.cli.ts b/src/vs/server/node/server.cli.ts index 650552d798d..ad43803a4bf 100644 --- a/src/vs/server/node/server.cli.ts +++ b/src/vs/server/node/server.cli.ts @@ -144,6 +144,8 @@ export async function main(desc: ProductDescription, args: string[]): Promise