-
Notifications
You must be signed in to change notification settings - Fork 0
/
convert-kind.js
70 lines (54 loc) · 2.26 KB
/
convert-kind.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
const { ScriptElementKind } = require('typescript');
const { CompletionItemKind } = require('vscode');
/**
* @param {ScriptElementKind} kind
*/
function convertKind(kind) {
switch (kind) {
case ScriptElementKind.primitiveType:
case ScriptElementKind.keyword:
return CompletionItemKind.Keyword;
case ScriptElementKind.constElement:
case ScriptElementKind.letElement:
case ScriptElementKind.variableElement:
case ScriptElementKind.localVariableElement:
case ScriptElementKind.alias:
case ScriptElementKind.parameterElement:
return CompletionItemKind.Variable;
case ScriptElementKind.memberVariableElement:
case ScriptElementKind.memberGetAccessorElement:
case ScriptElementKind.memberSetAccessorElement:
return CompletionItemKind.Field;
case ScriptElementKind.functionElement:
case ScriptElementKind.localFunctionElement:
return CompletionItemKind.Function;
case ScriptElementKind.memberFunctionElement:
case ScriptElementKind.constructSignatureElement:
case ScriptElementKind.callSignatureElement:
case ScriptElementKind.indexSignatureElement:
return CompletionItemKind.Method;
case ScriptElementKind.enumElement:
return CompletionItemKind.Enum;
case ScriptElementKind.enumMemberElement:
return CompletionItemKind.EnumMember;
case ScriptElementKind.moduleElement:
case ScriptElementKind.externalModuleName:
return CompletionItemKind.Module;
case ScriptElementKind.classElement:
case ScriptElementKind.typeElement:
return CompletionItemKind.Class;
case ScriptElementKind.interfaceElement:
return CompletionItemKind.Interface;
case ScriptElementKind.warning:
return CompletionItemKind.Text;
case ScriptElementKind.scriptElement:
return CompletionItemKind.File;
case ScriptElementKind.directory:
return CompletionItemKind.Folder;
case ScriptElementKind.string:
return CompletionItemKind.Constant;
default:
return CompletionItemKind.Property;
}
}
module.exports = { convertKind };