1 # ---------------------------------------------------
3 # FORTRAN 90/95 language freeform syntax highlighting template.
4 # Provides syntax highlighting rules for the
5 # FORTRAN programming language.
7 # Based on FORTRAN77 version fortran.syntax
9 # Email: jtheal@renegadelinuxbox.dhs.org
11 # ---------------------------------------------------
13 # Heavily modified by Paul Sheer <psheer@obsidian.co.za>.
14 # Adjusted to Fortran 90 by Norbert Nemec <Norbert@Nemec-online.de>.
19 # keywords at the beginning of line
20 keyword linestart \{0123456789\}\{0123456789\}\{0123456789\}\{0123456789\}\{0123456789\} brightred
21 keyword linestart \{0123456789\}\{0123456789\}\{0123456789\}\{0123456789\} brightred
22 keyword linestart \{0123456789\}\{0123456789\}\{0123456789\} brightred
23 keyword linestart \{0123456789\}\{0123456789\} brightred
24 keyword linestart \{0123456789\} brightred
27 keyword whole MODULE white black
28 keyword whole SUBROUTINE white black
29 keyword whole PROGRAM white black
30 keyword whole FUNCTION white black
31 keyword whole CONTAINS white black
32 keyword whole END white black
34 # boolean and logical expressions / operators
35 keyword .and. brightred/orange
36 keyword .eq. brightred/orange
37 keyword .eqv. brightred/orange
38 keyword .false. brightred/orange
39 keyword .ge. brightred/orange
40 keyword .gt. brightred/orange
41 keyword .le. brightred/orange
42 keyword .lt. brightred/orange
43 keyword .ne. brightred/orange
44 keyword .neqv. brightred/orange
45 keyword .not. brightred/orange
46 keyword .or. brightred/orange
47 keyword .true. brightred/orange
48 keyword whole lge brightred/orange
49 keyword whole lgt brightred/orange
50 keyword whole lle brightred/orange
51 keyword whole llt brightred/orange
54 keyword whole ALLOCATABLE brightcyan
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 INTENT brightcyan
67 keyword whole INTRINSIC brightcyan
68 keyword whole LOGICAL brightcyan
69 keyword whole NONE brightcyan
70 keyword whole ONLY brightcyan
71 keyword whole OPTIONAL brightcyan
72 keyword whole PARAMETER brightcyan
73 keyword whole POINTER brightcyan
74 keyword whole PRECISION brightcyan
75 keyword whole PRIVATE brightcyan
76 keyword whole PUBLIC brightcyan
77 keyword whole REAL brightcyan
78 keyword whole USE brightcyan
80 # general programming syntax
81 keyword whole allocate brightgreen
82 keyword whole assign brightgreen
83 keyword whole call brightgreen
84 keyword whole continue brightgreen
85 keyword whole do brightgreen
86 keyword whole else brightgreen
87 keyword whole elseif brightgreen
88 keyword whole end brightgreen
89 keyword whole enddo brightgreen
90 keyword whole endif brightgreen
91 keyword whole for brightgreen
92 keyword whole goto brightgreen
93 keyword whole if brightgreen
94 keyword whole pause brightgreen
95 keyword whole return brightgreen
96 keyword whole stop brightgreen
97 keyword whole then brightgreen
98 keyword whole to brightgreen
99 keyword whole while brightgreen
102 keyword whole entry brightgreen
105 # may have optional equal signs after them: 'keyword ='
106 keyword whole access brightmagenta
107 keyword whole backspace brightmagenta
108 keyword whole blank brightmagenta
109 keyword whole close brightmagenta
110 keyword whole direct brightmagenta
111 keyword whole endfile brightmagenta
112 keyword whole err brightmagenta
113 keyword whole exist brightmagenta
114 keyword whole file brightmagenta
115 keyword whole fmt brightmagenta
116 keyword whole form brightmagenta
117 keyword whole formatted brightmagenta
118 keyword whole inquire brightmagenta
119 keyword whole iostat brightmagenta
120 keyword whole name brightmagenta
121 keyword whole named brightmagenta
122 keyword whole nextrec brightmagenta
123 keyword whole number brightmagenta
124 keyword whole open brightmagenta
125 keyword whole opened brightmagenta
126 keyword whole print brightmagenta
127 keyword whole read brightmagenta
128 keyword whole rec brightmagenta
129 keyword whole recl brightmagenta
130 keyword whole rewind brightmagenta
131 keyword whole sequential brightmagenta
132 keyword whole status brightmagenta
133 keyword whole unformatted brightmagenta
134 keyword whole unit brightmagenta
135 keyword whole write brightmagenta
137 # mathematical functions
138 keyword whole abs yellow
139 keyword whole acos yellow
140 keyword whole aimag yellow
141 keyword whole aint yellow
142 keyword whole alog yellow
143 keyword whole alog10 yellow
144 keyword whole amax0 yellow
145 keyword whole amax1 yellow
146 keyword whole amin0 yellow
147 keyword whole amin1 yellow
148 keyword whole amod yellow
149 keyword whole anint yellow
150 keyword whole aprime yellow
151 keyword whole asin yellow
152 keyword whole atan yellow
153 keyword whole atan2 yellow
154 keyword whole acos yellow
155 keyword whole cabs yellow
156 keyword whole cexp yellow
157 keyword whole char yellow
158 keyword whole clog yellow
159 keyword whole cmplx yellow
160 keyword whole conjg yellow
161 keyword whole cos yellow
162 keyword whole cosh yellow
163 keyword whole ccos yellow
164 keyword whole csin yellow
165 keyword whole csqrt yellow
166 keyword whole dabs yellow
167 keyword whole dacos yellow
168 keyword whole dasin yellow
169 keyword whole datan yellow
170 keyword whole datan2 yellow
171 keyword whole dble yellow
172 keyword whole dcos yellow
173 keyword whole dcosh yellow
174 keyword whole dfloat yellow
175 keyword whole ddmim yellow
176 keyword whole dexp yellow
177 keyword whole dim yellow
178 keyword whole dint yellow
179 keyword whole dlog yellow
180 keyword whole dlog10 yellow
181 keyword whole dmax1 yellow
182 keyword whole dmin1 yellow
183 keyword whole dmod yellow
184 keyword whole dnint yellow
185 keyword whole dsign yellow
186 keyword whole dsin yellow
187 keyword whole dsinh yellow
188 keyword whole dsqrt yellow
189 keyword whole dtan yellow
190 keyword whole dtanh yellow
191 keyword whole equivalence yellow
192 keyword whole exp yellow
193 keyword whole float yellow
194 keyword whole iabs yellow
195 keyword whole ichar yellow
196 keyword whole idim yellow
197 keyword whole idint yellow
198 keyword whole ifix yellow
199 keyword whole index yellow
200 keyword whole int yellow
201 keyword whole isign yellow
202 keyword whole len yellow
203 keyword whole log yellow
204 keyword whole log10 yellow
205 keyword whole max yellow
206 keyword whole max0 yellow
207 keyword whole max1 yellow
208 keyword whole min yellow
209 keyword whole min0 yellow
210 keyword whole min1 yellow
211 keyword whole mod yellow
212 keyword whole rand yellow
213 keyword whole sign yellow
214 keyword whole sin yellow
215 keyword whole sinh yellow
216 keyword whole sngl yellow
217 keyword whole sqrt yellow
218 keyword whole tan yellow
219 keyword whole tanh yellow
221 # operators and syntax elements
234 # comments and quotes
237 context &\n & black cyan
239 context format( ) green