1// pest. The Elegant Parser
2// Copyright (c) 2018 Dragoș Tiselice
3//
4// Licensed under the Apache License, Version 2.0
5// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT
6// license <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
7// option. All files in the project carrying such notice may not be copied,
8// modified, or distributed except according to those terms.
9
10item = { (!"\n" ~ ANY)* }
11
12lists        = _{ lines ~ EOI }
13lines        = _{ top_first ~ ("\n" ~ top_continue)* }
14top_first    = _{ "- " ~ item ~ ("\n" ~ children)? }
15top_continue = _{ PEEK_ALL ~ "- " ~ item ~ ("\n" ~ children)? }
16
17indentation = _{ (" " | "\t")+ }
18children    =  { PEEK_ALL ~ PUSH(indentation) ~ lines ~ DROP }
19