wall.deblan.org/geshi/euphoria.php
2015-03-02 21:07:37 +01:00

140 lines
5 KiB
PHP

<?php
/*************************************************************************************
* euphoria.php
* ---------------------------------
* Author: Nicholas Koceja (nerketur@hotmail.com)
* Copyright: (c) 2010 Nicholas Koceja
* Release Version: 1.0.8.10
* Date Started: 11/24/2010
*
* Euphoria language file for GeSHi.
*
* Author's note: The colors are based off of the Euphoria Editor (ed.ex) colors.
* Also, I added comments in places so I could remember a few things about Euphoria.
*
*
* CHANGES
* -------
* <date-of-release> (1.0.8.9)
* - First Release
*
* TODO (updated <date-of-release>)
* -------------------------
* seperate the funtions from the procedures, and have a slight color change for each.
*
*************************************************************************************
*
* 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' => 'Euphoria',
'COMMENT_SINGLE' => array(1 => '--'),
'COMMENT_MULTI' => array(), //Euphoria doesn't support multi-line comments
'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
'QUOTEMARKS' => array("'", '"'),
'ESCAPE_CHAR' => '\\',
'KEYWORDS' => array(
1 => array( // keywords
'and', 'by', 'constant', 'do', 'else', 'elsif', 'end', 'exit',
'for', 'function', 'global', 'if', 'include', 'not', 'or',
'procedure', 'return', 'then', 'to', 'type', 'while', 'with',
'without', 'xor'
),
2 => array( // built-ins
'abort', 'and_bits', 'append', 'arctan', 'atom', 'c_func', 'call',
'c_proc', 'call_func', 'call_proc', 'clear_screen', 'close', 'compare',
'command_line', 'cos', 'date', 'equal', 'find', 'find_from', 'floor',
'getc', 'getenv', 'gets', 'get_key', 'get_pixel', 'integer', 'length',
'log', 'machine_func', 'machine_proc', 'match', 'match_from',
'mem_copy', 'mem_set', 'not_bits', 'object', 'open', 'or_bits', 'peek',
'peek4s', 'peek4u', 'pixel', 'platform', 'poke', 'poke4', 'position',
'power', 'prepend', 'print', 'printf', 'profile', 'puts', 'rand',
'remainder', 'repeat', 'routine_id', 'sequence', 'sin', 'sprintf',
'sqrt', 'system', 'system_exec', 'tan', 'task_clock_stop',
'task_clock_start', 'task_create', 'task_list', 'task_schedule',
'task_self', 'task_status', 'task_suspend', 'task_yield', 'time',
'trace', 'xor_bits'
),
),
'SYMBOLS' => array(
0 => array(
'(', ')', '{', '}', '[', ']'
),
1 => array(
'+', '-', '*', '/', '=', '&', '^'
),
2 => array(
'&', '?', ','
)
),
'CASE_SENSITIVE' => array(
GESHI_COMMENTS => false,
1 => true,
2 => true,
),
'STYLES' => array(
'KEYWORDS' => array(
1 => 'color: #0000ff; font-weight: bold;', // keywords
2 => 'color: #cc33ff; font-weight: bold;', // builtins
),
'COMMENTS' => array(
1 => 'color: #ff0000; font-style: italic;',
'MULTI' => '' // doesn't exist
),
'ESCAPE_CHAR' => array(
0 => 'color: #009900; font-weight: bold;'
),
'BRACKETS' => array(
0 => 'color: #999900; font-weight: bold;'
),
'STRINGS' => array(
0 => 'color: #00cc00;'
),
'NUMBERS' => array(
0 => 'color: #cc33cc; font-style: italic'
),
'METHODS' => array( // Doesn't exist in Euphoria. Everything is a function =)
0 => ''
),
'SYMBOLS' => array(
0 => 'color: #999900;', // brackets
1 => 'color: #333333;', // operators
2 => 'color: #333333; font-style: bold' // print+concat
),
'REGEXPS' => array(
),
'SCRIPT' => array( // Never included in scripts.
)
),
'REGEXPS' => array(
),
'URLS' => array(
1 => '',
2 => ''
),
'OOLANG' => false,
'OBJECT_SPLITTERS' => array(),
'STRICT_MODE_APPLIES' => GESHI_NEVER,
'SCRIPT_DELIMITERS' => array(
),
'HIGHLIGHT_STRICT_BLOCK' => array(
)
);
?>