Bogdan Popa <bogdan@defn.io>
This package provides an implementation of a JSON lexer and pretty printer, suitable for implementing text highlighting and formatting functionality.
procedure
[ #:partial-strings?partial-strings?]) → lexer?in:input-port?
'#s(token lsqbrace "[" "[" 1 0 1)
'#s(token number "1" 1 1 1 2)
'#s(token comma "," "," 1 2 3)
'#s(token whitespace " " " " 1 3 4)
'#s(token number "2" 2 1 4 5)
'#s(token comma "," "," 1 5 6)
'#s(token whitespace " " " " 1 6 7)
'#s(token keyword "true" #t 1 7 8)
'#s(token comma "," "," 1 11 12)
'#s(token whitespace " " " " 1 12 13)
'#s(token lcubrace "{" "{" 1 13 14)
'#s(token rcubrace "}" "}" 1 14 15)
'#s(token rsqbrace "]" "]" 1 15 16)
procedure
( lexer-peek l)→token?
l:lexer?
procedure
( lexer-take l)→token?
l:lexer?
procedure
( pretty-print-json in[out#:widthwidth])→void?
The width parameter controls the number of spaces used per indentation depth.
[
1,
2,
{},
{
"a": 1.5e+10,
"b": []
}
]
1 2 3 [] [
"\u03bbambda"
]