@@ -12,10 +12,10 @@ local function buildSource(uri, source, key, results)
1212 local name = source [1 ]
1313 if matchKey (key , name ) then
1414 results [# results + 1 ] = {
15- name = name ,
16- kind = define .SymbolKind .Variable ,
17- uri = uri ,
18- range = { source . start , source . finish } ,
15+ name = name ,
16+ skind = define .SymbolKind .Variable ,
17+ ckind = define . CompletionItemKind . Variable ,
18+ source = source ,
1919 }
2020 end
2121 elseif source .type == ' setfield'
@@ -24,21 +24,21 @@ local function buildSource(uri, source, key, results)
2424 local name = field and field [1 ]
2525 if name and matchKey (key , name ) then
2626 results [# results + 1 ] = {
27- name = name ,
28- kind = define .SymbolKind .Field ,
29- uri = uri ,
30- range = { field . start , field . finish } ,
27+ name = name ,
28+ skind = define .SymbolKind .Field ,
29+ ckind = define . CompletionItemKind . Field ,
30+ source = field ,
3131 }
3232 end
3333 elseif source .type == ' setmethod' then
3434 local method = source .method
3535 local name = method and method [1 ]
3636 if name and matchKey (key , name ) then
3737 results [# results + 1 ] = {
38- name = name ,
39- kind = define .SymbolKind .Method ,
40- uri = uri ,
41- range = { method . start , method . finish } ,
38+ name = name ,
39+ skind = define .SymbolKind .Method ,
40+ ckind = define . CompletionItemKind . Method ,
41+ source = method ,
4242 }
4343 end
4444 end
@@ -63,19 +63,22 @@ local function searchGlobalAndClass(key, results)
6363 local name = global :getCodeName ()
6464 if matchKey (key , name ) then
6565 for _ , set in ipairs (global :getAllSets ()) do
66- local kind
66+ local skind , ckind
6767 if set .type == ' doc.class' then
68- kind = define .SymbolKind .Class
68+ skind = define .SymbolKind .Class
69+ ckind = define .CompletionItemKind .Class
6970 elseif set .type == ' doc.alias' then
70- kind = define .SymbolKind .Namespace
71+ skind = define .SymbolKind .Struct
72+ ckind = define .CompletionItemKind .Struct
7173 else
72- kind = define .SymbolKind .Variable
74+ skind = define .SymbolKind .Variable
75+ ckind = define .CompletionItemKind .Variable
7376 end
7477 results [# results + 1 ] = {
75- name = name ,
76- kind = kind ,
77- uri = guide . getUri ( set ) ,
78- range = { set . start , set . finish } ,
78+ name = name ,
79+ skind = skind ,
80+ ckind = ckind ,
81+ source = set ,
7982 }
8083 end
8184 await .delay ()
@@ -113,10 +116,10 @@ local function searchClassField(key, results)
113116 return
114117 end
115118 results [# results + 1 ] = {
116- name = class .. ' .' .. keyName ,
117- kind = define .SymbolKind .Field ,
118- uri = guide . getUri ( field ) ,
119- range = { field . start , field . finish } ,
119+ name = class .. ' .' .. keyName ,
120+ skind = define .SymbolKind .Field ,
121+ ckind = define . SymbolKind . Field ,
122+ source = field ,
120123 }
121124 end )
122125end
@@ -135,12 +138,14 @@ local function searchWords(key, results)
135138end
136139
137140--- @async
138- return function (key )
141+ return function (key , includeWords )
139142 local results = {}
140143
141144 searchGlobalAndClass (key , results )
142145 searchClassField (key , results )
143- searchWords (key , results )
146+ if includeWords then
147+ searchWords (key , results )
148+ end
144149
145150 return results
146151end
0 commit comments