@@ -10,7 +10,7 @@ import { getInterfaces } from './project/exportInterfaces';
10
10
import Parser from '../../../../language/parser' ;
11
11
12
12
const completionKind = {
13
- function : CompletionItemKind . Function ,
13
+ function : CompletionItemKind . Interface ,
14
14
struct : CompletionItemKind . Struct
15
15
} ;
16
16
@@ -127,7 +127,7 @@ export default async function completionItemProvider(handler: CompletionParams):
127
127
} else {
128
128
const expandScope = ( localCache : Cache ) => {
129
129
for ( const subItem of localCache . parameters ) {
130
- const item = CompletionItem . create ( ` ${ subItem . name } ` ) ;
130
+ const item = CompletionItem . create ( subItem . name ) ;
131
131
item . kind = CompletionItemKind . TypeParameter ;
132
132
item . insertText = subItem . name ;
133
133
item . detail = [ `parameter` , prettyKeywords ( subItem . keyword ) ] . join ( ` ` ) ;
@@ -136,8 +136,8 @@ export default async function completionItemProvider(handler: CompletionParams):
136
136
}
137
137
138
138
for ( const procedure of localCache . procedures ) {
139
- const item = CompletionItem . create ( ` ${ procedure . name } ` ) ;
140
- item . kind = CompletionItemKind . Function ;
139
+ const item = CompletionItem . create ( procedure . name ) ;
140
+ item . kind = procedure . prototype ? CompletionItemKind . Interface : CompletionItemKind . Function ;
141
141
item . insertTextFormat = InsertTextFormat . Snippet ;
142
142
item . insertText = `${ procedure . name } (${ procedure . subItems . map ( ( parm , index ) => `\${${ index + 1 } :${ parm . name } }` ) . join ( `:` ) } )` ;
143
143
item . detail = prettyKeywords ( procedure . keyword ) ;
@@ -146,41 +146,41 @@ export default async function completionItemProvider(handler: CompletionParams):
146
146
}
147
147
148
148
for ( const subroutine of localCache . subroutines ) {
149
- const item = CompletionItem . create ( ` ${ subroutine . name } ` ) ;
149
+ const item = CompletionItem . create ( subroutine . name ) ;
150
150
item . kind = CompletionItemKind . Function ;
151
- item . insertText = ` ${ subroutine . name } ` ;
151
+ item . insertText = subroutine . name ;
152
152
item . documentation = subroutine . description ;
153
153
items . push ( item ) ;
154
154
}
155
155
156
156
for ( const variable of localCache . variables ) {
157
- const item = CompletionItem . create ( ` ${ variable . name } ` ) ;
157
+ const item = CompletionItem . create ( variable . name ) ;
158
158
item . kind = CompletionItemKind . Variable ;
159
- item . insertText = ` ${ variable . name } ` ;
159
+ item . insertText = variable . name ;
160
160
item . detail = prettyKeywords ( variable . keyword ) ;
161
161
item . documentation = variable . description ;
162
162
items . push ( item ) ;
163
163
}
164
164
165
165
localCache . files . forEach ( file => {
166
- const item = CompletionItem . create ( ` ${ file . name } ` ) ;
166
+ const item = CompletionItem . create ( file . name ) ;
167
167
item . kind = CompletionItemKind . File ;
168
- item . insertText = ` ${ file . name } ` ;
168
+ item . insertText = file . name ;
169
169
item . detail = prettyKeywords ( file . keyword ) ;
170
170
item . documentation = file . description ;
171
171
items . push ( item ) ;
172
172
173
173
for ( const struct of file . subItems ) {
174
- const item = CompletionItem . create ( ` ${ struct . name } ` ) ;
174
+ const item = CompletionItem . create ( struct . name ) ;
175
175
item . kind = CompletionItemKind . Struct ;
176
- item . insertText = ` ${ struct . name } ` ;
176
+ item . insertText = struct . name ;
177
177
item . detail = prettyKeywords ( struct . keyword ) ;
178
178
item . documentation = struct . description ;
179
179
items . push ( item ) ;
180
180
181
181
if ( ! struct . keyword [ `QUALIFIED` ] ) {
182
182
struct . subItems . forEach ( ( subItem : Declaration ) => {
183
- const item = CompletionItem . create ( ` ${ subItem . name } ` ) ;
183
+ const item = CompletionItem . create ( subItem . name ) ;
184
184
item . kind = CompletionItemKind . Property ;
185
185
item . insertText = `${ subItem . name } ` ;
186
186
item . detail = prettyKeywords ( subItem . keyword ) ;
@@ -192,16 +192,16 @@ export default async function completionItemProvider(handler: CompletionParams):
192
192
} ) ;
193
193
194
194
for ( const struct of localCache . structs ) {
195
- const item = CompletionItem . create ( ` ${ struct . name } ` ) ;
195
+ const item = CompletionItem . create ( struct . name ) ;
196
196
item . kind = CompletionItemKind . Struct ;
197
- item . insertText = ` ${ struct . name } ` ;
197
+ item . insertText = struct . name ;
198
198
item . detail = prettyKeywords ( struct . keyword ) ;
199
199
item . documentation = struct . description ;
200
200
items . push ( item ) ;
201
201
202
202
if ( ! struct . keyword [ `QUALIFIED` ] ) {
203
203
struct . subItems . forEach ( ( subItem : Declaration ) => {
204
- const item = CompletionItem . create ( ` ${ subItem . name } ` ) ;
204
+ const item = CompletionItem . create ( subItem . name ) ;
205
205
item . kind = CompletionItemKind . Property ;
206
206
item . insertText = `${ subItem . name } ` ;
207
207
item . detail = prettyKeywords ( subItem . keyword ) ;
@@ -212,16 +212,16 @@ export default async function completionItemProvider(handler: CompletionParams):
212
212
}
213
213
214
214
for ( const constant of localCache . constants ) {
215
- const item = CompletionItem . create ( ` ${ constant . name } ` ) ;
215
+ const item = CompletionItem . create ( constant . name ) ;
216
216
item . kind = CompletionItemKind . Constant ;
217
- item . insertText = ` ${ constant . name } ` ;
217
+ item . insertText = constant . name ;
218
218
item . detail = prettyKeywords ( constant . keyword ) ;
219
219
item . documentation = constant . description ;
220
220
items . push ( item ) ;
221
221
222
222
if ( ! constant . keyword [ `QUALIFIED` ] ) {
223
223
constant . subItems . forEach ( ( subItem : Declaration ) => {
224
- const item = CompletionItem . create ( ` ${ subItem . name } ` ) ;
224
+ const item = CompletionItem . create ( subItem . name ) ;
225
225
item . kind = CompletionItemKind . Property ;
226
226
item . insertText = `${ subItem . name } ` ;
227
227
item . detail = prettyKeywords ( subItem . keyword ) ;
@@ -244,7 +244,7 @@ export default async function completionItemProvider(handler: CompletionParams):
244
244
// So if the user is in the middle of a statement, then they still exist in the subItems
245
245
else if ( currentProcedure . subItems . length > 0 ) {
246
246
for ( const subItem of currentProcedure . subItems ) {
247
- const item = CompletionItem . create ( ` ${ subItem . name } ` ) ;
247
+ const item = CompletionItem . create ( subItem . name ) ;
248
248
item . kind = CompletionItemKind . TypeParameter ;
249
249
item . insertText = subItem . name ;
250
250
item . detail = [ `parameter` , prettyKeywords ( subItem . keyword ) ] . join ( ` ` ) ;
0 commit comments