Skip to content
This repository has been archived by the owner on Jul 15, 2023. It is now read-only.

Commit

Permalink
Use more icons in autocomplete box
Browse files Browse the repository at this point in the history
  • Loading branch information
cezarsa committed Oct 3, 2018
1 parent efdf064 commit 91d5ff0
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions src/goSuggest.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,20 @@ import { getTextEditForAddImport } from './goImport';
import { getImportablePackages } from './goPackages';
import { isModSupported } from './goModules';

function vscodeKindFromGoCodeClass(kind: string): vscode.CompletionItemKind {
function vscodeKindFromGoCodeClass(kind: string, type: string): vscode.CompletionItemKind {
switch (kind) {
case 'const':
return vscode.CompletionItemKind.Constant;
case 'package':
return vscode.CompletionItemKind.Module;
case 'type':
return vscode.CompletionItemKind.Class;
switch (type) {
case 'struct':
return vscode.CompletionItemKind.Class;
case 'interface':
return vscode.CompletionItemKind.Interface;
}
return vscode.CompletionItemKind.Struct;
case 'func':
return vscode.CompletionItemKind.Function;
case 'var':
Expand Down Expand Up @@ -75,7 +81,7 @@ export class GoCompletionItemProvider implements vscode.CompletionItemProvider {
let memberType = nextLine.match(exportedMemberRegex);
let suggestionItem: vscode.CompletionItem;
if (memberType && memberType.length === 4) {
suggestionItem = new vscode.CompletionItem(memberType[3], vscodeKindFromGoCodeClass(memberType[1]));
suggestionItem = new vscode.CompletionItem(memberType[3], vscodeKindFromGoCodeClass(memberType[1], ''));
}
return resolve(suggestionItem ? [suggestionItem] : []);
}
Expand Down Expand Up @@ -218,7 +224,7 @@ export class GoCompletionItemProvider implements vscode.CompletionItemProvider {
for (let suggest of results[1]) {
if (inString && suggest.class !== 'import') continue;
let item = new vscode.CompletionItem(suggest.name);
item.kind = vscodeKindFromGoCodeClass(suggest.class);
item.kind = vscodeKindFromGoCodeClass(suggest.class, suggest.type);
item.detail = suggest.type;
if (inString && suggest.class === 'import') {
item.textEdit = new vscode.TextEdit(
Expand Down

0 comments on commit 91d5ff0

Please sign in to comment.