cabal.syntax 9.4 KB

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