diff --git a/src/Parser/JSON.md b/src/Parser/JSON.md index faca235..453177a 100644 --- a/src/Parser/JSON.md +++ b/src/Parser/JSON.md @@ -198,3 +198,14 @@ array = do let (types ** xs) = DList.fromList (first :: rest) pure $ VArray xs ``` + +```idris +string = do + _ <- parseExactChar '"' + -- TODO: Handle control characters properly + e1 <- parseError "Expected non-quote, got quote" + e2 <- parseError "End of input" + contents <- parseString . many $ parseCharE (not . (== '"')) (\_ => e1) e2 + _ <- parseExactChar '"' + pure $ VString contents +```