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