2020-04-21 00:52:29 +00:00
## Syntax highlighting for Haskell files.
## Original author: Alex Taber
## License: GPL version 3
syntax "haskell" "\.hs$"
comment "--"
# Keywords
color red "\<(as|case|of|class|data|default|deriving|do|forall|foreign|hiding|if|then|else|import|infix(l|r)?|instance|let|in|mdo|module|newtype|qualified|type|where)\>"
# Various symbols
2020-04-21 10:47:08 +00:00
color cyan "\||@|!|:|_|~|=|\\|;|\(\)|,|\[|\]|\{|\}"
2020-04-21 00:52:29 +00:00
# Operators
2020-04-21 10:47:08 +00:00
color magenta "==|/=|&&|\|\||<|>|<=|>="
2020-04-21 00:52:29 +00:00
# More symbols
2020-04-21 10:47:08 +00:00
color cyan "->|<-|=>"
2020-04-21 00:52:29 +00:00
color magenta "\.|\$"
# Data constructors
color magenta "\<(True|False|Nothing|Just|Left|Right|LT|EQ|GT)\>"
# Data classes
color magenta "\<(Bounded|Data|Enum|Eq|Floating|Fractional|Functor|Integral|Monad|MonadPlus|Num|Ord|Read|Real|RealFloat|RealFrac|Show|Typeable)\>"
# Special keyword
color brightred "undefined"
# Strings
color yellow ""([^\"]|\\.)*""
# Characters
color brightyellow "'([^\']|\\.)'"
# Comments
color green "--.*"
color green start="\{-" end="-\}"
# Trailing whitespace
color ,green "[[:space:]]+$"