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