2module Parser(Out(..), html) where
8 | QuoteStart | QuoteEnd
9 | AttribsStart | AttribsEnd
11 | TagComment | TagOpen | TagClose | TagOpenClose
14is lower upper x = x >= lower && x <= upper
15isName1 x = x == ':' || x == '_' || is 'a' 'z' x || is 'A' 'Z' x
16isName x = isName1 x || x == '-' || x == '.' || is '0' '9' x
17isSpace x = x == ' ' || x == '\t' || x == '\r' || x == '\n'
19whitespace = many $ match isSpace
30 lit "=" `choice` abort "Expected = in attribute but missing"
37 lit [x] `choice` abort ("Couldn't find closing attribute quote (expected " ++ [x] ++ ")")
42 ,abort "Invalid attribute, expected quote (either ' or \")"]
52 let name_ = name `choice` abort "Missing tag name"
56 -- FIXME: Not correct!!!
71 (lit "/>" >> out TagOpenClose)
72 (lit ">" >> out TagOpen)
76html = many $ choice tag $ match $ const True
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list