Blame data/language-specs/julia.lang

Packit a7d494
Packit a7d494
Packit a7d494
Packit a7d494
 This file is part of GtkSourceView
Packit a7d494
Packit a7d494
 Authors: Waldir Pimenta
Packit a7d494
 Copyright (C) 2013 Waldir Pimenta <waldir@email.com>
Packit a7d494
Packit a7d494
 GtkSourceView is free software; you can redistribute it and/or
Packit a7d494
 modify it under the terms of the GNU Lesser General Public
Packit a7d494
 License as published by the Free Software Foundation; either
Packit a7d494
 version 2.1 of the License, or (at your option) any later version.
Packit a7d494
Packit a7d494
 GtkSourceView is distributed in the hope that it will be useful,
Packit a7d494
 but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit a7d494
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit a7d494
 Lesser General Public License for more details.
Packit a7d494
Packit a7d494
 You should have received a copy of the GNU Lesser General Public License
Packit a7d494
 along with this library; if not, see <http://www.gnu.org/licenses/>.
Packit a7d494
Packit a7d494
-->
Packit a7d494
<language id="julia" name="Julia" version="2.0" _section="Scientific" >
Packit a7d494
Packit a7d494
  <metadata>
Packit a7d494
    <property name="globs" >*.jl</property>
Packit a7d494
    <property name="line-comment-start" >#</property>
Packit a7d494
  </metadata>
Packit a7d494
Packit a7d494
  
Packit a7d494
  A list of styles can be defined here, and optionally mapped to the default styles.
Packit a7d494
  The full list of available styles can be found in the `def.lang` file.
Packit a7d494
  -->
Packit a7d494
  <styles>
Packit a7d494
    <style id="string"           name="String"            map-to="def:string" />
Packit a7d494
    <style id="character"        name="Character"         map-to="def:character" />
Packit a7d494
    <style id="number"           name="Number"            map-to="def:number" />
Packit a7d494
    <style id="boolean"          name="Boolean"           map-to="def:boolean" />
Packit a7d494
    <style id="math-constant"    name="Math Constant"     map-to="def:constant" />
Packit a7d494
    <style id="special-constant" name="Special Constant"  map-to="def:special-constant" />
Packit a7d494
    <style id="operator"         name="Operator"          map-to="def:operator" />
Packit a7d494
    <style id="keyword"          name="Keyword"           map-to="def:keyword" />
Packit a7d494
    <style id="macro"            name="Macro"             map-to="def:keyword" />
Packit a7d494
    <style id="external-command" name="External Command"  map-to="def:constant" />
Packit a7d494
    <style id="builtin-function" name="Built-in Function" map-to="def:builtin" />
Packit a7d494
    <style id="module"           name="Module"            map-to="def:builtin" />
Packit a7d494
    <style id="type"             name="Type"              map-to="def:type" />
Packit a7d494
  </styles>
Packit a7d494
Packit a7d494
  <definitions>
Packit a7d494
Packit a7d494
    <context id="string" style-ref="string" class="string" class-disabled="no-spell-check">
Packit a7d494
      <start>"</start>
Packit a7d494
      <end>"</end>
Packit a7d494
      <include>
Packit a7d494
        <context ref="def:escape" />
Packit a7d494
      </include>
Packit a7d494
    </context>
Packit a7d494
Packit a7d494
    
Packit a7d494
    This context needs to be defined before the "operator" context,
Packit a7d494
    so it takes precedence over the transpose operator, '
Packit a7d494
    -->
Packit a7d494
    <context id="character" style-ref="character">
Packit a7d494
      <match extended="true">
Packit a7d494
        '(
