Highlighting doesnt crash on failed parse

This commit is contained in:
Patrick Aldis 2026-03-03 16:42:20 +00:00
parent eac62e4198
commit dd761e8321

View File

@ -18,8 +18,9 @@ tokenHandler :: Handlers (LspM ())
tokenHandler = requestHandler SMethod_TextDocumentSemanticTokensFull $ \req responder -> do tokenHandler = requestHandler SMethod_TextDocumentSemanticTokensFull $ \req responder -> do
c <- virtualFileText . fromJust <$> getVirtualFile (toNormalizedUri $ req ^. docUri) c <- virtualFileText . fromJust <$> getVirtualFile (toNormalizedUri $ req ^. docUri)
let let
parsedProgram = fromRight (error "") $ runParser parseProgram "" c absTokens = case runParser parseProgram "" c of
absTokens = highlightProg parsedProgram Left _ -> []
Right prog -> highlightProg prog
tokens = fromRight (error "") $ makeSemanticTokens defaultSemanticTokensLegend absTokens tokens = fromRight (error "") $ makeSemanticTokens defaultSemanticTokensLegend absTokens
responder (Right $ InL tokens) responder (Right $ InL tokens)