f90.syntax 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  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 ASSIGNMENT white black
  24. keyword whole CONTAINS white black
  25. keyword whole END white black
  26. keyword whole FUNCTION white black
  27. keyword whole INTERFACE white black
  28. keyword whole INCLUDE white black
  29. keyword whole MODULE white black
  30. keyword whole OPERATOR white black
  31. keyword whole PROGRAM white black
  32. keyword whole SUBROUTINE white black
  33. # boolean and logical expressions / operators
  34. keyword .and. brightred/orange
  35. keyword .eq. brightred/orange
  36. keyword .eqv. brightred/orange
  37. keyword .false. brightred/orange
  38. keyword .ge. brightred/orange
  39. keyword .gt. brightred/orange
  40. keyword .le. brightred/orange
  41. keyword .lt. brightred/orange
  42. keyword .ne. brightred/orange
  43. keyword .neqv. brightred/orange
  44. keyword .not. brightred/orange
  45. keyword .or. brightred/orange
  46. keyword .true. brightred/orange
  47. keyword whole lge brightred/orange
  48. keyword whole lgt brightred/orange
  49. keyword whole lle brightred/orange
  50. keyword whole llt brightred/orange
  51. # declarations
  52. keyword whole ALLOCATABLE brightcyan
  53. keyword whole BLOCK brightcyan
  54. keyword whole CHARACTER brightcyan
  55. keyword whole COMMON brightcyan
  56. keyword whole COMPLEX brightcyan
  57. keyword whole DATA brightcyan
  58. keyword whole DIMENSION brightcyan
  59. keyword whole DOUBLE brightcyan
  60. keyword whole ELEMENTAL brightcyan
  61. keyword whole EQUIVALENCE brightcyan
  62. keyword whole EXTERNAL brightcyan
  63. keyword whole FORMAT brightcyan
  64. keyword whole IMPLICIT brightcyan
  65. keyword whole INTEGER brightcyan
  66. keyword whole INTENT brightcyan
  67. keyword whole INTRINSIC brightcyan
  68. keyword whole LOGICAL brightcyan
  69. keyword whole NAMELIST brightcyan
  70. keyword whole NONE brightcyan
  71. keyword whole ONLY brightcyan
  72. keyword whole OPTIONAL brightcyan
  73. keyword whole PARAMETER brightcyan
  74. keyword whole POINTER brightcyan
  75. keyword whole PRECISION brightcyan
  76. keyword whole PRIVATE brightcyan
  77. keyword whole PUBLIC brightcyan
  78. keyword whole PURE brightcyan
  79. keyword whole REAL brightcyan
  80. keyword whole SAVE brightcyan
  81. keyword whole TYPE brightcyan
  82. keyword whole USE brightcyan
  83. # general programming syntax
  84. keyword whole allocate brightgreen
  85. keyword whole assign brightgreen
  86. keyword whole call brightgreen
  87. keyword whole case brightgreen
  88. keyword whole deallocate brightgreen
  89. keyword whole default brightgreen
  90. keyword whole continue brightgreen
  91. keyword whole cycle brightgreen
  92. keyword whole do brightgreen
  93. keyword whole else brightgreen
  94. keyword whole elseif brightgreen
  95. keyword whole elsewhere brightgreen
  96. keyword whole end brightgreen
  97. keyword whole enddo brightgreen
  98. keyword whole endif brightgreen
  99. keyword whole exit brightgreen
  100. keyword whole for brightgreen
  101. keyword whole forall brightgreen
  102. keyword whole goto brightgreen
  103. keyword whole if brightgreen
  104. keyword whole nullify brightgreen
  105. keyword whole pause brightgreen
  106. keyword whole return brightgreen
  107. keyword whole select brightgreen
  108. keyword whole stop brightgreen
  109. keyword whole target brightgreen
  110. keyword whole then brightgreen
  111. keyword whole to brightgreen
  112. keyword whole where brightgreen
  113. keyword whole while brightgreen
  114. # headers
  115. keyword whole entry brightgreen
  116. # I/O functions
  117. # may have optional equal signs after them: 'keyword ='
  118. keyword whole access brightmagenta
  119. keyword whole backspace brightmagenta
  120. keyword whole blank brightmagenta
  121. keyword whole close brightmagenta
  122. keyword whole direct brightmagenta
  123. keyword whole endfile brightmagenta
  124. keyword whole err brightmagenta
  125. keyword whole exist brightmagenta
  126. keyword whole file brightmagenta
  127. keyword whole fmt brightmagenta
  128. keyword whole form brightmagenta
  129. keyword whole formatted brightmagenta
  130. keyword whole inquire brightmagenta
  131. keyword whole iostat brightmagenta
  132. keyword whole name brightmagenta
  133. keyword whole named brightmagenta
  134. keyword whole nextrec brightmagenta
  135. keyword whole number brightmagenta
  136. keyword whole open brightmagenta
  137. keyword whole opened brightmagenta
  138. keyword whole print brightmagenta
  139. keyword whole read brightmagenta
  140. keyword whole rec brightmagenta
  141. keyword whole recl brightmagenta
  142. keyword whole rewind brightmagenta
  143. keyword whole sequential brightmagenta
  144. keyword whole status brightmagenta
  145. keyword whole unformatted brightmagenta
  146. keyword whole unit brightmagenta
  147. keyword whole write brightmagenta
  148. # mathematical functions
  149. keyword whole abs yellow
  150. keyword whole achar yellow
  151. keyword whole acos yellow
  152. keyword whole aimag yellow
  153. keyword whole aint yellow
  154. keyword whole alog yellow
  155. keyword whole alog10 yellow
  156. keyword whole amax0 yellow
  157. keyword whole amax1 yellow
  158. keyword whole amin0 yellow
  159. keyword whole amin1 yellow
  160. keyword whole amod yellow
  161. keyword whole anint yellow
  162. keyword whole aprime yellow
  163. keyword whole asin yellow
  164. keyword whole atan yellow
  165. keyword whole atan2 yellow
  166. keyword whole acos yellow
  167. keyword whole cabs yellow
  168. keyword whole ceiling yellow
  169. keyword whole cexp yellow
  170. keyword whole char yellow
  171. keyword whole clog yellow
  172. keyword whole cmplx yellow
  173. keyword whole conjg yellow
  174. keyword whole cos yellow
  175. keyword whole cosh yellow
  176. keyword whole ccos yellow
  177. keyword whole csin yellow
  178. keyword whole csqrt yellow
  179. keyword whole dabs yellow
  180. keyword whole dacos yellow
  181. keyword whole dasin yellow
  182. keyword whole datan yellow
  183. keyword whole datan2 yellow
  184. keyword whole dble yellow
  185. keyword whole dcos yellow
  186. keyword whole dcosh yellow
  187. keyword whole dfloat yellow
  188. keyword whole ddmim yellow
  189. keyword whole dexp yellow
  190. keyword whole dim yellow
  191. keyword whole dint yellow
  192. keyword whole dlog yellow
  193. keyword whole dlog10 yellow
  194. keyword whole dmax1 yellow
  195. keyword whole dmin1 yellow
  196. keyword whole dmod yellow
  197. keyword whole dnint yellow
  198. keyword whole dsign yellow
  199. keyword whole dsin yellow
  200. keyword whole dsinh yellow
  201. keyword whole dsqrt yellow
  202. keyword whole dtan yellow
  203. keyword whole dtanh yellow
  204. keyword whole exp yellow
  205. keyword whole float yellow
  206. keyword whole floor yellow
  207. keyword whole iabs yellow
  208. keyword whole iachar yellow
  209. keyword whole ichar yellow
  210. keyword whole idim yellow
  211. keyword whole idint yellow
  212. keyword whole ifix yellow
  213. keyword whole index yellow
  214. keyword whole int yellow
  215. keyword whole isign yellow
  216. keyword whole len yellow
  217. keyword whole log yellow
  218. keyword whole log10 yellow
  219. keyword whole matmul yellow
  220. keyword whole max yellow
  221. keyword whole max0 yellow
  222. keyword whole max1 yellow
  223. keyword whole maxval yellow
  224. keyword whole min yellow
  225. keyword whole min0 yellow
  226. keyword whole min1 yellow
  227. keyword whole minval yellow
  228. keyword whole mod yellow
  229. keyword whole nint yellow
  230. keyword whole product yellow
  231. keyword whole rand yellow
  232. keyword whole random_number yellow
  233. keyword whole random_seed yellow
  234. keyword whole sign yellow
  235. keyword whole sin yellow
  236. keyword whole sinh yellow
  237. keyword whole sngl yellow
  238. keyword whole sqrt yellow
  239. keyword whole sum yellow
  240. keyword whole tan yellow
  241. keyword whole tanh yellow
  242. keyword whole transpose yellow
  243. # operators and syntax elements
  244. keyword ( brightcyan
  245. keyword ) brightcyan
  246. keyword : brightcyan
  247. keyword , brightcyan
  248. keyword ; brightcyan
  249. keyword \+ yellow
  250. keyword - yellow
  251. keyword \* yellow
  252. keyword / yellow
  253. keyword = yellow
  254. keyword < yellow
  255. keyword > yellow
  256. # comments and quotes
  257. keyword '*' green
  258. keyword "*" green
  259. #context &\n \n black cyan
  260. keyword &\n black cyan
  261. context format( ) green
  262. context ! \n brown
  263. spellcheck