Packit a7d494
        ([^\\']|\\.)                 |
Packit a7d494
        \\[0-7]{1,3}                 |
Packit a7d494
        \\x[0-9a-fA-F]{1,2}          |
Packit a7d494
        \\u[0-9a-fA-F]{1,3}          |
Packit a7d494
        \\u[0-9a-cA-C][0-9a-fA-F]{3} |
Packit a7d494
        \\u[dD][0-7][0-9a-fA-F]{2}   |
Packit a7d494
        \\U[0-9a-fA-F]{1,5}          |
Packit a7d494
        \\U10[0-9a-fA-F]{4}
Packit a7d494
        )'
Packit a7d494
      </match>
Packit a7d494
    </context>
Packit a7d494
Packit a7d494
    <context id="number" style-ref="number">
Packit a7d494
      <match extended="true">
Packit a7d494
        (?<!\w) 0b[01]+                            | # binary
Packit a7d494
        (?<!\w) 0o[0-7]+                           | # octal
Packit a7d494
        (?<!\w) 0x[0-9a-fA-F]+                     | # hexadecimal
Packit a7d494
        (?<!\w) (\d+(\.\d+)?|\.\d+)([eE][+-]?\d+)?   # decimal
Packit a7d494
      </match>
Packit a7d494
    </context>
Packit a7d494
Packit a7d494
    <context id="boolean" style-ref="boolean">
Packit a7d494
      <keyword>true|false</keyword>
Packit a7d494
    </context>
Packit a7d494
Packit a7d494
    <context id="math-constant" style-ref="math-constant">
Packit a7d494
      <match extended="true">
Packit a7d494
        (?<=\d|\b) pi       \b |
Packit a7d494
        (?<=\d|\b) e        \b |
Packit a7d494
        (?<=\d|\b) im       \b |
Packit a7d494
        (?<=\d|\b) Inf(32)? \b |
Packit a7d494
        (?<=\d|\b) NaN(32)? \b
Packit a7d494
      </match>
Packit a7d494
    </context>
Packit a7d494
Packit a7d494
    <context id="special-constant" style-ref="special-constant">
Packit a7d494
      <keyword>nothing</keyword>
Packit a7d494
      
Packit a7d494
      <keyword>ARGS</keyword>
Packit a7d494
      <keyword>LOAD_PATH</keyword>
Packit a7d494
      <keyword>CPU_CORES</keyword>
Packit a7d494
      <keyword>OS_NAME</keyword>
Packit a7d494
      <keyword>C_NULL</keyword>
Packit a7d494
      <keyword>WORD_SIZE</keyword>
Packit a7d494
      <keyword>VERSION</keyword>
Packit a7d494
      
Packit a7d494
      <keyword>ENDIAN_BOM</keyword>
Packit a7d494
      <keyword>ENV</keyword>
Packit a7d494
      <keyword>STDERR</keyword>
Packit a7d494
      <keyword>STDIN</keyword>
Packit a7d494
      <keyword>STDOUT</keyword>
Packit a7d494
      
Packit a7d494
      <keyword>T</keyword>
Packit a7d494
      <keyword>ANY</keyword>
Packit a7d494
    </context>
Packit a7d494
Packit a7d494
    
Packit a7d494
    <context id="operator">
Packit a7d494
      <include>
Packit a7d494
        <context ref="octave:operator" />
Packit a7d494
        <context id="julia-operators" style-ref="operator">
Packit a7d494
          <match extended="true">
Packit a7d494
            [$%]=?           |
Packit a7d494
            \.[<>%']   |
Packit a7d494
            \.[<>=!]=
Packit a7d494
          </match>
Packit a7d494
        </context>
Packit a7d494
      </include>
Packit a7d494
    </context>
Packit a7d494
Packit a7d494
    
Packit a7d494
    <context id="punctuation" style-ref="operator">
Packit a7d494
      <match extended="true">
Packit a7d494
        \(|\)        |
Packit a7d494
        \[|\]        |
Packit a7d494
        \{|\}        |
Packit a7d494
        \.|,|;|\?    |
Packit a7d494
        \.\.\.
Packit a7d494
      </match>
Packit a7d494
    </context>
Packit a7d494
Packit a7d494
    
Packit a7d494
    <context id="keyword" style-ref="keyword">
Packit a7d494
      
Packit a7d494
      <keyword>begin</keyword>
Packit a7d494
      <keyword>do</keyword>
Packit a7d494
      <keyword>for</keyword>
Packit a7d494
      <keyword>in</keyword>
Packit a7d494
      <keyword>function</keyword>
Packit a7d494
      <keyword>if</keyword>
Packit a7d494
      <keyword>immutable</keyword>
Packit a7d494
      <keyword>let</keyword>
Packit a7d494
      <keyword>quote</keyword>
Packit a7d494
      <keyword>try</keyword>
Packit a7d494
      <keyword>type</keyword>
Packit a7d494
      <keyword>while</keyword>
Packit a7d494
      <keyword>catch</keyword>
Packit a7d494
      <keyword>finally</keyword>
Packit a7d494
      <keyword>else</keyword>
Packit a7d494
      <keyword>elseif</keyword>
Packit a7d494
      <keyword>end</keyword>
Packit a7d494
      
Packit a7d494
      <keyword>abstract</keyword>
Packit a7d494
      <keyword>bitstype</keyword>
Packit a7d494
      <keyword>break</keyword>
Packit a7d494
      <keyword>ccall</keyword>
Packit a7d494
      <keyword>const</keyword>
Packit a7d494
      <keyword>continue</keyword>
Packit a7d494
      <keyword>export</keyword>
Packit a7d494
      <keyword>global</keyword>
Packit a7d494
      <keyword>import</keyword>
Packit a7d494
      <keyword>importall</keyword>
Packit a7d494
      <keyword>local</keyword>
Packit a7d494
      <keyword>macro</keyword>
Packit a7d494
      <keyword>module</keyword>
Packit a7d494
      <keyword>baremodule</keyword>
Packit a7d494
      <keyword>return</keyword>
Packit a7d494
      <keyword>typealias</keyword>
Packit a7d494
      <keyword>using</keyword>
Packit a7d494
    </context>
Packit a7d494
Packit a7d494
    
Packit a7d494
    <context id="external-command" style-ref="external-command" >
Packit a7d494
      <start>`</start>
Packit a7d494
      <end>`</end>
Packit a7d494
    </context>
Packit a7d494
Packit a7d494
    
Packit a7d494
    
Packit a7d494
         add more from exports.jl -->
Packit a7d494
    <context id="builtin-function" style-ref="builtin-function">
Packit a7d494
      <keyword>is</keyword>
Packit a7d494
      <keyword>typeof</keyword>
Packit a7d494
      <keyword>subtype</keyword>
Packit a7d494
      <keyword>isa</keyword>
Packit a7d494
      <keyword>typeassert</keyword>
Packit a7d494
      <keyword>apply</keyword>
Packit a7d494
      <keyword>kwcall</keyword>
Packit a7d494
      <keyword>throw</keyword>
Packit a7d494
      <keyword>tuple</keyword>
Packit a7d494
      <keyword>Union</keyword>
Packit a7d494
      <keyword>method_exists</keyword>
Packit a7d494
      <keyword>applicable</keyword>
Packit a7d494
      <keyword>invoke</keyword>
Packit a7d494
      <keyword>eval</keyword>
Packit a7d494
      <keyword>isdefined</keyword>
Packit a7d494
      <keyword>yieldto</keyword>
Packit a7d494
    </context>
Packit a7d494
Packit a7d494
    <context id="module" style-ref="module">
Packit a7d494
      
Packit a7d494
      <keyword>Base</keyword>
Packit a7d494
      <keyword>Core</keyword>
Packit a7d494
      <keyword>Main</keyword>
Packit a7d494
      
Packit a7d494
      <keyword>PCRE</keyword>
Packit a7d494
      <keyword>FFTW</keyword>
Packit a7d494
      <keyword>Collections</keyword>
Packit a7d494
      <keyword>DSP</keyword>
Packit a7d494
      <keyword>LinAlg</keyword>
Packit a7d494
      <keyword>LibRandom</keyword>
Packit a7d494
      <keyword>Random</keyword>
Packit a7d494
      <keyword>Math</keyword>
Packit a7d494
      <keyword>MPFR</keyword>
Packit a7d494
      <keyword>GMP</keyword>
Packit a7d494
      <keyword>Sort</keyword>
Packit a7d494
      <keyword>Test</keyword>
Packit a7d494
      <keyword>Pkg</keyword>
Packit a7d494
      <keyword>Operators</keyword>
Packit a7d494
      <keyword>Errno</keyword>
Packit a7d494
      <keyword>Meta</keyword>
Packit a7d494
      <keyword>Graphics</keyword>
Packit a7d494
    </context>
Packit a7d494
Packit a7d494
    
Packit a7d494
    <context id="type" style-ref="type">
Packit a7d494
      <keyword>Any|None|Nothing|Void</keyword>
Packit a7d494
      <keyword>Type(Constructor|Name|Var|_Array)?|(Union|Data|NonTuple)Type</keyword>
Packit a7d494
      <keyword>(Abstract|Strided|Bit)?(Array|Matrix|Vector)</keyword>
Packit a7d494
      <keyword>Abstract(Cmd|RNG|SparseMatrix)</keyword>
Packit a7d494
      <keyword>(Abstract|Strided)?VecOrMat</keyword>
Packit a7d494
      <keyword>SparseMatrixCSC</keyword>
Packit a7d494
      <keyword>(D|Sub((Or)?D)?)Array</keyword>
Packit a7d494
      <keyword>Chars?</keyword>
Packit a7d494
      <keyword>(ASCII|Byte|Char|DirectIndex|Generic|Rep|Rev|Rope|Sub|UTF8)?String</keyword>
Packit a7d494
      <keyword>Bool</keyword>
Packit a7d494
      <keyword>Number</keyword>
Packit a7d494
      <keyword>Real</keyword>
Packit a7d494
      <keyword>Rational</keyword>
Packit a7d494
      <keyword>ImaginaryUnit</keyword>
Packit a7d494
      <keyword>Signed|Unsigned</keyword>
Packit a7d494
      <keyword>Int(eger|Set|8|16|32|64|128)?</keyword>
Packit a7d494
      <keyword>Uint(8|16|32|64|128)?</keyword>
Packit a7d494
      <keyword>Float(ingPoint|32|64)</keyword>
Packit a7d494
      <keyword>Complex(Pair|64|128)?</keyword>
Packit a7d494
      <keyword>Big(Int|Float)</keyword>
Packit a7d494
      <keyword>C(float|double|ptrdiff_t|u?(int|long(long)?|char|short)|s?size_t|wchar_t)</keyword>
Packit a7d494
      <keyword>(Argument|Bounds|Divide|Domain|EOF|Inexact|Key|Load|Memory|Method|Parse|(Stack)?Overflow|System|Type|UV|UndefRef)Error</keyword>
Packit a7d494
      <keyword>(Error|Interrupt|Disconnect)?Exception</keyword>
Packit a7d494
      <keyword>Algorithm</keyword>
Packit a7d494
      <keyword>Associative</keyword>
Packit a7d494
      <keyword>AsyncStream</keyword>
Packit a7d494
      <keyword>Box</keyword>
Packit a7d494
      <keyword>BunchKaufman</keyword>
Packit a7d494
      <keyword>CPUinfo</keyword>
Packit a7d494
      <keyword>CallStack</keyword>
Packit a7d494
      <keyword>Callback</keyword>
Packit a7d494
      <keyword>Cholesky</keyword>
Packit a7d494
      <keyword>CholeskyPivoted</keyword>
Packit a7d494
      <keyword>Cmd(Redirect)?</keyword>
Packit a7d494
      <keyword>(And|Or)Cmds</keyword>
Packit a7d494
      <keyword>Colon</keyword>
Packit a7d494
      <keyword>LU|(((Sym|LDLT|LU)?Tr|B)id|D)iagonal</keyword>
Packit a7d494
      <keyword>Dict</keyword>
Packit a7d494
      <keyword>EachLine</keyword>
Packit a7d494
      <keyword>Eigen</keyword>
Packit a7d494
      <keyword>EmptyCallStack</keyword>
Packit a7d494
      <keyword>Enumerate</keyword>
Packit a7d494
      <keyword>EnvHash</keyword>
Packit a7d494
      <keyword>Executable</keyword>
Packit a7d494
      <keyword>Expr(Node)?</keyword>
Packit a7d494
      <keyword>Factorization</keyword>
Packit a7d494
      <keyword>FDWatcher</keyword>
Packit a7d494
      <keyword>(Abstract)?File</keyword>
Packit a7d494
      <keyword>File(Monitor|Offset)</keyword>
Packit a7d494
      <keyword>Filter</keyword>
Packit a7d494
      <keyword>(Intrinsic)?Function</keyword>
Packit a7d494
      <keyword>Hermitian</keyword>
Packit a7d494
      <keyword>Hessenberg</keyword>
Packit a7d494
      <keyword>IO(Buffer|Stream)?</keyword>
Packit a7d494
      <keyword>InetAddr</keyword>
Packit a7d494
      <keyword>IpAddr|IPv[46]</keyword>
Packit a7d494
      <keyword>(Key|Value)Iterator</keyword>
Packit a7d494
      <keyword>LambdaStaticData</keyword>
Packit a7d494
      <keyword>LocalProcess</keyword>
Packit a7d494
      <keyword>Long(Expr|Symbol|Tuple)</keyword>
Packit a7d494
      <keyword>MersenneTwister</keyword>
Packit a7d494
      <keyword>Method(Table)?</keyword>
Packit a7d494
      <keyword>MmapArrayInfo</keyword>
Packit a7d494
      <keyword>Module</keyword>
Packit a7d494
      <keyword>NTuple</keyword>
Packit a7d494
      <keyword>NamedPipe</keyword>
Packit a7d494
      <keyword>(Getfield|Goto|Label|LineNumber|Quote)Node</keyword>
Packit a7d494
      <keyword>NotFound</keyword>
Packit a7d494
      <keyword>OS_FD</keyword>
Packit a7d494
      <keyword>ObjectIdDict</keyword>
Packit a7d494
      <keyword>PollingFileWatcher</keyword>
Packit a7d494
      <keyword>Process(Chain(OrNot)?|Group)?</keyword>
Packit a7d494
      <keyword>Ptr</keyword>
Packit a7d494
      <keyword>QR(Pivoted)?</keyword>
Packit a7d494
      <keyword>Range(s|1|Index|VecIntList)?</keyword>
Packit a7d494
      <keyword>RawOrBoxedHandle</keyword>
Packit a7d494
      <keyword>Redirectable</keyword>
Packit a7d494
      <keyword>Regex(Match(Iterator)?)?</keyword>
Packit a7d494
      <keyword>RemoteRef</keyword>
Packit a7d494
      <keyword>Rest</keyword>
Packit a7d494
      <keyword>Reverse</keyword>
Packit a7d494
      <keyword>(Generalized)?(SVD|Schur)</keyword>
Packit a7d494
      <keyword>Set</keyword>
Packit a7d494
      <keyword>Socket</keyword>
Packit a7d494
      <keyword>(Merge|Insertion|Tim|Quick)Sort</keyword>
Packit a7d494
      <keyword>SpawnNullStream</keyword>
Packit a7d494
      <keyword>Stat</keyword>
Packit a7d494
      <keyword>StateUpdate</keyword>
Packit a7d494
      <keyword>StaticVarInfo</keyword>
Packit a7d494
      <keyword>Symbol(Node)?</keyword>
Packit a7d494
      <keyword>TTY</keyword>
Packit a7d494
      <keyword>Task</keyword>
Packit a7d494
      <keyword>TcpSocket</keyword>
Packit a7d494
      <keyword>TmStruct</keyword>
Packit a7d494
      <keyword>Top(Node)?</keyword>
Packit a7d494
      <keyword>Triangular</keyword>
Packit a7d494
      <keyword>UV(Handle|PollingWatcher|Stream)</keyword>
Packit a7d494
      <keyword>UdpSocket</keyword>
Packit a7d494
      <keyword>Undef(RefTag)?</keyword>
Packit a7d494
      <keyword>VarTable</keyword>
Packit a7d494
      <keyword>Vararg</keyword>
Packit a7d494
      <keyword>VersionNumber</keyword>
Packit a7d494
      <keyword>Wait(For|Task)</keyword>
Packit a7d494
      <keyword>Weak(KeyDict|Ref)</keyword>
Packit a7d494
      <keyword>Woodbury</keyword>
Packit a7d494
      <keyword>(Timeout|Idle|Single)?AsyncWork</keyword>
Packit a7d494
      <keyword>Work(er|Item)</keyword>
Packit a7d494
      <keyword>Zip</keyword>
Packit a7d494
    </context>
Packit a7d494
Packit a7d494
    <context id="julia" class="no-spell-check">
Packit a7d494
      <include>
Packit a7d494
        <context ref="def:shebang" />
Packit a7d494
        <context ref="def:shell-like-comment" />
Packit a7d494
        <context ref="string" />
Packit a7d494
        <context ref="character" />
Packit a7d494
        <context ref="number" />
Packit a7d494
        <context ref="boolean" />
Packit a7d494
        <context ref="math-constant" />
Packit a7d494
        <context ref="special-constant" />
Packit a7d494
        <context ref="operator" />
Packit a7d494
        <context ref="punctuation" />
Packit a7d494
        <context ref="keyword" />
Packit a7d494
        <context ref="external-command" />
Packit a7d494
        <context ref="builtin-function" />
Packit a7d494
        <context ref="module" />
Packit a7d494
        <context ref="type" />
Packit a7d494
        <context ref="octave:function-handle" style-ref="macro" />
Packit a7d494
      </include>
Packit a7d494
    </context>
Packit a7d494
Packit a7d494
  </definitions>
Packit a7d494
Packit a7d494
</language>