1<?php
2/*************************************************************************************
3 * mercury.php
4 * --------
5 * Author: Sebastian Godelet (sebastian.godelet+github@gmail.com)
6 * Copyright: (c) 2014
7 * Release Version: 1.0.9.1
8 * Date Started: 2014/10/30
9 *
10 * Mercury language file for GeSHi.
11 *
12 * CHANGES
13 * -------
14 * 2014/10/30 (1.0.8.13)
15 *  -  First Release
16 *
17 * TODO (updated 2014/10/30)
18 * -------------------------
19 *
20 *************************************************************************************
21 *
22 *     This file is part of GeSHi.
23 *
24 *   GeSHi is free software; you can redistribute it and/or modify
25 *   it under the terms of the GNU General Public License as published by
26 *   the Free Software Foundation; either version 2 of the License, or
27 *   (at your option) any later version.
28 *
29 *   GeSHi is distributed in the hope that it will be useful,
30 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
31 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
32 *   GNU General Public License for more details.
33 *
34 *   You should have received a copy of the GNU General Public License
35 *   along with GeSHi; if not, write to the Free Software
36 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
37 *
38 ************************************************************************************/
39
40$language_data = array(
41    'LANG_NAME' => 'Mercury',
42    'COMMENT_SINGLE' => array(1 => '%'),
43    'COMMENT_MULTI' => array('/*' => '*/'),
44    'HARDQUOTE' => array("'", "'"),
45    'HARDESCAPE' => array('"', "\'"),
46    'HARDCHAR' => '"',
47    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
48    'QUOTEMARKS' => array(),
49    'ESCAPE_CHAR' => '\\',
50    'NUMBERS' =>
51        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_FLT_SCI_ZERO,
52    'KEYWORDS' => array(
53        1 => array(
54            'end_module', 'finalise', 'finalize', 'func', 'implementation',
55            'include_module', 'initalisation', 'initialization',
56            'instance', 'interface',
57            'import_module', 'module', 'pragma', 'pred',
58            'type', 'typeclass', 'use_module'
59        ),
60        2 => array(
61            'atomic', 'foreign_code', 'foreign_export', 'foreign_type', 'memo'
62        )
63    ),
64    'SYMBOLS' => array(
65        0 => array('(', ')', '[', ']', '{', '}',),
66        1 => array('?-', ':-', '=:='),
67        2 => array('\-', '\+', '\*', '\/', '/\\'),
68        3 => array('-', '+', '*', '/'),
69        4 => array('.', ':', ',', ';'),
70        5 => array('!', '@', '&', '|', '!.', '!:'),
71        6 => array('<', '>', '=')
72    ),
73    'CASE_SENSITIVE' => array(
74        GESHI_COMMENTS => false,
75        1 => false,
76        2 => false
77    ),
78    'STYLES' => array(
79        'KEYWORDS' => array(
80            1 => 'color: #990000;',
81            2 => 'color: #99aa77;'
82        ),
83        'COMMENTS' => array(
84            1 => 'color: #666666; font-style: italic;',
85            'MULTI' => 'color: #666666; font-style: italic;'
86        ),
87        'ESCAPE_CHAR' => array(
88            0 => 'color: #000099; font-weight: bold;',
89            'HARD' => 'color: #000099; font-weight: bold;'
90        ),
91        'BRACKETS' => array(
92            0 => 'color: #009900;'
93        ),
94        'STRINGS' => array(
95            0 => 'color: #0000ff;',
96            'HARD' => 'color: #0000ff;'
97        ),
98        'NUMBERS' => array(
99            0 => 'color: #800080;'
100        ),
101        'METHODS' => array(),
102        'SYMBOLS' => array(
103            0 => 'color: #339933;',
104            1 => 'color: #339933;',
105            2 => 'color: #339933;',
106            3 => 'color: #339933;',
107            4 => 'color: #339933;',
108            5 => 'color: #339933;',
109            6 => 'color: #339933;'
110        ),
111        'REGEXPS' => array(
112            0 => 'color: #008080;'
113        ),
114        'SCRIPT' => array()
115    ),
116    'URLS' => array(
117        1 => 'http://www.mercurylang.org',
118        2 => 'http://www.mercurylang.org'
119    ),
120    'OOLANG' => false,
121    'OBJECT_SPLITTERS' => array(),
122    'REGEXPS' => array(
123        //Variables
124        0 => "(?<![a-zA-Z0-9_])(?!(?:PIPE|SEMI|DOT)[^a-zA-Z0-9_])[A-Z_][a-zA-Z0-9_]*(?![a-zA-Z0-9_])(?!\x7C)"
125    ),
126    'STRICT_MODE_APPLIES' => GESHI_NEVER,
127    'SCRIPT_DELIMITERS' => array(),
128    'HIGHLIGHT_STRICT_BLOCK' => array(),
129    'TAB_WIDTH' => 4
130);
131