fortran.syntax 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. # ---------------------------------------------------
  2. # fortran.syntax
  3. # FORTRAN language syntax highlighting template.
  4. # Provides syntax highlighting rules for the
  5. # FORTRAN programming language.
  6. #
  7. # Author: John Theal
  8. # Email: jtheal@renegadelinuxbox.dhs.org
  9. # December 7, 1999
  10. # ---------------------------------------------------
  11. # Heavily modified by Paul Sheer <psheer@obsidian.co.za>.
  12. caseinsensitive
  13. context default
  14. # keywords at the beginning of line
  15. keyword linestart ! black yellow
  16. keyword linestart \* black yellow
  17. keyword linestart c black yellow
  18. keyword linestart C black yellow
  19. keyword linestart \s\s\s\s\s\* yellow red
  20. keyword linestart \s\s\s\s\s\+ yellow red
  21. keyword linestart \s\s\s\s\s\s black brightcyan/blue3
  22. keyword linestart 0\{0123456789\s\}\{0123456789\s\}\{0123456789\s\}\{0123456789\s\}\s white brightcyan
  23. keyword linestart 1\{0123456789\s\}\{0123456789\s\}\{0123456789\s\}\{0123456789\s\}\s white brightcyan
  24. keyword linestart 2\{0123456789\s\}\{0123456789\s\}\{0123456789\s\}\{0123456789\s\}\s white brightcyan
  25. keyword linestart 3\{0123456789\s\}\{0123456789\s\}\{0123456789\s\}\{0123456789\s\}\s white brightcyan
  26. keyword linestart 4\{0123456789\s\}\{0123456789\s\}\{0123456789\s\}\{0123456789\s\}\s white brightcyan
  27. keyword linestart 5\{0123456789\s\}\{0123456789\s\}\{0123456789\s\}\{0123456789\s\}\s white brightcyan
  28. keyword linestart 6\{0123456789\s\}\{0123456789\s\}\{0123456789\s\}\{0123456789\s\}\s white brightcyan
  29. keyword linestart 7\{0123456789\s\}\{0123456789\s\}\{0123456789\s\}\{0123456789\s\}\s white brightcyan
  30. keyword linestart 8\{0123456789\s\}\{0123456789\s\}\{0123456789\s\}\{0123456789\s\}\s white brightcyan
  31. keyword linestart 9\{0123456789\s\}\{0123456789\s\}\{0123456789\s\}\{0123456789\s\}\s white brightcyan
  32. keyword linestart \s\{0123456789\s\}\{0123456789\s\}\{0123456789\s\}\{0123456789\s\}\s white brightcyan
  33. keyword linestart \s\s\{0123456789\s\}\{0123456789\s\}\{0123456789\s\}\s white brightcyan
  34. keyword linestart \s\s\s\{0123456789\s\}\{0123456789\s\}\s white brightcyan
  35. keyword linestart \s\s\s\s\{0123456789\s\}\s white brightcyan
  36. # boolean and logical expressions / operators
  37. keyword .and. brightred/orange
  38. keyword .eq. brightred/orange
  39. keyword .eqv. brightred/orange
  40. keyword .false. brightred/orange
  41. keyword .ge. brightred/orange
  42. keyword .gt. brightred/orange
  43. keyword .le. brightred/orange
  44. keyword .lt. brightred/orange
  45. keyword .ne. brightred/orange
  46. keyword .neqv. brightred/orange
  47. keyword .not. brightred/orange
  48. keyword .or. brightred/orange
  49. keyword .true. brightred/orange
  50. keyword whole lge brightred/orange
  51. keyword whole lgt brightred/orange
  52. keyword whole lle brightred/orange
  53. keyword whole llt brightred/orange
  54. # declarations
  55. keyword whole block brightcyan
  56. keyword whole character brightcyan
  57. keyword whole common brightcyan
  58. keyword whole complex brightcyan
  59. keyword whole data brightcyan
  60. keyword whole dimension brightcyan
  61. keyword whole double brightcyan
  62. keyword whole external brightcyan
  63. keyword whole format brightcyan
  64. keyword whole implicit brightcyan
  65. keyword whole integer brightcyan
  66. keyword whole intrinsic brightcyan
  67. keyword whole logical brightcyan
  68. keyword whole none brightcyan
  69. keyword whole parameter brightcyan
  70. keyword whole precision brightcyan
  71. keyword whole real brightcyan
  72. # general programming syntax
  73. keyword whole assign brightgreen
  74. keyword whole call brightgreen
  75. keyword whole continue brightgreen
  76. keyword whole do brightgreen
  77. keyword whole else brightgreen
  78. keyword whole elseif brightgreen
  79. keyword whole end brightgreen
  80. keyword whole enddo brightgreen
  81. keyword whole endif brightgreen
  82. keyword whole for brightgreen
  83. keyword whole goto brightgreen
  84. keyword whole if brightgreen
  85. keyword whole pause brightgreen
  86. keyword whole return brightgreen
  87. keyword whole stop brightgreen
  88. keyword whole then brightgreen
  89. keyword whole to brightgreen
  90. keyword whole while brightgreen
  91. # headers
  92. keyword whole entry brightgreen
  93. keyword whole function yellow
  94. keyword whole program yellow
  95. keyword whole subroutine yellow
  96. # I/O functions
  97. # may have optional equal signs after them: 'keyword ='
  98. keyword whole access brightmagenta
  99. keyword whole backspace brightmagenta
  100. keyword whole blank brightmagenta
  101. keyword whole close brightmagenta
  102. keyword whole direct brightmagenta
  103. keyword whole endfile brightmagenta
  104. keyword whole err brightmagenta
  105. keyword whole exist brightmagenta
  106. keyword whole file brightmagenta
  107. keyword whole fmt brightmagenta
  108. keyword whole form brightmagenta
  109. keyword whole formatted brightmagenta
  110. keyword whole inquire brightmagenta
  111. keyword whole iostat brightmagenta
  112. keyword whole name brightmagenta
  113. keyword whole named brightmagenta
  114. keyword whole nextrec brightmagenta
  115. keyword whole number brightmagenta
  116. keyword whole open brightmagenta
  117. keyword whole opened brightmagenta
  118. keyword whole print brightmagenta
  119. keyword whole read brightmagenta
  120. keyword whole rec brightmagenta
  121. keyword whole recl brightmagenta
  122. keyword whole rewind brightmagenta
  123. keyword whole sequential brightmagenta
  124. keyword whole status brightmagenta
  125. keyword whole unformatted brightmagenta
  126. keyword whole unit brightmagenta
  127. keyword whole write brightmagenta
  128. # mathematical functions
  129. keyword whole abs yellow
  130. keyword whole acos yellow
  131. keyword whole aimag yellow
  132. keyword whole aint yellow
  133. keyword whole alog yellow
  134. keyword whole alog10 yellow
  135. keyword whole amax0 yellow
  136. keyword whole amax1 yellow
  137. keyword whole amin0 yellow
  138. keyword whole amin1 yellow
  139. keyword whole amod yellow
  140. keyword whole anint yellow
  141. keyword whole aprime yellow
  142. keyword whole asin yellow
  143. keyword whole atan yellow
  144. keyword whole atan2 yellow
  145. keyword whole acos yellow
  146. keyword whole cabs yellow
  147. keyword whole cexp yellow
  148. keyword whole char yellow
  149. keyword whole clog yellow
  150. keyword whole cmplx yellow
  151. keyword whole conjg yellow
  152. keyword whole cos yellow
  153. keyword whole cosh yellow
  154. keyword whole ccos yellow
  155. keyword whole csin yellow
  156. keyword whole csqrt yellow
  157. keyword whole dabs yellow
  158. keyword whole dacos yellow
  159. keyword whole dasin yellow
  160. keyword whole datan yellow
  161. keyword whole datan2 yellow
  162. keyword whole dble yellow
  163. keyword whole dcos yellow
  164. keyword whole dcosh yellow
  165. keyword whole dfloat yellow
  166. keyword whole ddmim yellow
  167. keyword whole dexp yellow
  168. keyword whole dim yellow
  169. keyword whole dint yellow
  170. keyword whole dlog yellow
  171. keyword whole dlog10 yellow
  172. keyword whole dmax1 yellow
  173. keyword whole dmin1 yellow
  174. keyword whole dmod yellow
  175. keyword whole dnint yellow
  176. keyword whole dsign yellow
  177. keyword whole dsin yellow
  178. keyword whole dsinh yellow
  179. keyword whole dsqrt yellow
  180. keyword whole dtan yellow
  181. keyword whole dtanh yellow
  182. keyword whole equivalence yellow
  183. keyword whole exp yellow
  184. keyword whole float yellow
  185. keyword whole iabs yellow
  186. keyword whole ichar yellow
  187. keyword whole idim yellow
  188. keyword whole idint yellow
  189. keyword whole ifix yellow
  190. keyword whole index yellow
  191. keyword whole int yellow
  192. keyword whole isign yellow
  193. keyword whole len yellow
  194. keyword whole log yellow
  195. keyword whole log10 yellow
  196. keyword whole max yellow
  197. keyword whole max0 yellow
  198. keyword whole max1 yellow
  199. keyword whole min yellow
  200. keyword whole min0 yellow
  201. keyword whole min1 yellow
  202. keyword whole mod yellow
  203. keyword whole rand yellow
  204. keyword whole sign yellow
  205. keyword whole sin yellow
  206. keyword whole sinh yellow
  207. keyword whole sngl yellow
  208. keyword whole sqrt yellow
  209. keyword whole tan yellow
  210. keyword whole tanh yellow
  211. # operators and syntax elements
  212. keyword ( brightcyan
  213. keyword ) brightcyan
  214. keyword , brightcyan
  215. keyword \+ yellow
  216. keyword - yellow
  217. keyword \* yellow
  218. keyword / yellow
  219. keyword = yellow
  220. # comments and quotes
  221. keyword '*' green
  222. context exclusive linestart ! \n brown
  223. spellcheck
  224. context exclusive linestart \* \n brown
  225. spellcheck
  226. context exclusive linestart c \n brown
  227. spellcheck
  228. context exclusive linestart C \n brown
  229. spellcheck