1<?php
2/*************************************************************************************
3 * julia.php
4 * -----------
5 * Author: John Lynch (john.lynch@iname.com)
6 * Contributors:
7 *   - Magnus Lie Hetland
8 *   - Curtis Vogt
9 * Copyright: (c) 2013 John Lynch
10 * Release Version: 1.0.9.1
11 * Date Started: 2013/11/06
12 *
13 * Julia language file for GeSHi.
14 *
15 * CHANGES
16 * -------
17 *
18 * 2015/11/04
19 *   -  First Release submitted
20 *
21 *
22 *************************************************************************************
23 *
24 *     This file is part of GeSHi.
25 *
26 *   GeSHi is free software; you can redistribute it and/or modify
27 *   it under the terms of the GNU General Public License as published by
28 *   the Free Software Foundation; either version 2 of the License, or
29 *   (at your option) any later version.
30 *
31 *   GeSHi is distributed in the hope that it will be useful,
32 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
33 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
34 *   GNU General Public License for more details.
35 *
36 *   You should have received a copy of the GNU General Public License
37 *   along with GeSHi; if not, write to the Free Software
38 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
39 *
40 ************************************************************************************/
41
42$language_data = array(
43    'LANG_NAME' => 'Julia',
44    'COMMENT_SINGLE' => array(1 => '#'),
45    'COMMENT_MULTI' => array(),
46    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
47    //Longest quotemarks ALWAYS first
48    'QUOTEMARKS' => array('"""', '"', "'"),
49    'ESCAPE_CHAR' => '\\',
50    'KEYWORDS' => array(
51
52        /*
53        ** reserved words
54        */
55        1 => array(
56            'function', 'global', 'for', 'end', 'while', 'if', 'else', 'elseif', 'break',
57            'switch', 'case', 'otherwise', 'try', 'catch', 'const', 'immutable',
58            'import', 'importall', 'export', 'type', 'typealias', 'return', 'true',
59            'false', 'macro', 'quote', 'in', 'abstract', 'module', 'using', 'continue',
60            'ifelse', 'do', 'eval', 'let', 'finally', 'throw'
61        ),
62
63        /*
64        ** builtins
65        */
66        2 => array(
67            'Array', 'String', 'Bool', 'Number', 'Int', 'Integer', 'Real', 'Complex',
68            'FloatingPoint', 'Float64', 'Float32', 'Int8', 'Int16', 'Int32', 'Int64',
69            'Rational', 'AbstractArray', 'Unsigned', 'Signed', 'Uint', 'Uint8', 'Uint16',
70            'Uint32', 'Uint64', 'Vector', 'AbstractVector', 'Matrix', 'AbstractMatrix',
71            'Type', 'IO', 'Any', 'ASCIIString', 'Union', 'Dict', 'Function', 'SubArray',
72            'Range', 'Range1', 'Symbol', 'Expr',
73
74            'cell', 'collect', 'filter', 'merge', 'divrem', 'hex', 'dec', 'oct', 'base',
75            'int', 'round', 'cmp', 'float', 'linspace', 'fill', 'start', 'done', 'tuple',
76            'minimum', 'maximum', 'count', 'index', 'append', 'push', 'pop', 'shift',
77            'unshift', 'insert', 'splice', 'reverse', 'sort', 'zip', 'length', 'delete',
78            'copy', 'haskey', 'keys', 'values', 'get', 'getkey', 'Set', 'isa', 'issubset',
79            'intersect', 'setdiff', 'symdiff', 'complement', 'print', 'printf', 'println',
80            'sprintf', 'utf8', 'char', 'search', 'rsearch',
81            'replace', 'lowercase', 'uppercase', 'ucfirst', 'lcfirst', 'union',
82            'split', 'rsplit', 'chop', 'chomp', 'lpad', 'rpad', 'lstrip', 'rstrip',
83            'strip', 'isalnum', 'isalpha', 'isascii', 'isblank', 'iscntrl', 'isdigit',
84            'isgraph', 'islower', 'isprint', 'ispunct', 'isspace', 'isupper', 'isxdigit',
85            'match', 'captures', 'offset', 'offsets', 'matchall', 'eachmatch', 'hcat',
86            'vcat', 'hvcat', 'reshape', 'deepcopy', 'similar', 'reinterpret', 'map',
87            'reduce', 'mapreduce', 'DataArray', 'DataFrame', 'removeNA', 'replaceNA',
88            'colnames', 'head', 'tail', 'describe', 'join', 'groupby', 'by', 'stack',
89            'readtable', 'readcsv', 'readdlm', 'writetable', 'writecsv', 'writedlm',
90            'require', 'reload', 'include', 'evalfile', 'cd', 'open', 'write', 'close',
91            'position', 'seek', 'seekstart', 'skip', 'isopen', 'eof',
92            'isreadonly', 'ltoh', 'htol', 'serialize', 'deserialize', 'download',
93            'isequal', 'getindex', 'setindex', 'eachline', 'beginswith', 'endswith',
94            'parsefloat', 'parseint', 'seekend', 'findnz', 'DivideError', 'addprocs',
95            'scale', 'issubnormal', 'readdir', 'mapslices'
96        ),
97
98        /*
99        ** system interaction
100        */
101        3 => array(
102            'run', 'spawn', 'success', 'process_running', 'process_exited', 'kill',
103            'readsfrom', 'writesto', 'readsandwrite', 'detach', 'setenv', 'ENV', 'getpid',
104            'clipboard', 'strftime', 'time', 'gethostname', 'getipaddr', 'pwd',
105            'mkdir', 'mkpath', 'rmdir', 'ignorestatus'
106        ),
107
108        /*
109        ** prompt
110        */
111        4 => array(
112            'julia>'
113        )
114    ),
115    'SYMBOLS' => array(
116        '(', ')', '[', ']', '{', '}', '*', '&', '|', '%', '!', ';', '<', '>', '?', '`'
117    ),
118    'CASE_SENSITIVE' => array(
119        GESHI_COMMENTS => false,
120        1 => true,
121        2 => true,
122        3 => true,
123        4 => true
124    ),
125    'STYLES' => array(
126        'KEYWORDS' => array(
127            1 => 'color: #4266d5;font-weight:bold;',    // Reserved
128            2 => 'color: #0000A8;font-weight:bold;',    // Built-ins
129            3 => 'color: #0000A8;font-weight:bold;',    // System Interaction
130            4 => 'color: #3b972e;font-weight:bold;'     // Prompt
131        ),
132        'COMMENTS' => array(
133            1 => 'color: #888888;',
134            'MULTI' => 'color: #888888;'
135        ),
136        'ESCAPE_CHAR' => array(
137            0 => 'color: #000099; font-weight: bold;'
138        ),
139        'BRACKETS' => array(
140            0 => 'color: #3b972e;'
141        ),
142        'STRINGS' => array(
143            0 => 'color: #c93d39;'
144        ),
145        'NUMBERS' => array(
146            0 => 'color: black;'
147        ),
148        'METHODS' => array(
149            1 => 'color: black;'
150        ),
151        'SYMBOLS' => array(
152            0 => 'color: #6bab5b;'
153        ),
154        'REGEXPS' => array(),
155        'SCRIPT' => array()
156    ),
157    'URLS' => array(
158        1 => '',
159        2 => '',
160        3 => '',
161        4 => ''
162    ),
163    'OOLANG' => true,
164    'OBJECT_SPLITTERS' => array(
165        1 => '.'
166    ),
167    'REGEXPS' => array(),
168    'STRICT_MODE_APPLIES' => GESHI_NEVER,
169    'SCRIPT_DELIMITERS' => array(),
170    'HIGHLIGHT_STRICT_BLOCK' => array()
171);
172