# Author : Mikhail S. Pobolovets # Language : cabal # # haskell.syntax is taken as base # caseinsensitive context default # cabal keywords # reserved keywords: #comments keyword -- brown # unused symbols keyword whole _\[0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\] magenta # known fields keyword whole \[\s\]author cyan keyword whole \[\s\]bug-reports cyan keyword whole \[\s\]buildable cyan keyword whole \[\s\]build-depends cyan keyword whole \[\s\]build-tools cyan keyword whole \[\s\]build-type cyan keyword whole \[\s\]cabal-version cyan keyword whole \[\s\]category cyan keyword whole \[\s\]cc-options cyan keyword whole \[\s\]copyright cyan keyword whole \[\s\]cpp-options cyan keyword whole \[\s\]c-sources cyan keyword whole \[\s\]data-dir cyan keyword whole \[\s\]data-files cyan keyword whole \[\s\]default-language cyan keyword whole \[\s\]default cyan keyword whole \[\s\]description cyan keyword whole \[\s\]exposed-modules cyan keyword whole \[\s\]exposed cyan keyword whole \[\s\]extensions cyan keyword whole \[\s\]extra-lib-dirs cyan keyword whole \[\s\]extra-libraries cyan keyword whole \[\s\]extra-source-files cyan keyword whole \[\s\]extra-tmp-files cyan keyword whole \[\s\]frameworks cyan keyword whole \[\s\]ghc-options cyan keyword whole \[\s\]ghc-prof-options cyan keyword whole \[\s\]ghc-shared-options cyan keyword whole \[\s\]homepage cyan keyword whole \[\s\]hs-source-dirs cyan keyword whole \[\s\]hugs-options cyan keyword whole \[\s\]include-dirs cyan keyword whole \[\s\]includes cyan keyword whole \[\s\]install-includes cyan keyword whole \[\s\]jhc-options cyan keyword whole \[\s\]ld-options cyan keyword whole \[\s\]license-file cyan keyword whole \[\s\]license cyan keyword whole \[\s\]location cyan keyword whole \[\s\]main-is cyan keyword whole \[\s\]maintainer cyan keyword whole \[\s\]name cyan keyword whole \[\s\]nhc98-options cyan keyword whole \[\s\]other-extensions cyan keyword whole \[\s\]other-modules cyan keyword whole \[\s\]package-url cyan keyword whole \[\s\]pkgconfig-depends cyan keyword whole \[\s\]source-repository cyan keyword whole \[\s\]stability cyan keyword whole \[\s\]synopsis cyan keyword whole \[\s\]tag cyan keyword whole \[\s\]tested-with cyan keyword whole \[\s\]type cyan keyword whole \[\s\]version cyan # extended fields keyword whole x\-\[\-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\] cyan # version wildcard keyword whole -any red # commandline keys keyword whole -\[\-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz_0123456789\] brightred # known extensions keyword whole Arrows brightmagenta keyword whole BangPatterns brightmagenta keyword whole ConstrainedClassMethods brightmagenta keyword whole DeriveDataTypeable brightmagenta keyword whole DisambiguateRecordFields brightmagenta keyword whole EmptyDataDecls brightmagenta keyword whole CPP brightmagenta keyword whole ExistentialQuantification brightmagenta keyword whole ExtendedDefaultRules brightmagenta keyword whole ExtensibleRecords brightmagenta keyword whole FlexibleContexts brightmagenta keyword whole FlexibleInstances brightmagenta keyword whole ForeignFunctionInterface brightmagenta keyword whole FunctionalDependencies brightmagenta keyword whole GADTs brightmagenta keyword whole GeneralizedNewtypeDeriving brightmagenta keyword whole Generics brightmagenta keyword whole HereDocuments brightmagenta keyword whole ImplicitParams brightmagenta keyword whole ImpredicativeTypes brightmagenta keyword whole IncoherentInstances brightmagenta keyword whole KindSignatures brightmagenta keyword whole LiberalTypeSynonyms brightmagenta keyword whole MagicHash brightmagenta keyword whole MultiParamTypeClasses brightmagenta keyword whole NamedFieldPuns brightmagenta keyword whole NewQualifiedOperators brightmagenta keyword whole NoImplicitPrelude brightmagenta keyword whole NoMonomorphismRestriction brightmagenta keyword whole NoMonoPatBinds brightmagenta keyword whole OverlappingInstances brightmagenta keyword whole OverloadedStrings brightmagenta keyword whole PackageImports brightmagenta keyword whole ParallelListComp brightmagenta keyword whole PatternGuards brightmagenta keyword whole PatternSignatures brightmagenta keyword whole PolymorphicComponents brightmagenta keyword whole PostfixOperators brightmagenta keyword whole QuasiQuotes brightmagenta keyword whole Rank2Types brightmagenta keyword whole RankNTypes brightmagenta keyword whole RecordPuns brightmagenta keyword whole RecordWildCards brightmagenta keyword whole RecursiveDo brightmagenta keyword whole RelaxedPolyRec brightmagenta keyword whole RestrictedTypeSynonyms brightmagenta keyword whole ScopedTypeVariables brightmagenta keyword whole StandaloneDeriving brightmagenta keyword whole TemplateHaskell brightmagenta keyword whole TransformListComp brightmagenta keyword whole TypeFamilies brightmagenta keyword whole TypeOperators brightmagenta keyword whole TypeSynonymInstances brightmagenta keyword whole UnboxedTuples brightmagenta keyword whole UndecidableInstances brightmagenta keyword whole UnicodeSyntax brightmagenta keyword whole UnliftedFFITypes brightmagenta keyword whole ViewPatterns brightmagenta # links keyword http://+ gray keyword ftp://+ gray keyword git://+ gray keyword cvs://+ gray keyword svn://+ gray keyword darcs://+ gray # special text inside of <>, i.e. emails keyword \<+\> red # build types with '\s & \n' hack to remove too stupid highlighting keyword whole Configure\s white keyword whole Configure\n white keyword whole Custom\s white keyword whole Custom\n white keyword whole Make\s white keyword whole Make\n white keyword whole Simple\n white keyword whole Simple\s white # licenses keyword whole AllRightsReserved white keyword whole OtherLicense white keyword whole PublicDomain white keyword whole LGPL white keyword whole GPL white keyword whole LGPL2 white keyword whole GPL2 white keyword whole LGPL3 white keyword whole GPL3 white keyword whole BSD white keyword whole BSD3 white keyword whole BSD4 white keyword whole MIT white # compilers keyword whole GHC white keyword whole NHC white keyword whole JHC white keyword whole HBC white keyword whole Helium white keyword whole Hugs white # special keywords keyword whole True white keyword whole False white keyword whole if white keyword whole else white keyword whole os white keyword whole impl white keyword whole arch white keyword whole linestart \[\s\]executable yellow keyword whole linestart \[\s\]library yellow keyword whole linestart \[\s\]test-suite yellow keyword whole flag yellow keyword whole repo yellow # unboxed (started from upcase) # keyword whole \{ABCDEFGHIJKLMNOPQRSTUVWXYZ\}\[0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\]# white # types/modules # keyword whole \{ABCDEFGHIJKLMNOPQRSTUVWXYZ\}\[0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\] white #digits keyword whole 0\{xX\}\{0123456789abcdefABCDEF\}\[0123456789abcdefABCDEF\] brightgreen keyword whole \{0123456789\}\[0123456789\] brightgreen keyword whole \[0123456789\]\.\{0123456789\}\[0123456789\] brightgreen keyword whole \{0123456789\}\[0123456789\]\.\[0123456789\] brightgreen keyword whole \{0123456789\}\[0123456789\]\{eE\}\{0123456789\}\[0123456789\] brightgreen keyword whole \{0123456789\}\[0123456789\]\{eE\}\{\-\+\}\{0123456789\}\[0123456789\] brightgreen keyword whole \{0123456789\}\[0123456789\]\.\{0123456789\}\[0123456789\]\{eE\}\{0123456789\}\[0123456789\] brightgreen keyword whole \{0123456789\}\[0123456789\]\.\{0123456789\}\[0123456789\]\{eE\}\{\-\+\}\{0123456789\}\[0123456789\] brightgreen # some punctuation characters keyword whole $ yellow keyword whole ! white keyword whole && white keyword whole \* yellow keyword whole \+ yellow keyword whole / yellow keyword whole ^ white keyword whole || white keyword whole | white keyword ~ white keyword , brightcyan keyword - yellow keyword : brightcyan keyword ; yellow keyword = yellow keyword < yellow keyword > yellow keyword { white keyword } white keyword [ brightcyan keyword ] brightcyan keyword ( brightcyan keyword ) brightcyan # comments context exclusive {- -} brown spellcheck context exclusive // \n brown spellcheck context exclusive \-\- \n brown spellcheck context " " green spellcheck keyword \\" brightgreen keyword %% brightgreen keyword %\[#0\s-\+,\]\[0123456789\*\]\[.\]\[0123456789\*\]\[L\]\{eEfgGoxX\} brightgreen keyword %\[0\s-\+,\]\[0123456789\*\]\[.\]\[0123456789\*\]\[hl\]\{diuxX\} brightgreen keyword %\[hl\]n brightgreen keyword %\[-\]\[0123456789\*\]\[.\]\[0123456789\*\]s brightgreen keyword %[*] brightgreen keyword %c brightgreen keyword %p brightgreen keyword \\\{0123\}\{01234567\}\{01234567\} brightgreen keyword \\\\ brightgreen keyword \\' brightgreen keyword \\\{abtnvfr\} brightgreen # infix binop context exclusive ` ` white