pretty printer for moonbit
{
"import": [
"Yoorkin/prettyprinter"
]
}let map = {
"name": ["John", "Mike"], "age": ["15","18"], "id": ["11109121","2000012312"]
}
map |> @prettyprinter.render() |> println(){
"name": ["John", "Mike"],
"age": ["15", "18"],
"id": ["11109121", "2000012312"]
}impl Pretty for FixedArray[A]let x : FixedArray[_] = [1, 2, 3]
inspect!(
pretty(x),
content="[1, 2, 3]",
)
inspect!(
render(x, width=5),
content=
#|[
#| 1,
#| 2,
#| 3
#|]
,
)let user : Json = {
"name": "John Doe",
"age": 30,
"is_student": false,
"grades": [100, 90, 80],
"address": { "street": "123 Main St", "city": "Springfield", "state": "IL" },
}
inspect!(
pretty(user),
content=
#|{
#| "name": John Doe,
#| "age": 30,
#| "is_student": false,
#| "grades": [100, 90, 80],
#| "address": {"street": 123 Main St, "city": Springfield, "state": IL}
#|}
,
)let score : Map[String, Int] = {
"player1": 1009,
"player2": 200,
"player3": 30,
"player4": 999999999,
"player5": 999999999,
}
inspect!(
pretty(score),
content=
#|{
#| "player1": 1009,
#| "player2": 200,
#| "player3": 30,
#| "player4": 999999999,
#| "player5": 999999999
#|}
,
)type Documentinspect!(braces(text("doc")), content="{doc}")inspect!(brackets(text("doc")), content="[doc]")let words = [
"The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog",
]
let doc = words.map(fn(x){text(x) + space}) |> flow()
inspect!(doc, content="The quick brown fox jumps over the lazy dog ")
inspect!(
render(doc, width=10),
content=
#|The quick brown
#|fox jumps over
#|the lazy dog
,
)render(text("hello") + nest(hardline + text("world")))
|> inspect!(
content=
#|hello
#| world
,
)inspect!(parens(text("doc")), content="(doc)")let sep = text("-")
let docs = [text("Hello"), text("World"), text("!")]
separate(sep, docs).pretty() |> inspect!(content="Hello-World-!")let doc = separate_map(text(","), [1,2,3], pretty)
inspect!(doc, content="1,2,3") inspect!(string("Hello, World!"), content="\"Hello, World!\"")inspect!(surround(char('['), char(']'), text("doc")), content="[doc]")