Mercurial > vim
annotate runtime/syntax/fortran.vim @ 2777:30bcf93b3521
Added tag v7-3-164 for changeset cdefcbb70e8c
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Thu, 28 Apr 2011 13:02:09 +0200 |
parents | 878562053ba3 |
children | 91e53bcb7946 |
rev | line source |
---|---|
7 | 1 " Vim syntax file |
2 " Language: Fortran95 (and Fortran90, Fortran77, F and elf90) | |
2370
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
3 " Version: 0.89 |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
4 " Last Change: 2010 July 21 |
7 | 5 " Maintainer: Ajit J. Thakkar (ajit AT unb.ca); <http://www.unb.ca/chem/ajit/> |
2370
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
6 " Usage: For instructions, do :help fortran-syntax from Vim |
7 | 7 " Credits: |
8 " Version 0.1 was based on the fortran 77 syntax file by Mario Eusebio and | |
9 " Preben Guldberg. Useful suggestions were made by: Andrej Panjkov, | |
10 " Bram Moolenaar, Thomas Olsen, Michael Sternberg, Christian Reile, | |
11 " Walter Dieudonné, Alexander Wagner, Roman Bertle, Charles Rendleman, | |
2370
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
12 " Andrew Griffiths, Joe Krahn, and Hendrik Merx. |
7 | 13 |
14 " For version 5.x: Clear all syntax items | |
15 " For version 6.x: Quit if a syntax file is already loaded | |
16 if version < 600 | |
17 syntax clear | |
18 elseif exists("b:current_syntax") | |
19 finish | |
20 endif | |
21 | |
22 " let b:fortran_dialect = fortran_dialect if set correctly by user | |
23 if exists("fortran_dialect") | |
24 if fortran_dialect =~ '\<\(f\(9[05]\|77\)\|elf\|F\)\>' | |
25 let b:fortran_dialect = matchstr(fortran_dialect,'\<\(f\(9[05]\|77\)\|elf\|F\)\>') | |
26 else | |
27 echohl WarningMsg | echo "Unknown value of fortran_dialect" | echohl None | |
28 let b:fortran_dialect = "unknown" | |
29 endif | |
30 else | |
31 let b:fortran_dialect = "unknown" | |
32 endif | |
33 | |
34 " fortran_dialect not set or set incorrectly by user, | |
35 if b:fortran_dialect == "unknown" | |
36 " set b:fortran_dialect from directive in first three lines of file | |
37 let b:fortran_retype = getline(1)." ".getline(2)." ".getline(3) | |
38 if b:fortran_retype =~ '\<fortran_dialect\s*=\s*F\>' | |
39 let b:fortran_dialect = "F" | |
40 elseif b:fortran_retype =~ '\<fortran_dialect\s*=\s*elf\>' | |
41 let b:fortran_dialect = "elf" | |
42 elseif b:fortran_retype =~ '\<fortran_dialect\s*=\s*f90\>' | |
43 let b:fortran_dialect = "f90" | |
44 elseif b:fortran_retype =~ '\<fortran_dialect\s*=\s*f95\>' | |
45 let b:fortran_dialect = "f95" | |
46 elseif b:fortran_retype =~ '\<fortran_dialect\s*=\s*f77\>' | |
47 let b:fortran_dialect = "f77" | |
48 else | |
49 " no directive found, so assume f95 | |
50 let b:fortran_dialect = "f95" | |
51 endif | |
52 unlet b:fortran_retype | |
53 endif | |
54 | |
55 " Choose between fixed and free source form if this hasn't been done yet | |
56 if !exists("b:fortran_fixed_source") | |
57 if b:fortran_dialect == "elf" || b:fortran_dialect == "F" | |
58 " elf and F require free source form | |
59 let b:fortran_fixed_source = 0 | |
60 elseif b:fortran_dialect == "f77" | |
61 " f77 requires fixed source form | |
62 let b:fortran_fixed_source = 1 | |
63 elseif exists("fortran_free_source") | |
64 " User guarantees free source form for all f90 and f95 files | |
65 let b:fortran_fixed_source = 0 | |
66 elseif exists("fortran_fixed_source") | |
67 " User guarantees fixed source form for all f90 and f95 files | |
68 let b:fortran_fixed_source = 1 | |
69 else | |
70 " f90 and f95 allow both fixed and free source form. | |
71 " Assume fixed source form unless signs of free source form | |
2377
878562053ba3
Update Fortran indent and syntax file. (Ajit Thakkar)
Bram Moolenaar <bram@vim.org>
parents:
2370
diff
changeset
|
72 " are detected in the first five columns of the first s:lmax lines. |
7 | 73 " Detection becomes more accurate and time-consuming if more lines |
74 " are checked. Increase the limit below if you keep lots of comments at | |
75 " the very top of each file and you have a fast computer. | |
2377
878562053ba3
Update Fortran indent and syntax file. (Ajit Thakkar)
Bram Moolenaar <bram@vim.org>
parents:
2370
diff
changeset
|
76 let s:lmax = 500 |
878562053ba3
Update Fortran indent and syntax file. (Ajit Thakkar)
Bram Moolenaar <bram@vim.org>
parents:
2370
diff
changeset
|
77 if ( s:lmax > line("$") ) |
878562053ba3
Update Fortran indent and syntax file. (Ajit Thakkar)
Bram Moolenaar <bram@vim.org>
parents:
2370
diff
changeset
|
78 let s:lmax = line("$") |
7 | 79 endif |
80 let b:fortran_fixed_source = 1 | |
2377
878562053ba3
Update Fortran indent and syntax file. (Ajit Thakkar)
Bram Moolenaar <bram@vim.org>
parents:
2370
diff
changeset
|
81 let s:ln=1 |
878562053ba3
Update Fortran indent and syntax file. (Ajit Thakkar)
Bram Moolenaar <bram@vim.org>
parents:
2370
diff
changeset
|
82 while s:ln <= s:lmax |
878562053ba3
Update Fortran indent and syntax file. (Ajit Thakkar)
Bram Moolenaar <bram@vim.org>
parents:
2370
diff
changeset
|
83 let s:test = strpart(getline(s:ln),0,5) |
878562053ba3
Update Fortran indent and syntax file. (Ajit Thakkar)
Bram Moolenaar <bram@vim.org>
parents:
2370
diff
changeset
|
84 if s:test !~ '^[Cc*]' && s:test !~ '^ *[!#]' && s:test =~ '[^ 0-9\t]' && s:test !~ '^[ 0-9]*\t' |
7 | 85 let b:fortran_fixed_source = 0 |
86 break | |
87 endif | |
2377
878562053ba3
Update Fortran indent and syntax file. (Ajit Thakkar)
Bram Moolenaar <bram@vim.org>
parents:
2370
diff
changeset
|
88 let s:ln = s:ln + 1 |
7 | 89 endwhile |
2377
878562053ba3
Update Fortran indent and syntax file. (Ajit Thakkar)
Bram Moolenaar <bram@vim.org>
parents:
2370
diff
changeset
|
90 unlet! s:lmax s:ln s:test |
7 | 91 endif |
92 endif | |
93 | |
94 syn case ignore | |
95 | |
819 | 96 if b:fortran_dialect !=? "f77" |
7 | 97 if version >= 600 |
98 if b:fortran_fixed_source == 1 | |
99 syn match fortranConstructName "^\s\{6,}\zs\a\w*\ze\s*:" | |
100 else | |
101 syn match fortranConstructName "^\s*\zs\a\w*\ze\s*:" | |
102 endif | |
103 if exists("fortran_more_precise") | |
104 syn match fortranConstructName "\(\<end\s*do\s\+\)\@<=\a\w*" | |
105 syn match fortranConstructName "\(\<end\s*if\s\+\)\@<=\a\w*" | |
106 syn match fortranConstructName "\(\<end\s*select\s\+\)\@<=\a\w*" | |
107 endif | |
108 else | |
109 if b:fortran_fixed_source == 1 | |
110 syn match fortranConstructName "^\s\{6,}\a\w*\s*:" | |
111 else | |
112 syn match fortranConstructName "^\s*\a\w*\s*:" | |
113 endif | |
114 endif | |
115 endif | |
116 | |
117 syn match fortranUnitHeader "\<end\>" | |
118 | |
819 | 119 syn match fortranType "\<character\>" |
120 syn match fortranType "\<complex\>" | |
121 syn match fortranType "\<integer\>" | |
7 | 122 syn keyword fortranType intrinsic |
123 syn match fortranType "\<implicit\>" | |
124 syn keyword fortranStructure dimension | |
125 syn keyword fortranStorageClass parameter save | |
126 syn match fortranUnitHeader "\<subroutine\>" | |
127 syn keyword fortranCall call | |
128 syn match fortranUnitHeader "\<function\>" | |
129 syn match fortranUnitHeader "\<program\>" | |
819 | 130 syn keyword fortranKeyword return stop |
7 | 131 syn keyword fortranConditional else then |
132 syn match fortranConditional "\<if\>" | |
133 syn match fortranRepeat "\<do\>" | |
134 | |
135 syn keyword fortranTodo contained todo fixme | |
136 | |
137 "Catch errors caused by too many right parentheses | |
819 | 138 syn region fortranParen transparent start="(" end=")" contains=ALLBUT,fortranParenError,@fortranCommentGroup,cIncluded,@spell |
7 | 139 syn match fortranParenError ")" |
140 | |
141 syn match fortranOperator "\.\s*n\=eqv\s*\." | |
142 syn match fortranOperator "\.\s*\(and\|or\|not\)\s*\." | |
143 syn match fortranOperator "\(+\|-\|/\|\*\)" | |
144 | |
145 syn match fortranBoolean "\.\s*\(true\|false\)\s*\." | |
146 | |
819 | 147 syn keyword fortranReadWrite backspace close endfile inquire open print read rewind write |
7 | 148 |
149 "If tabs are allowed then the left margin checks do not work | |
150 if exists("fortran_have_tabs") | |
151 syn match fortranTab "\t" transparent | |
152 else | |
153 syn match fortranTab "\t" | |
154 endif | |
155 | |
819 | 156 syn keyword fortranIO access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit |
7 | 157 |
819 | 158 syn keyword fortran66Intrinsic alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl |
7 | 159 |
160 " Intrinsics provided by some vendors | |
819 | 161 syn keyword fortranExtraIntrinsic algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama erf erfc gamma iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh |
7 | 162 |
819 | 163 syn keyword fortran77Intrinsic abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh |
7 | 164 syn match fortran77Intrinsic "\<len\s*[(,]"me=s+3 |
165 syn match fortran77Intrinsic "\<real\s*("me=s+4 | |
166 syn match fortranType "\<implicit\s\+real" | |
167 syn match fortranType "^\s*real\>" | |
168 syn match fortran90Intrinsic "\<logical\s*("me=s+7 | |
169 syn match fortranType "\<implicit\s\+logical" | |
170 syn match fortranType "^\s*logical\>" | |
171 | |
172 "Numbers of various sorts | |
173 " Integers | |
174 syn match fortranNumber display "\<\d\+\(_\a\w*\)\=\>" | |
175 " floating point number, without a decimal point | |
176 syn match fortranFloatNoDec display "\<\d\+[deq][-+]\=\d\+\(_\a\w*\)\=\>" | |
177 " floating point number, starting with a decimal point | |
178 syn match fortranFloatIniDec display "\.\d\+\([deq][-+]\=\d\+\)\=\(_\a\w*\)\=\>" | |
179 " floating point number, no digits after decimal | |
180 syn match fortranFloatEndDec display "\<\d\+\.\([deq][-+]\=\d\+\)\=\(_\a\w*\)\=\>" | |
181 " floating point number, D or Q exponents | |
182 syn match fortranFloatDExp display "\<\d\+\.\d\+\([dq][-+]\=\d\+\)\=\(_\a\w*\)\=\>" | |
183 " floating point number | |
184 syn match fortranFloat display "\<\d\+\.\d\+\(e[-+]\=\d\+\)\=\(_\a\w*\)\=\>" | |
185 " Numbers in formats | |
186 syn match fortranFormatSpec display "\d*f\d\+\.\d\+" | |
187 syn match fortranFormatSpec display "\d*e[sn]\=\d\+\.\d\+\(e\d+\>\)\=" | |
188 syn match fortranFormatSpec display "\d*\(d\|q\|g\)\d\+\.\d\+\(e\d+\)\=" | |
189 syn match fortranFormatSpec display "\d\+x\>" | |
190 " The next match cannot be used because it would pick up identifiers as well | |
191 " syn match fortranFormatSpec display "\<\(a\|i\)\d\+" | |
192 | |
193 " Numbers as labels | |
194 syn match fortranLabelNumber display "^\d\{1,5}\s"me=e-1 | |
195 syn match fortranLabelNumber display "^ \d\{1,4}\s"ms=s+1,me=e-1 | |
196 syn match fortranLabelNumber display "^ \d\{1,3}\s"ms=s+2,me=e-1 | |
197 syn match fortranLabelNumber display "^ \d\d\=\s"ms=s+3,me=e-1 | |
198 syn match fortranLabelNumber display "^ \d\s"ms=s+4,me=e-1 | |
199 | |
200 if version >= 600 && exists("fortran_more_precise") | |
201 " Numbers as targets | |
202 syn match fortranTarget display "\(\<if\s*(.\+)\s*\)\@<=\(\d\+\s*,\s*\)\{2}\d\+\>" | |
203 syn match fortranTarget display "\(\<do\s\+\)\@<=\d\+\>" | |
204 syn match fortranTarget display "\(\<go\s*to\s*(\=\)\@<=\(\d\+\s*,\s*\)*\d\+\>" | |
205 endif | |
206 | |
207 syn keyword fortranTypeEx external | |
208 syn keyword fortranIOEx format | |
2370
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
209 syn match fortranKeywordEx "\<continue\>" |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
210 syn match fortranKeyword "^\s*\d\+\s\+continue\>" |
819 | 211 syn match fortranKeywordEx "\<go\s*to\>" |
7 | 212 syn region fortranStringEx start=+'+ end=+'+ contains=fortranContinueMark,fortranLeftMargin,fortranSerialNumber |
213 syn keyword fortran77IntrinsicEx dim lge lgt lle llt mod | |
819 | 214 syn keyword fortranKeywordOb assign pause to |
7 | 215 |
216 if b:fortran_dialect != "f77" | |
217 | |
819 | 218 syn match fortranType "\<type\>" |
219 syn keyword fortranType none | |
7 | 220 |
221 syn keyword fortranStructure private public intent optional | |
222 syn keyword fortranStructure pointer target allocatable | |
223 syn keyword fortranStorageClass in out | |
224 syn match fortranStorageClass "\<kind\s*="me=s+4 | |
225 syn match fortranStorageClass "\<len\s*="me=s+3 | |
226 | |
227 syn match fortranUnitHeader "\<module\>" | |
228 syn keyword fortranUnitHeader use only contains | |
229 syn keyword fortranUnitHeader result operator assignment | |
230 syn match fortranUnitHeader "\<interface\>" | |
231 syn match fortranUnitHeader "\<recursive\>" | |
819 | 232 syn keyword fortranKeyword allocate deallocate nullify cycle exit |
7 | 233 syn match fortranConditional "\<select\>" |
234 syn keyword fortranConditional case default where elsewhere | |
235 | |
236 syn match fortranOperator "\(\(>\|<\)=\=\|==\|/=\|=\)" | |
237 syn match fortranOperator "=>" | |
238 | |
239 syn region fortranString start=+"+ end=+"+ contains=fortranLeftMargin,fortranContinueMark,fortranSerialNumber | |
240 syn keyword fortranIO pad position action delim readwrite | |
241 syn keyword fortranIO eor advance nml | |
242 | |
819 | 243 syn keyword fortran90Intrinsic adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack precision present product radix random_number random_seed range repeat reshape rrspacing |
244 syn keyword fortran90Intrinsic scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify | |
7 | 245 syn match fortran90Intrinsic "\<not\>\(\s*\.\)\@!"me=s+3 |
246 syn match fortran90Intrinsic "\<kind\>\s*[(,]"me=s+4 | |
247 | |
248 syn match fortranUnitHeader "\<end\s*function" | |
249 syn match fortranUnitHeader "\<end\s*interface" | |
250 syn match fortranUnitHeader "\<end\s*module" | |
251 syn match fortranUnitHeader "\<end\s*program" | |
252 syn match fortranUnitHeader "\<end\s*subroutine" | |
253 syn match fortranRepeat "\<end\s*do" | |
254 syn match fortranConditional "\<end\s*where" | |
255 syn match fortranConditional "\<select\s*case" | |
256 syn match fortranConditional "\<end\s*select" | |
257 syn match fortranType "\<end\s*type" | |
258 syn match fortranType "\<in\s*out" | |
259 | |
260 syn keyword fortranUnitHeaderEx procedure | |
261 syn keyword fortranIOEx namelist | |
262 syn keyword fortranConditionalEx while | |
263 syn keyword fortran90IntrinsicEx achar iachar transfer | |
264 | |
265 syn keyword fortranInclude include | |
266 syn keyword fortran90StorageClassR sequence | |
267 endif | |
268 | |
269 syn match fortranConditional "\<end\s*if" | |
270 syn match fortranIO contains=fortranOperator "\<e\(nd\|rr\)\s*=\s*\d\+" | |
271 syn match fortranConditional "\<else\s*if" | |
272 | |
273 syn keyword fortranUnitHeaderR entry | |
274 syn match fortranTypeR display "double\s\+precision" | |
275 syn match fortranTypeR display "double\s\+complex" | |
276 syn match fortranUnitHeaderR display "block\s\+data" | |
277 syn keyword fortranStorageClassR common equivalence data | |
278 syn keyword fortran77IntrinsicR dble dprod | |
279 syn match fortran77OperatorR "\.\s*[gl][et]\s*\." | |
280 syn match fortran77OperatorR "\.\s*\(eq\|ne\)\s*\." | |
281 | |
840 | 282 if b:fortran_dialect == "f95" || b:fortran_dialect == "F" |
7 | 283 syn keyword fortranRepeat forall |
284 syn match fortranRepeat "\<end\s*forall" | |
285 syn keyword fortran95Intrinsic null cpu_time | |
286 syn match fortranType "\<elemental\>" | |
287 syn match fortranType "\<pure\>" | |
288 if exists("fortran_more_precise") | |
289 syn match fortranConstructName "\(\<end\s*forall\s\+\)\@<=\a\w*\>" | |
290 endif | |
291 endif | |
292 | |
2370
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
293 if b:fortran_dialect == "f95" |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
294 " F2003 |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
295 syn keyword fortran03Intrinsic command_argument_count get_command get_command_argument get_environment_variable is_iostat_end is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_of |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
296 " ISO_C_binding |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
297 syn keyword fortran03Constant c_null_char c_alert c_backspace c_form_feed c_new_line c_carriage_return c_horizontal_tab c_vertical_tab |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
298 syn keyword fortran03Constant c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
299 syn keyword fortran03Intrinsic iso_c_binding c_loc c_funloc c_associated c_f_pointer c_f_procpointer |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
300 syn keyword fortran03Type c_ptr c_funptr |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
301 " ISO_Fortran_env |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
302 syn keyword fortran03Constant iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
303 " IEEE_arithmetic |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
304 syn keyword fortran03Intrinsic ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
305 |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
306 syn keyword fortran03ReadWrite flush wait |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
307 syn keyword fortran03IO decimal round iomsg |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
308 syn keyword fortran03Type asynchronous nopass non_overridable pass protected volatile abstract extends import |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
309 syn keyword fortran03Type non_intrinsic value bind deferred generic final enumerator class |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
310 syn match fortran03Type "\<associate\>" |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
311 syn match fortran03Type "\<end\s*associate" |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
312 syn match fortran03Type "\<enum\s*,\s*bind\s*(\s*c\s*)" |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
313 syn match fortran03Type "\<end\s*enum" |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
314 syn match fortran03Conditional "\<select\s*type" |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
315 syn match fortran03Conditional "\<type\s*is\>" |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
316 syn match fortran03UnitHeader "\<abstract\s*interface\>" |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
317 syn match fortran03Operator "\([\|]\)" |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
318 |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
319 " F2008 |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
320 syn keyword fortran08Intrinsic acosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
321 syn keyword fortran08Intrinsic atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
322 syn keyword fortran08Intrinsic bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
323 syn keyword fortran08IO newunit |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
324 syn keyword fortran08Type contiguous |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
325 endif |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
326 |
7 | 327 syn cluster fortranCommentGroup contains=fortranTodo |
328 | |
329 if (b:fortran_fixed_source == 1) | |
330 if !exists("fortran_have_tabs") | |
331 "Flag items beyond column 72 | |
332 syn match fortranSerialNumber excludenl "^.\{73,}$"lc=72 | |
333 "Flag left margin errors | |
334 syn match fortranLabelError "^.\{-,4}[^0-9 ]" contains=fortranTab | |
335 syn match fortranLabelError "^.\{4}\d\S" | |
336 endif | |
2034 | 337 syn match fortranComment excludenl "^[!c*].*$" contains=@fortranCommentGroup,@spell |
7 | 338 syn match fortranLeftMargin transparent "^ \{5}" |
339 syn match fortranContinueMark display "^.\{5}\S"lc=5 | |
340 else | |
341 syn match fortranContinueMark display "&" | |
342 endif | |
343 | |
344 if b:fortran_dialect != "f77" | |
819 | 345 syn match fortranComment excludenl "!.*$" contains=@fortranCommentGroup,@spell |
7 | 346 endif |
347 | |
348 "cpp is often used with Fortran | |
349 syn match cPreProc "^\s*#\s*\(define\|ifdef\)\>.*" | |
350 syn match cPreProc "^\s*#\s*\(elif\|if\)\>.*" | |
351 syn match cPreProc "^\s*#\s*\(ifndef\|undef\)\>.*" | |
352 syn match cPreCondit "^\s*#\s*\(else\|endif\)\>.*" | |
353 syn region cIncluded contained start=+"[^(]+ skip=+\\\\\|\\"+ end=+"+ contains=fortranLeftMargin,fortranContinueMark,fortranSerialNumber | |
354 syn match cIncluded contained "<[^>]*>" | |
355 syn match cInclude "^\s*#\s*include\>\s*["<]" contains=cIncluded | |
356 | |
357 "Synchronising limits assume that comment and continuation lines are not mixed | |
819 | 358 if exists("fortran_fold") || exists("fortran_more_precise") |
359 syn sync fromstart | |
360 elseif (b:fortran_fixed_source == 0) | |
2370
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
361 syn sync linecont "&" minlines=30 |
7 | 362 else |
2370
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
363 syn sync minlines=30 |
7 | 364 endif |
365 | |
366 if version >= 600 && exists("fortran_fold") | |
367 | |
368 if (b:fortran_fixed_source == 1) | |
369 syn region fortranProgram transparent fold keepend start="^\s*program\s\+\z(\a\w*\)" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*\(program\(\s\+\z1\>\)\=\|$\)" contains=ALLBUT,fortranModule | |
370 syn region fortranModule transparent fold keepend start="^\s*module\s\+\(procedure\)\@!\z(\a\w*\)" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*\(module\(\s\+\z1\>\)\=\|$\)" contains=ALLBUT,fortranProgram | |
819 | 371 syn region fortranFunction transparent fold keepend extend start="^\s*\(elemental \|pure \|recursive \)\=\s*\(\(\(real \|integer \|logical \|complex \|double \s*precision \)\s*\((\(\s*kind\s*=\)\=\s*\w\+\s*)\)\=\)\|type\s\+(\s*\w\+\s*) \|character \((\(\s*len\s*=\)\=\s*\d\+\s*)\|(\(\s*kind\s*=\)\=\s*\w\+\s*)\)\=\)\=\s*function\s\+\z(\a\w*\)" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*\($\|function\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule |
7 | 372 syn region fortranSubroutine transparent fold keepend extend start="^\s*\(elemental \|pure \|recursive \)\=\s*subroutine\s\+\z(\a\w*\)" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*\($\|subroutine\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule |
2370
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
373 syn region fortranBlockData transparent fold keepend start="\<block\s*data\(\s\+\z(\a\w*\)\)\=" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*\($\|block\s*data\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock |
7 | 374 syn region fortranInterface transparent fold keepend extend start="^\s*interface\>" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*interface\>" contains=ALLBUT,fortranProgram,fortranModule,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock |
2370
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
375 syn region fortranTypeDef transparent fold keepend extend start="^\s*type\s*\(,\s*\(public\|private\)\)\=\s*::" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*type\>" contains=ALLBUT,fortranProgram,fortranModule,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock |
7 | 376 else |
377 syn region fortranProgram transparent fold keepend start="^\s*program\s\+\z(\a\w*\)" skip="^\s*[!#].*$" excludenl end="\<end\s*\(program\(\s\+\z1\>\)\=\|$\)" contains=ALLBUT,fortranModule | |
378 syn region fortranModule transparent fold keepend start="^\s*module\s\+\(procedure\)\@!\z(\a\w*\)" skip="^\s*[!#].*$" excludenl end="\<end\s*\(module\(\s\+\z1\>\)\=\|$\)" contains=ALLBUT,fortranProgram | |
819 | 379 syn region fortranFunction transparent fold keepend extend start="^\s*\(elemental \|pure \|recursive \)\=\s*\(\(\(real \|integer \|logical \|complex \|double \s*precision \)\s*\((\(\s*kind\s*=\)\=\s*\w\+\s*)\)\=\)\|type\s\+(\s*\w\+\s*) \|character \((\(\s*len\s*=\)\=\s*\d\+\s*)\|(\(\s*kind\s*=\)\=\s*\w\+\s*)\)\=\)\=\s*function\s\+\z(\a\w*\)" skip="^\s*[!#].*$" excludenl end="\<end\s*\($\|function\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule |
7 | 380 syn region fortranSubroutine transparent fold keepend extend start="^\s*\(elemental \|pure \|recursive \)\=\s*subroutine\s\+\z(\a\w*\)" skip="^\s*[!#].*$" excludenl end="\<end\s*\($\|subroutine\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule |
2370
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
381 syn region fortranBlockData transparent fold keepend start="\<block\s*data\(\s\+\z(\a\w*\)\)\=" skip="^\s*[!#].*$" excludenl end="\<end\s*\($\|block\s*data\(\s\+\z1\>\)\=\)" contains=ALLBUT,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock |
7 | 382 syn region fortranInterface transparent fold keepend extend start="^\s*interface\>" skip="^\s*[!#].*$" excludenl end="\<end\s*interface\>" contains=ALLBUT,fortranProgram,fortranModule,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock |
2370
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
383 syn region fortranTypeDef transparent fold keepend extend start="^\s*type\s*\(,\s*\(public\|private\)\)\=\s*::" skip="^\s*[!#].*$" excludenl end="\<end\s*type\>" contains=ALLBUT,fortranProgram,fortranModule,fortran77Loop,fortranCase,fortran90Loop,fortranIfBlock |
7 | 384 endif |
385 | |
386 if exists("fortran_fold_conditionals") | |
387 if (b:fortran_fixed_source == 1) | |
388 syn region fortran77Loop transparent fold keepend start="\<do\s\+\z(\d\+\)" end="^\s*\z1\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData | |
389 syn region fortran90Loop transparent fold keepend extend start="\(\<end\s\+\)\@<!\<do\(\s\+\a\|\s*$\)" skip="^\([!c*]\|\s*#\).*$" excludenl end="\<end\s*do\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData | |
390 syn region fortranIfBlock transparent fold keepend extend start="\(\<e\(nd\|lse\)\s\+\)\@<!\<if\s*(.\+)\s*then\>" skip="^\([!c*]\|\s*#\).*$" end="\<end\s*if\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData | |
391 syn region fortranCase transparent fold keepend extend start="\<select\s*case\>" skip="^\([!c*]\|\s*#\).*$" end="\<end\s*select\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData | |
392 else | |
393 syn region fortran77Loop transparent fold keepend start="\<do\s\+\z(\d\+\)" end="^\s*\z1\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData | |
394 syn region fortran90Loop transparent fold keepend extend start="\(\<end\s\+\)\@<!\<do\(\s\+\a\|\s*$\)" skip="^\s*[!#].*$" excludenl end="\<end\s*do\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData | |
395 syn region fortranIfBlock transparent fold keepend extend start="\(\<e\(nd\|lse\)\s\+\)\@<!\<if\s*(.\+)\s*then\>" skip="^\s*[!#].*$" end="\<end\s*if\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData | |
396 syn region fortranCase transparent fold keepend extend start="\<select\s*case\>" skip="^\s*[!#].*$" end="\<end\s*select\>" contains=ALLBUT,fortranUnitHeader,fortranStructure,fortranStorageClass,fortranType,fortranProgram,fortranModule,fortranSubroutine,fortranFunction,fortranBlockData | |
397 endif | |
398 endif | |
399 | |
400 if exists("fortran_fold_multilinecomments") | |
401 if (b:fortran_fixed_source == 1) | |
402 syn match fortranMultiLineComments transparent fold "\(^[!c*].*\(\n\|\%$\)\)\{4,}" contains=ALLBUT,fortranMultiCommentLines | |
403 else | |
404 syn match fortranMultiLineComments transparent fold "\(^\s*!.*\(\n\|\%$\)\)\{4,}" contains=ALLBUT,fortranMultiCommentLines | |
405 endif | |
406 endif | |
407 endif | |
408 | |
409 " Define the default highlighting. | |
410 " For version 5.7 and earlier: only when not done already | |
411 " For version 5.8 and later: only when an item doesn't have highlighting yet | |
412 if version >= 508 || !exists("did_fortran_syn_inits") | |
413 if version < 508 | |
414 let did_fortran_syn_inits = 1 | |
415 command -nargs=+ HiLink hi link <args> | |
416 else | |
417 command -nargs=+ HiLink hi def link <args> | |
418 endif | |
419 | |
420 " The default highlighting differs for each dialect. | |
421 " Transparent groups: | |
422 " fortranParen, fortranLeftMargin | |
423 " fortranProgram, fortranModule, fortranSubroutine, fortranFunction, | |
424 " fortranBlockData | |
425 " fortran77Loop, fortran90Loop, fortranIfBlock, fortranCase | |
426 " fortranMultiCommentLines | |
819 | 427 HiLink fortranKeyword Keyword |
428 HiLink fortranConstructName Identifier | |
2370
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
429 HiLink fortran03Conditional fortranConditional |
819 | 430 HiLink fortranConditional Conditional |
7 | 431 HiLink fortranRepeat Repeat |
819 | 432 HiLink fortranTodo Todo |
2370
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
433 if (b:fortran_fixed_source == 1) |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
434 HiLink fortranContinueMark Todo |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
435 else |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
436 HiLink fortranContinueMark Keyword |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
437 endif |
7 | 438 HiLink fortranString String |
439 HiLink fortranNumber Number | |
2370
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
440 HiLink fortran03Operator fortranOperator |
819 | 441 HiLink fortranOperator Operator |
7 | 442 HiLink fortranBoolean Boolean |
819 | 443 HiLink fortranLabelError Error |
444 HiLink fortranObsolete Todo | |
2370
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
445 HiLink fortran03Type fortranType |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
446 HiLink fortran08Type fortranType |
819 | 447 HiLink fortranType Type |
448 HiLink fortranStructure Type | |
449 HiLink fortranStorageClass StorageClass | |
2370
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
450 HiLink fortranCall Function |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
451 HiLink fortran03UnitHeader fortranUnitHeader |
819 | 452 HiLink fortranUnitHeader fortranPreCondit |
2370
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
453 HiLink fortran03ReadWrite fortranReadWrite |
819 | 454 HiLink fortranReadWrite Keyword |
2370
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
455 HiLink fortran03IO fortranIO |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
456 HiLink fortran08IO fortranIO |
819 | 457 HiLink fortranIO Keyword |
458 HiLink fortran95Intrinsic fortran90Intrinsic | |
459 HiLink fortran77Intrinsic fortran90Intrinsic | |
460 HiLink fortran90Intrinsic Function | |
2370
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
461 HiLink fortran03Intrinsic Function |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
462 HiLink fortran08Intrinsic Function |
454f314d0e61
Make it possible to load Perl dynamically on Unix. (James Vega)
Bram Moolenaar <bram@vim.org>
parents:
2034
diff
changeset
|
463 HiLink fortran03Constant Function |
7 | 464 |
465 if ( b:fortran_dialect == "elf" || b:fortran_dialect == "F" ) | |
819 | 466 HiLink fortranKeywordOb fortranObsolete |
7 | 467 HiLink fortran66Intrinsic fortranObsolete |
468 HiLink fortran77IntrinsicR fortranObsolete | |
469 HiLink fortranUnitHeaderR fortranObsolete | |
470 HiLink fortranTypeR fortranObsolete | |
471 HiLink fortranStorageClassR fortranObsolete | |
472 HiLink fortran90StorageClassR fortranObsolete | |
473 HiLink fortran77OperatorR fortranObsolete | |
819 | 474 HiLink fortranInclude fortranObsolete |
7 | 475 else |
819 | 476 HiLink fortranKeywordOb fortranKeyword |
7 | 477 HiLink fortran66Intrinsic fortran90Intrinsic |
478 HiLink fortran77IntrinsicR fortran90Intrinsic | |
479 HiLink fortranUnitHeaderR fortranPreCondit | |
480 HiLink fortranTypeR fortranType | |
481 HiLink fortranStorageClassR fortranStorageClass | |
482 HiLink fortran77OperatorR fortranOperator | |
819 | 483 HiLink fortranInclude Include |
7 | 484 HiLink fortran90StorageClassR fortranStorageClass |
485 endif | |
486 | |
487 if ( b:fortran_dialect == "F" ) | |
488 HiLink fortranLabelNumber fortranObsolete | |
819 | 489 HiLink fortranTarget fortranObsolete |
490 HiLink fortranFormatSpec fortranObsolete | |
491 HiLink fortranFloatDExp fortranObsolete | |
492 HiLink fortranFloatNoDec fortranObsolete | |
7 | 493 HiLink fortranFloatIniDec fortranObsolete |
494 HiLink fortranFloatEndDec fortranObsolete | |
819 | 495 HiLink fortranTypeEx fortranObsolete |
7 | 496 HiLink fortranIOEx fortranObsolete |
819 | 497 HiLink fortranKeywordEx fortranObsolete |
498 HiLink fortranStringEx fortranObsolete | |
7 | 499 HiLink fortran77IntrinsicEx fortranObsolete |
500 HiLink fortranUnitHeaderEx fortranObsolete | |
501 HiLink fortranConditionalEx fortranObsolete | |
502 HiLink fortran90IntrinsicEx fortranObsolete | |
503 else | |
504 HiLink fortranLabelNumber Special | |
819 | 505 HiLink fortranTarget Special |
506 HiLink fortranFormatSpec Identifier | |
507 HiLink fortranFloatDExp fortranFloat | |
508 HiLink fortranFloatNoDec fortranFloat | |
7 | 509 HiLink fortranFloatIniDec fortranFloat |
510 HiLink fortranFloatEndDec fortranFloat | |
819 | 511 HiLink fortranTypeEx fortranType |
7 | 512 HiLink fortranIOEx fortranIO |
819 | 513 HiLink fortranKeywordEx fortranKeyword |
514 HiLink fortranStringEx fortranString | |
7 | 515 HiLink fortran77IntrinsicEx fortran90Intrinsic |
516 HiLink fortranUnitHeaderEx fortranUnitHeader | |
517 HiLink fortranConditionalEx fortranConditional | |
518 HiLink fortran90IntrinsicEx fortran90Intrinsic | |
519 endif | |
520 | |
521 HiLink fortranFloat Float | |
819 | 522 HiLink fortranPreCondit PreCondit |
7 | 523 HiLink fortranInclude Include |
819 | 524 HiLink cIncluded fortranString |
525 HiLink cInclude Include | |
526 HiLink cPreProc PreProc | |
527 HiLink cPreCondit PreCondit | |
528 HiLink fortranParenError Error | |
7 | 529 HiLink fortranComment Comment |
819 | 530 HiLink fortranSerialNumber Todo |
531 HiLink fortranTab Error | |
7 | 532 " Vendor extensions |
819 | 533 HiLink fortranExtraIntrinsic Function |
7 | 534 |
535 delcommand HiLink | |
536 endif | |
537 | |
538 let b:current_syntax = "fortran" | |
539 | |
540 " vim: ts=8 tw=132 |