1<?php
2/*************************************************************************************
3 * visualprolog.php
4 * ----------
5 * Author: Thomas Linder Puls (puls@pdc.dk)
6 * Copyright: (c) 2008 Thomas Linder Puls (puls@pdc.dk)
7 * Release Version: 1.0.9.1
8 * Date Started: 2008/11/20
9 *
10 * Visual Prolog language file for GeSHi.
11 *
12 * CHANGES
13 * -------------------------
14 *
15 *************************************************************************************
16 *
17 *     This file is part of GeSHi.
18 *
19 *   GeSHi is free software; you can redistribute it and/or modify
20 *   it under the terms of the GNU General Public License as published by
21 *   the Free Software Foundation; either version 2 of the License, or
22 *   (at your option) any later version.
23 *
24 *   GeSHi is distributed in the hope that it will be useful,
25 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
26 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
27 *   GNU General Public License for more details.
28 *
29 *   You should have received a copy of the GNU General Public License
30 *   along with GeSHi; if not, write to the Free Software
31 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
32 *
33 ************************************************************************************/
34
35$language_data = array (
36    'LANG_NAME' => 'Visual Prolog',
37    'COMMENT_SINGLE' => array(1 => '%'),
38    'COMMENT_MULTI' => array('/*' => '*/'),
39    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
40    'QUOTEMARKS' => array("'", '"'),
41    'HARDQUOTE' => array('@"', '"'),
42    'HARDESCAPE' => array('""'),
43    'ESCAPE_CHAR' => '\\',
44    'KEYWORDS' => array(
45        1 => array(
46            'clauses','constants','constructors','delegate','domains','facts',
47            'goal','guards','inherits','monitor','namespace','open',
48            'predicates','properties','resolve','supports'
49            ),
50        2 => array(
51            'align','and','anyflow','as','bitsize','catch','determ','digits',
52            'div','do','else','elseif','erroneous','externally','failure',
53            'finally','from','language','mod','multi','nondeterm','or',
54            'procedure','quot','rem','single','then','to'
55            ),
56        3 => array(
57            '#bininclude','#else','#elseif','#endif','#error','#export',
58            '#externally','#if','#import','#include','#message','#options',
59            '#orrequires','#requires','#then','#warning'
60            ),
61        ),
62    'SYMBOLS' => array(
63        '+', '-', '*', '?', '=', '/', '>', '<', '^', '!', ':', '(', ')', '{', '}', '[', ']'
64        ),
65    'CASE_SENSITIVE' => array(
66        GESHI_COMMENTS => true,
67        1 => true,
68        2 => true,
69        3 => true
70        ),
71    'STYLES' => array(
72        'KEYWORDS' => array(
73            1 => 'color: #808000;',
74            2 => 'color: #333399;',
75            3 => 'color: #800080;',
76            ),
77        'COMMENTS' => array(
78            1 => 'color: #AA77BD',
79            'MULTI' => 'color: #AA77BD'
80            ),
81        'ESCAPE_CHAR' => array(
82            0 => 'color: #008080;'
83            ),
84        'BRACKETS' => array(
85            0 => 'color: #000000;'
86            ),
87        'STRINGS' => array(
88            0 => 'color: #00B7B7;'
89            ),
90        'NUMBERS' => array(
91            0 => 'color: #0000FF;'
92            ),
93        'METHODS' => array(
94            ),
95        'SYMBOLS' => array(
96            0 => 'color: #000000;'
97            ),
98        'SCRIPT' => array(
99            ),
100        'REGEXPS' => array(
101            0 => 'color: #008000;',
102            1 => 'color: #808000;',
103            2 => 'color: #333399;',
104            )
105        ),
106    'URLS' => array(
107        1 => '',
108        2 => '',
109        3 => ''
110        ),
111    'OOLANG' => true,
112    'OBJECT_SPLITTERS' => array(
113        1 => ':',
114        2 => '::'
115        ),
116    'REGEXPS' => array(
117        0 => "(?<![a-zA-Z0-9_])(?!(?:PIPE|SEMI)>)[A-Z_]\w*(?!\w)",
118        1 => "\\b(end\\s+)?(implement|class|interface)\\b",
119        2 => "\\b(end\\s+)?(foreach|if|try)\\b",
120        ),
121    'STRICT_MODE_APPLIES' => GESHI_NEVER,
122    'SCRIPT_DELIMITERS' => array(
123        ),
124    'HIGHLIGHT_STRICT_BLOCK' => array(
125        ),
126    'TAB_WIDTH' => 4
127);
128