jgm / skylighting

A Haskell syntax highlighting library with tokenizers derived from KDE syntax highlighting descriptions
194 stars 62 forks source link

Tokenizer errors don't work #31

Closed jgm closed 6 years ago

jgm commented 6 years ago

because ExceptT monads are instances of MonadPlus!

Prelude Control.Monad.Except> runExcept $ throwError "hi" `mplus` return "low"
Right "low"

Since we use msum, matchers that raise errors are just silently skipped (e.g. IncludeRules when there's no matching syntax or context).