Ticket #1790: mc crashes on start
[midnight-commander.git] / syntax / f90.syntax
blob4f85a700e2ad62f1b6a44bfec8be32abcdaba201
1 # ---------------------------------------------------
2 # f90.syntax
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
8 # Author: John Theal
9 # Email: jtheal@renegadelinuxbox.dhs.org
10 # December 7, 1999
11 # ---------------------------------------------------
13 # Heavily modified by Paul Sheer <psheer@obsidian.co.za>.
14 # Adjusted to Fortran 90 by Norbert Nemec <Norbert@Nemec-online.de>.
16 context default
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
24 # structure
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
51 # declarations
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
99 # headers
100     keyword whole entry brightgreen
102 # I/O functions
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
220     keyword ( brightcyan
221     keyword ) brightcyan
222     keyword : brightcyan
223     keyword , brightcyan
224     keyword \+ yellow
225     keyword - yellow
226     keyword \* yellow
227     keyword / yellow
228     keyword = yellow
229     keyword < yellow
230     keyword > yellow
232 # comments and quotes
233     keyword '*' green
235 context &\n & black cyan
237 context format( ) green
239 context ! \n brown
240    spellcheck