From b7c0ca6ee5d44b240d8932d16b7888367d4031b2 Mon Sep 17 00:00:00 2001 From: Pepe Iborra Date: Tue, 26 Jan 2021 20:48:50 +0000 Subject: [PATCH] Fix a bad case of boolean blindness --- ghcide/src/Development/IDE/Plugin/HLS.hs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/ghcide/src/Development/IDE/Plugin/HLS.hs b/ghcide/src/Development/IDE/Plugin/HLS.hs index f00d5f9362..b11913136b 100644 --- a/ghcide/src/Development/IDE/Plugin/HLS.hs +++ b/ghcide/src/Development/IDE/Plugin/HLS.hs @@ -472,10 +472,17 @@ makeCompletions sps lf ideState params@(CompletionParams (TextDocumentIdentifier consumeCompletionResponse :: Int -> CompletionResponseResult -> (Int, CompletionResponseResult) consumeCompletionResponse limit it@(CompletionList (CompletionListType _ (List xx))) = case splitAt limit xx of + -- consumed all the items, return the result as is (_, []) -> (limit - length xx, it) - (xx', _) -> (0, CompletionList (CompletionListType False (List xx'))) + -- need to crop the response, set the 'isIncomplete' flag + (xx', _) -> (0, CompletionList (CompletionListType isIncompleteResponse (List xx'))) consumeCompletionResponse n (Completions (List xx)) = - consumeCompletionResponse n (CompletionList (CompletionListType False (List xx))) + consumeCompletionResponse n (CompletionList (CompletionListType isCompleteResponse (List xx))) + +-- boolean disambiguators +isCompleteResponse, isIncompleteResponse :: Bool +isIncompleteResponse = True +isCompleteResponse = False getPrefixAtPos :: LSP.LspFuncs Config -> Uri -> Position -> IO (Maybe VFS.PosPrefixInfo) getPrefixAtPos lf uri pos = do