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