cabal.syntax 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  1. # Author : Mikhail S. Pobolovets
  2. # Language : cabal
  3. #
  4. # haskell.syntax is taken as base
  5. #
  6. context default
  7. # cabal keywords
  8. # reserved keywords:
  9. #comments
  10. keyword -- brown
  11. # unused symbols
  12. keyword whole _\[0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\] magenta
  13. # known fields
  14. keyword whole author cyan
  15. keyword whole bug-reports cyan
  16. keyword whole buildable cyan
  17. keyword whole build-depends cyan
  18. keyword whole build-tools cyan
  19. keyword whole build-type cyan
  20. keyword whole cabal-version cyan
  21. keyword whole category cyan
  22. keyword whole cc-options cyan
  23. keyword whole copyright cyan
  24. keyword whole cpp-options cyan
  25. keyword whole c-sources cyan
  26. keyword whole data-dir cyan
  27. keyword whole data-files cyan
  28. keyword whole description cyan
  29. keyword whole executable cyan
  30. keyword whole exposed-modules cyan
  31. keyword whole exposed cyan
  32. keyword whole extensions cyan
  33. keyword whole extra-lib-dirs cyan
  34. keyword whole extra-libraries cyan
  35. keyword whole extra-source-files cyan
  36. keyword whole extra-tmp-files cyan
  37. keyword whole frameworks cyan
  38. keyword whole ghc-options cyan
  39. keyword whole ghc-prof-options cyan
  40. keyword whole ghc-shared-options cyan
  41. keyword whole homepage cyan
  42. keyword whole hs-source-dirs cyan
  43. keyword whole hugs-options cyan
  44. keyword whole include-dirs cyan
  45. keyword whole includes cyan
  46. keyword whole install-includes cyan
  47. keyword whole jhc-options cyan
  48. keyword whole ld-options cyan
  49. keyword whole library cyan
  50. keyword whole license-file cyan
  51. keyword whole license cyan
  52. keyword whole main-is cyan
  53. keyword whole maintainer cyan
  54. keyword whole name cyan
  55. keyword whole nhc98-options cyan
  56. keyword whole other-modules cyan
  57. keyword whole package-url cyan
  58. keyword whole pkgconfig-depends cyan
  59. keyword whole stability cyan
  60. keyword whole synopsis cyan
  61. keyword whole tested-with cyan
  62. keyword whole version cyan
  63. # extended fields
  64. keyword whole x\-\[0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\] cyan
  65. # version wildcard
  66. keyword whole -any red
  67. # commandline keys
  68. keyword whole -\[0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz_0123456789\] brightred
  69. # known extensions
  70. keyword whole Arrows brightmagenta
  71. keyword whole BangPatterns brightmagenta
  72. keyword whole ConstrainedClassMethods brightmagenta
  73. keyword whole DeriveDataTypeable brightmagenta
  74. keyword whole DisambiguateRecordFields brightmagenta
  75. keyword whole EmptyDataDecls brightmagenta
  76. keyword whole CPP brightmagenta
  77. keyword whole ExistentialQuantification brightmagenta
  78. keyword whole ExtendedDefaultRules brightmagenta
  79. keyword whole ExtensibleRecords brightmagenta
  80. keyword whole FlexibleContexts brightmagenta
  81. keyword whole FlexibleInstances brightmagenta
  82. keyword whole ForeignFunctionInterface brightmagenta
  83. keyword whole FunctionalDependencies brightmagenta
  84. keyword whole GADTs brightmagenta
  85. keyword whole GeneralizedNewtypeDeriving brightmagenta
  86. keyword whole Generics brightmagenta
  87. keyword whole HereDocuments brightmagenta
  88. keyword whole ImplicitParams brightmagenta
  89. keyword whole ImpredicativeTypes brightmagenta
  90. keyword whole IncoherentInstances brightmagenta
  91. keyword whole KindSignatures brightmagenta
  92. keyword whole LiberalTypeSynonyms brightmagenta
  93. keyword whole MagicHash brightmagenta
  94. keyword whole MultiParamTypeClasses brightmagenta
  95. keyword whole NamedFieldPuns brightmagenta
  96. keyword whole NewQualifiedOperators brightmagenta
  97. keyword whole NoImplicitPrelude brightmagenta
  98. keyword whole NoMonomorphismRestriction brightmagenta
  99. keyword whole NoMonoPatBinds brightmagenta
  100. keyword whole OverlappingInstances brightmagenta
  101. keyword whole OverloadedStrings brightmagenta
  102. keyword whole PackageImports brightmagenta
  103. keyword whole ParallelListComp brightmagenta
  104. keyword whole PatternGuards brightmagenta
  105. keyword whole PatternSignatures brightmagenta
  106. keyword whole PolymorphicComponents brightmagenta
  107. keyword whole PostfixOperators brightmagenta
  108. keyword whole QuasiQuotes brightmagenta
  109. keyword whole Rank2Types brightmagenta
  110. keyword whole RankNTypes brightmagenta
  111. keyword whole RecordPuns brightmagenta
  112. keyword whole RecordWildCards brightmagenta
  113. keyword whole RecursiveDo brightmagenta
  114. keyword whole RelaxedPolyRec brightmagenta
  115. keyword whole RestrictedTypeSynonyms brightmagenta
  116. keyword whole ScopedTypeVariables brightmagenta
  117. keyword whole StandaloneDeriving brightmagenta
  118. keyword whole TemplateHaskell brightmagenta
  119. keyword whole TransformListComp brightmagenta
  120. keyword whole TypeFamilies brightmagenta
  121. keyword whole TypeOperators brightmagenta
  122. keyword whole TypeSynonymInstances brightmagenta
  123. keyword whole UnboxedTuples brightmagenta
  124. keyword whole UndecidableInstances brightmagenta
  125. keyword whole UnicodeSyntax brightmagenta
  126. keyword whole UnliftedFFITypes brightmagenta
  127. keyword whole ViewPatterns brightmagenta
  128. # links
  129. keyword http://+ blue
  130. keyword ftp://+ blue
  131. keyword git://+ blue
  132. keyword cvs://+ blue
  133. keyword svn://+ blue
  134. keyword darcs://+ blue
  135. # emails
  136. keyword \<+\> red
  137. # build types
  138. keyword whole Configure white
  139. keyword whole Custom white
  140. keyword whole Make white
  141. # with hack
  142. keyword whole Simple\n white
  143. keyword whole Simple\s white
  144. # licenses
  145. keyword whole AllRightsReserved white
  146. keyword whole OtherLicense white
  147. keyword whole PublicDomain white
  148. keyword whole LGPL white
  149. keyword whole GPL white
  150. keyword whole LGPL2 white
  151. keyword whole GPL2 white
  152. keyword whole LGPL3 white
  153. keyword whole GPL3 white
  154. keyword whole BSD white
  155. keyword whole BSD3 white
  156. keyword whole BSD4 white
  157. keyword whole MIT white
  158. # compillers
  159. keyword whole GHC white
  160. keyword whole NHC white
  161. keyword whole JHC white
  162. keyword whole HBC white
  163. keyword whole Helium white
  164. keyword whole Hugs white
  165. # types
  166. keyword whole True white
  167. keyword whole False white
  168. # unboxed (started from upcase)
  169. # keyword whole \{ABCDEFGHIJKLMNOPQRSTUVWXYZ\}\[0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\]# white
  170. # types/modules
  171. # keyword whole \{ABCDEFGHIJKLMNOPQRSTUVWXYZ\}\[0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz\] white
  172. #digits
  173. keyword whole 0\{xX\}\{0123456789abcdefABCDEF\}\[0123456789abcdefABCDEF\] brightgreen
  174. keyword whole \{0123456789\}\[0123456789\] brightgreen
  175. keyword whole \[0123456789\]\.\{0123456789\}\[0123456789\] brightgreen
  176. keyword whole \{0123456789\}\[0123456789\]\.\[0123456789\] brightgreen
  177. keyword whole \{0123456789\}\[0123456789\]\{eE\}\{0123456789\}\[0123456789\] brightgreen
  178. keyword whole \{0123456789\}\[0123456789\]\{eE\}\{\-\+\}\{0123456789\}\[0123456789\] brightgreen
  179. keyword whole \{0123456789\}\[0123456789\]\.\{0123456789\}\[0123456789\]\{eE\}\{0123456789\}\[0123456789\] brightgreen
  180. keyword whole \{0123456789\}\[0123456789\]\.\{0123456789\}\[0123456789\]\{eE\}\{\-\+\}\{0123456789\}\[0123456789\] brightgreen
  181. # some punctuation characters
  182. keyword whole $ yellow
  183. keyword whole ! white
  184. keyword whole && white
  185. keyword whole \* yellow
  186. keyword whole \+ yellow
  187. keyword whole / yellow
  188. keyword whole ^ white
  189. keyword whole || white
  190. keyword whole | white
  191. keyword ~ white
  192. keyword , brightcyan
  193. keyword - yellow
  194. keyword : brightcyan
  195. keyword ; yellow
  196. keyword = yellow
  197. keyword < yellow
  198. keyword > yellow
  199. keyword { white
  200. keyword } white
  201. keyword [ brightcyan
  202. keyword ] brightcyan
  203. keyword ( brightcyan
  204. keyword ) brightcyan
  205. # comments
  206. context exclusive /\* \*/ brown
  207. spellcheck
  208. context exclusive {- -} brown
  209. spellcheck
  210. context exclusive // \n brown
  211. spellcheck
  212. context exclusive \-\- \n brown
  213. spellcheck
  214. context " " green
  215. spellcheck
  216. keyword \\" brightgreen
  217. keyword %% brightgreen
  218. keyword %\[#0\s-\+,\]\[0123456789\*\]\[.\]\[0123456789\*\]\[L\]\{eEfgGoxX\} brightgreen
  219. keyword %\[0\s-\+,\]\[0123456789\*\]\[.\]\[0123456789\*\]\[hl\]\{diuxX\} brightgreen
  220. keyword %\[hl\]n brightgreen
  221. keyword %\[-\]\[0123456789\*\]\[.\]\[0123456789\*\]s brightgreen
  222. keyword %[*] brightgreen
  223. keyword %c brightgreen
  224. keyword %p brightgreen
  225. keyword \\\{0123\}\{01234567\}\{01234567\} brightgreen
  226. keyword \\\\ brightgreen
  227. keyword \\' brightgreen
  228. keyword \\\{abtnvfr\} brightgreen
  229. # infix binop
  230. context exclusive ` ` white