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