diff options
Diffstat (limited to 'kate/data/fortran.xml')
-rw-r--r-- | kate/data/fortran.xml | 569 |
1 files changed, 569 insertions, 0 deletions
diff --git a/kate/data/fortran.xml b/kate/data/fortran.xml new file mode 100644 index 000000000..948267fc9 --- /dev/null +++ b/kate/data/fortran.xml @@ -0,0 +1,569 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE language SYSTEM "language.dtd"> +<language name="Fortran" version="1.11" kateversion="2.4" section="Sources" extensions="*.f;*.F;*.for;*.FOR;*.f90;*.F90;*.fpp;*.FPP;*.f95;*.F95;" mimetype="text/x-fortran-src" casesensitive="0" author="Franchin Matteo (fnch@libero.it)" license="LGPL"> +<!-- by Franchin Matteo, fnch@libero.it --> + <highlighting> + +<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * --> +<!-- * L I S T S * --> +<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * --> + <list name="keywords"> + <item> allocate </item> + <item> break </item> + <item> call </item> + <item> case </item> + <item> common </item> + <item> contains </item> + <item> continue </item> + <item> cycle </item> + <item> deallocate </item> + <item> default </item> + <item> do </item> + <item> forall </item> + <item> where </item> + <item> elsewhere </item> + <item> elseif </item> + <item> else </item> + <item> equivalence </item> + <item> exit </item> + <item> external </item> + <item> for </item> + <item> go </item> + <item> goto </item> + <item> if </item> + <item> implicit </item> + <item> include </item> + <item> interface </item> + <item> intrinsic </item> + <item> namelist </item> + <item> none </item> + <item> nullify </item> + <item> operator </item> + <item> assignment </item> + <item> pause </item> + <item> procedure </item> + <item> pure </item> + <item> elemental </item> + <item> record </item> + <item> recursive </item> + <item> result </item> + <item> return </item> + <item> select </item> + <item> selectcase </item> + <item> stop </item> + <item> then </item> + <item> to </item> + <item> use </item> + <item> only </item> + <item> entry </item> + <item> while </item> + </list> + <list name="io_functions"> + <item> access </item> + <item> backspace </item> + <item> close </item> + <item> inquire </item> + <item> open </item> + <item> print </item> + <item> read </item> + <item> rewind </item> + <item> write </item> + <item> format </item> + </list> + <!-- Keywords inside read(...), write(...), backspace(...), + rewind(...), endfile(...), close(...) --> + <list name="io_keywords"> + <item> unit </item> + <item> end </item> + <item> err </item> + <item> fmt </item> + <item> iostat </item> + <item> status </item> + <item> advance </item> + <item> size </item> + <item> eor </item> + </list> + <!-- Keywords inside open(...) --> + <list name="open_keywords"> + <item> unit </item> + <item> iostat </item> + <item> err </item> + <item> file </item> + <item> status </item> + <item> access </item> + <item> form </item> + <item> recl </item> + <item> blank </item> + <item> position </item> + <item> action </item> + <item> delim </item> + <item> pad </item> + </list> + <!-- Keywords inside inquire(...) --> + <list name="inquire_keywords"> + <item> unit </item> + <item> iostat </item> + <item> err </item> + <item> file </item> + <item> exist </item> + <item> opened </item> + <item> number </item> + <item> named </item> + <item> name </item> + <item> access </item> + <item> sequential </item> + <item> direct </item> + <item> form </item> + <item> formatted </item> + <item> unformatted </item> + <item> recl </item> + <item> nextrec </item> + <item> blank </item> + <item> position </item> + <item> action </item> + <item> read </item> + <item> write </item> + <item> readwrite </item> + <item> delim </item> + <item> pad </item> + </list> + <list name="types"> + <item> double </item> + <item> precision </item> + <item> parameter </item> + <item> save </item> + <item> pointer </item> + <item> public </item> + <item> private </item> + <item> target </item> + <item> allocatable </item> + <item> optional </item> + <item> sequence </item> + </list> + +<!-- There are 4 types of intrinsic procedures in Fortran 90: + 1) Elemental procedures (elemental_procs); + 2) Inquiry functions (inquiry_fn); + 3) Transformational functions (transform_fn); + 4) Non elemental subroutines (non_elem_subr); + Often mathematical functions have one generic form and many specific names! + If you use the generic form, the compiler will select the right function + to use depending on the type of the arguments. + But you can use also the specific names! + --> + +<!-- E L E M E N T A L P R O C E D U R E S --> + <list name="elemental_procs"> + <!-- Elemental functions that may convert --> + <item> abs </item> <!-- Generic form: abs --> + <item> cabs </item> <!-- Specific names for abs --> + <item> dabs </item> + <item> iabs </item> + <item> aimag </item> + <item> aint </item> <!-- Generic form: aint --> + <item> dint </item> <!-- Specific name for aint --> + <item> anint </item> <!-- Generic form: anint --> + <item> dnint </item> <!-- Specific name for anint --> + <item> ceiling </item> + <item> cmplx </item> + <item> dcmplx </item> <!-- (non standard) --> + <item> dimag </item> <!-- (non standard) --> + <item> floor </item> + <item> nint </item> <!-- Generic form: nint --> + <item> idnint </item><!-- Specific name for nint --> + <item> int </item> <!-- Generic form: int --> + <item> idint </item> <!-- Specific names for int --> + <item> ifix </item> + <item> real </item> <!-- Generic form: real --> + <item> float </item> <!-- Specific names for real --> + <item> sngl </item> + <item> dble </item> + <item> dreal </item> <!-- (non standard) --> + <item> aprime </item> <!-- 5 functions from fortran.xml --> + <item> dconjg </item> <!-- I don't know if they really belong to --> + <item> dfloat </item> <!-- the fortran 90/95 standard! --> + <item> ddmim </item> + <item> rand </item> + <!-- Elemental functions that do not convert --> + <item> modulo </item> + <item> conjg </item> + <item> dprod </item> <!-- dprod(x, y) is the specific name for x*y --> + <item> dim </item> <!-- Generic form: dim --> + <item> ddim </item> <!-- Specific names for dim --> + <item> idim </item> + <item> max </item> <!-- Generic form: max --> + <item> amax0 </item> <!-- Specific names for max --> + <item> amax1 </item> + <item> max0 </item> + <item> max1 </item> + <item> dmax1 </item> + <item> min </item> <!-- Generic form: min --> + <item> amin0 </item> <!-- Specific names for min --> + <item> amin1 </item> + <item> min0 </item> + <item> min1 </item> + <item> dmin1 </item> + <item> mod </item> <!-- Generic form: mod --> + <item> amod </item> <!-- Specific names for mod --> + <item> dmod </item> + <item> sign </item> <!-- Generic form: sign --> + <item> dsign </item> <!-- Specific names for sign --> + <item> isign </item> + <!-- Elemental mathematical functions --> + <item> acos </item> <!-- Generic form: acos --> + <item> dacos </item> <!-- Specific names for acos --> + <item> asin </item> <!-- Generic form: asin --> + <item> dasin </item> <!-- Specific names for asin --> + <item> atan </item> <!-- Generic form: atan --> + <item> datan </item> <!-- Specific names for atan --> + <item> atan2 </item> <!-- Generic form: atan2 --> + <item> datan2 </item> <!-- Specific names for atan2 --> + <item> cos </item> <!-- Generic form: cos --> + <item> ccos </item> <!-- Specific names for cos --> + <item> dcos </item> + <item> cosh </item> <!-- Generic form: cosh --> + <item> dcosh </item> <!-- Specific names for cosh --> + <item> exp </item> <!-- Generic form: exp --> + <item> cexp </item> <!-- Specific names for exp --> + <item> dexp </item> + <item> log </item> <!-- Generic form: log --> + <item> alog </item> <!-- Specific names for log --> + <item> dlog </item> + <item> clog </item> + <item> log10 </item> <!-- Generic form: log10 --> + <item> alog10 </item> <!-- Specific names for log10 --> + <item> dlog10 </item> + <item> sin </item> <!-- Generic form: sin --> + <item> csin </item> <!-- Specific names for sin --> + <item> dsin </item> + <item> sinh </item> <!-- Generic form: sinh --> + <item> dsinh </item> <!-- Specific name for sinh --> + <item> sqrt </item> <!-- Generic form: sqrt --> + <item> csqrt </item> <!-- Specific names for sqrt --> + <item> dsqrt </item> + <item> tan </item> <!-- Generic form: tan --> + <item> dtan </item> <!-- Generic form: dtan --> + <item> tanh </item> <!-- Generic form: tanh --> + <item> dtanh </item> <!-- Specific names for tanh --> + <!-- Elemental character and logical functions --> + <!-- Character-integer conversions --> + <item> achar </item> + <item> char </item> + <item> iachar </item> + <item> ichar </item> + <!-- Lexical comparison functions --> + <item> lge </item> + <item> lgt </item> + <item> lle </item> + <item> llt </item> + <!-- String-handling elemental functions --> + <item> adjustl </item> + <item> adjustr </item> + <item> index </item> + <item> len_trim </item> + <item> scan </item> + <item> verify </item> + <!-- Logical conversion --> + <item> logical </item> + <!-- Elemental functions to manipulate reals --> + <item> exponent </item> + <item> fraction </item> + <item> nearest </item> + <item> rrspacing </item> + <item> scale </item> + <item> set_exponent </item> + <item> spacing </item> + <!-- Bit manipulation elemental functions --> + <item> btest </item> + <item> iand </item> + <item> ibclr </item> + <item> ibits </item> + <item> ibset </item> + <item> ieor </item> + <item> ior </item> + <item> ishft </item> + <item> ishftc </item> + <item> not </item> + <!-- Bit manipulation elemental subroutine --> + <item> mvbits </item> + <!-- Merge elemental function --> + <item> merge </item> + </list> + +<!-- I N Q U I R Y F U N C T I O N S --> + <list name="inquiry_fn"> + <!-- Inquiry functions for any type --> + <item> associated </item> + <item> present </item> + <item> kind </item> + <!-- String-handling inquiry function --> + <item> len </item> + <!-- Numeric inquiry functions --> + <item> digits </item> + <item> epsilon </item> + <item> huge </item> + <item> maxexponent </item> + <item> minexponent </item> + <item> precision </item> + <item> radix </item> + <item> range </item> + <item> tiny </item> + <!-- Bit inquiry function --> + <item> bit_size </item> + <!-- Array inquiry functions --> + <item> allocated </item> + <item> lbound </item> + <item> ubound </item> + <item> shape </item> + <item> size </item> + </list> + +<!-- T R A N S F O R M A T I O N A L F U N C T I O N S --> + <list name="transform_fn"> + <!-- String-handling transformational functions --> + <item> repeat </item> + <item> trim </item> + <!-- Transformational functions for kind values --> + <item> selected_int_kind </item> + <item> selected_real_kind </item> + <!-- Transfer function --> + <item> transfer </item> + <!-- Vector and matrix multiplication functions --> + <item> dot_product </item> + <item> matmul </item> + <!-- Transformational functions that reduce arrays --> + <item> all </item> + <item> any </item> + <item> count </item> + <item> maxval </item> + <item> minval </item> + <item> product </item> + <item> sum </item> + <!-- Packing and unpacking arrays --> + <item> pack </item> + <item> unpack </item> + <!-- Transformational function for reshaping an array --> + <item> reshape </item> + <!-- Transformational function for replication --> + <item> spread </item> + <!-- Array shifting functions --> + <item> cshift </item> + <item> eoshift </item> + <!-- Matrix transpose --> + <item> transpose </item> + <!-- Transformational functions for geometric location --> + <item> maxloc </item> + <item> minloc </item> + </list> + +<!-- N O N E L E M E N T A L S U B R O U T I N E S --> + <list name="non_elem_subr"> + <!-- Real time clock --> + <item> date_and_time </item> + <item> system_clock </item> + <!-- Random numbers --> + <item> random_number </item> + <item> random_seed </item> + </list> + +<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * --> +<!-- * C O N T E X T S * --> +<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * --> + <contexts> + <context attribute="Normal Text" lineEndContext="#stay" name="default" > + <IncludeRules context="find_strings" /> + <IncludeRules context="find_decls" /> + <IncludeRules context="find_intrinsics" /> + <IncludeRules context="find_io_stmnts" /> + <IncludeRules context="find_op_and_log" /> + <IncludeRules context="find_numbers" /> + <IncludeRules context="find_preprocessor" /> + <IncludeRules context="find_comments" /> + <IncludeRules context="find_symbols" /> + <IncludeRules context="find_end_stmnts" /> + <IncludeRules context="find_begin_stmnts" /> + </context> +<!--************************END OF THE MAIN CONTEXT*************************--> + + + +<!-- This context highlights preprocessor lines --> + <context attribute="Normal Text" lineEndContext="#stay" name="find_preprocessor"> + <RegExpr attribute="Preprocessor" context="#stay" String="(#|cDEC\$|CDEC\$).*$" column="0"/> + </context> + +<!-- This context highlights operators and the logical values .true. .false. --> + <context attribute="Normal Text" lineEndContext="#stay" name="find_op_and_log"> + <RegExpr attribute="Logical" context="#stay" String="\.(true|false)\." insensitive="TRUE"/> + <RegExpr attribute="Operator" context="#stay" String="\.[A-Za-z]+\."/> + <RegExpr attribute="Operator" context="#stay" String="(==|/=|<|<=|>|>=)"/> + </context> + +<!-- This context highlights comments --> + <context attribute="Normal Text" lineEndContext="#stay" name="find_comments"> + <RegExpr attribute="Comment" context="#stay" String="[cC\*].*$" column="0"/> + <RegExpr attribute="Comment" context="#stay" String="!.*$"/> + </context> + +<!-- This context highlights symbols --> + <context attribute="Normal Text" lineEndContext="#stay" name="find_symbols"> + <Detect2Chars attribute="Keyword" context="#stay" char="*" char1="*"/> + <Detect2Chars attribute="Keyword" context="#stay" char="(" char1="/"/> + <Detect2Chars attribute="Keyword" context="#stay" char="/" char1=")"/> + <AnyChar attribute="Keyword" context="#stay" String="&+-*/=?[]^{|}~"/> + <AnyChar attribute="Symbol" context="#stay" String="(),"/> + </context> + +<!-- This context highlights items inside the parentesis of a function --> + <context attribute="Normal Text" lineEndContext="#stay" name="inside_func_paren"> + <DetectChar attribute="Normal Text" context="inside_func_paren" char="("/> + <DetectChar attribute="Normal Text" context="#pop" char=")"/> + <IncludeRules context="find_strings" /> + <IncludeRules context="find_intrinsics" /> + <IncludeRules context="find_numbers" /> + </context> + +<!-- The following two contexts match input/output statements --> + <context attribute="Normal Text" lineEndContext="#stay" name="find_io_stmnts"> + <RegExpr attribute="IO Function" context="find_io_paren" String="\b(read|write|backspace|rewind|end\s*file|close)\s*[(]" insensitive="TRUE"/> + <RegExpr attribute="IO Function" context="find_io_paren" String="\bopen\s*[(]" insensitive="TRUE"/> + <RegExpr attribute="IO Function" context="find_io_paren" String="\binquire\s*[(]" insensitive="TRUE"/> + <RegExpr attribute="IO Function" context="format_stmnt" String="\bformat\s*[(]" insensitive="TRUE"/> + <RegExpr attribute="IO Function" context="#stay" String="\bend\s*file\b" insensitive="TRUE"/> + <keyword attribute="IO Function" context="#stay" String="io_functions"/> + </context> +<!-- This context matches parenthesis for the read, write, ... statements --> + <context attribute="Normal Text" lineEndContext="#stay" name="find_io_paren"> + <DetectChar attribute="IO Function" context="#stay" char="*"/> + <DetectChar attribute="Normal Text" context="inside_func_paren" char="("/> + <DetectChar attribute="IO Function" context="#pop" char=")"/> + <keyword attribute="IO Function" context="#stay" String="io_keywords"/> + <keyword attribute="IO Function" context="#stay" String="inquire_keywords"/> + <keyword attribute="IO Function" context="#stay" String="open_keywords"/> + <IncludeRules context="find_strings" /> + <IncludeRules context="find_intrinsics" /> + <IncludeRules context="find_numbers" /> + <IncludeRules context="find_symbols" /> + </context> +<!-- This context highlights the text inside the parenthesis of fortran statement --> + <context attribute="Normal Text" lineEndContext="#stay" name="format_stmnt"> + <DetectChar attribute="IO Function" context="format_stmnt" char="("/> + <DetectChar attribute="IO Function" context="#pop" char=")"/> + <RegExpr attribute="IO Function" context="#stay" String="[0-9]*/" insensitive="TRUE"/> + <AnyChar attribute="IO Function" context="#stay" String=":"/> + <IncludeRules context="find_strings" /> + <IncludeRules context="find_symbols" /> + </context> + +<!-- The following context matches the begin of program units --> + <context attribute="Normal Text" lineEndContext="#stay" name="find_begin_stmnts"> + <RegExpr attribute="Keyword" context="#stay" String="\bmodule\s+procedure\b" insensitive="TRUE"/> + <RegExpr attribute="Keyword" context="#stay" String="\b(program|subroutine|function|module|block\s*data)\b" insensitive="TRUE" beginRegion="Unit"/> + </context> +<!-- The following context matches the end of program units --> + <context attribute="Normal Text" lineEndContext="#stay" name="find_end_stmnts"> + <RegExpr attribute="Keyword" context="#stay" String="\bend\s*(program|subroutine|function|module|block\s*data)\b" insensitive="TRUE" endRegion="Unit"/> + <RegExpr attribute="Keyword" context="#stay" String="\bend\s*(do|if|select|where|forall|interface)\b" insensitive="TRUE"/> + <RegExpr attribute="Keyword" context="#stay" String="\bend\b" insensitive="TRUE" endRegion="Unit"/> + </context> + +<!-- The following two contexts match declarations --> + <context attribute="Normal Text" lineEndContext="#stay" name="find_decls"> + <RegExpr attribute="Data Type" context="#stay" String="\binteger[\*]\d{1,2}" insensitive="TRUE"/> + <RegExpr attribute="Data Type" context="#stay" String="\breal[\*]\d{1,2}" insensitive="TRUE"/> + <RegExpr attribute="Data Type" context="#stay" String="\bcomplex[\*]\d{1,2}" insensitive="TRUE"/> + <RegExpr attribute="Data Type" context="#stay" String="\bend\s*type\b" insensitive="TRUE"/> + <keyword attribute="Data Type" context="#stay" String="types"/> + <RegExpr attribute="Data Type" context="#stay" String="^\s*data\b" insensitive="TRUE"/> + <RegExpr attribute="Data Type" context="find_paren" String="^\s*real\s*[(]" insensitive="TRUE"/> + <RegExpr attribute="Data Type" context="#stay" String="^\s*real(?![\w\*])" insensitive="TRUE"/> + <RegExpr attribute="Data Type" context="#stay" String="\bcharacter[*][0-9]+\b" insensitive="TRUE"/> + <RegExpr attribute="Data Type" context="find_paren" String="\b(type|integer|complex|character|logical|intent|dimension)\b\s*[(]" insensitive="TRUE"/> + <RegExpr attribute="Data Type" context="#stay" String="\b(type|integer|complex|character|logical|intent|dimension)\b" insensitive="TRUE"/> + <Detect2Chars attribute="Data Type" context="#stay" char=":" char1=":"/> + </context> +<!-- This context matches parenthesis in data type declarations, such as in 'real(...)'--> + <context attribute="Data Type" lineEndContext="#pop" name="find_paren"> + <DetectChar attribute="Data Type" context="find_paren" char="("/> + <DetectChar attribute="Data Type" context="#pop" char=")"/> + </context> + +<!-- The following context matches intrinsic procedures --> + <context attribute="Normal Text" lineEndContext="#stay" name="find_intrinsics"> + <keyword attribute="Keyword" context="#stay" String="keywords"/> + <!-- INTRINSIC PROCEDURES --> + <keyword attribute="Elemental Procedure" context="#stay" String="elemental_procs"/> + <keyword attribute="Inquiry Function" context="#stay" String="inquiry_fn"/> + <keyword attribute="Transformational Function" context="#stay" String="transform_fn"/> + <keyword attribute="Non elemental subroutine" context="#stay" String="non_elem_subr"/> + </context> + +<!-- The following context matches integer and real numbers --> + <context attribute="Normal Text" lineEndContext="#stay" name="find_numbers"> + <!-- Floating-point numbers with optional kind --> + <RegExpr attribute="Float" context="#stay" String="[0-9]*\.[0-9]+([de][+-]?[0-9]+)?([_]([0-9]+|[a-z][\w_]*))?" insensitive="TRUE"/> + <RegExpr attribute="Float" context="#stay" String="\b[0-9]+\.[0-9]*([de][+-]?[0-9]+)?([_]([0-9]+|[a-z][\w_]*))?(?![a-z])" insensitive="TRUE"/> + <RegExpr attribute="Float" context="#stay" String="\b[0-9]+[de][+-]?[0-9]+([_]([0-9]+|[a-z][\w_]*))?" insensitive="TRUE"/> + <!-- Integers with optional kind specifier --> + <RegExpr attribute="Decimal" context="#stay" String="\b[0-9]+([_]([0-9]+|[a-zA-Z][\w_]*))?"/> + <!-- Integers in binary, octal and hexadecimal notations --> + <RegExpr attribute="Decimal" context="#stay" String="\b[bozx](['][0-9a-f]+[']|["][0-9a-f]+["])" insensitive="TRUE"/> + </context> + +<!-- The following four contexts implement the complex string multi-line declarations --> + <!-- Matches STRINGS (there are 2 types of strings: '...' and "...") --> + <context attribute="String" lineEndContext="#stay" name="find_strings"> + <DetectChar attribute="String" context="string_1" char="'"/> + <DetectChar attribute="String" context="string_2" char="""/> + </context> + + <context attribute="String" lineEndContext="#stay" name="string_1" fallthrough="true" fallthroughContext="#pop"> + <RegExpr attribute="String" context="#pop" String="[^']*'"/> + <RegExpr attribute="Keyword" context="end_of_string" String="&\s*$"/> + <RegExpr attribute="String" context="end_of_string" String=".*(?=&\s*$)"/> + </context> + + <context attribute="String" lineEndContext="#stay" name="string_2" fallthrough="true" fallthroughContext="#pop"> + <RegExpr attribute="String" context="#pop" String="[^"]*""/> + <RegExpr attribute="Keyword" context="end_of_string" String="&\s*$"/> + <RegExpr attribute="String" context="end_of_string" String=".*(?=&\s*$)"/> + </context> + + <context attribute="String" lineEndContext="#stay" name="end_of_string" fallthrough="true" fallthroughContext="#pop#pop"> + <DetectSpaces /> + <RegExpr attribute="Keyword" context="#stay" String="&\s*$"/> + <DetectChar attribute="Keyword" context="#pop" char="&" firstNonSpace="true"/> + <RegExpr attribute="Comment" context="#stay" String="(!.*)?$" firstNonSpace="true"/> + </context> + </contexts> + +<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * --> +<!-- * S T Y L E I T E M D E F I N I T I O N S * --> +<!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * --> + <itemDatas> + <itemData name="Normal Text" defStyleNum="dsNormal"/> + <itemData name="Keyword" defStyleNum="dsKeyword"/> + <itemData name="Data Type" defStyleNum="dsDataType"/> + <itemData name="Decimal" defStyleNum="dsDecVal"/> + <itemData name="Float" defStyleNum="dsFloat"/> + <itemData name="String" defStyleNum="dsString"/> + <itemData name="Comment" defStyleNum="dsComment"/> + <itemData name="Symbol" defStyleNum="dsNormal"/> + <itemData name="Preprocessor" defStyleNum="dsOthers"/> + <itemData name="Operator" defStyleNum="dsKeyword" color="#008000" selColor="#ff00ff" bold="1" italic="0"/> + <itemData name="Logical" defStyleNum="dsOthers" color="#800080" selColor="#ffa0a0" bold="1" italic="0"/> + <itemData name="IO Function" defStyleNum="dsFunction" color="#006060" selColor="#ffffff" bold="0" italic="0"/> + <itemData name="Elemental Procedure" defStyleNum="dsKeyword" color="#600060" selColor="#ffa0ff" bold="1" italic="0"/> + <itemData name="Inquiry Function" defStyleNum="dsFunction" color="#000060" selColor="#a0a0ff" bold="1" italic="1"/> + <itemData name="Transformational Function" defStyleNum="dsFunction" color="#600060" selColor="#ffa0ff" bold="1" italic="0"/> + <itemData name="Non elemental subroutine" defStyleNum="dsKeyword" color="#600060" selColor="#ffa0ff" bold="1" italic="0"/> + </itemDatas> + </highlighting> + <general> + <comments> + <comment name="singleLine" start="c"/> + <comment name="singleLine" start="!"/> + </comments> + <keywords casesensitive="0"/> + </general> +</language> |