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