Warning, /education/kalgebra/src/kalgebra.xml is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language SYSTEM "language.dtd">
0003 <!--
0004   ====================================================================
0005   KAlgebra syntax highlighting file for the KDE editors Kate and Kwrite
0006   ====================================================================
0007       based on KAlgebra 0.1.0
0008 
0009   Change log:
0010   22-Apr-10  Initial version
0011 
0012   Author: Adria Arrufat
0013   -->
0014 
0015 
0016 <language name="KAlgebra" version="1.0" kateversion="3.4" section="Scientific" extensions="*.kal" mimetype="text/KAlgebra Script" casesensitive="1" license="GPL" author="Adria Arrufat">
0017 
0018   <highlighting>
0019 
0020     <!-- Reserved keywords in KAlgebra -->
0021     <list name="keywords">
0022       <item> piecewise </item>
0023       <item> list </item>
0024       <item> vector </item>
0025       <item> ? </item>
0026       </list>
0027 
0028     <list name="builtin">
0029       <item> e </item>
0030       <item> euler </item>
0031       <item> false </item>
0032       <item> pi </item>
0033       <item> true </item>
0034       <item> ans </item>
0035     </list>
0036 
0037     <list name="operations">
0038       <item> @ </item>
0039       <item> abs </item>
0040       <item> and </item>
0041       <item> approx </item>
0042       <item> arccos </item>
0043       <item> arccosh </item>
0044       <item> arccot </item>
0045       <item> arcsc </item>
0046       <item> arcsch </item>
0047       <item> arcsec </item>
0048       <item> arcsech </item>
0049       <item> arcsin </item>
0050       <item> arcsinh </item>
0051       <item> arctan </item>
0052       <item> arctanh </item>
0053       <item> card </item>
0054       <item> ceiling </item>
0055       <item> cos </item>
0056       <item> cosh </item>
0057       <item> cot </item>
0058       <item> coth </item>
0059       <item> csc </item>
0060       <item> csch </item>
0061       <item> diff </item>
0062       <item> divide </item>
0063       <item> eq </item>
0064       <item> exp </item>
0065       <item> factorial </item>
0066       <item> factorof </item>
0067       <item> floor </item>
0068       <item> fmod </item>
0069       <item> gcd </item>
0070       <item> geq </item>
0071       <item> gt </item>
0072       <item> implies </item>
0073       <item> lcm </item>
0074       <item> leq </item>
0075       <item> ln </item>
0076       <item> log </item>
0077       <item> lt </item>
0078       <item> max </item>
0079       <item> min </item>
0080       <item> minus </item>
0081       <item> neq </item>
0082       <item> not </item>
0083       <item> or </item>
0084       <item> plus </item>
0085       <item> power </item>
0086       <item> product </item>
0087       <item> quotient </item>
0088       <item> rem </item>
0089       <item> root </item>
0090       <item> scalarprod </item>
0091       <item> sec </item>
0092       <item> sech </item>
0093       <item> selector </item>
0094       <item> sin </item>
0095       <item> sinh </item>
0096       <item> sum </item>em>
0097       <item> tan </item>
0098       <item> tanh </item>
0099       <item> times </item>
0100       <item> union </item>
0101       <item> xor </item>
0102     </list>
0103 
0104 
0105     <contexts>
0106 
0107       <context name="_normal" attribute="Normal Text" lineEndContext="#stay">
0108 
0109         <!-- Look-ahead for adjoint ' after variable, number literal, closing braces and .' -->
0110         <RegExpr context="_adjoint" attribute="Variable" String="[a-zA-Z]\w*(?=')" />
0111         <RegExpr context="_adjoint" attribute="Number" String="(\d+(\.\d+)?|\.\d+)([eE][+-]?\d+)?[ij]?(?=')" />
0112         <RegExpr context="_adjoint" attribute="Delimiter" String="[\)\]}](?=')" />
0113         <RegExpr context="_adjoint" attribute="Operator" String="\.'(?=')" />
0114 
0115         <!-- If ' is not the adjoint operator, it starts a string or an unterminated string;
0116         strings can be also with ", and accept the respective delimiter in them either
0117         by doubling it ('', "") or by escaping it (\', \") -->
0118 
0119         <!-- Handling of keywords, functions, identifiers, numbers and braces -->
0120         <keyword context="#stay" attribute="Keyword" String="keywords" />
0121         <keyword context="#stay" attribute="Operations" String="operations" />
0122         <keyword context="#stay" attribute="Builtin" String="builtin"/>
0123         <RegExpr context="#stay" attribute="Variable" String="[a-zA-Z]\w*" />
0124         <RegExpr context="#stay" attribute="Number" String="(\d+(\.\d+)?|\.\d+)([eE][+-]?\d+)?[ij]?" />
0125         <AnyChar context="#stay" attribute="Delimiter" String="(){}"/>
0126         
0127         <!-- Comments-->
0128         <Detect2Chars context="Commentar" attribute="Comment" char="/" char1="/"/>
0129 
0130         <!-- operators -->
0131         <StringDetect context="#stay" attribute="Operator" String="+"/>
0132         <StringDetect context="#stay" attribute="Operator" String="-"/>
0133         <StringDetect context="#stay" attribute="Operator" String="*"/>
0134         <StringDetect context="#stay" attribute="Operator" String="/"/>
0135         <StringDetect context="#stay" attribute="Operator" String="^"/>
0136         <StringDetect context="#stay" attribute="Operator" String=","/>
0137         <StringDetect context="#stay" attribute="Operator" String=":"/>
0138         <StringDetect context="#stay" attribute="Operator" String="&lt;"/>
0139         <StringDetect context="#stay" attribute="Operator" String="&gt;"/>
0140         <StringDetect context="#stay" attribute="Operator" String="="/>
0141 
0142       </context>
0143       
0144       <context attribute="Comment" lineEndContext="#pop" name="Commentar">
0145         <Detect2Chars attribute="Comment" context="#pop" char="/" char1="/" endRegion="Comment"/>
0146       </context>
0147 
0148    <!--Context entered after encountering an ' adjoint operator -->
0149       <context name="_adjoint" attribute="Operator" lineEndContext="#pop">
0150         <RegExpr context="#pop" attribute="Operator" String="'+" />
0151       </context>
0152     </contexts>
0153 
0154     <itemDatas>
0155       <itemData name="Normal Text" defStyleNum="dsNormal"/>
0156       <itemData name="Variable" defStyleNum="dsNormal" color="#AC0008" />
0157       <itemData name="Operator" defStyleNum="dsNormal" bold="1"/>
0158       <itemData name="Number" defStyleNum="dsFloat" color="#2b74c7"/>
0159       <itemData name="Delimiter" defStyleNum="dsNormal" bold="1"/>
0160       <itemData name="String" defStyleNum="dsString" color="#b20000"/>
0161       <itemData name="Keyword"  defStyleNum="dsNormal" color="#AC0008"/>
0162       <itemData name="Comment" defStyleNum="dsComment" color="#009900"/>
0163       <itemData name="Operations" defStyleNum="dsFunction" color="#AC0008" selColor="#00ff00"/>
0164       <itemData name="Builtin" defStyleNum="dsBaseN" color="#b28c00" />
0165     </itemDatas>
0166 
0167   </highlighting>
0168 
0169   <general>
0170    <keywords casesensitive="1"/>
0171   </general>
0172 
0173 </language>
0174 <!-- kate: space-indent on; indent-width 2; replace-tabs on; -->