annotate runtime/syntax/fortran.vim @ 819:23f82b5d2814 v7.0c10

updated for version 7.0c10
author vimboss
date Wed, 05 Apr 2006 20:41:53 +0000
parents 3fc0f57ecb91
children 2c885fab04e3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 " Vim syntax file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2 " Language: Fortran95 (and Fortran90, Fortran77, F and elf90)
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
3 " Version: 0.87
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
4 " URL: http://www.unb.ca/chem/ajit/syntax/fortran.vim
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
5 " Last Change: 2006 Apr. 04
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6 " Maintainer: Ajit J. Thakkar (ajit AT unb.ca); <http://www.unb.ca/chem/ajit/>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7 " Usage: Do :help fortran-syntax from Vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
8 " Credits:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9 " Version 0.1 was based on the fortran 77 syntax file by Mario Eusebio and
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
10 " Preben Guldberg. Useful suggestions were made by: Andrej Panjkov,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
11 " Bram Moolenaar, Thomas Olsen, Michael Sternberg, Christian Reile,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12 " Walter Dieudonné, Alexander Wagner, Roman Bertle, Charles Rendleman,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 " and Andrew Griffiths. For instructions on use, do :help fortran from vim
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 " For version 5.x: Clear all syntax items
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 " For version 6.x: Quit if a syntax file is already loaded
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17 if version < 600
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 syntax clear
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 elseif exists("b:current_syntax")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20 finish
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23 " let b:fortran_dialect = fortran_dialect if set correctly by user
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 if exists("fortran_dialect")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 if fortran_dialect =~ '\<\(f\(9[05]\|77\)\|elf\|F\)\>'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26 let b:fortran_dialect = matchstr(fortran_dialect,'\<\(f\(9[05]\|77\)\|elf\|F\)\>')
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 echohl WarningMsg | echo "Unknown value of fortran_dialect" | echohl None
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29 let b:fortran_dialect = "unknown"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32 let b:fortran_dialect = "unknown"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35 " fortran_dialect not set or set incorrectly by user,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36 if b:fortran_dialect == "unknown"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
37 " set b:fortran_dialect from directive in first three lines of file
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
38 let b:fortran_retype = getline(1)." ".getline(2)." ".getline(3)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
39 if b:fortran_retype =~ '\<fortran_dialect\s*=\s*F\>'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
40 let b:fortran_dialect = "F"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
41 elseif b:fortran_retype =~ '\<fortran_dialect\s*=\s*elf\>'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42 let b:fortran_dialect = "elf"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43 elseif b:fortran_retype =~ '\<fortran_dialect\s*=\s*f90\>'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44 let b:fortran_dialect = "f90"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45 elseif b:fortran_retype =~ '\<fortran_dialect\s*=\s*f95\>'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
46 let b:fortran_dialect = "f95"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
47 elseif b:fortran_retype =~ '\<fortran_dialect\s*=\s*f77\>'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48 let b:fortran_dialect = "f77"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
49 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
50 " no directive found, so assume f95
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
51 let b:fortran_dialect = "f95"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
52 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
53 unlet b:fortran_retype
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
54 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
55
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
56 " Choose between fixed and free source form if this hasn't been done yet
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
57 if !exists("b:fortran_fixed_source")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
58 if b:fortran_dialect == "elf" || b:fortran_dialect == "F"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
59 " elf and F require free source form
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
60 let b:fortran_fixed_source = 0
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
61 elseif b:fortran_dialect == "f77"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
62 " f77 requires fixed source form
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
63 let b:fortran_fixed_source = 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
64 elseif exists("fortran_free_source")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
65 " User guarantees free source form for all f90 and f95 files
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66 let b:fortran_fixed_source = 0
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
67 elseif exists("fortran_fixed_source")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
68 " User guarantees fixed source form for all f90 and f95 files
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
69 let b:fortran_fixed_source = 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
70 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
71 " f90 and f95 allow both fixed and free source form.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
72 " Assume fixed source form unless signs of free source form
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
73 " are detected in the first five columns of the first b:lmax lines.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
74 " Detection becomes more accurate and time-consuming if more lines
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
75 " are checked. Increase the limit below if you keep lots of comments at
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
76 " the very top of each file and you have a fast computer.
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
77 let b:lmax = 250
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
78 if ( b:lmax > line("$") )
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
79 let b:lmax = line("$")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
80 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
81 let b:fortran_fixed_source = 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
82 let b:ln=1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
83 while b:ln <= b:lmax
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
84 let b:test = strpart(getline(b:ln),0,5)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
85 if b:test[0] !~ '[Cc*!#]' && b:test !~ '^ \+[!#]' && b:test =~ '[^ 0-9\t]'
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
86 let b:fortran_fixed_source = 0
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
87 break
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
88 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
89 let b:ln = b:ln + 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
90 endwhile
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
91 unlet b:lmax b:ln b:test
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
92 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
93 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
94
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
95 syn case ignore
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
96
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
97 if b:fortran_dialect !=? "f77"
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
98 if version >= 600
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
99 if b:fortran_fixed_source == 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
100 syn match fortranConstructName "^\s\{6,}\zs\a\w*\ze\s*:"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
101 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
102 syn match fortranConstructName "^\s*\zs\a\w*\ze\s*:"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
103 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
104 if exists("fortran_more_precise")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
105 syn match fortranConstructName "\(\<end\s*do\s\+\)\@<=\a\w*"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
106 syn match fortranConstructName "\(\<end\s*if\s\+\)\@<=\a\w*"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
107 syn match fortranConstructName "\(\<end\s*select\s\+\)\@<=\a\w*"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
108 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
109 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
110 if b:fortran_fixed_source == 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
111 syn match fortranConstructName "^\s\{6,}\a\w*\s*:"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
112 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
113 syn match fortranConstructName "^\s*\a\w*\s*:"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
114 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
115 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
116 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
117
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
118 syn match fortranUnitHeader "\<end\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
119
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
120 syn match fortranType "\<character\>"
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
121 syn match fortranType "\<complex\>"
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
122 syn match fortranType "\<integer\>"
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
123 syn keyword fortranType intrinsic
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
124 syn match fortranType "\<implicit\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
125 syn keyword fortranStructure dimension
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
126 syn keyword fortranStorageClass parameter save
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
127 syn match fortranUnitHeader "\<subroutine\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
128 syn keyword fortranCall call
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
129 syn match fortranUnitHeader "\<function\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
130 syn match fortranUnitHeader "\<program\>"
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
131 syn keyword fortranKeyword return stop
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
132 syn keyword fortranConditional else then
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
133 syn match fortranConditional "\<if\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
134 syn match fortranRepeat "\<do\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
135
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
136 syn keyword fortranTodo contained todo fixme
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
137
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
138 "Catch errors caused by too many right parentheses
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
139 syn region fortranParen transparent start="(" end=")" contains=ALLBUT,fortranParenError,@fortranCommentGroup,cIncluded,@spell
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
140 syn match fortranParenError ")"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
141
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
142 syn match fortranOperator "\.\s*n\=eqv\s*\."
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
143 syn match fortranOperator "\.\s*\(and\|or\|not\)\s*\."
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
144 syn match fortranOperator "\(+\|-\|/\|\*\)"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
145
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
146 syn match fortranBoolean "\.\s*\(true\|false\)\s*\."
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
147
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
148 syn keyword fortranReadWrite backspace close endfile inquire open print read rewind write
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
149
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
150 "If tabs are allowed then the left margin checks do not work
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
151 if exists("fortran_have_tabs")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
152 syn match fortranTab "\t" transparent
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
153 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
154 syn match fortranTab "\t"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
155 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
156
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
157 syn keyword fortranIO access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
158
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
159 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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
160
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
161 " Intrinsics provided by some vendors
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
162 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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
163
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
164 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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
165 syn match fortran77Intrinsic "\<len\s*[(,]"me=s+3
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
166 syn match fortran77Intrinsic "\<real\s*("me=s+4
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
167 syn match fortranType "\<implicit\s\+real"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
168 syn match fortranType "^\s*real\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
169 syn match fortran90Intrinsic "\<logical\s*("me=s+7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
170 syn match fortranType "\<implicit\s\+logical"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
171 syn match fortranType "^\s*logical\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
172
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
173 "Numbers of various sorts
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
174 " Integers
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
175 syn match fortranNumber display "\<\d\+\(_\a\w*\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
176 " floating point number, without a decimal point
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
177 syn match fortranFloatNoDec display "\<\d\+[deq][-+]\=\d\+\(_\a\w*\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
178 " floating point number, starting with a decimal point
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
179 syn match fortranFloatIniDec display "\.\d\+\([deq][-+]\=\d\+\)\=\(_\a\w*\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
180 " floating point number, no digits after decimal
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
181 syn match fortranFloatEndDec display "\<\d\+\.\([deq][-+]\=\d\+\)\=\(_\a\w*\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
182 " floating point number, D or Q exponents
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
183 syn match fortranFloatDExp display "\<\d\+\.\d\+\([dq][-+]\=\d\+\)\=\(_\a\w*\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
184 " floating point number
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
185 syn match fortranFloat display "\<\d\+\.\d\+\(e[-+]\=\d\+\)\=\(_\a\w*\)\=\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
186 " Numbers in formats
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
187 syn match fortranFormatSpec display "\d*f\d\+\.\d\+"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
188 syn match fortranFormatSpec display "\d*e[sn]\=\d\+\.\d\+\(e\d+\>\)\="
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
189 syn match fortranFormatSpec display "\d*\(d\|q\|g\)\d\+\.\d\+\(e\d+\)\="
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
190 syn match fortranFormatSpec display "\d\+x\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
191 " The next match cannot be used because it would pick up identifiers as well
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
192 " syn match fortranFormatSpec display "\<\(a\|i\)\d\+"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
193
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
194 " Numbers as labels
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
195 syn match fortranLabelNumber display "^\d\{1,5}\s"me=e-1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
196 syn match fortranLabelNumber display "^ \d\{1,4}\s"ms=s+1,me=e-1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
197 syn match fortranLabelNumber display "^ \d\{1,3}\s"ms=s+2,me=e-1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
198 syn match fortranLabelNumber display "^ \d\d\=\s"ms=s+3,me=e-1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
199 syn match fortranLabelNumber display "^ \d\s"ms=s+4,me=e-1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
200
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
201 if version >= 600 && exists("fortran_more_precise")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
202 " Numbers as targets
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
203 syn match fortranTarget display "\(\<if\s*(.\+)\s*\)\@<=\(\d\+\s*,\s*\)\{2}\d\+\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
204 syn match fortranTarget display "\(\<do\s\+\)\@<=\d\+\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
205 syn match fortranTarget display "\(\<go\s*to\s*(\=\)\@<=\(\d\+\s*,\s*\)*\d\+\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
206 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
207
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
208 syn keyword fortranTypeEx external
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
209 syn keyword fortranIOEx format
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
210 syn keyword fortranKeywordEx continue
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
211 syn match fortranKeywordEx "\<go\s*to\>"
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
212 syn region fortranStringEx start=+'+ end=+'+ contains=fortranContinueMark,fortranLeftMargin,fortranSerialNumber
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
213 syn keyword fortran77IntrinsicEx dim lge lgt lle llt mod
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
214 syn keyword fortranKeywordOb assign pause to
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
215
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
216 if b:fortran_dialect != "f77"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
217
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
218 syn match fortranType "\<type\>"
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
219 syn keyword fortranType none
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
220
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
221 syn keyword fortranStructure private public intent optional
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
222 syn keyword fortranStructure pointer target allocatable
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
223 syn keyword fortranStorageClass in out
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
224 syn match fortranStorageClass "\<kind\s*="me=s+4
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
225 syn match fortranStorageClass "\<len\s*="me=s+3
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
226
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
227 syn match fortranUnitHeader "\<module\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
228 syn keyword fortranUnitHeader use only contains
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
229 syn keyword fortranUnitHeader result operator assignment
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
230 syn match fortranUnitHeader "\<interface\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
231 syn match fortranUnitHeader "\<recursive\>"
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
232 syn keyword fortranKeyword allocate deallocate nullify cycle exit
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
233 syn match fortranConditional "\<select\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
234 syn keyword fortranConditional case default where elsewhere
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
235
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
236 syn match fortranOperator "\(\(>\|<\)=\=\|==\|/=\|=\)"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
237 syn match fortranOperator "=>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
238
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
239 syn region fortranString start=+"+ end=+"+ contains=fortranLeftMargin,fortranContinueMark,fortranSerialNumber
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
240 syn keyword fortranIO pad position action delim readwrite
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
241 syn keyword fortranIO eor advance nml
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
242
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
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
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
245 syn match fortran90Intrinsic "\<not\>\(\s*\.\)\@!"me=s+3
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
246 syn match fortran90Intrinsic "\<kind\>\s*[(,]"me=s+4
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
247
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
248 syn match fortranUnitHeader "\<end\s*function"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
249 syn match fortranUnitHeader "\<end\s*interface"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
250 syn match fortranUnitHeader "\<end\s*module"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
251 syn match fortranUnitHeader "\<end\s*program"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
252 syn match fortranUnitHeader "\<end\s*subroutine"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
253 syn match fortranRepeat "\<end\s*do"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
254 syn match fortranConditional "\<end\s*where"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
255 syn match fortranConditional "\<select\s*case"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
256 syn match fortranConditional "\<end\s*select"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
257 syn match fortranType "\<end\s*type"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
258 syn match fortranType "\<in\s*out"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
259
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
260 syn keyword fortranUnitHeaderEx procedure
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
261 syn keyword fortranIOEx namelist
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
262 syn keyword fortranConditionalEx while
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
263 syn keyword fortran90IntrinsicEx achar iachar transfer
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
264
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
265 syn keyword fortranInclude include
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
266 syn keyword fortran90StorageClassR sequence
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
267 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
268
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
269 syn match fortranConditional "\<end\s*if"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
270 syn match fortranIO contains=fortranOperator "\<e\(nd\|rr\)\s*=\s*\d\+"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
271 syn match fortranConditional "\<else\s*if"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
272
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
273 syn keyword fortranUnitHeaderR entry
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
274 syn match fortranTypeR display "double\s\+precision"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
275 syn match fortranTypeR display "double\s\+complex"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
276 syn match fortranUnitHeaderR display "block\s\+data"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
277 syn keyword fortranStorageClassR common equivalence data
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
278 syn keyword fortran77IntrinsicR dble dprod
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
279 syn match fortran77OperatorR "\.\s*[gl][et]\s*\."
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
280 syn match fortran77OperatorR "\.\s*\(eq\|ne\)\s*\."
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
281
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
282 if b:fortran_dialect == "f95"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
283 syn keyword fortranRepeat forall
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
284 syn match fortranRepeat "\<end\s*forall"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
285 syn keyword fortran95Intrinsic null cpu_time
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
286 syn match fortranType "\<elemental\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
287 syn match fortranType "\<pure\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
288 if exists("fortran_more_precise")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
289 syn match fortranConstructName "\(\<end\s*forall\s\+\)\@<=\a\w*\>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
290 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
291 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
292
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
293 syn cluster fortranCommentGroup contains=fortranTodo
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
294
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
295 if (b:fortran_fixed_source == 1)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
296 if !exists("fortran_have_tabs")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
297 "Flag items beyond column 72
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
298 syn match fortranSerialNumber excludenl "^.\{73,}$"lc=72
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
299 "Flag left margin errors
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
300 syn match fortranLabelError "^.\{-,4}[^0-9 ]" contains=fortranTab
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
301 syn match fortranLabelError "^.\{4}\d\S"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
302 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
303 syn match fortranComment excludenl "^[!c*].*$" contains=@fortranCommentGroup
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
304 syn match fortranLeftMargin transparent "^ \{5}"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
305 syn match fortranContinueMark display "^.\{5}\S"lc=5
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
306 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
307 syn match fortranContinueMark display "&"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
308 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
309
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
310 if b:fortran_dialect != "f77"
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
311 syn match fortranComment excludenl "!.*$" contains=@fortranCommentGroup,@spell
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
312 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
313
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
314 "cpp is often used with Fortran
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
315 syn match cPreProc "^\s*#\s*\(define\|ifdef\)\>.*"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
316 syn match cPreProc "^\s*#\s*\(elif\|if\)\>.*"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
317 syn match cPreProc "^\s*#\s*\(ifndef\|undef\)\>.*"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
318 syn match cPreCondit "^\s*#\s*\(else\|endif\)\>.*"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
319 syn region cIncluded contained start=+"[^(]+ skip=+\\\\\|\\"+ end=+"+ contains=fortranLeftMargin,fortranContinueMark,fortranSerialNumber
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
320 syn match cIncluded contained "<[^>]*>"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
321 syn match cInclude "^\s*#\s*include\>\s*["<]" contains=cIncluded
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
322
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
323 "Synchronising limits assume that comment and continuation lines are not mixed
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
324 if exists("fortran_fold") || exists("fortran_more_precise")
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
325 syn sync fromstart
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
326 elseif (b:fortran_fixed_source == 0)
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
327 syn sync linecont "&" minlines=20
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
328 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
329 syn sync minlines=20
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
330 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
331
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
332 if version >= 600 && exists("fortran_fold")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
333
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
334 if (b:fortran_fixed_source == 1)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
335 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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
336 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
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
337 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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
338 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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
339 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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
340 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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
341 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
342 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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
343 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
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
344 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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
345 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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
346 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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
347 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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
348 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
349
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
350 if exists("fortran_fold_conditionals")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
351 if (b:fortran_fixed_source == 1)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
352 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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
353 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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
354 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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
355 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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
356 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
357 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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
358 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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
359 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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
360 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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
361 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
362 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
363
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
364 if exists("fortran_fold_multilinecomments")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
365 if (b:fortran_fixed_source == 1)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
366 syn match fortranMultiLineComments transparent fold "\(^[!c*].*\(\n\|\%$\)\)\{4,}" contains=ALLBUT,fortranMultiCommentLines
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
367 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
368 syn match fortranMultiLineComments transparent fold "\(^\s*!.*\(\n\|\%$\)\)\{4,}" contains=ALLBUT,fortranMultiCommentLines
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
369 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
370 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
371 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
372
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
373 " Define the default highlighting.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
374 " For version 5.7 and earlier: only when not done already
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
375 " For version 5.8 and later: only when an item doesn't have highlighting yet
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
376 if version >= 508 || !exists("did_fortran_syn_inits")
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
377 if version < 508
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
378 let did_fortran_syn_inits = 1
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
379 command -nargs=+ HiLink hi link <args>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
380 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
381 command -nargs=+ HiLink hi def link <args>
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
382 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
383
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
384 " The default highlighting differs for each dialect.
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
385 " Transparent groups:
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
386 " fortranParen, fortranLeftMargin
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
387 " fortranProgram, fortranModule, fortranSubroutine, fortranFunction,
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
388 " fortranBlockData
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
389 " fortran77Loop, fortran90Loop, fortranIfBlock, fortranCase
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
390 " fortranMultiCommentLines
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
391 HiLink fortranKeyword Keyword
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
392 HiLink fortranConstructName Identifier
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
393 HiLink fortranConditional Conditional
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
394 HiLink fortranRepeat Repeat
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
395 HiLink fortranTodo Todo
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
396 HiLink fortranContinueMark Todo
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
397 HiLink fortranString String
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
398 HiLink fortranNumber Number
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
399 HiLink fortranOperator Operator
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
400 HiLink fortranBoolean Boolean
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
401 HiLink fortranLabelError Error
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
402 HiLink fortranObsolete Todo
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
403 HiLink fortranType Type
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
404 HiLink fortranStructure Type
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
405 HiLink fortranStorageClass StorageClass
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
406 HiLink fortranCall fortranUnitHeader
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
407 HiLink fortranUnitHeader fortranPreCondit
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
408 HiLink fortranReadWrite Keyword
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
409 HiLink fortranIO Keyword
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
410 HiLink fortran95Intrinsic fortran90Intrinsic
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
411 HiLink fortran77Intrinsic fortran90Intrinsic
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
412 HiLink fortran90Intrinsic Function
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
413
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
414 if ( b:fortran_dialect == "elf" || b:fortran_dialect == "F" )
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
415 HiLink fortranKeywordOb fortranObsolete
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
416 HiLink fortran66Intrinsic fortranObsolete
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
417 HiLink fortran77IntrinsicR fortranObsolete
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
418 HiLink fortranUnitHeaderR fortranObsolete
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
419 HiLink fortranTypeR fortranObsolete
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
420 HiLink fortranStorageClassR fortranObsolete
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
421 HiLink fortran90StorageClassR fortranObsolete
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
422 HiLink fortran77OperatorR fortranObsolete
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
423 HiLink fortranInclude fortranObsolete
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
424 else
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
425 HiLink fortranKeywordOb fortranKeyword
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
426 HiLink fortran66Intrinsic fortran90Intrinsic
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
427 HiLink fortran77IntrinsicR fortran90Intrinsic
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
428 HiLink fortranUnitHeaderR fortranPreCondit
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
429 HiLink fortranTypeR fortranType
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
430 HiLink fortranStorageClassR fortranStorageClass
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
431 HiLink fortran77OperatorR fortranOperator
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
432 HiLink fortranInclude Include
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
433 HiLink fortran90StorageClassR fortranStorageClass
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
434 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
435
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
436 if ( b:fortran_dialect == "F" )
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
437 HiLink fortranLabelNumber fortranObsolete
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
438 HiLink fortranTarget fortranObsolete
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
439 HiLink fortranFormatSpec fortranObsolete
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
440 HiLink fortranFloatDExp fortranObsolete
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
441 HiLink fortranFloatNoDec fortranObsolete
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
442 HiLink fortranFloatIniDec fortranObsolete
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
443 HiLink fortranFloatEndDec fortranObsolete
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
444 HiLink fortranTypeEx fortranObsolete
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
445 HiLink fortranIOEx fortranObsolete
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
446 HiLink fortranKeywordEx fortranObsolete
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
447 HiLink fortranStringEx fortranObsolete
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
448 HiLink fortran77IntrinsicEx fortranObsolete
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
449 HiLink fortranUnitHeaderEx fortranObsolete
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
450 HiLink fortranConditionalEx fortranObsolete
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
451 HiLink fortran90IntrinsicEx fortranObsolete
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
452 else
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
453 HiLink fortranLabelNumber Special
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
454 HiLink fortranTarget Special
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
455 HiLink fortranFormatSpec Identifier
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
456 HiLink fortranFloatDExp fortranFloat
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
457 HiLink fortranFloatNoDec fortranFloat
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
458 HiLink fortranFloatIniDec fortranFloat
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
459 HiLink fortranFloatEndDec fortranFloat
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
460 HiLink fortranTypeEx fortranType
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
461 HiLink fortranIOEx fortranIO
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
462 HiLink fortranKeywordEx fortranKeyword
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
463 HiLink fortranStringEx fortranString
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
464 HiLink fortran77IntrinsicEx fortran90Intrinsic
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
465 HiLink fortranUnitHeaderEx fortranUnitHeader
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
466 HiLink fortranConditionalEx fortranConditional
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
467 HiLink fortran90IntrinsicEx fortran90Intrinsic
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
468 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
469
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
470 HiLink fortranFloat Float
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
471 HiLink fortranPreCondit PreCondit
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
472 HiLink fortranInclude Include
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
473 HiLink cIncluded fortranString
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
474 HiLink cInclude Include
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
475 HiLink cPreProc PreProc
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
476 HiLink cPreCondit PreCondit
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
477 HiLink fortranParenError Error
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
478 HiLink fortranComment Comment
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
479 HiLink fortranSerialNumber Todo
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
480 HiLink fortranTab Error
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
481 " Vendor extensions
819
23f82b5d2814 updated for version 7.0c10
vimboss
parents: 7
diff changeset
482 HiLink fortranExtraIntrinsic Function
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
483
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
484 delcommand HiLink
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
485 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
486
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
487 let b:current_syntax = "fortran"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
488
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
489 " vim: ts=8 tw=132