From dd761e8321cc6d94f452b4c4e3e51b6417bc5751 Mon Sep 17 00:00:00 2001 From: Patrick Aldis Date: Tue, 3 Mar 2026 16:42:20 +0000 Subject: [PATCH] Highlighting doesnt crash on failed parse --- datalog-lsp/src/Datalog/LSP/Highlight.hs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/datalog-lsp/src/Datalog/LSP/Highlight.hs b/datalog-lsp/src/Datalog/LSP/Highlight.hs index 3050634..ba8a34f 100644 --- a/datalog-lsp/src/Datalog/LSP/Highlight.hs +++ b/datalog-lsp/src/Datalog/LSP/Highlight.hs @@ -18,9 +18,10 @@ tokenHandler :: Handlers (LspM ()) tokenHandler = requestHandler SMethod_TextDocumentSemanticTokensFull $ \req responder -> do c <- virtualFileText . fromJust <$> getVirtualFile (toNormalizedUri $ req ^. docUri) let - parsedProgram = fromRight (error "") $ runParser parseProgram "" c - absTokens = highlightProg parsedProgram - tokens = fromRight (error "")$ makeSemanticTokens defaultSemanticTokensLegend absTokens + absTokens = case runParser parseProgram "" c of + Left _ -> [] + Right prog -> highlightProg prog + tokens = fromRight (error "") $ makeSemanticTokens defaultSemanticTokensLegend absTokens responder (Right $ InL tokens)