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