123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275 |
- # 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
|