'Haskell', 'COMMENT_SINGLE' => array( 1 => '--'), 'COMMENT_MULTI' => array('{-' => '-}'), 'COMMENT_REGEXP' => array(2 => "/-->/"), 'CASE_KEYWORDS' => 0, 'QUOTEMARKS' => array('"'), 'ESCAPE_CHAR' => "\\", 'KEYWORDS' => array( /* main haskell keywords */ 1 => array( 'as', 'case', 'of', 'class', 'data', 'default', 'deriving', 'do', 'forall', 'hiding', 'if', 'then', 'else', 'infix', 'infixl', 'infixr', 'instance', 'let', 'in', 'newtype', 'type', 'where' ), ), /* highlighting symbols is really important in Haskell */ 'SYMBOLS' => array( '`', '~', '!', '@', '#', '$', '%', '^', '&', '*', '-', '+', '=', '?', '>', '<', '.', ':', '/', '\\', '|' ), 'CASE_SENSITIVE' => array( GESHI_COMMENTS => false, 1 => true, ), 'STYLES' => array( 'KEYWORDS' => array( 1 => 'color: #000; font-weight: bold;', ), 'COMMENTS' => array( 1 => 'color: #998; font-style: italic;', 2 => 'color: #998; font-style: italic;', 'MULTI' => 'color: #998; font-style: italic;' ), 'ESCAPE_CHAR' => array( 0 => 'background-color: #3cb371; font-weight: bold;' ), 'BRACKETS' => array( ), 'STRINGS' => array( 0 => 'color: #d14;' ), 'NUMBERS' => array( 0 => 'color: #099;' ), 'METHODS' => array( ), 'REGEXPS' => array( 0 => 'color: #555;', 1 => 'color: #000; font-weight: bold;', 2 => 'color: #458; font-weight: bold;', 3 => 'color: #900; font-weight: bold;', 4 => 'color: #900; font-weight: bold;', 5 => 'color: #900; font-weight: bold;', 6 => 'color: #d14;', 7 => 'color: #283352;', ), 'SYMBOLS' => array( 0 => 'color: #000; font-weight: bold;', ), 'SCRIPT' => array( ) ), 'OOLANG' => false, 'OBJECT_SPLITTERS' => array( ), 'REGEXPS' => array( // imports 0 => array( GESHI_SEARCH => '((module\s+)|(import\s+)(qualified\s+)?)(.+)$', GESHI_REPLACE => '\\5', GESHI_MODIFIERS => 'm', GESHI_BEFORE => '\\1', GESHI_AFTER => '', ), // import/qualified keywords 1 => array( GESHI_SEARCH => '(module|import|qualified)', GESHI_REPLACE => '\\1', GESHI_MODIFIERS => '', GESHI_BEFORE => '', GESHI_AFTER => '', ), // types, need to ignore geshi escapes , , REG3XP1!> 2 => array( GESHI_SEARCH => '(<[A-Z]+>|<\|!REG3XP\d*!>.*?\|>)|(\b[A-Z][a-zA-Z0-9_\']*)', GESHI_REPLACE => '\\2', GESHI_MODIFIERS => '', GESHI_BEFORE => '\\1', GESHI_AFTER => '', ), // function defs 3 => array( GESHI_SEARCH => '^([a-z][a-zA-Z0-9_\']*)', GESHI_REPLACE => '\\1', GESHI_MODIFIERS => 'm', GESHI_BEFORE => '', GESHI_AFTER => '', ), // function defs at the start of the file (workaround) 4 => array( GESHI_SEARCH => '^(\s)([a-z][a-zA-Z0-9_\']*)', GESHI_REPLACE => '\\2', GESHI_MODIFIERS => '', GESHI_BEFORE => '\\1', GESHI_AFTER => '', ), // lambda's 5 => array( GESHI_SEARCH => '(\\\\)([a-z])', GESHI_REPLACE => '\\1', GESHI_MODIFIERS => '', GESHI_BEFORE => '', GESHI_AFTER => '\\2', ), // quoted characters 6 => array( GESHI_SEARCH => '(\'..?\')', GESHI_REPLACE => '\\1', GESHI_MODIFIERS => '', GESHI_BEFORE => '', GESHI_AFTER => '', ), // brackets/unit 7 => array( GESHI_SEARCH => '([^\\\'])([\(\)\[\],]+)', GESHI_REPLACE => '\\2', GESHI_MODIFIERS => '', GESHI_BEFORE => '\\1', GESHI_AFTER => '', ), ), 'STRICT_MODE_APPLIES' => GESHI_NEVER, 'SCRIPT_DELIMITERS' => array( ), 'HIGHLIGHT_STRICT_BLOCK' => array( ) ); ?>