From 890567e27e7b00fb913302bfed15c727a70b7662 Mon Sep 17 00:00:00 2001 From: electricface Date: Wed, 17 Apr 2024 12:20:03 +0800 Subject: [PATCH] fix getSymbolsForCompletion raise exception should first check if the range `beforeTokens` is empty. --- src/dcd/server/autocomplete/util.d | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/dcd/server/autocomplete/util.d b/src/dcd/server/autocomplete/util.d index 2f618f46..976e4a17 100644 --- a/src/dcd/server/autocomplete/util.d +++ b/src/dcd/server/autocomplete/util.d @@ -147,7 +147,8 @@ SymbolStuff getSymbolsForCompletion(const AutocompleteRequest request, auto expression = getExpression(beforeTokens); auto symbols = getSymbolsByTokenChain(pair.scope_, expression, request.cursorPosition, type); - if (symbols.length == 0 && doUFCSSearch(stringToken(beforeTokens.front), stringToken(beforeTokens.back))) { + if (symbols.length == 0 && !beforeTokens.empty && + doUFCSSearch(stringToken(beforeTokens.front), stringToken(beforeTokens.back))) { // Let search for UFCS, since we got no hit symbols ~= getSymbolsByTokenChain(pair.scope_, getExpression([beforeTokens.back]), request.cursorPosition, type); }