From 81674583557cad1961afea53e29f4d11665e0001 Mon Sep 17 00:00:00 2001 From: ryuukk <44361234+ryuukk@users.noreply.github.com> Date: Mon, 13 Nov 2023 20:42:31 +0100 Subject: [PATCH 1/3] Add the symbol definition to the doc response if 'extended' is passed to the client --- src/dcd/client/client.d | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/dcd/client/client.d b/src/dcd/client/client.d index e0be61d5..d97ad8dc 100644 --- a/src/dcd/client/client.d +++ b/src/dcd/client/client.d @@ -250,7 +250,7 @@ int runClient(string[] args) else if (getIdentifier) printIdentifierResponse(response); else if (doc) - printDocResponse(response); + printDocResponse(response, fullOutput); else if (search !is null) printSearchResponse(response); else if (localUse) @@ -359,10 +359,14 @@ Socket createSocket(string socketFile, ushort port) return socket; } -void printDocResponse(ref const AutocompleteResponse response) +void printDocResponse(ref const AutocompleteResponse response, bool extended) { - import std.algorithm : each; - response.completions.each!(a => a.documentation.escapeConsoleOutputString(true).writeln); + foreach (ref completion; response.completions) + { + if (extended) + writeln(completion.definition); + writeln(completion.documentation.escapeConsoleOutputString(true)); + } } void printIdentifierResponse(ref const AutocompleteResponse response) From 669790a4022d754ba13cb0b15f8f07d40793eb0b Mon Sep 17 00:00:00 2001 From: ryuukk <44361234+ryuukk@users.noreply.github.com> Date: Mon, 13 Nov 2023 20:43:30 +0100 Subject: [PATCH 2/3] Build proper symbol definition so client can consume it in extended mode --- src/dcd/server/autocomplete/doc.d | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dcd/server/autocomplete/doc.d b/src/dcd/server/autocomplete/doc.d index 060ba30a..c3dbc1db 100644 --- a/src/dcd/server/autocomplete/doc.d +++ b/src/dcd/server/autocomplete/doc.d @@ -62,7 +62,7 @@ public AutocompleteResponse getDoc(const AutocompleteRequest request, continue; firstSymbol = false; - AutocompleteResponse.Completion c; + AutocompleteResponse.Completion c = makeSymbolCompletionInfo(symbol, symbol.kind); c.documentation = symbol.doc; response.completions ~= c; } From d4cf74cd9f4bd95c3e3aa606fc5306a6ae1cd16f Mon Sep 17 00:00:00 2001 From: ryuukk <44361234+ryuukk@users.noreply.github.com> Date: Mon, 13 Nov 2023 20:46:17 +0100 Subject: [PATCH 3/3] Fix indentation --- src/dcd/client/client.d | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/dcd/client/client.d b/src/dcd/client/client.d index d97ad8dc..bd619d98 100644 --- a/src/dcd/client/client.d +++ b/src/dcd/client/client.d @@ -362,11 +362,11 @@ Socket createSocket(string socketFile, ushort port) void printDocResponse(ref const AutocompleteResponse response, bool extended) { foreach (ref completion; response.completions) - { - if (extended) - writeln(completion.definition); - writeln(completion.documentation.escapeConsoleOutputString(true)); - } + { + if (extended) + writeln(completion.definition); + writeln(completion.documentation.escapeConsoleOutputString(true)); + } } void printIdentifierResponse(ref const AutocompleteResponse response)