f90.syntax 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. # ---------------------------------------------------
  2. # f90.syntax
  3. # FORTRAN 90/95 language freeform syntax highlighting template.
  4. # Provides syntax highlighting rules for the
  5. # FORTRAN programming language.
  6. #
  7. # Based on FORTRAN77 version fortran.syntax
  8. # Author: John Theal
  9. # Email: jtheal@renegadelinuxbox.dhs.org
  10. # December 7, 1999
  11. # ---------------------------------------------------
  12. # Heavily modified by Paul Sheer <psheer@obsidian.co.za>.
  13. # Adjusted to Fortran 90 by Norbert Nemec <Norbert@Nemec-online.de>.
  14. caseinsensitive
  15. context default
  16. # keywords at the beginning of line
  17. keyword linestart \{0123456789\}\{0123456789\}\{0123456789\}\{0123456789\}\{0123456789\} brightred
  18. keyword linestart \{0123456789\}\{0123456789\}\{0123456789\}\{0123456789\} brightred
  19. keyword linestart \{0123456789\}\{0123456789\}\{0123456789\} brightred
  20. keyword linestart \{0123456789\}\{0123456789\} brightred
  21. keyword linestart \{0123456789\} brightred
  22. # structure
  23. keyword whole MODULE white black
  24. keyword whole SUBROUTINE white black
  25. keyword whole PROGRAM white black
  26. keyword whole FUNCTION white black
  27. keyword whole CONTAINS white black
  28. keyword whole END white black
  29. # boolean and logical expressions / operators
  30. keyword .and. brightred/orange
  31. keyword .eq. brightred/orange
  32. keyword .eqv. brightred/orange
  33. keyword .false. brightred/orange
  34. keyword .ge. brightred/orange
  35. keyword .gt. brightred/orange
  36. keyword .le. brightred/orange
  37. keyword .lt. brightred/orange
  38. keyword .ne. brightred/orange
  39. keyword .neqv. brightred/orange
  40. keyword .not. brightred/orange
  41. keyword .or. brightred/orange
  42. keyword .true. brightred/orange
  43. keyword whole lge brightred/orange
  44. keyword whole lgt brightred/orange
  45. keyword whole lle brightred/orange
  46. keyword whole llt brightred/orange
  47. # declarations
  48. keyword whole ALLOCATABLE brightcyan
  49. keyword whole BLOCK brightcyan
  50. keyword whole CHARACTER brightcyan
  51. keyword whole COMMON brightcyan
  52. keyword whole COMPLEX brightcyan
  53. keyword whole DATA brightcyan
  54. keyword whole DIMENSION brightcyan
  55. keyword whole DOUBLE brightcyan
  56. keyword whole EXTERNAL brightcyan
  57. keyword whole FORMAT brightcyan
  58. keyword whole IMPLICIT brightcyan
  59. keyword whole INTEGER brightcyan
  60. keyword whole INTENT brightcyan
  61. keyword whole INTRINSIC brightcyan
  62. keyword whole LOGICAL brightcyan
  63. keyword whole NONE brightcyan
  64. keyword whole ONLY brightcyan
  65. keyword whole OPTIONAL brightcyan
  66. keyword whole PARAMETER brightcyan
  67. keyword whole POINTER brightcyan
  68. keyword whole PRECISION brightcyan
  69. keyword whole PRIVATE brightcyan
  70. keyword whole PUBLIC brightcyan
  71. keyword whole REAL brightcyan
  72. keyword whole USE brightcyan
  73. # general programming syntax
  74. keyword whole allocate brightgreen
  75. keyword whole assign brightgreen
  76. keyword whole call brightgreen
  77. keyword whole continue brightgreen
  78. keyword whole do brightgreen
  79. keyword whole else brightgreen
  80. keyword whole elseif brightgreen
  81. keyword whole end brightgreen
  82. keyword whole enddo brightgreen
  83. keyword whole endif brightgreen
  84. keyword whole for brightgreen
  85. keyword whole goto brightgreen
  86. keyword whole if brightgreen
  87. keyword whole pause brightgreen
  88. keyword whole return brightgreen
  89. keyword whole stop brightgreen
  90. keyword whole then brightgreen
  91. keyword whole to brightgreen
  92. keyword whole while brightgreen
  93. # headers
  94. keyword whole entry brightgreen
  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 , brightcyan
  215. keyword \+ yellow
  216. keyword - yellow
  217. keyword \* yellow
  218. keyword / yellow
  219. keyword = yellow
  220. keyword < yellow
  221. keyword > yellow
  222. # comments and quotes
  223. keyword '*' green
  224. context &\n & black cyan
  225. context format( ) green
  226. context ! \n brown
  227. spellcheck