mirror of
https://github.com/github/semantic.git
synced 2024-12-22 06:11:49 +03:00
Add a function to take a range & substring & continue.
This commit is contained in:
parent
9e4071eb35
commit
be9e4c7a01
@ -20,6 +20,7 @@ rangesAndWordsFrom startIndex string = case break (not . isWord) string of
|
||||
([], rest) | (whitespace, rest) <- break isWord rest -> rangesAndWordsFrom (startIndex + length whitespace) rest
|
||||
(word, rest) -> (Range startIndex $ startIndex + length word, word) : case break isWord rest of (whitespace, rest) -> rangesAndWordsFrom (startIndex + length word + length whitespace) rest
|
||||
where
|
||||
takeAndContinue (parsed, rest) = (Range startIndex $ startIndex + length parsed, parsed) : rangesAndWordsFrom (startIndex + length parsed) rest
|
||||
parse predicate string = case span predicate string of
|
||||
([], _) -> Nothing
|
||||
(parsed, rest) -> Just (parsed, rest)
|
||||
|
Loading…
Reference in New Issue
Block a user