summaryrefslogtreecommitdiff
path: root/extensions/SyntaxHighlight_GeSHi/geshi/geshi/rust.php
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/SyntaxHighlight_GeSHi/geshi/geshi/rust.php')
-rw-r--r--extensions/SyntaxHighlight_GeSHi/geshi/geshi/rust.php235
1 files changed, 235 insertions, 0 deletions
diff --git a/extensions/SyntaxHighlight_GeSHi/geshi/geshi/rust.php b/extensions/SyntaxHighlight_GeSHi/geshi/geshi/rust.php
new file mode 100644
index 00000000..c213ab43
--- /dev/null
+++ b/extensions/SyntaxHighlight_GeSHi/geshi/geshi/rust.php
@@ -0,0 +1,235 @@
+<?php
+/*************************************************************************************
+ * rust.php
+ * --------
+ * Author: Edward Hart (edward.dan.hart@gmail.com)
+ * Copyright: (c) 2013 Edward Hart
+ * Release Version: 1.0.8.12
+ * Date Started: 2013/10/20
+ *
+ * Rust language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2014/03/18
+ * - Added support for raw strings
+ * - Color symbols
+ * 2013/10/20
+ * - First Release
+ *
+ * TODO (updated 2013/10/20)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ * This file is part of GeSHi.
+ *
+ * GeSHi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * GeSHi 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GeSHi; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ ************************************************************************************/
+
+$language_data = array(
+ 'LANG_NAME' => 'Rust',
+
+ 'COMMENT_SINGLE' => array('//'),
+ 'COMMENT_MULTI' => array('/*' => '*/'),
+ 'COMMENT_REGEXP' => array(
+ // Raw strings
+ 1 => '/\\br(\\#*)".*?"\\1/'
+ ),
+
+ 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+ 'QUOTEMARKS' => array("'", '"'),
+ 'ESCAPE_CHAR' => '',
+ 'ESCAPE_REGEXP' => array(
+ //Simple Single Char Escapes
+ 1 => "#\\\\[\\\\nrt\'\"?\n]#i",
+ //Hexadecimal Char Specs
+ 2 => "#\\\\x[\da-fA-F]{2}#",
+ //Hexadecimal Char Specs
+ 3 => "#\\\\u[\da-fA-F]{4}#",
+ //Hexadecimal Char Specs
+ 4 => "#\\\\U[\da-fA-F]{8}#",
+ //Octal Char Specs
+ 5 => "#\\\\[0-7]{1,3}#"
+ ),
+ 'NUMBERS' =>
+ GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
+ GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
+ GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
+
+ 'KEYWORDS' => array(
+ // Keywords
+ 1 => array(
+ 'alt', 'as', 'assert', 'break', 'const', 'continue', 'copy', 'do',
+ 'else', 'enum', 'extern', 'fn', 'for', 'if',
+ 'impl', 'in', 'let', 'log', 'loop', 'match', 'mod', 'mut', 'of',
+ 'priv', 'pub', 'ref', 'return', 'self', 'static', 'struct', 'super',
+ 'to', 'trait', 'type', 'unsafe', 'use', 'with', 'while'
+ ),
+ // Boolean values
+ 2 => array( 'true', 'false' ),
+ // Structs and built-in types
+ 3 => array(
+ 'u8', 'i8',
+ 'u16', 'i16',
+ 'u32', 'i32',
+ 'u64', 'i64',
+ 'f32', 'f64',
+ 'int', 'uint',
+ 'float',
+ 'bool',
+ 'str', 'char',
+ 'Argument', 'AsyncWatcher', 'BorrowRecord', 'BufReader',
+ 'BufWriter', 'BufferedReader', 'BufferedStream', 'BufferedWriter',
+ 'ByRef', 'ByteIterator', 'CFile', 'CString', 'CStringIterator',
+ 'Cell', 'Chain', 'Chan', 'ChanOne', 'CharIterator',
+ 'CharOffsetIterator', 'CharRange', 'CharSplitIterator',
+ 'CharSplitNIterator', 'ChunkIter', 'Condition', 'ConnectRequest',
+ 'Coroutine', 'Counter', 'CrateMap', 'Cycle', 'DeflateWriter',
+ 'Display', 'ElementSwaps', 'Enumerate', 'Exp', 'Exp1', 'FileDesc',
+ 'FileReader', 'FileStat', 'FileStream', 'FileWriter', 'Filter',
+ 'FilterMap', 'FlatMap', 'FormatSpec', 'Formatter', 'FsRequest',
+ 'Fuse', 'GarbageCollector', 'GetAddrInfoRequest', 'Handle',
+ 'HashMap', 'HashMapIterator', 'HashMapMoveIterator',
+ 'HashMapMutIterator', 'HashSet', 'HashSetIterator',
+ 'HashSetMoveIterator', 'Hint', 'IdleWatcher', 'InflateReader',
+ 'Info', 'Inspect', 'Invert', 'IoError', 'Isaac64Rng', 'IsaacRng',
+ 'LineBufferedWriter', 'Listener', 'LocalHeap', 'LocalStorage',
+ 'Loop', 'Map', 'MatchesIndexIterator', 'MemReader', 'MemWriter',
+ 'MemoryMap', 'ModEntry', 'MoveIterator', 'MovePtrAdaptor',
+ 'MoveRevIterator', 'NoOpRunnable', 'NonCopyable', 'Normal',
+ 'OSRng', 'OptionIterator', 'Parser', 'Path', 'Peekable',
+ 'Permutations', 'Pipe', 'PipeStream', 'PluralArm', 'Port',
+ 'PortOne', 'Process', 'ProcessConfig', 'ProcessOptions',
+ 'ProcessOutput', 'RC', 'RSplitIterator', 'RandSample', 'Range',
+ 'RangeInclusive', 'RangeStep', 'RangeStepInclusive', 'Rc', 'RcMut',
+ 'ReaderRng', 'Repeat', 'ReprVisitor', 'RequestData',
+ 'ReseedWithDefault', 'ReseedingRng', 'Scan', 'SchedOpts',
+ 'SelectArm', 'SharedChan', 'SharedPort', 'SignalWatcher',
+ 'SipState', 'Skip', 'SkipWhile', 'SocketAddr', 'SplitIterator',
+ 'StackPool', 'StackSegment', 'StandardNormal', 'StdErrLogger',
+ 'StdIn', 'StdOut', 'StdReader', 'StdRng', 'StdWriter',
+ 'StrSplitIterator', 'StreamWatcher', 'TTY', 'Take', 'TakeWhile',
+ 'Task', 'TaskBuilder', 'TaskOpts', 'TcpAcceptor', 'TcpListener',
+ 'TcpStream', 'TcpWatcher', 'Timer', 'TimerWatcher', 'TrieMap',
+ 'TrieMapIterator', 'TrieSet', 'TrieSetIterator', 'Tube',
+ 'UdpSendRequest', 'UdpSocket', 'UdpStream', 'UdpWatcher', 'Unfold',
+ 'UnixAcceptor', 'UnixListener', 'UnixStream', 'Unwinder',
+ 'UvAddrInfo', 'UvError', 'UvEventLoop', 'UvFileStream',
+ 'UvIoFactory', 'UvPausibleIdleCallback', 'UvPipeStream',
+ 'UvProcess', 'UvRemoteCallback', 'UvSignal', 'UvTTY',
+ 'UvTcpAcceptor', 'UvTcpListener', 'UvTcpStream', 'UvTimer',
+ 'UvUdpSocket', 'UvUnboundPipe', 'UvUnixAcceptor', 'UvUnixListener',
+ 'VecIterator', 'VecMutIterator', 'Weighted', 'WeightedChoice',
+ 'WindowIter', 'WriteRequest', 'XorShiftRng', 'Zip', 'addrinfo',
+ 'uv_buf_t', 'uv_err_data', 'uv_process_options_t', 'uv_stat_t',
+ 'uv_stdio_container_t', 'uv_timespec_t'
+ ),
+ // Enums
+ 4 => array(
+ 'Alignment', 'Count', 'Either', 'ExponentFormat', 'FPCategory',
+ 'FileAccess', 'FileMode', 'Flag', 'IoErrorKind', 'IpAddr',
+ 'KeyValue', 'MapError', 'MapOption', 'MemoryMapKind', 'Method',
+ 'NullByteResolution', 'Option', 'Ordering', 'PathPrefix', 'Piece',
+ 'PluralKeyword', 'Position', 'Protocol', 'Result', 'SchedHome',
+ 'SchedMode', 'SeekStyle', 'SendStr', 'SignFormat',
+ 'SignificantDigits', 'Signum', 'SocketType', 'StdioContainer',
+ 'TaskResult', 'TaskType', 'UvSocketAddr', 'Void', 'uv_handle_type',
+ 'uv_membership', 'uv_req_type'
+ )
+ ),
+ 'SYMBOLS' => array(
+ '(', ')', '{', '}', '[', ']',
+ '+', '-', '*', '/', '%',
+ '&', '|', '^', '!', '<', '>', '~', '@',
+ ':',
+ ';', ',',
+ '='
+ ),
+
+ 'CASE_SENSITIVE' => array(
+ GESHI_COMMENTS => false,
+ 1 => true,
+ 2 => true,
+ 3 => true,
+ 4 => true
+ ),
+
+ 'STYLES' => array(
+ 'KEYWORDS' => array(
+ 1 => 'color: #708;',
+ 2 => 'color: #219;',
+ 3 => 'color: #05a;',
+ 4 => 'color: #800;'
+ ),
+ 'COMMENTS' => array(
+ 0 => 'color: #a50; font-style: italic;',
+ 1 => 'color: #a11;',
+ 'MULTI' => 'color: #a50; font-style: italic;'
+ ),
+ 'ESCAPE_CHAR' => array(
+ 0 => 'color: #000099; font-weight: bold;',
+ 1 => 'color: #000099; font-weight: bold;',
+ 2 => 'color: #660099; font-weight: bold;',
+ 3 => 'color: #660099; font-weight: bold;',
+ 4 => 'color: #660099; font-weight: bold;',
+ 5 => 'color: #006699; font-weight: bold;',
+ 'HARD' => ''
+ ),
+ 'STRINGS' => array(
+ 0 => 'color: #a11;'
+ ),
+ 'NUMBERS' => array(
+ 0 => 'color: #0000dd;',
+ GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
+ GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
+ GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
+ GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
+ GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
+ GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
+ GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
+ ),
+ 'BRACKETS' => array(''),
+ 'METHODS' => array(
+ 1 => 'color: #164;'
+ ),
+ 'SYMBOLS' => array(
+ 0 => 'color: #339933;'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'SCRIPT' => array(
+ )
+ ),
+ 'URLS' => array(
+ 1 => '',
+ 2 => '',
+ 3 => '',
+ 4 => ''
+ ),
+ 'OOLANG' => true,
+ 'OBJECT_SPLITTERS' => array(
+ 1 => '::'
+ ),
+ 'REGEXPS' => array(
+ ),
+ 'STRICT_MODE_APPLIES' => GESHI_NEVER,
+ 'SCRIPT_DELIMITERS' => array(
+ ),
+ 'HIGHLIGHT_STRICT_BLOCK' => array(
+ ),
+ 'TAB_WIDTH' => 4
+);