*** empty log message ***
[midnight-commander.git] / syntax / fortran.syntax
blob002337bbb8daa2029deac0555c9e3752549f0bb7
1 # ---------------------------------------------------
2 # fortran.syntax
3 # FORTRAN language syntax highlighting template.
4 # Provides syntax highlighting rules for the 
5 # FORTRAN programming language.
7 # Author: John Theal
8 # Email: jtheal@renegadelinuxbox.dhs.org
9 # December 7, 1999
10 # ---------------------------------------------------
12 # Heavily modified by Paul Sheer <psheer@obsidian.co.za>.
14 context default 
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
61 # declarations 
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   
100 # headers
101     keyword whole entry brightgreen/15
102     keyword whole function yellow/21
103     keyword whole program yellow/21
104     keyword whole subroutine yellow/21
106 # I/O functions
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
227     keyword \+ yellow/24
228     keyword - yellow/24
229     keyword \* yellow/24
230     keyword / yellow/24
231     keyword = yellow/24
233 # comments and quotes
234     keyword '*' green/6
236 context exclusive linestart ! \n brown/22
237    spellcheck
238 context exclusive linestart \* \n brown/22
239    spellcheck
240 context exclusive linestart c \n brown/22
241    spellcheck
242 context exclusive linestart C \n brown/22
243    spellcheck