@@ -113,7 +113,7 @@ function latex_completions(partial::String, state::CompletionState)
113113 for (k, v) in Iterators. flatten ((REPL. REPLCompletions. latex_symbols, REPL. REPLCompletions. emoji_symbols))
114114 if is_completion_match (string (k), partial)
115115 # t1 = TextEdit(Range(state.doc, (state.offset - sizeof(partial)):state.offset), v)
116- add_completion_item (state, CompletionItem (k, CompletionItemKinds. Unit, missing , v, v, missing , missing , missing , missing , missing , missing , texteditfor (state, partial, v), missing , missing , missing , missing ))
116+ add_completion_item (state, CompletionItem (k, CompletionItemKinds. Unit, missing , v, v, missing , missing , missing , missing , missing , missing , texteditfor (state, partial, v), missing , missing , missing , missing , missing ))
117117 end
118118 end
119119end
@@ -123,7 +123,7 @@ function kw_completion(partial::String, state::CompletionState)
123123 for (kw, comp) in snippet_completions
124124 if startswith (kw, partial)
125125 kind = occursin (" \$ 0" , comp) ? CompletionItemKinds. Snippet : CompletionItemKinds. Keyword
126- add_completion_item (state, CompletionItem (kw, kind, missing , missing , kw, missing , missing , missing , missing , missing , InsertTextFormats. Snippet, texteditfor (state, partial, comp), missing , missing , missing , missing ))
126+ add_completion_item (state, CompletionItem (kw, kind, missing , missing , kw, missing , missing , missing , missing , missing , InsertTextFormats. Snippet, texteditfor (state, partial, comp), missing , missing , missing , missing , missing ))
127127 end
128128 end
129129end
@@ -325,15 +325,15 @@ function collect_completions(m::SymbolServer.ModuleStore, spartial, state::Compl
325325 foreach (possible_names) do n
326326 ci = CompletionItem (n, _completion_kind (v), missing , " This is an unexported symbol and will be explicitly imported." ,
327327 MarkupContent (sanitize_docstring (v. doc)), missing , missing , missing , missing , missing , InsertTextFormats. PlainText,
328- texteditfor (state, spartial, n), textedit_to_insert_using_stmt (m, canonical_name, state), missing , missing , " import" )
328+ texteditfor (state, spartial, n), textedit_to_insert_using_stmt (m, canonical_name, state), missing , missing , " import" , missing )
329329 add_completion_item (state, ci)
330330 end
331331 elseif state. server. completion_mode === :qualify
332332 foreach (possible_names) do n
333333 add_completion_item (state, CompletionItem (string (m. name, " ." , n), _completion_kind (v), missing ,
334334 missing , MarkupContent (sanitize_docstring (v. doc)), missing ,
335335 missing , string (n), missing , missing , InsertTextFormats. PlainText, texteditfor (state, spartial, string (m. name, " ." , n)),
336- missing , missing , missing , missing ))
336+ missing , missing , missing , missing , missing ))
337337 end
338338 end
339339 end
@@ -383,12 +383,13 @@ function collect_completions(x::StaticLint.Scope, spartial, state::CompletionSta
383383 end
384384 if length (possible_names) > 0
385385 documentation = " "
386- if n[2 ] isa StaticLint. Binding
387- documentation = get_tooltip (n[2 ], documentation, state. server)
388- sanitize_docstring (documentation)
386+ b = n[2 ]
387+ if b isa StaticLint. Binding
388+ documentation = get_tooltip (b, documentation, state. server)
389+ documentation = sanitize_docstring (documentation)
389390 end
390391 foreach (possible_names) do nn
391- add_completion_item (state, CompletionItem (nn, _completion_kind (n[ 2 ] ), get_typed_definition (n[ 2 ] ), MarkupContent (documentation), texteditfor (state, spartial, nn)))
392+ add_completion_item (state, CompletionItem (nn, _completion_kind (b ), get_typed_definition (b), _completion_details_label (b ), MarkupContent (documentation), texteditfor (state, spartial, nn)))
392393 end
393394 end
394395 end
@@ -417,14 +418,14 @@ function _get_dot_completion(px::EXPR, spartial, state::CompletionState)
417418 for a in refof (px). type. fieldnames
418419 a = String (a)
419420 if is_completion_match (a, spartial)
420- add_completion_item (state, CompletionItem (a, CompletionItemKinds. Method, get_typed_definition (a), MarkupContent (a), texteditfor (state, spartial, a)))
421+ add_completion_item (state, CompletionItem (a, CompletionItemKinds. Method, get_typed_definition (a), _completion_details_label (a), MarkupContent (a), texteditfor (state, spartial, a)))
421422 end
422423 end
423424 elseif refof (px). type isa StaticLint. Binding && refof (px). type. val isa SymbolServer. DataTypeStore
424425 for a in refof (px). type. val. fieldnames
425426 a = String (a)
426427 if is_completion_match (a, spartial)
427- add_completion_item (state, CompletionItem (a, CompletionItemKinds. Method, get_typed_definition (a), MarkupContent (a), texteditfor (state, spartial, a)))
428+ add_completion_item (state, CompletionItem (a, CompletionItemKinds. Method, get_typed_definition (a), _completion_details_label (a), MarkupContent (a), texteditfor (state, spartial, a)))
428429 end
429430 end
430431 elseif refof (px). type isa StaticLint. Binding && refof (px). type. val isa EXPR && CSTParser. defines_struct (refof (px). type. val) && scopeof (refof (px). type. val) isa StaticLint. Scope
@@ -464,7 +465,14 @@ function _completion_kind(b)
464465 end
465466end
466467
467-
468+ function _completion_details_label (b)
469+ if b isa StaticLint. Binding
470+ if b. is_public
471+ return CompletionItemLabelDetails (" (public)" , get_typed_definition (b))
472+ end
473+ end
474+ return missing
475+ end
468476
469477function get_import_root (x:: EXPR )
470478 if CSTParser. isoperator (headof (x. args[1 ])) && valof (headof (x. args[1 ])) == " :"
0 commit comments