| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Vgrep.Parser
Contents
- parseGrepOutput :: [Text] -> [FileLineReference]
- parseLine :: Text -> Maybe FileLineReference
- data FileLineReference
Parsing grep output
parseGrepOutput :: [Text] -> [FileLineReference] Source #
Parses lines of Text, skipping lines that are not valid grep
output.
parseLine :: Text -> Maybe FileLineReference Source #
Parses a line of grep output. Returns Nothing if the line cannot
be parsed.
The output should consist of a file name, line number and the content, separated by colons:
>>>parseLine "path/to/file:123:foobar"Just (FileLineReference {getFile = File {getFileName = "path/to/file"}, getLineReference = LineReference {getLineNumber = Just 123, getLineText = "foobar"}})
Omitting the line number still produces valid output:
>>>parseLine "path/to/file:foobar"Just (FileLineReference {getFile = File {getFileName = "path/to/file"}, getLineReference = LineReference {getLineNumber = Nothing, getLineText = "foobar"}})
However, an file name must be present:
>>>parseLine "foobar"Nothing
Re-export
data FileLineReference Source #
Instances