2009-12-25 15:46:35 +03:00
|
|
|
# Author : Mikhail S. Pobolovets
|
|
|
|
# Language : cabal
|
|
|
|
#
|
|
|
|
# haskell.syntax is taken as base
|
|
|
|
#
|
|
|
|
|
2010-02-25 23:47:57 +03:00
|
|
|
caseinsensitive
|
|
|
|
|
2009-12-25 15:46:35 +03:00
|
|
|
context default
|
|
|
|
|
|
|
|
# cabal keywords
|
|
|
|
|
|
|
|
# reserved keywords:
|
|
|
|
|
|
|
|
#comments
|
|
|
|
keyword -- brown
|
|
|
|
|
|
|
|
# unused symbols
|
|
|
|
keyword whole _\[0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\] magenta
|
|
|
|
|
|
|
|
# known fields
|
2010-02-25 23:47:57 +03:00
|
|
|
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
|
2012-03-02 09:19:36 +04:00
|
|
|
keyword whole \[\s\]default-language cyan
|
2010-02-25 23:47:57 +03:00
|
|
|
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
|
2012-03-02 09:19:36 +04:00
|
|
|
keyword whole \[\s\]other-extensions cyan
|
2010-02-25 23:47:57 +03:00
|
|
|
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
|
2009-12-25 15:46:35 +03:00
|
|
|
|
|
|
|
# extended fields
|
2012-03-02 09:19:36 +04:00
|
|
|
keyword whole x\-\[\-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\] cyan
|
2009-12-25 15:46:35 +03:00
|
|
|
|
|
|
|
# version wildcard
|
|
|
|
keyword whole -any red
|
|
|
|
|
|
|
|
# commandline keys
|
2010-02-25 23:47:57 +03:00
|
|
|
keyword whole -\[\-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz_0123456789\] brightred
|
2009-12-25 15:46:35 +03:00
|
|
|
|
|
|
|
# known extensions
|
2010-04-04 20:24:13 +04:00
|
|
|
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
|
2009-12-25 15:46:35 +03:00
|
|
|
|
|
|
|
# links
|
2010-04-04 20:24:13 +04:00
|
|
|
keyword http://+ gray
|
|
|
|
keyword ftp://+ gray
|
|
|
|
keyword git://+ gray
|
|
|
|
keyword cvs://+ gray
|
|
|
|
keyword svn://+ gray
|
2010-02-25 23:47:57 +03:00
|
|
|
keyword darcs://+ gray
|
|
|
|
# special text inside of <>, i.e. emails
|
2010-04-04 20:24:13 +04:00
|
|
|
keyword \<+\> red
|
2009-12-25 15:46:35 +03:00
|
|
|
|
2010-02-25 23:47:57 +03:00
|
|
|
# build types with '\s & \n' hack to remove too stupid highlighting
|
|
|
|
keyword whole Configure\s white
|
|
|
|
keyword whole Configure\n white
|
2010-04-04 20:24:13 +04:00
|
|
|
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
|
2009-12-25 15:46:35 +03:00
|
|
|
|
|
|
|
# licenses
|
|
|
|
keyword whole AllRightsReserved white
|
2010-04-04 20:24:13 +04:00
|
|
|
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
|
2009-12-25 15:46:35 +03:00
|
|
|
|
2012-03-02 09:19:36 +04:00
|
|
|
# compilers
|
2010-04-04 20:24:13 +04:00
|
|
|
keyword whole GHC white
|
|
|
|
keyword whole NHC white
|
|
|
|
keyword whole JHC white
|
|
|
|
keyword whole HBC white
|
|
|
|
keyword whole Helium white
|
|
|
|
keyword whole Hugs white
|
2009-12-25 15:46:35 +03:00
|
|
|
|
2010-02-25 23:47:57 +03:00
|
|
|
# special keywords
|
2010-04-04 20:24:13 +04:00
|
|
|
keyword whole True white
|
2009-12-25 15:46:35 +03:00
|
|
|
keyword whole False white
|
2010-03-09 17:25:21 +03:00
|
|
|
keyword whole if white
|
2010-02-25 23:47:57 +03:00
|
|
|
keyword whole else white
|
2010-03-09 17:25:21 +03:00
|
|
|
keyword whole os white
|
|
|
|
keyword whole impl white
|
|
|
|
keyword whole arch white
|
2010-02-25 23:47:57 +03:00
|
|
|
|
|
|
|
keyword whole linestart \[\s\]executable yellow
|
|
|
|
keyword whole linestart \[\s\]library yellow
|
2012-03-02 09:19:36 +04:00
|
|
|
keyword whole linestart \[\s\]test-suite yellow
|
2010-02-25 23:47:57 +03:00
|
|
|
keyword whole flag yellow
|
|
|
|
keyword whole repo yellow
|
|
|
|
|
2009-12-25 15:46:35 +03:00
|
|
|
|
|
|
|
# unboxed (started from upcase)
|
|
|
|
# keyword whole \{ABCDEFGHIJKLMNOPQRSTUVWXYZ\}\[0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\]# white
|
|
|
|
# types/modules
|
|
|
|
# keyword whole \{ABCDEFGHIJKLMNOPQRSTUVWXYZ\}\[0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\] white
|
|
|
|
|
|
|
|
#digits
|
2010-04-04 20:24:13 +04:00
|
|
|
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
|
2009-12-25 15:46:35 +03:00
|
|
|
|
|
|
|
|
|
|
|
# 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
|