fortran.syntax 8.4 KB

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