1 # Define SciTE settings for Fortran files.
3 filter.fortran=Fortran (f for f90 f95 f2k)|*.f;*.for;*.f90;*.f95;*.f2k|
5 file.patterns.f95=*.f90;*.f95;*.f2k
6 file.patterns.f77=*.f;*.for
7 file.patterns.fortran=$(file.patterns.f95);$(file.patterns.f77)
9 lexer.$(file.patterns.f95)=fortran
10 lexer.$(file.patterns.f77)=f77
12 # keywords and input/output specifiers
13 keywordclass.fortran=access action advance allocatable allocate \
14 apostrophe assign assignment associate asynchronous backspace \
15 bind blank blockdata call case character class close common \
16 complex contains continue cycle data deallocate decimal delim \
17 default dimension direct do dowhile double doubleprecision else \
18 elseif elsewhere encoding end endassociate endblockdata enddo \
19 endfile endforall endfunction endif endinterface endmodule endprogram \
20 endselect endsubroutine endtype endwhere entry eor equivalence \
21 err errmsg exist exit external file flush fmt forall form format \
22 formatted function go goto id if implicit in include inout \
23 integer inquire intent interface intrinsic iomsg iolength \
24 iostat kind len logical module name named namelist nextrec nml \
25 none nullify number only open opened operator optional out pad \
26 parameter pass pause pending pointer pos position precision \
27 print private program protected public quote read readwrite \
28 real rec recl recursive result return rewind save select \
29 selectcase selecttype sequential sign size stat status stop stream \
30 subroutine target then to type unformatted unit use value \
31 volatile wait where while write
33 keywords.$(file.patterns.f95)=$(keywordclass.fortran)
34 keywords.$(file.patterns.f77)=$(keywordclass.fortran)
36 # keywords2 is for highlighting intrinsic and extended functions
37 keywords2.$(file.patterns.fortran)=abs achar acos acosd adjustl adjustr \
38 aimag aimax0 aimin0 aint ajmax0 ajmin0 akmax0 akmin0 all allocated alog \
39 alog10 amax0 amax1 amin0 amin1 amod anint any asin asind associated \
40 atan atan2 atan2d atand bitest bitl bitlr bitrl bjtest bit_size bktest break \
41 btest cabs ccos cdabs cdcos cdexp cdlog cdsin cdsqrt ceiling cexp char \
42 clog cmplx conjg cos cosd cosh count cpu_time cshift csin csqrt dabs \
43 dacos dacosd dasin dasind datan datan2 datan2d datand date \
44 date_and_time dble dcmplx dconjg dcos dcosd dcosh dcotan ddim dexp \
45 dfloat dflotk dfloti dflotj digits dim dimag dint dlog dlog10 dmax1 dmin1 \
46 dmod dnint dot_product dprod dreal dsign dsin dsind dsinh dsqrt dtan dtand \
47 dtanh eoshift epsilon errsns exp exponent float floati floatj floatk floor fraction \
48 free huge iabs iachar iand ibclr ibits ibset ichar idate idim idint idnint ieor ifix \
49 iiabs iiand iibclr iibits iibset iidim iidint iidnnt iieor iifix iint iior iiqint iiqnnt iishft \
50 iishftc iisign ilen imax0 imax1 imin0 imin1 imod index inint inot int int1 int2 int4 \
51 int8 iqint iqnint ior ishft ishftc isign isnan izext jiand jibclr jibits jibset jidim jidint \
52 jidnnt jieor jifix jint jior jiqint jiqnnt jishft jishftc jisign jmax0 jmax1 jmin0 jmin1 \
53 jmod jnint jnot jzext kiabs kiand kibclr kibits kibset kidim kidint kidnnt kieor kifix \
54 kind kint kior kishft kishftc kisign kmax0 kmax1 kmin0 kmin1 kmod knint knot kzext \
55 lbound leadz len len_trim lenlge lge lgt lle llt log log10 logical lshift malloc matmul \
56 max max0 max1 maxexponent maxloc maxval merge min min0 min1 minexponent minloc \
57 minval mod modulo mvbits nearest nint not nworkers number_of_processors pack popcnt \
58 poppar precision present product radix random random_number random_seed range real \
59 repeat reshape rrspacing rshift scale scan secnds selected_int_kind \
60 selected_real_kind set_exponent shape sign sin sind sinh size sizeof sngl snglq spacing \
61 spread sqrt sum system_clock tan tand tanh tiny transfer transpose trim ubound unpack verify
63 # keywords3 are nonstardard, extended and user defined functions
64 keywords3.$(file.patterns.fortran)=cdabs cdcos cdexp cdlog cdsin cdsqrt cotan cotand \
65 dcmplx dconjg dcotan dcotand decode dimag dll_export dll_import doublecomplex dreal \
66 dvchk encode find flen flush getarg getcharqq getcl getdat getenv gettim hfix ibchng \
67 identifier imag int1 int2 int4 intc intrup invalop iostat_msg isha ishc ishl jfix \
68 lacfar locking locnear map nargs nbreak ndperr ndpexc offset ovefl peekcharqq precfill \
69 prompt qabs qacos qacosd qasin qasind qatan qatand qatan2 qcmplx qconjg qcos qcosd \
70 qcosh qdim qexp qext qextd qfloat qimag qlog qlog10 qmax1 qmin1 qmod qreal qsign qsin \
71 qsind qsinh qsqrt qtan qtand qtanh ran rand randu rewrite segment setdat settim system \
72 timer undfl unlock union val virtual volatile zabs zcos zexp zlog zsin zsqrt
74 #fold.comment.fortran=1
75 #fold.quotes.fortran=1
77 comment.block.fortran=!~
79 # These setting do not work very well for FORTRAN, uncoment to use it
80 # statement.indent.$(file.patterns.fortran)=8 associate block blockdata case do enum \
81 # function interface module program subroutine then type where
82 # statement.end.$(file.patterns.fortran)=10 end
86 style.fortran.0=fore:#808080
87 style.f77.0=fore:#808080
91 style.fortran.1=$(colour.code.comment.line),$(font.code.comment.line)
92 style.f77.1=$(colour.code.comment.line),$(font.code.comment.line)
94 style.fortran.2=$(colour.number)
95 style.f77.2=$(colour.number)
96 # Single quoted string
97 style.fortran.3=$(colour.string)
98 style.f77.3=$(colour.string)
99 # Double quoted string
100 style.fortran.4=$(colour.string)
101 style.f77.4=$(colour.string)
102 # End of line where string is not closed
103 style.fortran.5=fore:#000000,back:#E0C0E0,eolfilled
104 style.f77.5=fore:#000000,back:#E0C0E0,eolfilled
106 style.fortran.6=$(colour.operator),bold
107 style.f77.6=$(colour.operator),bold
112 style.fortran.8=$(colour.keyword),case:u
113 style.f77.8=$(colour.keyword),case:u
115 style.fortran.9=fore:#B00040
116 style.f77.9=fore:#B00040
118 style.fortran.10=fore:#B04080
119 style.f77.10=fore:#B04080
121 style.fortran.11=$(colour.preproc)
122 style.f77.11=$(colour.preproc)
123 # Operators in .NAME. format
124 style.fortran.12=$(colour.operator),bold
125 style.f77.12=$(colour.operator),bold
127 style.fortran.13=fore:#E0C0E0
128 style.f77.13=fore:#E0C0E0
130 style.fortran.14=fore:#000000,back:#F0E080
131 style.f77.14=fore:#000000,back:#F0E080
132 # Braces are matched in all cases
133 braces.fortran.style=0
136 fc77=lf95 $(FileNameExt) -c -fix
137 fc90=lf95 $(FileNameExt) -c
139 fc77=f77 -c -o $(FileName).o $(FileNameExt)
140 fc90=f90 -c -o $(FileName).o $(FileNameExt)
142 command.compile.*.f=$(fc77)
143 command.build.*.f=make
144 command.go.*.f=$(FileName)
146 command.compile.*.for=$(fc77)
147 command.build.*.for=make
148 command.go.*.for=$(FileName)
150 command.compile.*.f90=$(fc90)
151 command.build.*.f90=make
152 command.go.*.f90=$(FileName)
154 command.compile.*.f95=$(fc90)
155 command.build.*.f95=make
156 command.go.*.f95=$(FileName)
159 api.$(file.patterns.fortran)=$(SciteDefaultHome)\fortran.api
161 autocomplete.fortran.ignorecase=1
162 autocomplete.f77.ignorecase=1
163 calltip.fortran.ignorecase=1
164 calltip.f77.ignorecase=1