From 36e22c99a160affab0707ef514e57a1a558702d0 Mon Sep 17 00:00:00 2001 From: Ryan Westlund Date: Mon, 20 Apr 2020 20:52:29 -0400 Subject: [PATCH] syntax: haskell: new file -- coloring rules for Haskell programs Adapted from the original coloring rules by Alex Taber found at: https://github.com/scopatz/nanorc/blob/master/haskell.nanorc Signed-off-by: Ryan Westlund --- syntax/extra/haskell.nanorc | 40 +++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 syntax/extra/haskell.nanorc diff --git a/syntax/extra/haskell.nanorc b/syntax/extra/haskell.nanorc new file mode 100644 index 00000000..037e7fa4 --- /dev/null +++ b/syntax/extra/haskell.nanorc @@ -0,0 +1,40 @@ +## 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 +color cyan "(\||@|!|:|_|~|=|\\|;|\(\)|,|\[|\]|\{|\})" + +# Operators +color magenta "(==|/=|&&|\|\||<|>|<=|>=)" + +# More symbols +color cyan "(->|<-|=>)" +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:]]+$"