Skip to content

Commit 521e898

Browse files
committed
Don't show fig information for aliases
Fixes #239425
1 parent 5379028 commit 521e898

File tree

6 files changed

+13
-3
lines changed

6 files changed

+13
-3
lines changed

extensions/terminal-suggest/src/shell/bash.ts

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ async function getAliases(options: ExecOptionsWithStringEncoding): Promise<IComp
3737
label: match.groups.alias,
3838
detail: match.groups.resolved,
3939
kind: vscode.TerminalCompletionItemKind.Alias,
40+
definition: match.groups.resolved.substring(0, match.groups.resolved.indexOf(' ')),
4041
});
4142
}
4243
return result;

extensions/terminal-suggest/src/shell/fish.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ async function getAliases(options: ExecOptionsWithStringEncoding): Promise<IComp
2727
// session, for the same reason this would not include aliases that are created
2828
// by simply running `alias ...` in the terminal.
2929
const aliasOutput = await spawnHelper('fish', ['-ic', 'alias'], options);
30-
3130
const result: ICompletionResource[] = [];
3231
for (const line of aliasOutput.split('\n')) {
3332
const match = line.match(/^alias (?<alias>[a-zA-Z0-9\.:-]+) (?<resolved>.+)$/);
@@ -38,6 +37,7 @@ async function getAliases(options: ExecOptionsWithStringEncoding): Promise<IComp
3837
label: match.groups.alias,
3938
detail: match.groups.resolved,
4039
kind: vscode.TerminalCompletionItemKind.Alias,
40+
definition: match.groups.resolved.substring(0, match.groups.resolved.indexOf(' ')),
4141
});
4242
}
4343
return result;

extensions/terminal-suggest/src/shell/pwsh.ts

+1
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ async function getAliases(options: ExecOptionsWithStringEncoding, existingComman
8282
kind: (isAlias
8383
? vscode.TerminalCompletionItemKind.Alias
8484
: vscode.TerminalCompletionItemKind.Method),
85+
definition: (isAlias && e.Definition ? e.Definition : undefined)
8586
};
8687
});
8788
}

extensions/terminal-suggest/src/shell/zsh.ts

+1
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ async function getAliases(options: ExecOptionsWithStringEncoding): Promise<IComp
3737
label: match.groups.alias,
3838
detail: match.groups.resolved,
3939
kind: vscode.TerminalCompletionItemKind.Alias,
40+
definition: match.groups.resolved.substring(0, match.groups.resolved.indexOf(' ')),
4041
});
4142
}
4243
return result;

extensions/terminal-suggest/src/terminalSuggestMain.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -249,14 +249,16 @@ export async function getCompletionItemsFromSpecs(
249249
}
250250

251251
for (const specLabel of specLabels) {
252-
const availableCommand = availableCommands.find(command => command.label === specLabel);
252+
const availableCommand = availableCommands.find(command => specLabel === (command.definition ?? command.label));
253253
if (!availableCommand || (token && token.isCancellationRequested)) {
254254
continue;
255255
}
256256

257257
// push it to the completion items
258258
if (tokenType === TokenType.Command) {
259-
items.push(createCompletionItem(terminalContext.cursorPosition, prefix, { label: specLabel }, getDescription(spec), availableCommand.detail));
259+
if (availableCommand.kind !== vscode.TerminalCompletionItemKind.Alias) {
260+
items.push(createCompletionItem(terminalContext.cursorPosition, prefix, { label: specLabel }, getDescription(spec), availableCommand.detail));
261+
}
260262
continue;
261263
}
262264

extensions/terminal-suggest/src/types.ts

+5
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ import * as vscode from 'vscode';
77

88
export interface ICompletionResource {
99
label: string;
10+
/**
11+
* The definition of the completion, this will be the resolved value of an
12+
* alias completion.
13+
*/
14+
definition?: string;
1015
detail?: string;
1116
kind?: vscode.TerminalCompletionItemKind;
1217
}

0 commit comments

Comments
 (0)