%PDF- %PDF-
Direktori : /usr/share/gtksourceview-5/language-specs/ |
Current File : //usr/share/gtksourceview-5/language-specs/julia.lang |
<?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, see <http://www.gnu.org/licenses/>. --> <language id="julia" name="Julia" version="2.0" _section="Scientific" > <metadata> <property name="globs" >*.jl</property> <property name="line-comment-start" >#</property> <property name="block-comment-start">#=</property> <property name="block-comment-end">=#</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. --> <styles> <style id="comment" name="Comment" map-to="def:comment" /> <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:preprocessor" /> <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> <keyword>missing</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>struct</keyword> <keyword>mutable struct</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 type</keyword> <keyword>primitive type</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> <keyword>where</keyword> <keyword>new</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>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|Missing|Void|Union|Some</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="comment-multiline-nested" style-ref="comment" class-disabled="no-spell-check" class="comment" > <start>#=</start> <end>=#</end> <include> <context ref="comment-multiline-nested"/> </include> </context> <context id="julia" class="no-spell-check"> <include> <context ref="comment-multiline-nested"/> <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>