cabal.syntax 9.5 KB

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