@@ -10,19 +10,18 @@ class RsenseProvider
1010 @rsenseClient = new RsenseClient ()
1111
1212
13- requestHandler : (options ) ->
13+ getSuggestions : (request ) ->
1414 return new Promise (resolve ) =>
15- row = options . cursor . getBufferRow ()
16- col = options . cursor . getBufferColumn ()
15+ row = request . bufferPosition . row
16+ col = request . bufferPosition . column
1717
18- prefix = options .editor .getTextInBufferRange ([[row ,0 ],[row, col]])
18+ prefix = request .editor .getTextInBufferRange ([[row ,0 ],[row, col]])
1919 [... , prefix ] = prefix .split (/ [ ()] / )
2020 unless prefix then resolve ([])
21- options .prefix = prefix
2221
23- completions = @rsenseClient .checkCompletion (options . editor ,
24- options . buffer , row, col, options . prefix , ( completions ) =>
25- suggestions = @ findSuggestions ( options . prefix , completions)
22+ completions = @rsenseClient .checkCompletion (prefix, ( completions ) =>
23+ suggestions = @ findSuggestions ( prefix, completions)
24+ console . log suggestions
2625 return resolve () unless suggestions ? .length
2726 return resolve (suggestions)
2827 )
@@ -35,8 +34,8 @@ class RsenseProvider
3534 [word , spec ] = completion .name .trim ().split (" @" )
3635 argTypes = null
3736 ret = null ;
38- if ! word || ! word[0 ] then continue
39- if word[0 ] == word[0 ].toUpperCase () then ret = " Module"
37+ if ! word || ! word[0 ] then continue
38+ if word[0 ] == word[0 ].toUpperCase () then [ ret , isModule ] = [ " Module" , true ]
4039 label = completion .spec
4140 if spec
4241 specs = spec .replace (/ ^ \w + / ," " )
@@ -61,6 +60,12 @@ class RsenseProvider
6160 snippet : if one then prefix + word else word
6261 prefix : if one then prefix else last
6362 label : if ret then ret else " any"
63+ type : if module then " method" else
64+ if func then " function" else
65+ " variable"
66+ description : spec || ret
67+ excludeLowerPriority : true
68+
6469 suggestions .push (suggestion)
6570 return suggestions
6671 return []
0 commit comments