Merge branch '2888_cleanup'
[midnight-commander.git] / misc / syntax / fortran.syntax
blob451500af7925a9aafed0c069357dfaa4e3a3bed6
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 caseinsensitive
16 context default
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
63 # declarations
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
102 # headers
103     keyword whole entry brightgreen
104     keyword whole function yellow
105     keyword whole program yellow
106     keyword whole subroutine yellow
108 # I/O functions
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
226     keyword ( brightcyan
227     keyword ) brightcyan
228     keyword , brightcyan
229     keyword \+ yellow
230     keyword - yellow
231     keyword \* yellow
232     keyword / yellow
233     keyword = yellow
235 # comments and quotes
236     keyword '*' green
238 context exclusive linestart ! \n brown
239    spellcheck
240 context exclusive linestart \* \n brown
241    spellcheck
242 context exclusive linestart c \n brown
243    spellcheck
244 context exclusive linestart C \n brown
245    spellcheck