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)