Skip to content

Commit 55ca842

Browse files
authored
Merge branch 'master' into emoji-completions
2 parents c4fc6a4 + f7bed77 commit 55ca842

File tree

2 files changed

+12
-14
lines changed

2 files changed

+12
-14
lines changed

src/requests/completions.jl

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -181,13 +181,15 @@ function collect_completions(m::SymbolServer.ModuleStore, spartial, state::Compl
181181
if state.server.completion_mode === :import
182182
# These are non-exported names and require the insertion of a :using statement.
183183
# We need to insert this statement at the start of the current top-level scope (e.g. Main or a module) and tag it onto existing :using statements if possible.
184-
cmd = Command("Apply text edit", "language-julia.applytextedit", [
185-
WorkspaceEdit(missing, [textedit_to_insert_using_stmt(m, n, state)])
186-
])
187-
ci = CompletionItem(n, _completion_kind(v), missing, "This is an unexported symbol and will be explicitly imported.", MarkupContent(sanitize_docstring(v.doc)), missing, missing, missing, missing, missing, InsertTextFormats.PlainText, texteditfor(state, spartial, n), missing, missing, cmd, "import")
184+
ci = CompletionItem(n, _completion_kind(v), missing, "This is an unexported symbol and will be explicitly imported.",
185+
MarkupContent(sanitize_docstring(v.doc)), missing, missing, missing, missing, missing, InsertTextFormats.PlainText,
186+
texteditfor(state, spartial, n), textedit_to_insert_using_stmt(m, n, state), missing, missing, "import")
188187
add_completion_item(state, ci)
189188
elseif state.server.completion_mode === :qualify
190-
add_completion_item(state, CompletionItem(string(m.name, ".", n), _completion_kind(v), missing, "This is an unexported symbol and will be explicitly imported.", MarkupContent(sanitize_docstring(v.doc)), missing, missing, string(n), missing, missing, InsertTextFormats.PlainText, texteditfor(state, spartial, string(m.name, ".", n)), missing, missing, missing, missing))
189+
add_completion_item(state, CompletionItem(string(m.name, ".", n), _completion_kind(v), missing,
190+
missing, MarkupContent(sanitize_docstring(v.doc)), missing,
191+
missing, string(n), missing, missing, InsertTextFormats.PlainText, texteditfor(state, spartial, string(m.name, ".", n)),
192+
missing, missing, missing, missing))
191193
end
192194
end
193195
end
@@ -509,29 +511,25 @@ function textedit_to_insert_using_stmt(m::SymbolServer.ModuleStore, n::String, s
509511
(using_stmt, (using_doc, using_offset)) = state.using_stmts[String(m.name.name)]
510512

511513
l, c = get_position_at(using_doc, using_offset + using_stmt.span)
512-
TextDocumentEdit(VersionedTextDocumentIdentifier(using_doc._uri, using_doc._version),
513-
[TextEdit(Range(l, c, l, c), ", $n")])
514+
return [TextEdit(Range(l, c, l, c), ", $n")]
514515
elseif tls !== nothing
515516
if tls.expr.head === :file
516517
# Insert at the head of the file
517518
tlsdoc, offset1 = get_file_loc(tls.expr)
518-
TextDocumentEdit(VersionedTextDocumentIdentifier(tlsdoc._uri, tlsdoc._version),
519-
[TextEdit(Range(0, 0, 0, 0), "using $(m.name): $(n)\n")])
519+
return [TextEdit(Range(0, 0, 0, 0), "using $(m.name): $(n)\n")]
520520
elseif tls.expr.head === :module
521521
# Insert at start of module
522522
tlsdoc, offset1 = get_file_loc(tls.expr)
523523
offset2 = tls.expr.trivia[1].fullspan + tls.expr.args[2].fullspan
524524
l, c = get_position_at(tlsdoc, offset1 + offset2)
525525

526-
TextDocumentEdit(VersionedTextDocumentIdentifier(tlsdoc._uri, tlsdoc._version),
527-
[TextEdit(Range(l, c, l, c), "using $(m.name): $(n)\n")])
526+
return [TextEdit(Range(l, c, l, c), "using $(m.name): $(n)\n")]
528527
else
529528
error()
530529
end
531530
else
532531
# Fallback, add it to the start of the current file.
533-
TextDocumentEdit(VersionedTextDocumentIdentifier(state.doc._uri, state.doc._version),
534-
[TextEdit(Range(0, 0, 0, 0), "using $(m.name): $(n)\n")])
532+
return [TextEdit(Range(0, 0, 0, 0), "using $(m.name): $(n)\n")]
535533
end
536534
end
537535

src/requests/init.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
function ServerCapabilities(client::ClientCapabilities)
2-
prepareSupport = !ismissing(client.textDocument.rename) && client.textDocument.rename.prepareSupport === true
2+
prepareSupport = !ismissing(client.textDocument) && !ismissing(client.textDocument.rename) && client.textDocument.rename.prepareSupport === true
33

44
ServerCapabilities(
55
TextDocumentSyncOptions(true,

0 commit comments

Comments
 (0)