Changeset 34135 in spip-zone for _plugins_/coloration_code


Ignore:
Timestamp:
Jan 3, 2010, 1:06:07 AM (11 years ago)
Author:
kent1@…
Message:

Update de Genshi en 1.8.6 ...

J'avais besoin du language Erlang...

D'ailleurs jQuery a également été ajouté donc cela est de toute manière très intéressant ...

En espérant n'avoir rien cassé

Location:
_plugins_/coloration_code/spip-2.0
Files:
50 added
2 deleted
110 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/coloration_code/spip-2.0/geshi/geshi.php

    r22331 r34135  
    4242
    4343/** The version of this GeSHi file */
    44 define('GESHI_VERSION', '1.0.8');
     44define('GESHI_VERSION', '1.0.8.6');
    4545
    4646// Define the root directory for the GeSHi code tree
     
    5353define('GESHI_LANG_ROOT', GESHI_ROOT . 'geshi' . DIRECTORY_SEPARATOR);
    5454
     55// Define if GeSHi should be paranoid about security
     56if (!defined('GESHI_SECURITY_PARANOID')) {
     57    /** Tells GeSHi to be paranoid about security settings */
     58    define('GESHI_SECURITY_PARANOID', false);
     59}
    5560
    5661// Line numbers - use with enable_line_numbers()
     
    181186    regular expressions. Set this to false if your PCRE lib is up to date
    182187    @see GeSHi->optimize_regexp_list()
    183     TODO: are really the subpatterns the culprit or the overall length of the pattern?
    184188    **/
    185189define('GESHI_MAX_PCRE_SUBPATTERNS', 500);
     190/** it's also important not to generate too long regular expressions
     191    be generous here... but keep in mind, that when reaching this limit we
     192    still have to close open patterns. 12k should do just fine on a 16k limit.
     193    @see GeSHi->optimize_regexp_list()
     194    **/
     195define('GESHI_MAX_PCRE_LENGTH', 12288);
    186196
    187197//Number format specification
     
    198208/** Number format to highlight octal numbers with a leading zero */
    199209define('GESHI_NUMBER_OCT_PREFIX', 256);           //0[0-7]+
     210/** Number format to highlight octal numbers with a prefix 0o (logtalk) */
     211define('GESHI_NUMBER_OCT_PREFIX_0O', 512);           //0[0-7]+
    200212/** Number format to highlight octal numbers with a suffix of o */
    201 define('GESHI_NUMBER_OCT_SUFFIX', 512);           //[0-7]+[oO]
     213define('GESHI_NUMBER_OCT_SUFFIX', 1024);           //[0-7]+[oO]
    202214/** Number format to highlight hex numbers with a prefix 0x */
    203215define('GESHI_NUMBER_HEX_PREFIX', 4096);           //0x[0-9a-fA-F]+
     
    436448     * @var string
    437449     */
    438     var $code_style = 'font-family: monospace; font-weight: normal; font-style: normal; margin:0; padding:0; background:inherit;';
     450    var $code_style = 'font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;';
    439451
    440452    /**
     
    454466     * @var string
    455467     */
    456     var $line_style1 = 'font-weight: normal;';
     468    var $line_style1 = 'font-weight: normal; vertical-align:top;';
    457469
    458470    /**
     
    460472     * @var string
    461473     */
    462     var $line_style2 = 'font-weight: bold;';
     474    var $line_style2 = 'font-weight: bold; vertical-align:top;';
    463475
    464476    /**
     
    466478     * @var string
    467479     */
    468     var $table_linenumber_style = 'width:1px;font-weight: normal;text-align:right;margin:0;padding:0 2px;';
     480    var $table_linenumber_style = 'width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;';
    469481
    470482    /**
     
    692704     */
    693705    function set_language_path($path) {
     706        if(strpos($path,':')) {
     707            //Security Fix to prevent external directories using fopen wrappers.
     708            if(DIRECTORY_SEPARATOR == "\\") {
     709                if(!preg_match('#^[a-zA-Z]:#', $path) || false !== strpos($path, ':', 2)) {
     710                    return;
     711                }
     712            } else {
     713                return;
     714            }
     715        }
     716        if(preg_match('#[^/a-zA-Z0-9_\.\-\\\s:]#', $path)) {
     717            //Security Fix to prevent external directories using fopen wrappers.
     718            return;
     719        }
     720        if(GESHI_SECURITY_PARANOID && false !== strpos($path, '/.')) {
     721            //Security Fix to prevent external directories using fopen wrappers.
     722            return;
     723        }
     724        if(GESHI_SECURITY_PARANOID && false !== strpos($path, '..')) {
     725            //Security Fix to prevent external directories using fopen wrappers.
     726            return;
     727        }
    694728        if ($path) {
    695729            $this->language_path = ('/' == $path[strlen($path) - 1]) ? $path : $path . '/';
    696             $this->set_language($this->language);        // otherwise set_language_path has no effect
     730            $this->set_language($this->language); // otherwise set_language_path has no effect
    697731        }
    698732    }
     
    952986     * @since 1.0.0
    953987     */
    954     function set_escape_characters_style($style, $preserve_defaults = false) {
     988    function set_escape_characters_style($style, $preserve_defaults = false, $group = 0) {
    955989        if (!$preserve_defaults) {
    956             $this->language_data['STYLES']['ESCAPE_CHAR'][0] = $style;
     990            $this->language_data['STYLES']['ESCAPE_CHAR'][$group] = $style;
    957991        } else {
    958             $this->language_data['STYLES']['ESCAPE_CHAR'][0] .= $style;
     992            $this->language_data['STYLES']['ESCAPE_CHAR'][$group] .= $style;
    959993        }
    960994    }
     
    10531087     * @param boolean Whether to merge the new styles with the old or just
    10541088     *                to overwrite them
     1089     * @param int     Tells the group of strings for which style should be set.
    10551090     * @since 1.0.0
    10561091     */
    1057     function set_strings_style($style, $preserve_defaults = false) {
     1092    function set_strings_style($style, $preserve_defaults = false, $group = 0) {
    10581093        if (!$preserve_defaults) {
    1059             $this->language_data['STYLES']['STRINGS'][0] = $style;
     1094            $this->language_data['STYLES']['STRINGS'][$group] = $style;
    10601095        } else {
    1061             $this->language_data['STYLES']['STRINGS'][0] .= $style;
     1096            $this->language_data['STYLES']['STRINGS'][$group] .= $style;
    10621097        }
    10631098    }
     
    10711106    function set_strings_highlighting($flag) {
    10721107        $this->lexic_permissions['STRINGS'] = ($flag) ? true : false;
     1108    }
     1109
     1110    /**
     1111     * Sets the styles for strict code blocks. If $preserve_defaults is
     1112     * true, then styles are merged with the default styles, with the
     1113     * user defined styles having priority
     1114     *
     1115     * @param string  The style to make the script blocks
     1116     * @param boolean Whether to merge the new styles with the old or just
     1117     *                to overwrite them
     1118     * @param int     Tells the group of script blocks for which style should be set.
     1119     * @since 1.0.8.4
     1120     */
     1121    function set_script_style($style, $preserve_defaults = false, $group = 0) {
     1122        // Update the style of symbols
     1123        if (!$preserve_defaults) {
     1124            $this->language_data['STYLES']['SCRIPT'][$group] = $style;
     1125        } else {
     1126            $this->language_data['STYLES']['SCRIPT'][$group] .= $style;
     1127        }
    10731128    }
    10741129
     
    10811136     * @param boolean Whether to merge the new styles with the old or just
    10821137     *                to overwrite them
     1138     * @param int     Tells the group of numbers for which style should be set.
    10831139     * @since 1.0.0
    10841140     */
    1085     function set_numbers_style($style, $preserve_defaults = false) {
     1141    function set_numbers_style($style, $preserve_defaults = false, $group = 0) {
    10861142        if (!$preserve_defaults) {
    1087             $this->language_data['STYLES']['NUMBERS'][0] = $style;
     1143            $this->language_data['STYLES']['NUMBERS'][$group] = $style;
    10881144        } else {
    1089             $this->language_data['STYLES']['NUMBERS'][0] .= $style;
     1145            $this->language_data['STYLES']['NUMBERS'][$group] .= $style;
    10901146        }
    10911147    }
     
    12981354        if ( !is_array($lookup) || empty($lookup)) {
    12991355            $lookup = array(
     1356                'abap' => array('abap'),
    13001357                'actionscript' => array('as'),
    13011358                'ada' => array('a', 'ada', 'adb', 'ads'),
    13021359                'apache' => array('conf'),
    1303                 'asm' => array('ash', 'asm'),
     1360                'asm' => array('ash', 'asm', 'inc'),
    13041361                'asp' => array('asp'),
    13051362                'bash' => array('sh'),
     1363                'bf' => array('bf'),
    13061364                'c' => array('c', 'h'),
    13071365                'c_mac' => array('c', 'h'),
     
    13101368                'cdfg' => array('cdfg'),
    13111369                'cobol' => array('cbl'),
    1312                 'cpp' => array('cpp', 'h', 'hpp'),
    1313                 'csharp' => array(),
     1370                'cpp' => array('cpp', 'hpp', 'C', 'H', 'CPP', 'HPP'),
     1371                'csharp' => array('cs'),
    13141372                'css' => array('css'),
     1373                'd' => array('d'),
    13151374                'delphi' => array('dpk', 'dpr', 'pp', 'pas'),
     1375                'diff' => array('diff', 'patch'),
    13161376                'dos' => array('bat', 'cmd'),
     1377                'gdb' => array('kcrash', 'crash', 'bt'),
    13171378                'gettext' => array('po', 'pot'),
     1379                'gml' => array('gml'),
     1380                'gnuplot' => array('plt'),
     1381                'groovy' => array('groovy'),
     1382                'haskell' => array('hs'),
    13181383                'html4strict' => array('html', 'htm'),
     1384                'ini' => array('ini', 'desktop'),
    13191385                'java' => array('java'),
    13201386                'javascript' => array('js'),
    13211387                'klonec' => array('kl1'),
    13221388                'klonecpp' => array('klx'),
     1389                'latex' => array('tex'),
    13231390                'lisp' => array('lisp'),
    13241391                'lua' => array('lua'),
     1392                'matlab' => array('m'),
    13251393                'mpasm' => array(),
     1394                'mysql' => array('sql'),
    13261395                'nsis' => array(),
    13271396                'objc' => array(),
    13281397                'oobas' => array(),
    13291398                'oracle8' => array(),
    1330                 'pascal' => array(),
     1399                'oracle10' => array(),
     1400                'pascal' => array('pas'),
    13311401                'perl' => array('pl', 'pm'),
    13321402                'php' => array('php', 'php5', 'phtml', 'phps'),
     1403                'povray' => array('pov'),
     1404                'providex' => array('pvc', 'pvx'),
     1405                'prolog' => array('pl'),
    13331406                'python' => array('py'),
    13341407                'qbasic' => array('bi'),
     1408                'reg' => array('reg'),
     1409                'ruby' => array('rb'),
    13351410                'sas' => array('sas'),
     1411                'scala' => array('scala'),
     1412                'scheme' => array('scm'),
     1413                'scilab' => array('sci'),
     1414                'smalltalk' => array('st'),
    13361415                'smarty' => array(),
     1416                'tcl' => array('tcl'),
    13371417                'vb' => array('bas'),
    13381418                'vbnet' => array(),
    13391419                'visualfoxpro' => array(),
    1340                 'xml' => array('xml')
     1420                'whitespace' => array('ws'),
     1421                'xml' => array('xml', 'svg', 'xrc'),
     1422                'z80' => array('z80', 'asm', 'inc')
    13411423            );
    13421424        }
     
    14741556        $this->language_data['CACHED_KEYWORD_LISTS'][$key] =
    14751557            $this->optimize_regexp_list($this->language_data['KEYWORDS'][$key]);
     1558        $space_as_whitespace = false;
     1559        if(isset($this->language_data['PARSER_CONTROL'])) {
     1560            if(isset($this->language_data['PARSER_CONTROL']['KEYWORDS'])) {
     1561                if(isset($this->language_data['PARSER_CONTROL']['KEYWORDS']['SPACE_AS_WHITESPACE'])) {
     1562                    $space_as_whitespace = $this->language_data['PARSER_CONTROL']['KEYWORDS']['SPACE_AS_WHITESPACE'];
     1563                }
     1564                if(isset($this->language_data['PARSER_CONTROL']['KEYWORDS'][$key]['SPACE_AS_WHITESPACE'])) {
     1565                    if(isset($this->language_data['PARSER_CONTROL']['KEYWORDS'][$key]['SPACE_AS_WHITESPACE'])) {
     1566                        $space_as_whitespace = $this->language_data['PARSER_CONTROL']['KEYWORDS'][$key]['SPACE_AS_WHITESPACE'];
     1567                    }
     1568                }
     1569            }
     1570        }
     1571        if($space_as_whitespace) {
     1572            foreach($this->language_data['CACHED_KEYWORD_LISTS'][$key] as $rxk => $rxv) {
     1573                $this->language_data['CACHED_KEYWORD_LISTS'][$key][$rxk] =
     1574                    str_replace(" ", "\\s+", $rxv);
     1575            }
     1576        }
    14761577    }
    14771578
     
    15621663            $this->link_target = '';
    15631664        } else {
    1564             $this->link_target = ' target="' . $target . '" ';
     1665            $this->link_target = ' target="' . $target . '"';
    15651666        }
    15661667    }
     
    18131914            //Now we need to rewrite our array to get a search string that
    18141915            $symbol_preg = array();
     1916            if (!empty($symbol_preg_multi)) {
     1917                rsort($symbol_preg_multi);
     1918                $symbol_preg[] = implode('|', $symbol_preg_multi);
     1919            }
    18151920            if (!empty($symbol_preg_single)) {
     1921                rsort($symbol_preg_single);
    18161922                $symbol_preg[] = '[' . implode('', $symbol_preg_single) . ']';
    1817             }
    1818             if (!empty($symbol_preg_multi)) {
    1819                 $symbol_preg[] = implode('|', $symbol_preg_multi);
    18201923            }
    18211924            $this->language_data['SYMBOL_SEARCH'] = implode("|", $symbol_preg);
     
    18691972            static $numbers_format = array(
    18701973                GESHI_NUMBER_INT_BASIC =>
    1871                     '(?<![0-9a-z_\.%])(?<![\d\.]e[+\-])[1-9]\d*?(?![0-9a-z\.])',
     1974                    '(?<![0-9a-z_\.%])(?<![\d\.]e[+\-])([1-9]\d*?|0)(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
    18721975                GESHI_NUMBER_INT_CSTYLE =>
    1873                     '(?<![0-9a-z_\.%])(?<![\d\.]e[+\-])[1-9]\d*?l(?![0-9a-z\.])',
     1976                    '(?<![0-9a-z_\.%])(?<![\d\.]e[+\-])([1-9]\d*?|0)l(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
    18741977                GESHI_NUMBER_BIN_SUFFIX =>
    1875                     '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])[01]+?b(?![0-9a-z\.])',
     1978                    '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])[01]+?[bB](?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
    18761979                GESHI_NUMBER_BIN_PREFIX_PERCENT =>
    1877                     '(?<![0-9a-z_\.%])(?<![\d\.]e[+\-])%[01]+?(?![0-9a-z\.])',
     1980                    '(?<![0-9a-z_\.%])(?<![\d\.]e[+\-])%[01]+?(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
    18781981                GESHI_NUMBER_BIN_PREFIX_0B =>
    1879                     '(?<![0-9a-z_\.%])(?<![\d\.]e[+\-])0b[01]+?(?![0-9a-z\.])',
     1982                    '(?<![0-9a-z_\.%])(?<![\d\.]e[+\-])0b[01]+?(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
    18801983                GESHI_NUMBER_OCT_PREFIX =>
    1881                     '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])0[0-7]+?(?![0-9a-z\.])',
     1984                    '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])0[0-7]+?(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
     1985                GESHI_NUMBER_OCT_PREFIX_0O =>
     1986                    '(?<![0-9a-z_\.%])(?<![\d\.]e[+\-])0o[0-7]+?(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
    18821987                GESHI_NUMBER_OCT_SUFFIX =>
    1883                     '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])[0-7]+?o(?![0-9a-z\.])',
     1988                    '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])[0-7]+?o(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
    18841989                GESHI_NUMBER_HEX_PREFIX =>
    1885                     '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])0x[0-9a-f]+?(?![0-9a-z\.])',
     1990                    '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])0x[0-9a-fA-F]+?(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
    18861991                GESHI_NUMBER_HEX_SUFFIX =>
    1887                     '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])\d[0-9a-f]*?h(?![0-9a-z\.])',
     1992                    '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])\d[0-9a-fA-F]*?[hH](?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
    18881993                GESHI_NUMBER_FLT_NONSCI =>
    1889                     '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])\d+?\.\d+?(?![0-9a-z\.])',
     1994                    '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])\d+?\.\d+?(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
    18901995                GESHI_NUMBER_FLT_NONSCI_F =>
    1891                     '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])(?:\d+?(?:\.\d*?)?|\.\d+?)f(?![0-9a-z\.])',
     1996                    '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])(?:\d+?(?:\.\d*?)?|\.\d+?)f(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
    18921997                GESHI_NUMBER_FLT_SCI_SHORT =>
    1893                     '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])\.\d+?(?:e[+\-]?\d+?)?(?![0-9a-z\.])',
     1998                    '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])\.\d+?(?:e[+\-]?\d+?)?(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
    18941999                GESHI_NUMBER_FLT_SCI_ZERO =>
    1895                     '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])(?:\d+?(?:\.\d*?)?|\.\d+?)(?:e[+\-]?\d+?)?(?![0-9a-z\.])'
     2000                    '(?<![0-9a-z_\.])(?<![\d\.]e[+\-])(?:\d+?(?:\.\d*?)?|\.\d+?)(?:e[+\-]?\d+?)?(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)'
    18962001                );
    18972002
     
    19152020
    19162021                $this->language_data['NUMBERS_RXCACHE'][$key] =
    1917                     "/(?<!<\|\/NUM!)(?<!\d\/>)($regexp)(?!\|>)/i";
     2022                    "/(?<!<\|\/)(?<!<\|!REG3XP)(?<!<\|\/NUM!)(?<!\d\/>)($regexp)(?!(?:<DOT>|[^\<])+>)(?![^<]*>)(?!\|>)(?!\/>)/i"; //
    19182023            }
    19192024        }
     
    19352040        // Start the timer
    19362041        $start_time = microtime();
     2042
     2043        // Replace all newlines to a common form.
     2044        $code = str_replace("\r\n", "\n", $this->source);
     2045        $code = str_replace("\r", "\n", $code);
    19372046
    19382047        // Firstly, if there is an error, we won't highlight
     
    19552064            $this->build_parse_cache();
    19562065        }
    1957 
    1958         // Replace all newlines to a common form.
    1959         $code = str_replace("\r\n", "\n", $this->source);
    1960         $code = str_replace("\r", "\n", $code);
    1961 
    1962         // Add spaces for regular expression matching and line numbers
    1963 //        $code = "\n" . $code . "\n";
    19642066
    19652067        // Initialise various stuff
     
    20342136                            preg_match($delimiters, $code, $matches_rx, PREG_OFFSET_CAPTURE, $i)) {
    20352137                            //We got a match ...
    2036                             $matches[$dk] = array(
    2037                                 'next_match' => $matches_rx[1][1],
    2038                                 'dk' => $dk,
    2039 
    2040                                 'close_strlen' => strlen($matches_rx[2][0]),
    2041                                 'close_pos' => $matches_rx[2][1],
    2042                                 );
     2138                            if(isset($matches_rx['start']) && isset($matches_rx['end']))
     2139                            {
     2140                                $matches[$dk] = array(
     2141                                    'next_match' => $matches_rx['start'][1],
     2142                                    'dk' => $dk,
     2143
     2144                                    'close_strlen' => strlen($matches_rx['end'][0]),
     2145                                    'close_pos' => $matches_rx['end'][1],
     2146                                    );
     2147                            } else {
     2148                                $matches[$dk] = array(
     2149                                    'next_match' => $matches_rx[1][1],
     2150                                    'dk' => $dk,
     2151
     2152                                    'close_strlen' => strlen($matches_rx[2][0]),
     2153                                    'close_pos' => $matches_rx[2][1],
     2154                                    );
     2155                            }
    20432156                        } else {
    20442157                            // no match for this delimiter ever
     
    20532166                    }
    20542167                }
     2168
    20552169                // non-highlightable text
    20562170                $parts[$k] = array(
     
    22342348
    22352349                // cache comment regexps incrementally
    2236                 $comment_regexp_cache = array();
     2350                $next_comment_regexp_key = '';
    22372351                $next_comment_regexp_pos = -1;
    22382352                $next_comment_multi_pos = -1;
     
    22432357                $next_open_comment_multi = '';
    22442358                $next_comment_single_key = '';
     2359                $escape_regexp_cache_per_key = array();
     2360                $next_escape_regexp_key = '';
     2361                $next_escape_regexp_pos = -1;
    22452362
    22462363                $length = strlen($part);
     
    22492366                    $char = $part[$i];
    22502367                    $char_len = 1;
     2368
     2369                    // update regexp comment cache if needed
     2370                    if (isset($this->language_data['COMMENT_REGEXP']) && $next_comment_regexp_pos < $i) {
     2371                        $next_comment_regexp_pos = $length;
     2372                        foreach ($this->language_data['COMMENT_REGEXP'] as $comment_key => $regexp) {
     2373                            $match_i = false;
     2374                            if (isset($comment_regexp_cache_per_key[$comment_key]) &&
     2375                                ($comment_regexp_cache_per_key[$comment_key]['pos'] >= $i ||
     2376                                 $comment_regexp_cache_per_key[$comment_key]['pos'] === false)) {
     2377                                // we have already matched something
     2378                                if ($comment_regexp_cache_per_key[$comment_key]['pos'] === false) {
     2379                                    // this comment is never matched
     2380                                    continue;
     2381                                }
     2382                                $match_i = $comment_regexp_cache_per_key[$comment_key]['pos'];
     2383                            } else if (
     2384                                //This is to allow use of the offset parameter in preg_match and stay as compatible with older PHP versions as possible
     2385                                (GESHI_PHP_PRE_433 && preg_match($regexp, substr($part, $i), $match, PREG_OFFSET_CAPTURE)) ||
     2386                                (!GESHI_PHP_PRE_433 && preg_match($regexp, $part, $match, PREG_OFFSET_CAPTURE, $i))
     2387                                ) {
     2388                                $match_i = $match[0][1];
     2389                                if (GESHI_PHP_PRE_433) {
     2390                                    $match_i += $i;
     2391                                }
     2392
     2393                                $comment_regexp_cache_per_key[$comment_key] = array(
     2394                                    'key' => $comment_key,
     2395                                    'length' => strlen($match[0][0]),
     2396                                    'pos' => $match_i
     2397                                );
     2398                            } else {
     2399                                $comment_regexp_cache_per_key[$comment_key]['pos'] = false;
     2400                                continue;
     2401                            }
     2402
     2403                            if ($match_i !== false && $match_i < $next_comment_regexp_pos) {
     2404                                $next_comment_regexp_pos = $match_i;
     2405                                $next_comment_regexp_key = $comment_key;
     2406                                if ($match_i === $i) {
     2407                                    break;
     2408                                }
     2409                            }
     2410                        }
     2411                    }
    22512412
    22522413                    $string_started = false;
     
    22792440                    }
    22802441
    2281                     if ($string_started) {
     2442                    if ($string_started && ($i != $next_comment_regexp_pos)) {
    22822443                        // Hand out the correct style information for this string
    22832444                        $string_key = array_search($char, $this->language_data['QUOTEMARKS']);
     
    22872448                        }
    22882449
    2289                         if (!$this->use_classes) {
    2290                             $string_attributes = ' style="' . $this->language_data['STYLES']['STRINGS'][$string_key] . '"';
    2291                             $escape_char_attributes = ' style="' . $this->language_data['STYLES']['ESCAPE_CHAR'][$string_key] . '"';
    2292                         } else {
    2293                             $string_attributes = ' class="st'.$string_key.'"';
    2294                             $escape_char_attributes = ' class="es'.$string_key.'"';
    2295                         }
    2296 
    22972450                        // parse the stuff before this
    22982451                        $result .= $this->parse_non_string_part($stuff_to_parse);
    22992452                        $stuff_to_parse = '';
    23002453
     2454                        if (!$this->use_classes) {
     2455                            $string_attributes = ' style="' . $this->language_data['STYLES']['STRINGS'][$string_key] . '"';
     2456                        } else {
     2457                            $string_attributes = ' class="st'.$string_key.'"';
     2458                        }
     2459
    23012460                        // now handle the string
    2302                         $string = '';
    2303 
    2304                         // look for closing quote
    2305                         $start = $i;
    2306                         while ($close_pos = strpos($part, $char, $start + $char_len)) {
    2307                             $start = $close_pos;
    2308                             if ($this->lexic_permissions['ESCAPE_CHAR'] && $part[$close_pos - 1] == $this->language_data['ESCAPE_CHAR']) {
    2309                                 // check wether this quote is escaped or if it is something like '\\'
    2310                                 $escape_char_pos = $close_pos - 1;
    2311                                 while ($escape_char_pos > 0 &&
    2312                                         $part[$escape_char_pos - 1] == $this->language_data['ESCAPE_CHAR']) {
    2313                                     --$escape_char_pos;
     2461                        $string = "<span$string_attributes>" . GeSHi::hsc($char);
     2462                        $start = $i + $char_len;
     2463                        $string_open = true;
     2464
     2465                        if(empty($this->language_data['ESCAPE_REGEXP'])) {
     2466                            $next_escape_regexp_pos = $length;
     2467                        }
     2468
     2469                        do {
     2470                            //Get the regular ending pos ...
     2471                            $close_pos = strpos($part, $char, $start);
     2472                            if(false === $close_pos) {
     2473                                $close_pos = $length;
     2474                            }
     2475
     2476                            if($this->lexic_permissions['ESCAPE_CHAR']) {
     2477                                // update escape regexp cache if needed
     2478                                if (isset($this->language_data['ESCAPE_REGEXP']) && $next_escape_regexp_pos < $start) {
     2479                                    $next_escape_regexp_pos = $length;
     2480                                    foreach ($this->language_data['ESCAPE_REGEXP'] as $escape_key => $regexp) {
     2481                                        $match_i = false;
     2482                                        if (isset($escape_regexp_cache_per_key[$escape_key]) &&
     2483                                            ($escape_regexp_cache_per_key[$escape_key]['pos'] >= $start ||
     2484                                             $escape_regexp_cache_per_key[$escape_key]['pos'] === false)) {
     2485                                            // we have already matched something
     2486                                            if ($escape_regexp_cache_per_key[$escape_key]['pos'] === false) {
     2487                                                // this comment is never matched
     2488                                                continue;
     2489                                            }
     2490                                            $match_i = $escape_regexp_cache_per_key[$escape_key]['pos'];
     2491                                        } else if (
     2492                                            //This is to allow use of the offset parameter in preg_match and stay as compatible with older PHP versions as possible
     2493                                            (GESHI_PHP_PRE_433 && preg_match($regexp, substr($part, $start), $match, PREG_OFFSET_CAPTURE)) ||
     2494                                            (!GESHI_PHP_PRE_433 && preg_match($regexp, $part, $match, PREG_OFFSET_CAPTURE, $start))
     2495                                            ) {
     2496                                            $match_i = $match[0][1];
     2497                                            if (GESHI_PHP_PRE_433) {
     2498                                                $match_i += $start;
     2499                                            }
     2500
     2501                                            $escape_regexp_cache_per_key[$escape_key] = array(
     2502                                                'key' => $escape_key,
     2503                                                'length' => strlen($match[0][0]),
     2504                                                'pos' => $match_i
     2505                                            );
     2506                                        } else {
     2507                                            $escape_regexp_cache_per_key[$escape_key]['pos'] = false;
     2508                                            continue;
     2509                                        }
     2510
     2511                                        if ($match_i !== false && $match_i < $next_escape_regexp_pos) {
     2512                                            $next_escape_regexp_pos = $match_i;
     2513                                            $next_escape_regexp_key = $escape_key;
     2514                                            if ($match_i === $start) {
     2515                                                break;
     2516                                            }
     2517                                        }
     2518                                    }
    23142519                                }
    2315                                 if (($close_pos - $escape_char_pos) & 1) {
    2316                                     // uneven number of escape chars => this quote is escaped
    2317                                     continue;
     2520
     2521                                //Find the next simple escape position
     2522                                if('' != $this->language_data['ESCAPE_CHAR']) {
     2523                                    $simple_escape = strpos($part, $this->language_data['ESCAPE_CHAR'], $start);
     2524                                    if(false === $simple_escape) {
     2525                                        $simple_escape = $length;
     2526                                    }
     2527                                } else {
     2528                                    $simple_escape = $length;
    23182529                                }
     2530                            } else {
     2531                                $next_escape_regexp_pos = $length;
     2532                                $simple_escape = $length;
    23192533                            }
    23202534
    2321                             // found closing quote
    2322                             break;
    2323                         }
    2324 
    2325                         //Found the closing delimiter?
    2326                         if (!$close_pos) {
    2327                             // span till the end of this $part when no closing delimiter is found
    2328                             $close_pos = $length;
    2329                         }
    2330 
    2331                         //Get the actual string
    2332                         $string = substr($part, $i, $close_pos - $i + $char_len);
    2333                         $i = $close_pos + $char_len - 1;
    2334 
    2335                         // handle escape chars and encode html chars
    2336                         // (special because when we have escape chars within our string they may not be escaped)
    2337                         if ($this->lexic_permissions['ESCAPE_CHAR'] && $this->language_data['ESCAPE_CHAR']) {
    2338                             $start = 0;
    2339                             $new_string = '';
    2340                             while ($es_pos = strpos($string, $this->language_data['ESCAPE_CHAR'], $start)) {
    2341                                 $new_string .= $this->hsc(substr($string, $start, $es_pos - $start))
    2342                                               . "<span$escape_char_attributes>" . $escaped_escape_char;
    2343                                 $es_char = $string[$es_pos + 1];
     2535                            if($simple_escape < $next_escape_regexp_pos &&
     2536                                $simple_escape < $length &&
     2537                                $simple_escape < $close_pos) {
     2538                                //The nexxt escape sequence is a simple one ...
     2539                                $es_pos = $simple_escape;
     2540
     2541                                //Add the stuff not in the string yet ...
     2542                                $string .= $this->hsc(substr($part, $start, $es_pos - $start));
     2543
     2544                                //Get the style for this escaped char ...
     2545                                if (!$this->use_classes) {
     2546                                    $escape_char_attributes = ' style="' . $this->language_data['STYLES']['ESCAPE_CHAR'][0] . '"';
     2547                                } else {
     2548                                    $escape_char_attributes = ' class="es0"';
     2549                                }
     2550
     2551                                //Add the style for the escape char ...
     2552                                $string .= "<span$escape_char_attributes>" .
     2553                                    GeSHi::hsc($this->language_data['ESCAPE_CHAR']);
     2554
     2555                                //Get the byte AFTER the ESCAPE_CHAR we just found
     2556                                $es_char = $part[$es_pos + 1];
    23442557                                if ($es_char == "\n") {
    23452558                                    // don't put a newline around newlines
    2346                                     $new_string .= "</span>\n";
     2559                                    $string .= "</span>\n";
     2560                                    $start = $es_pos + 2;
    23472561                                } else if (ord($es_char) >= 128) {
    23482562                                    //This is an non-ASCII char (UTF8 or single byte)
    23492563                                    //This code tries to work around SF#2037598 ...
    23502564                                    if(function_exists('mb_substr')) {
    2351                                         $es_char_m = mb_substr(substr($string, $es_pos+1, 16), 0, 1, $this->encoding);
    2352                                         $new_string .= $es_char_m . '</span>';
     2565                                        $es_char_m = mb_substr(substr($part, $es_pos+1, 16), 0, 1, $this->encoding);
     2566                                        $string .= $es_char_m . '</span>';
    23532567                                    } else if (!GESHI_PHP_PRE_433 && 'utf-8' == $this->encoding) {
    23542568                                        if(preg_match("/[\xC2-\xDF][\x80-\xBF]".
     
    23592573                                            "|[\xF1-\xF3][\x80-\xBF]{3}".
    23602574                                            "|\xF4[\x80-\x8F][\x80-\xBF]{2}/s",
    2361                                             $string, $es_char_m, null, $es_pos + 1)) {
     2575                                            $part, $es_char_m, null, $es_pos + 1)) {
    23622576                                            $es_char_m = $es_char_m[0];
    23632577                                        } else {
    23642578                                            $es_char_m = $es_char;
    23652579                                        }
    2366                                         $new_string .= $this->hsc($es_char_m) . '</span>';
     2580                                        $string .= $this->hsc($es_char_m) . '</span>';
    23672581                                    } else {
    23682582                                        $es_char_m = $this->hsc($es_char);
    23692583                                    }
    2370                                     $es_pos += strlen($es_char_m) - 1;
     2584                                    $start = $es_pos + strlen($es_char_m) + 1;
    23712585                                } else {
    2372                                     $new_string .= $this->hsc($es_char) . '</span>';
     2586                                    $string .= $this->hsc($es_char) . '</span>';
     2587                                    $start = $es_pos + 2;
    23732588                                }
    2374                                 $start = $es_pos + 2;
     2589                            } else if ($next_escape_regexp_pos < $length &&
     2590                                $next_escape_regexp_pos < $close_pos) {
     2591                                $es_pos = $next_escape_regexp_pos;
     2592                                //Add the stuff not in the string yet ...
     2593                                $string .= $this->hsc(substr($part, $start, $es_pos - $start));
     2594
     2595                                //Get the key and length of this match ...
     2596                                $escape = $escape_regexp_cache_per_key[$next_escape_regexp_key];
     2597                                $escape_str = substr($part, $es_pos, $escape['length']);
     2598                                $escape_key = $escape['key'];
     2599
     2600                                //Get the style for this escaped char ...
     2601                                if (!$this->use_classes) {
     2602                                    $escape_char_attributes = ' style="' . $this->language_data['STYLES']['ESCAPE_CHAR'][$escape_key] . '"';
     2603                                } else {
     2604                                    $escape_char_attributes = ' class="es' . $escape_key . '"';
     2605                                }
     2606
     2607                                //Add the style for the escape char ...
     2608                                $string .= "<span$escape_char_attributes>" .
     2609                                    $this->hsc($escape_str) . '</span>';
     2610
     2611                                $start = $es_pos + $escape['length'];
     2612                            } else {
     2613                                //Copy the remainder of the string ...
     2614                                $string .= $this->hsc(substr($part, $start, $close_pos - $start + $char_len)) . '</span>';
     2615                                $start = $close_pos + $char_len;
     2616                                $string_open = false;
    23752617                            }
    2376                             $string = $new_string . $this->hsc(substr($string, $start));
    2377                             $new_string = '';
    2378                         } else {
    2379                             $string = $this->hsc($string);
    2380                         }
     2618                        } while($string_open);
    23812619
    23822620                        if ($check_linenumbers) {
     
    23892627                        }
    23902628
    2391                         $result .= "<span$string_attributes>" . $string . '</span>';
     2629                        $result .= $string;
    23922630                        $string = '';
     2631                        $i = $start - 1;
    23932632                        continue;
    23942633                    } else if ($this->lexic_permissions['STRINGS'] && $hq && $hq[0] == $char &&
    2395                         substr($part, $i, $hq_strlen) == $hq) {
     2634                        substr($part, $i, $hq_strlen) == $hq && ($i != $next_comment_regexp_pos)) {
    23962635                        // The start of a hard quoted string
    23972636                        if (!$this->use_classes) {
    2398                             $string_attributes = ' style="' . $this->language_data['STYLES']['STRINGS']['HARDQUOTE'] . '"';
    2399                             $escape_char_attributes = ' style="' . $this->language_data['STYLES']['ESCAPE_CHAR']['HARDESCAPE'] . '"';
     2637                            $string_attributes = ' style="' . $this->language_data['STYLES']['STRINGS']['HARD'] . '"';
     2638                            $escape_char_attributes = ' style="' . $this->language_data['STYLES']['ESCAPE_CHAR']['HARD'] . '"';
    24002639                        } else {
    24012640                            $string_attributes = ' class="st_h"';
     
    24132652                        while ($close_pos = strpos($part, $this->language_data['HARDQUOTE'][1], $start)) {
    24142653                            $start = $close_pos + 1;
    2415                             if ($this->lexic_permissions['ESCAPE_CHAR'] && $part[$close_pos - 1] == $this->language_data['ESCAPE_CHAR']) {
     2654                            if ($this->lexic_permissions['ESCAPE_CHAR'] && $part[$close_pos - 1] == $this->language_data['HARDCHAR']) {
    24162655                                // make sure this quote is not escaped
    24172656                                foreach ($this->language_data['HARDESCAPE'] as $hardescape) {
     
    24202659                                        $escape_char_pos = $close_pos - 1;
    24212660                                        while ($escape_char_pos > 0
    2422                                                 && $part[$escape_char_pos - 1] == $this->language_data['ESCAPE_CHAR']) {
     2661                                                && $part[$escape_char_pos - 1] == $this->language_data['HARDCHAR']) {
    24232662                                            --$escape_char_pos;
    24242663                                        }
     
    25002739                        continue;
    25012740                    } else {
    2502                         // update regexp comment cache if needed
    2503                         if (isset($this->language_data['COMMENT_REGEXP']) && $next_comment_regexp_pos < $i) {
    2504                             $next_comment_regexp_pos = $length;
    2505                             foreach ($this->language_data['COMMENT_REGEXP'] as $comment_key => $regexp) {
    2506                                 $match_i = false;
    2507                                 if (isset($comment_regexp_cache_per_key[$comment_key]) &&
    2508                                     $comment_regexp_cache_per_key[$comment_key] >= $i) {
    2509                                     // we have already matched something
    2510                                     $match_i = $comment_regexp_cache_per_key[$comment_key];
    2511                                 } else if (
    2512                                     //This is to allow use of the offset parameter in preg_match and stay as compatible with older PHP versions as possible
    2513                                     (GESHI_PHP_PRE_433 && preg_match($regexp, substr($part, $i), $match, PREG_OFFSET_CAPTURE)) ||
    2514                                     (!GESHI_PHP_PRE_433 && preg_match($regexp, $part, $match, PREG_OFFSET_CAPTURE, $i))
    2515                                     ) {
    2516                                     $match_i = $match[0][1];
    2517                                     if (GESHI_PHP_PRE_433) {
    2518                                         $match_i += $i;
    2519                                     }
    2520 
    2521                                     $comment_regexp_cache[$match_i] = array(
    2522                                         'key' => $comment_key,
    2523                                         'length' => strlen($match[0][0]),
    2524                                     );
    2525 
    2526                                     $comment_regexp_cache_per_key[$comment_key] = $match_i;
    2527                                 } else {
    2528                                     $comment_regexp_cache_per_key[$comment_key] = false;
    2529                                     continue;
    2530                                 }
    2531 
    2532                                 if ($match_i !== false && $match_i < $next_comment_regexp_pos) {
    2533                                     $next_comment_regexp_pos = $match_i;
    2534                                     if ($match_i === $i) {
    2535                                         break;
    2536                                     }
    2537                                 }
    2538                             }
    2539                         }
    25402741                        //Have a look for regexp comments
    25412742                        if ($i == $next_comment_regexp_pos) {
    25422743                            $COMMENT_MATCHED = true;
    2543                             $comment = $comment_regexp_cache[$next_comment_regexp_pos];
     2744                            $comment = $comment_regexp_cache_per_key[$next_comment_regexp_key];
    25442745                            $test_str = $this->hsc(substr($part, $i, $comment['length']));
    25452746
     
    25792780                                    $match_i = false;
    25802781                                    if (isset($comment_multi_cache_per_key[$open]) &&
    2581                                         $comment_multi_cache_per_key[$open] >= $i) {
     2782                                        ($comment_multi_cache_per_key[$open] >= $i ||
     2783                                         $comment_multi_cache_per_key[$open] === false)) {
    25822784                                        // we have already matched something
     2785                                        if ($comment_multi_cache_per_key[$open] === false) {
     2786                                            // this comment is never matched
     2787                                            continue;
     2788                                        }
    25832789                                        $match_i = $comment_multi_cache_per_key[$open];
    25842790                                    } else if (($match_i = stripos($part, $open, $i)) !== false) {
     
    26712877                                    $match_i = false;
    26722878                                    if (isset($comment_single_cache_per_key[$comment_key]) &&
    2673                                         $comment_single_cache_per_key[$comment_key] >= $i) {
     2879                                        ($comment_single_cache_per_key[$comment_key] >= $i ||
     2880                                         $comment_single_cache_per_key[$comment_key] === false)) {
    26742881                                        // we have already matched something
     2882                                        if ($comment_single_cache_per_key[$comment_key] === false) {
     2883                                            // this comment is never matched
     2884                                            continue;
     2885                                        }
    26752886                                        $match_i = $comment_single_cache_per_key[$comment_key];
    26762887                                    } else if (
     
    28813092        $result = str_replace('  ', ' &nbsp;', $result);
    28823093
    2883         if ($this->line_numbers == GESHI_NO_LINE_NUMBERS) {
     3094        if ($this->line_numbers == GESHI_NO_LINE_NUMBERS && $this->header_type != GESHI_HEADER_PRE_TABLE) {
    28843095            if ($this->line_ending === null) {
    28853096                $result = nl2br($result);
     
    29493160                $before = '<|UR1|"' .
    29503161                    str_replace(
    2951                         array('{FNAME}', '{FNAMEL}', '{FNAMEU}', '.'),
    2952                         array($this->hsc($word), $this->hsc(strtolower($word)),
    2953                             $this->hsc(strtoupper($word)), '<DOT>'),
     3162                        array(
     3163                            '{FNAME}',
     3164                            '{FNAMEL}',
     3165                            '{FNAMEU}',
     3166                            '.'),
     3167                        array(
     3168                            str_replace('+', '%20', urlencode($this->hsc($word))),
     3169                            str_replace('+', '%20', urlencode($this->hsc(strtolower($word)))),
     3170                            str_replace('+', '%20', urlencode($this->hsc(strtoupper($word)))),
     3171                            '<DOT>'),
    29543172                        $this->language_data['URLS'][$k]
    29553173                    ) . '">';
     
    30213239    function parse_non_string_part($stuff_to_parse) {
    30223240        $stuff_to_parse = ' ' . $this->hsc($stuff_to_parse);
     3241
     3242        // Highlight keywords
     3243        $disallowed_before = "(?<![a-zA-Z0-9\$_\|\#;>|^&";
     3244        $disallowed_after = "(?![a-zA-Z0-9_\|%\\-&;";
     3245        if ($this->lexic_permissions['STRINGS']) {
     3246            $quotemarks = preg_quote(implode($this->language_data['QUOTEMARKS']), '/');
     3247            $disallowed_before .= $quotemarks;
     3248            $disallowed_after .= $quotemarks;
     3249        }
     3250        $disallowed_before .= "])";
     3251        $disallowed_after .= "])";
     3252
     3253        $parser_control_pergroup = false;
     3254        if (isset($this->language_data['PARSER_CONTROL'])) {
     3255            if (isset($this->language_data['PARSER_CONTROL']['KEYWORDS'])) {
     3256                $x = 0; // check wether per-keyword-group parser_control is enabled
     3257                if (isset($this->language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_BEFORE'])) {
     3258                    $disallowed_before = $this->language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_BEFORE'];
     3259                    ++$x;
     3260                }
     3261                if (isset($this->language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_AFTER'])) {
     3262                    $disallowed_after = $this->language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_AFTER'];
     3263                    ++$x;
     3264                }
     3265                $parser_control_pergroup = (count($this->language_data['PARSER_CONTROL']['KEYWORDS']) - $x) > 0;
     3266            }
     3267        }
     3268
     3269        foreach (array_keys($this->language_data['KEYWORDS']) as $k) {
     3270            if (!isset($this->lexic_permissions['KEYWORDS'][$k]) ||
     3271            $this->lexic_permissions['KEYWORDS'][$k]) {
     3272
     3273                $case_sensitive = $this->language_data['CASE_SENSITIVE'][$k];
     3274                $modifiers = $case_sensitive ? '' : 'i';
     3275
     3276                // NEW in 1.0.8 - per-keyword-group parser control
     3277                $disallowed_before_local = $disallowed_before;
     3278                $disallowed_after_local = $disallowed_after;
     3279                if ($parser_control_pergroup && isset($this->language_data['PARSER_CONTROL']['KEYWORDS'][$k])) {
     3280                    if (isset($this->language_data['PARSER_CONTROL']['KEYWORDS'][$k]['DISALLOWED_BEFORE'])) {
     3281                        $disallowed_before_local =
     3282                            $this->language_data['PARSER_CONTROL']['KEYWORDS'][$k]['DISALLOWED_BEFORE'];
     3283                    }
     3284
     3285                    if (isset($this->language_data['PARSER_CONTROL']['KEYWORDS'][$k]['DISALLOWED_AFTER'])) {
     3286                        $disallowed_after_local =
     3287                            $this->language_data['PARSER_CONTROL']['KEYWORDS'][$k]['DISALLOWED_AFTER'];
     3288                    }
     3289                }
     3290
     3291                $this->_kw_replace_group = $k;
     3292
     3293                //NEW in 1.0.8, the cached regexp list
     3294                // since we don't want PHP / PCRE to crash due to too large patterns we split them into smaller chunks
     3295                for ($set = 0, $set_length = count($this->language_data['CACHED_KEYWORD_LISTS'][$k]); $set <  $set_length; ++$set) {
     3296                    $keywordset =& $this->language_data['CACHED_KEYWORD_LISTS'][$k][$set];
     3297                    // Might make a more unique string for putting the number in soon
     3298                    // Basically, we don't put the styles in yet because then the styles themselves will
     3299                    // get highlighted if the language has a CSS keyword in it (like CSS, for example ;))
     3300                    $stuff_to_parse = preg_replace_callback(
     3301                        "/$disallowed_before_local({$keywordset})(?!\<DOT\>(?:htm|php))$disallowed_after_local/$modifiers",
     3302                        array($this, 'handle_keyword_replace'),
     3303                        $stuff_to_parse
     3304                        );
     3305                }
     3306            }
     3307        }
    30233308
    30243309        // Regular expressions
     
    30593344        }
    30603345
    3061         // Highlight numbers. As of 1.0.8 we support diffent types of numbers
     3346        // Highlight numbers. As of 1.0.8 we support different types of numbers
    30623347        $numbers_found = false;
    30633348        if ($this->lexic_permissions['NUMBERS'] && preg_match('#\d#', $stuff_to_parse )) {
     
    30683353                //Check if it should be highlighted ...
    30693354                $stuff_to_parse = preg_replace($regexp, "<|/NUM!$id/>\\1|>", $stuff_to_parse);
    3070             }
    3071         }
    3072 
    3073         // Highlight keywords
    3074         $disallowed_before = "(?<![a-zA-Z0-9\$_\|\#;>|^&";
    3075         $disallowed_after = "(?![a-zA-Z0-9_\|%\\-&;";
    3076         if ($this->lexic_permissions['STRINGS']) {
    3077             $quotemarks = preg_quote(implode($this->language_data['QUOTEMARKS']), '/');
    3078             $disallowed_before .= $quotemarks;
    3079             $disallowed_after .= $quotemarks;
    3080         }
    3081         $disallowed_before .= "])";
    3082         $disallowed_after .= "])";
    3083 
    3084         $parser_control_pergroup = false;
    3085         if (isset($this->language_data['PARSER_CONTROL'])) {
    3086             if (isset($this->language_data['PARSER_CONTROL']['KEYWORDS'])) {
    3087                 $x = 0; // check wether per-keyword-group parser_control is enabled
    3088                 if (isset($this->language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_BEFORE'])) {
    3089                     $disallowed_before = $this->language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_BEFORE'];
    3090                     ++$x;
    3091                 }
    3092                 if (isset($this->language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_AFTER'])) {
    3093                     $disallowed_after = $this->language_data['PARSER_CONTROL']['KEYWORDS']['DISALLOWED_AFTER'];
    3094                     ++$x;
    3095                 }
    3096                 $parser_control_pergroup = (count($this->language_data['PARSER_CONTROL']['KEYWORDS']) - $x) > 0;
    3097             }
    3098         }
    3099 
    3100         // if this is changed, don't forget to change it below
    3101 //        if (!empty($disallowed_before)) {
    3102 //            $disallowed_before = "(?<![$disallowed_before])";
    3103 //        }
    3104 //        if (!empty($disallowed_after)) {
    3105 //            $disallowed_after = "(?![$disallowed_after])";
    3106 //        }
    3107 
    3108         foreach (array_keys($this->language_data['KEYWORDS']) as $k) {
    3109             if (!isset($this->lexic_permissions['KEYWORDS'][$k]) ||
    3110                 $this->lexic_permissions['KEYWORDS'][$k]) {
    3111 
    3112                 $case_sensitive = $this->language_data['CASE_SENSITIVE'][$k];
    3113                 $modifiers = $case_sensitive ? '' : 'i';
    3114 
    3115                 // NEW in 1.0.8 - per-keyword-group parser control
    3116                 $disallowed_before_local = $disallowed_before;
    3117                 $disallowed_after_local = $disallowed_after;
    3118                 if ($parser_control_pergroup && isset($this->language_data['PARSER_CONTROL']['KEYWORDS'][$k])) {
    3119                     if (isset($this->language_data['PARSER_CONTROL']['KEYWORDS'][$k]['DISALLOWED_BEFORE'])) {
    3120                         $disallowed_before_local =
    3121                             $this->language_data['PARSER_CONTROL']['KEYWORDS'][$k]['DISALLOWED_BEFORE'];
    3122                     }
    3123 
    3124                     if (isset($this->language_data['PARSER_CONTROL']['KEYWORDS'][$k]['DISALLOWED_AFTER'])) {
    3125                         $disallowed_after_local =
    3126                             $this->language_data['PARSER_CONTROL']['KEYWORDS'][$k]['DISALLOWED_AFTER'];
    3127                     }
    3128                 }
    3129 
    3130                 $this->_kw_replace_group = $k;
    3131 
    3132                 //NEW in 1.0.8, the cached regexp list
    3133                 // since we don't want PHP / PCRE to crash due to too large patterns we split them into smaller chunks
    3134                 for ($set = 0, $set_length = count($this->language_data['CACHED_KEYWORD_LISTS'][$k]); $set <  $set_length; ++$set) {
    3135                     $keywordset =& $this->language_data['CACHED_KEYWORD_LISTS'][$k][$set];
    3136                     // Might make a more unique string for putting the number in soon
    3137                     // Basically, we don't put the styles in yet because then the styles themselves will
    3138                     // get highlighted if the language has a CSS keyword in it (like CSS, for example ;))
    3139                     $stuff_to_parse = preg_replace_callback(
    3140                         "/$disallowed_before_local({$keywordset})(?!\<DOT\>(?:htm|php))$disallowed_after_local/$modifiers",
    3141                         array($this, 'handle_keyword_replace'),
    3142                         $stuff_to_parse
    3143                         );
    3144                 }
    31453355            }
    31463356        }
     
    31633373            // Put number styles in
    31643374            foreach($this->language_data['NUMBERS_RXCACHE'] as $id => $regexp) {
    3165 //Commented out for now, as this needs some review ...
    3166 //                if ($numbers_permissions & $id) {
    3167                     //Get the appropriate style ...
    3168                         //Checking for unset styles is done by the style cache builder ...
    3169                     if (!$this->use_classes) {
    3170                         $attributes = ' style="' . $this->language_data['STYLES']['NUMBERS'][$id] . '"';
    3171                     } else {
    3172                         $attributes = ' class="nu'.$id.'"';
    3173                     }
    3174 
    3175                     //Set in the correct styles ...
    3176                     $stuff_to_parse = str_replace("/NUM!$id/", $attributes, $stuff_to_parse);
    3177 //                }
     3375                //Commented out for now, as this needs some review ...
     3376                //                if ($numbers_permissions & $id) {
     3377                //Get the appropriate style ...
     3378                //Checking for unset styles is done by the style cache builder ...
     3379                if (!$this->use_classes) {
     3380                    $attributes = ' style="' . $this->language_data['STYLES']['NUMBERS'][$id] . '"';
     3381                } else {
     3382                    $attributes = ' class="nu'.$id.'"';
     3383                }
     3384
     3385                //Set in the correct styles ...
     3386                $stuff_to_parse = str_replace("/NUM!$id/", $attributes, $stuff_to_parse);
     3387                //                }
    31783388            }
    31793389        }
     
    32253435        if ($this->lexic_permissions['SYMBOLS'] && !empty($this->language_data['SYMBOLS'])) {
    32263436            //Get all matches and throw away those witin a block that is already highlighted... (i.e. matched by a regexp)
    3227             $n_symbols = preg_match_all("/<\|(?:<DOT>|[^>])+>(?:(?!\|>).*?)\|>|<\/a>|(?:" . $this->language_data['SYMBOL_SEARCH'] . ")+/", $stuff_to_parse, $pot_symbols, PREG_OFFSET_CAPTURE | PREG_SET_ORDER);
     3437            $n_symbols = preg_match_all("/<\|(?:<DOT>|[^>])+>(?:(?!\|>).*?)\|>|<\/a>|(?:" . $this->language_data['SYMBOL_SEARCH'] . ")+(?![^<]+?>)/", $stuff_to_parse, $pot_symbols, PREG_OFFSET_CAPTURE | PREG_SET_ORDER);
    32283438            $global_offset = 0;
    32293439            for ($s_id = 0; $s_id < $n_symbols; ++$s_id) {
     
    32323442                    // already highlighted blocks _must_ include either < or >
    32333443                    // so if this conditional applies, we have to skip this match
    3234                     continue;
    3235                 }
     3444                    // BenBE: UNLESS the block contains <SEMI> or <PIPE>
     3445                    if(strpos($symbol_match, '<SEMI>') === false &&
     3446                        strpos($symbol_match, '<PIPE>') === false) {
     3447                        continue;
     3448                    }
     3449                }
     3450
    32363451                // if we reach this point, we have a valid match which needs to be highlighted
    32373452
     
    32793494                }
    32803495
    3281 
    32823496                $stuff_to_parse = substr_replace($stuff_to_parse, $symbol_hl, $symbol_offset + $global_offset, $symbol_length);
    32833497
     
    34733687        }
    34743688
     3689        //Fix: Problem where hardescapes weren't handled if no ESCAPE_CHAR was given
     3690        //You need to set one for HARDESCAPES only in this case.
     3691        if(!isset($this->language_data['HARDCHAR'])) {
     3692            $this->language_data['HARDCHAR'] = $this->language_data['ESCAPE_CHAR'];
     3693        }
     3694
    34753695        //NEW in 1.0.8: Allow styles to be loaded from a separate file to override defaults
    34763696        $style_filename = substr($file_name, 0, -4) . '.style.php';
     
    34903710            }
    34913711        }
    3492 
    3493         // Set default class for CSS
    3494         $this->overall_class = $this->language;
    34953712    }
    34963713
     
    36363853                        $attrs = ' style="'. $this->table_linenumber_style .'"';
    36373854                    }
    3638                     $parsed_code .= '<td'.$attrs.'><pre>';
     3855                    $parsed_code .= '<td'.$attrs.'><pre'.$attributes.'>';
    36393856                    // get linenumbers
    36403857                    // we don't merge it with the for below, since it should be better for
    36413858                    // memory consumption this way
    3642                     for ($i = 1; $i <= $n; ++$i) {
    3643                         $parsed_code .= $i;
    3644                         if ($i != $n) {
     3859                    // @todo: but... actually it would still be somewhat nice to merge the two loops
     3860                    //        the mem peaks are at different positions
     3861                    for ($i = 0; $i < $n; ++$i) {
     3862                        $close = 0;
     3863                        // fancy lines
     3864                        if ($this->line_numbers == GESHI_FANCY_LINE_NUMBERS &&
     3865                            $i % $this->line_nth_row == ($this->line_nth_row - 1)) {
     3866                            // Set the attributes to style the line
     3867                            if ($this->use_classes) {
     3868                                $parsed_code .= '<span class="xtra li2"><span class="de2">';
     3869                            } else {
     3870                                // This style "covers up" the special styles set for special lines
     3871                                // so that styles applied to special lines don't apply to the actual
     3872                                // code on that line
     3873                                $parsed_code .= '<span style="display:block;' . $this->line_style2 . '">'
     3874                                                  .'<span style="' . $this->code_style .'">';
     3875                            }
     3876                            $close += 2;
     3877                        }
     3878                        //Is this some line with extra styles???
     3879                        if (in_array($i + 1, $this->highlight_extra_lines)) {
     3880                            if ($this->use_classes) {
     3881                                if (isset($this->highlight_extra_lines_styles[$i])) {
     3882                                    $parsed_code .= "<span class=\"xtra lx$i\">";
     3883                                } else {
     3884                                    $parsed_code .= "<span class=\"xtra ln-xtra\">";
     3885                                }
     3886                            } else {
     3887                                $parsed_code .= "<span style=\"display:block;" . $this->get_line_style($i) . "\">";
     3888                            }
     3889                            ++$close;
     3890                        }
     3891                        $parsed_code .= $this->line_numbers_start + $i;
     3892                        if ($close) {
     3893                            $parsed_code .= str_repeat('</span>', $close);
     3894                        } else if ($i != $n) {
    36453895                            $parsed_code .= "\n";
    36463896                        }
    36473897                    }
    3648                     $parsed_code .= '</pre></td><td>';
     3898                    $parsed_code .= '</pre></td><td'.$attributes.'>';
    36493899                }
    36503900                $parsed_code .= '<pre'. $attributes .'>';
     
    37243974         *         we're using classes or not. Same with style
    37253975         */
    3726         $attributes = ' class="' . $this->language;
     3976        $attributes = ' class="' . $this->_genCSSName($this->language);
    37273977        if ($this->overall_class != '') {
    3728             $attributes .= " ".$this->overall_class;
     3978            $attributes .= " ".$this->_genCSSName($this->overall_class);
    37293979        }
    37303980        $attributes .= '"';
     
    37333983            $attributes .= " id=\"{$this->overall_id}\"";
    37343984        }
    3735         if ($this->overall_style != '') {
     3985        if ($this->overall_style != '' && !$this->use_classes) {
    37363986            $attributes .= ' style="' . $this->overall_style . '"';
    37373987        }
     
    38114061                $attr = " style=\"{$this->footer_content_style}\"";
    38124062            }
    3813             if ($this->header_type == GESHI_HEADER_PRE_TABLE && $this->linenumbers != GESHI_NO_LINE_NUMBERS) {
     4063            if ($this->header_type == GESHI_HEADER_PRE_TABLE && $this->line_numbers != GESHI_NO_LINE_NUMBERS) {
    38144064                $footer = "<tfoot><tr><td colspan=\"2\">$footer</td></tr></tfoot>";
    38154065            } else {
     
    39704220    }
    39714221
     4222    function _genCSSName($name){
     4223        return (is_numeric($name[0]) ? '_' : '') . $name;
     4224    }
     4225
    39724226    /**
    39734227     * Returns a stylesheet for the highlighted code. If $economy mode
     
    39974251        // of '' means that these styles will be applied anywhere
    39984252        if ($this->overall_id) {
    3999             $selector = '#' . $this->overall_id;
     4253            $selector = '#' . $this->_genCSSName($this->overall_id);
    40004254        } else {
    4001             $selector = '.' . $this->language;
     4255            $selector = '.' . $this->_genCSSName($this->language);
    40024256            if ($this->overall_class) {
    4003                 $selector .= '.' . $this->overall_class;
     4257                $selector .= '.' . $this->_genCSSName($this->overall_class);
    40044258            }
    40054259        }
     
    41094363            if ($styles != '' && (!$economy_mode || $this->lexic_permissions['ESCAPE_CHAR'])) {
    41104364                // NEW: since 1.0.8 we have to handle hardescapes
    4111                 if ($group == 'HARD') {
     4365                if ($group === 'HARD') {
    41124366                    $group = '_h';
    41134367                }
     
    42224476        $prev_keys = array();
    42234477        // go through all entries of the list and generate the token list
     4478        $cur_len = 0;
    42244479        for ($i = 0, $i_max = count($list); $i < $i_max; ++$i) {
     4480            if ($cur_len > GESHI_MAX_PCRE_LENGTH) {
     4481                // seems like the length of this pcre is growing exorbitantly
     4482                $regexp_list[++$list_key] = $this->_optimize_regexp_list_tokens_to_string($tokens);
     4483                $num_subpatterns = substr_count($regexp_list[$list_key], '(?:');
     4484                $tokens = array();
     4485                $cur_len = 0;
     4486            }
    42254487            $level = 0;
    42264488            $entry = preg_quote((string) $list[$i], $regexp_delimiter);
     
    42494511                            $new_key_part1 = substr($prev_keys[$level], 0, $char);
    42504512                            $new_key_part2 = substr($prev_keys[$level], $char);
     4513
    42514514                            if (in_array($new_key_part1[0], $regex_chars)
    42524515                                || in_array($new_key_part2[0], $regex_chars)) {
     
    42544517                                $pointer[$entry] = array('' => true);
    42554518                                array_splice($prev_keys, $level, count($prev_keys), $entry);
     4519                                $cur_len += strlen($entry);
    42564520                                continue;
    42574521                            } else {
     
    42624526                                // recreate key index
    42634527                                array_splice($prev_keys, $level, count($prev_keys), array($new_key_part1, $new_key_part2));
     4528                                $cur_len += strlen($new_key_part2);
    42644529                            }
    42654530                        }
     
    42854550                    }
    42864551                    $tokens = array();
     4552                    $cur_len = 0;
    42874553                }
    42884554                // no further common denominator found
    42894555                $pointer[$entry] = array('' => true);
    42904556                array_splice($prev_keys, $level, count($prev_keys), $entry);
     4557
     4558                $cur_len += strlen($entry);
    42914559                break;
    42924560            }
     
    42964564        $new_entry = $this->_optimize_regexp_list_tokens_to_string($tokens);
    42974565        if (GESHI_MAX_PCRE_SUBPATTERNS && $num_subpatterns + substr_count($new_entry, '(?:') > GESHI_MAX_PCRE_SUBPATTERNS) {
    4298             $regexp_list[++$list_key] = $new_entry;
     4566            if ( !empty($regexp_list[$list_key]) ) {
     4567              ++$list_key;
     4568            }
     4569            $regexp_list[$list_key] = $new_entry;
    42994570        } else {
    43004571            if (!empty($regexp_list[$list_key])) {
  • _plugins_/coloration_code/spip-2.0/geshi/geshi/abap.php

    r22332 r34135  
    44 * --------
    55 * Author: Andres Picazo (andres@andrespicazo.com)
     6 * Contributors:
     7 *  - Sandra Rossi (sandra.rossi@gmail.com)
     8 *  - Jacob Laursen (jlu@kmd.dk)
    69 * Copyright: (c) 2007 Andres Picazo
    7  * Release Version: 1\.0\.8
     10 * Release Version: 1.0.8.6
    811 * Date Started: 2004/06/04
    912 *
    1013 * ABAP language file for GeSHi.
    1114 *
     15 * Reference abap language documentation (abap 7.1) : http://help.sap.com/abapdocu/en/ABENABAP_INDEX.htm
     16 *
     17 * ABAP syntax is highly complex, several problems could not be addressed, see TODO below if you dare ;-)
     18 * Be aware that in ABAP language, keywords may be composed of several tokens,
     19 *    separated by one or more spaces or carriage returns
     20 *    (for example CONCATENATE 'hello' 'world' INTO string SEPARATED  BY ' ')
     21 *    it's why we must decode them with REGEXPS. As there are many keywords with several tokens,
     22 *    I had to create a separate section in the code to simplify the reading.
     23 * Be aware that some words may be highlighted several times like for "ref to data", which is first
     24 *    highlighted for "ref to data", then secondly for "ref to". It is very important to
     25 *    position "ref to" after "ref to data" otherwise "data" wouldn't be highlighted because
     26 *    of the previous highlight.
     27 * Control, declarative and other statements are assigned URLs to sap documentation website:
     28 *    http://help.sap.com/abapdocu/en/ABAP<statement_name>.htm
     29 *
    1230 * CHANGES
    1331 * -------
     32 * 2009/02/25 (1.0.8.3)
     33 *   -  Some more rework of the language file
     34 * 2009/01/04 (1.0.8.2)
     35 *   -  Major Release, more than 1000 statements and keywords added = whole abap 7.1 (Sandra Rossi)
    1436 * 2007/06/27 (1.0.0)
    1537 *   -  First Release
     
    1739 * TODO
    1840 * ----
     41 *   - in DATA data TYPE type, 2nd "data" and 2nd "type" are highlighted with data
     42 *     style, but should be ignored. Same problem for all words!!! This is quite impossible to
     43 *     solve it as we should define syntaxes of all statements (huge effort!) and use a lex
     44 *     or something like that instead of regexp I guess.
     45 *   - Some words are considered as being statement names (report, tables, etc.) though they
     46 *     are used as keyword in some statements. For example: FORM xxxx TABLES itab. It was
     47 *     arbitrary decided to define them as statement instead of keyword, because it may be
     48 *     useful to have the URL to SAP help for some of them.
     49 *   - if a comment is between 2 words of a keyword (for example SEPARATED "comment \n BY),
     50 *     it is not considered as a keyword, but it should!
     51 *   - for statements like "READ DATASET", GeSHi does not allow to set URLs because these
     52 *     statements are determined by REGEXPS. For "READ DATASET", the URL should be
     53 *     ABAPREAD_DATASET.htm. If a technical solution is found, be careful : URLs
     54 *     are sometimes not valid because the URL does not exist. For example, for "AT NEW"
     55 *     statement, the URL should be ABAPAT_ITAB.htm (not ABAPAT_NEW.htm).
     56 *     There are many other exceptions.
     57 *     Note: for adding this functionality within your php program, you can execute this code:
     58 *       function add_urls_to_multi_tokens( $matches ) {
     59 *           $url = preg_replace( "/[ \n]+/" , "_" , $matches[3] );
     60 *           if( $url == $matches[3] ) return $matches[0] ;
     61 *           else return $matches[1]."<a href=\"http://help.sap.com/abapdocu/en/ABAP".strtoupper($url).".htm\">".$matches[3]."</a>".$matches[4];
     62 *           }
     63 *       $html = $geshi->parse_code();
     64 *       $html = preg_replace_callback( "£(zzz:(control|statement|data);\">)(.+?)(</span>)£s", "add_urls_to_multi_tokens", $html );
     65 *       echo $html;
     66 *   - Numbers followed by a dot terminating the statement are not properly recognized
    1967 *
    2068 *************************************************************************************
     
    3886 ************************************************************************************/
    3987
    40 $language_data = array (
     88$language_data = array(
    4189    'LANG_NAME' => 'ABAP',
    42     'COMMENT_SINGLE' => array(1 => '"', 2 => '*'),
     90    'COMMENT_SINGLE' => array(
     91        1 => '"'
     92        ),
    4393    'COMMENT_MULTI' => array(),
     94    'COMMENT_REGEXP' => array(
     95        // lines beginning with star at 1st position are comments
     96        // (star anywhere else is not a comment, especially be careful with
     97        // "assign dref->* to <fs>" statement)
     98        2 => '/^\*.*?$/m'
     99        ),
    44100    'CASE_KEYWORDS' => 0,
    45     'QUOTEMARKS' => array("'"),
     101    'QUOTEMARKS' => array(
     102        1 => "'",
     103        2 => "`"
     104        ),
    46105    'ESCAPE_CHAR' => '',
     106
    47107    'KEYWORDS' => array(
     108        //***********************************************
     109        // Section 2 : process sequences of several tokens
     110        //***********************************************
     111
     112        7 => array(
     113            'at new',
     114            'at end of',
     115            'at first',
     116            'at last',
     117            'loop at',
     118            'loop at screen',
     119            ),
     120
     121        8 => array(
     122            'private section',
     123            'protected section',
     124            'public section',
     125            'at line-selection',
     126            'at selection-screen',
     127            'at user-command',
     128            'assign component',
     129            'assign table field',
     130            'call badi',
     131            'call customer-function',
     132            'call customer subscreen',
     133            'call dialog',
     134            'call function',
     135            'call method',
     136            'call screen',
     137            'call selection-screen',
     138            'call transaction',
     139            'call transformation',
     140            'close cursor',
     141            'close dataset',
     142            'commit work',
     143            'convert date',
     144            'convert text',
     145            'convert time stamp',
     146            'create data',
     147            'create object',
     148            'delete dataset',
     149            'delete from',
     150            'describe distance',
     151            'describe field',
     152            'describe list',
     153            'describe table',
     154            'exec sql',
     155            'exit from sql',
     156            'exit from step-loop',
     157            'export dynpro',
     158            'export nametab',
     159            'free memory',
     160            'generate subroutine-pool',
     161            'get badi',
     162            'get bit',
     163            'get cursor',
     164            'get dataset',
     165            'get locale',
     166            'get parameter',
     167            'get pf-status',
     168            'get property',
     169            'get reference',
     170            'get run time',
     171            'get time',
     172            'get time stamp',
     173            'import directory',
     174            'insert report',
     175            'insert text-pool',
     176            'leave list-processing',
     177            'leave program',
     178            'leave screen',
     179            'leave to list-processing',
     180            'leave to transaction',
     181            'modify line',
     182            'modify screen',
     183            'move percentage',
     184            'open cursor',
     185            'open dataset',
     186            'raise event',
     187            'raise exception',
     188            'read dataset',
     189            'read line',
     190            'read report',
     191            'read table',
     192            'read textpool',
     193            'receive results from function',
     194            'refresh control',
     195            'rollback work',
     196            'set bit',
     197            'set blank lines',
     198            'set country',
     199            'set cursor',
     200            'set dataset',
     201            'set extended check',
     202            'set handler',
     203            'set hold data',
     204            'set language',
     205            'set left scroll-boundary',
     206            'set locale',
     207            'set margin',
     208            'set parameter',
     209            'set pf-status',
     210            'set property',
     211            'set run time analyzer',
     212            'set run time clock',
     213            'set screen',
     214            'set titlebar',
     215            'set update task',
     216            'set user-command',
     217            'suppress dialog',
     218            'truncate dataset',
     219            'wait until',
     220            'wait up to',
     221            ),
     222
     223        9 => array(
     224            'accepting duplicate keys',
     225            'accepting padding',
     226            'accepting truncation',
     227            'according to',
     228            'actual length',
     229            'adjacent duplicates',
     230            'after input',
     231            'all blob columns',
     232            'all clob columns',
     233            'all fields',
     234            'all methods',
     235            'all other columns',
     236            'and mark',
     237            'and return to screen',
     238            'and return',
     239            'and skip first screen',
     240            'and wait',
     241            'any table',
     242            'appendage type',
     243            'archive mode',
     244            'archiving parameters',
     245            'area handle',
     246            'as checkbox',
     247            'as icon',
     248            'as line',
     249            'as listbox',
     250            'as person table',
     251            'as search patterns',
     252            'as separate unit',
     253            'as subscreen',
     254            'as symbol',
     255            'as text',
     256            'as window',
     257            'at cursor-selection',
     258            'at exit-command',
     259            'at next application statement',
     260            'at position',
     261
     262            'backup into',
     263            'before output',
     264            'before unwind',
     265            'begin of block',
     266            'begin of common part',
     267            'begin of line',
     268            'begin of screen',
     269            'begin of tabbed block',
     270            'begin of version',
     271            'begin of',
     272            'big endian',
     273            'binary mode',
     274            'binary search',
     275            'by kernel module',
     276            'bypassing buffer',
     277
     278            'client specified',
     279            'code page',
     280            'code page hint',
     281            'code page into',
     282            'color black',
     283            'color blue',
     284            'color green',
     285            'color pink',
     286            'color red',
     287            'color yellow',
     288            'compression off',
     289            'compression on',
     290            'connect to',
     291            'corresponding fields of table',
     292            'corresponding fields of',
     293            'cover page',
     294            'cover text',
     295            'create package',
     296            'create private',
     297            'create protected',
     298            'create public',
     299            'current position',
     300
     301            'data buffer',
     302            'data values',
     303            'dataset expiration',
     304            'daylight saving time',
     305            'default key',
     306            'default program',
     307            'default screen',
     308            'defining database',
     309            'deleting leading',
     310            'deleting trailing',
     311            'directory entry',
     312            'display like',
     313            'display offset',
     314            'during line-selection',
     315            'dynamic selections',
     316
     317            'edit mask',
     318            'end of block',
     319            'end of common part',
     320            'end of file',
     321            'end of line',
     322            'end of screen',
     323            'end of tabbed block',
     324            'end of version',
     325            'end of',
     326            'endian into',
     327            'ending at',
     328            'enhancement options into',
     329            'enhancement into',
     330            'environment time format',
     331            'execute procedure',
     332            'exporting list to memory',
     333            'extension type',
     334
     335            'field format',
     336            'field selection',
     337            'field value into',
     338            'final methods',
     339            'first occurrence of',
     340            'fixed-point arithmetic',
     341            'for all entries',
     342            'for all instances',
     343            'for appending',
     344            'for columns',
     345            'for event of',
     346            'for field',
     347            'for high',
     348            'for input',
     349            'for lines',
     350            'for low',
     351            'for node',
     352            'for output',
     353            'for select',
     354            'for table',
     355            'for testing',
     356            'for update',
     357            'for user',
     358            'frame entry',
     359            'frame program from',
     360            'from code page',
     361            'from context',
     362            'from database',
     363            'from logfile id',
     364            'from number format',
     365            'from screen',
     366            'from table',
     367            'function key',
     368
     369            'get connection',
     370            'global friends',
     371            'group by',
     372
     373            'hashed table of',
     374            'hashed table',
     375
     376            'if found',
     377            'ignoring case',
     378            'ignoring conversion errors',
     379            'ignoring structure boundaries',
     380            'implementations from',
     381            'in background',
     382            'in background task',
     383            'in background unit',
     384            'in binary mode',
     385            'in byte mode',
     386            'in char-to-hex mode',
     387            'in character mode',
     388            'in group',
     389            'in legacy binary mode',
     390            'in legacy text mode',
     391            'in program',
     392            'in remote task',
     393            'in text mode',
     394            'in table',
     395            'in update task',
     396            'include bound',
     397            'include into',
     398            'include program from',
     399            'include structure',
     400            'include type',
     401            'including gaps',
     402            'index table',
     403            'inheriting from',
     404            'init destination',
     405            'initial line of',
     406            'initial line',
     407            'initial size',
     408            'internal table',
     409            'into sortable code',
     410
     411            'keep in spool',
     412            'keeping directory entry',
     413            'keeping logical unit of work',
     414            'keeping task',
     415            'keywords from',
     416
     417            'left margin',
     418            'left outer',
     419            'levels into',
     420            'line format',
     421            'line into',
     422            'line of',
     423            'line page',
     424            'line value from',
     425            'line value into',
     426            'lines of',
     427            'list authority',
     428            'list dataset',
     429            'list name',
     430            'little endian',
     431            'lob handle for',
     432            'local friends',
     433            'locator for',
     434            'lower case',
     435
     436            'main table field',
     437            'match count',
     438            'match length',
     439            'match line',
     440            'match offset',
     441            'matchcode object',
     442            'maximum length',
     443            'maximum width into',
     444            'memory id',
     445            'message into',
     446            'messages into',
     447            'modif id',
     448
     449            'nesting level',
     450            'new list identification',
     451            'next cursor',
     452            'no database selection',
     453            'no dialog',
     454            'no end of line',
     455            'no fields',
     456            'no flush',
     457            'no intervals',
     458            'no intervals off',
     459            'no standard page heading',
     460            'no-extension off',
     461            'non-unique key',
     462            'non-unique sorted key',
     463            'not at end of mode',
     464            'number of lines',
     465            'number of pages',
     466
     467            'object key',
     468            'obligatory off',
     469            'of current page',
     470            'of page',
     471            'of program',
     472            'offset into',
     473            'on block',
     474            'on commit',
     475            'on end of task',
     476            'on end of',
     477            'on exit-command',
     478            'on help-request for',
     479            'on radiobutton group',
     480            'on rollback',
     481            'on value-request for',
     482            'open for package',
     483            'option class-coding',
     484            'option class',
     485            'option coding',
     486            'option expand',
     487            'option syncpoints',
     488            'options from',
     489            'order by',
     490            'overflow into',
     491
     492            'package section',
     493            'package size',
     494            'preferred parameter',
     495            'preserving identifier escaping',
     496            'primary key',
     497            'print off',
     498            'print on',
     499            'program from',
     500            'program type',
     501
     502            'radiobutton groups',
     503            'radiobutton group',
     504            'range of',
     505            'reader for',
     506            'receive buffer',
     507            'reduced functionality',
     508            'ref to data',
     509            'ref to object',
     510            'ref to',
     511
     512            'reference into',
     513            'renaming with suffix',
     514            'replacement character',
     515            'replacement count',
     516            'replacement length',
     517            'replacement line',
     518            'replacement offset',
     519            'respecting blanks',
     520            'respecting case',
     521            'result into',
     522            'risk level',
     523
     524            'sap cover page',
     525            'search fkeq',
     526            'search fkge',
     527            'search gkeq',
     528            'search gkge',
     529            'section of',
     530            'send buffer',
     531            'separated by',
     532            'shared buffer',
     533            'shared memory',
     534            'shared memory enabled',
     535            'skipping byte-order mark',
     536            'sorted by',
     537            'sorted table of',
     538            'sorted table',
     539            'spool parameters',
     540            'standard table of',
     541            'standard table',
     542            'starting at',
     543            'starting new task',
     544            'statements into',
     545            'structure default',
     546            'structures into',
     547
     548            'table field',
     549            'table of',
     550            'text mode',
     551            'time stamp',
     552            'time zone',
     553            'to code page',
     554            'to column',
     555            'to context',
     556            'to first page',
     557            'to last page',
     558            'to last line',
     559            'to line',
     560            'to lower case',
     561            'to number format',
     562            'to page',
     563            'to sap spool',
     564            'to upper case',
     565            'tokens into',
     566            'transporting no fields',
     567            'type tableview',
     568            'type tabstrip',
     569
     570            'unicode enabling',
     571            'up to',
     572            'upper case',
     573            'using edit mask',
     574            'using key',
     575            'using no edit mask',
     576            'using screen',
     577            'using selection-screen',
     578            'using selection-set',
     579            'using selection-sets of program',
     580
     581            'valid between',
     582            'valid from',
     583            'value check',
     584            'via job',
     585            'via selection-screen',
     586            'visible length',
     587
     588            'whenever found',
     589            'with analysis',
     590            'with byte-order mark',
     591            'with comments',
     592            'with current switchstates',
     593            'with explicit enhancements',
     594            'with frame',
     595            'with free selections',
     596            'with further secondary keys',
     597            'with header line',
     598            'with hold',
     599            'with implicit enhancements',
     600            'with inactive enhancements',
     601            'with includes',
     602            'with key',
     603            'with linefeed',
     604            'with list tokenization',
     605            'with native linefeed',
     606            'with non-unique key',
     607            'with null',
     608            'with pragmas',
     609            'with precompiled headers',
     610            'with selection-table',
     611            'with smart linefeed',
     612            'with table key',
     613            'with test code',
     614            'with type-pools',
     615            'with unique key',
     616            'with unix linefeed',
     617            'with windows linefeed',
     618            'without further secondary keys',
     619            'without selection-screen',
     620            'without spool dynpro',
     621            'without trmac',
     622            'word into',
     623            'writer for'
     624            ),
     625
     626        //**********************************************************
     627        // Other abap statements
     628        //**********************************************************
     629        3 => array(
     630            'add',
     631            'add-corresponding',
     632            'aliases',
     633            'append',
     634            'assign',
     635            'at',
     636            'authority-check',
     637
     638            'break-point',
     639
     640            'clear',
     641            'collect',
     642            'compute',
     643            'concatenate',
     644            'condense',
     645            'class',
     646            'class-events',
     647            'class-methods',
     648            'class-pool',
     649
     650            'define',
     651            'delete',
     652            'demand',
     653            'detail',
     654            'divide',
     655            'divide-corresponding',
     656
     657            'editor-call',
     658            'end-of-file',
     659            'end-enhancement-section',
     660            'end-of-definition',
     661            'end-of-page',
     662            'end-of-selection',
     663            'endclass',
     664            'endenhancement',
     665            'endexec',
     666            'endform',
     667            'endfunction',
     668            'endinterface',
     669            'endmethod',
     670            'endmodule',
     671            'endon',
     672            'endprovide',
     673            'endselect',
     674            'enhancement',
     675            'enhancement-point',
     676            'enhancement-section',
     677            'export',
     678            'extract',
     679            'events',
     680
     681            'fetch',
     682            'field-groups',
     683            'find',
     684            'format',
     685            'form',
     686            'free',
     687            'function-pool',
     688            'function',
     689
     690            'get',
     691
     692            'hide',
     693
     694            'import',
     695            'infotypes',
     696            'input',
     697            'insert',
     698            'include',
     699            'initialization',
     700            'interface',
     701            'interface-pool',
     702            'interfaces',
     703
     704            'leave',
     705            'load-of-program',
     706            'log-point',
     707
     708            'maximum',
     709            'message',
     710            'methods',
     711            'method',
     712            'minimum',
     713            'modify',
     714            'move',
     715            'move-corresponding',
     716            'multiply',
     717            'multiply-corresponding',
     718
     719            'new-line',
     720            'new-page',
     721            'new-section',
     722
     723            'overlay',
     724
     725            'pack',
     726            'perform',
     727            'position',
     728            'print-control',
     729            'program',
     730            'provide',
     731            'put',
     732
     733            'raise',
     734            'refresh',
     735            'reject',
     736            'replace',
     737            'report',
     738            'reserve',
     739
     740            'scroll',
     741            'search',
     742            'select',
     743            'selection-screen',
     744            'shift',
     745            'skip',
     746            'sort',
     747            'split',
     748            'start-of-selection',
     749            'submit',
     750            'subtract',
     751            'subtract-corresponding',
     752            'sum',
     753            'summary',
     754            'summing',
     755            'supply',
     756            'syntax-check',
     757
     758            'top-of-page',
     759            'transfer',
     760            'translate',
     761            'type-pool',
     762
     763            'uline',
     764            'unpack',
     765            'update',
     766
     767            'window',
     768            'write'
     769
     770            ),
     771
     772        //**********************************************************
     773        // keywords
     774        //**********************************************************
     775
     776        4 => array(
     777            'abbreviated',
     778            'abstract',
     779            'accept',
     780            'acos',
     781            'activation',
     782            'alias',
     783            'align',
     784            'all',
     785            'allocate',
     786            'and',
     787            'assigned',
     788            'any',
     789            'appending',
     790            'area',
     791            'as',
     792            'ascending',
     793            'asin',
     794            'assigning',
     795            'atan',
     796            'attributes',
     797            'avg',
     798
     799            'backward',
     800            'between',
     801            'bit-and',
     802            'bit-not',
     803            'bit-or',
     804            'bit-set',
     805            'bit-xor',
     806            'boolc',
     807            'boolx',
     808            'bound',
     809            'bt',
     810            'blocks',
     811            'bounds',
     812            'boxed',
     813            'by',
     814            'byte-ca',
     815            'byte-cn',
     816            'byte-co',
     817            'byte-cs',
     818            'byte-na',
     819            'byte-ns',
     820
     821            'ca',
     822            'calling',
     823            'casting',
     824            'ceil',
     825            'center',
     826            'centered',
     827            'changing',
     828            'char_off',
     829            'charlen',
     830            'circular',
     831            'class_constructor',
     832            'client',
     833            'clike',
     834            'close',
     835            'cmax',
     836            'cmin',
     837            'cn',
     838            'cnt',
     839            'co',
     840            'col_background',
     841            'col_group',
     842            'col_heading',
     843            'col_key',
     844            'col_negative',
     845            'col_normal',
     846            'col_positive',
     847            'col_total',
     848            'color',
     849            'column',
     850            'comment',
     851            'comparing',
     852            'components',
     853            'condition',
     854            'context',
     855            'copies',
     856            'count',
     857            'country',
     858            'cpi',
     859            'creating',
     860            'critical',
     861            'concat_lines_of',
     862            'cos',
     863            'cosh',
     864            'count_any_not_of',
     865            'count_any_of',
     866            'cp',
     867            'cs',
     868            'csequence',
     869            'currency',
     870            'current',
     871            'cx_static_check',
     872            'cx_root',
     873            'cx_dynamic_check',
     874
     875            'dangerous',
     876            'database',
     877            'datainfo',
     878            'date',
     879            'dbmaxlen',
     880            'dd/mm/yy',
     881            'dd/mm/yyyy',
     882            'ddmmyy',
     883            'deallocate',
     884            'decfloat',
     885            'decfloat16',
     886            'decfloat34',
     887            'decimals',
     888            'default',
     889            'deferred',
     890            'definition',
     891            'department',
     892            'descending',
     893            'destination',
     894            'disconnect',
     895            'display-mode',
     896            'distance',
     897            'distinct',
     898            'div',
     899            'dummy',
     900
     901            'encoding',
     902            'end-lines',
     903            'engineering',
     904            'environment',
     905            'eq',
     906            'equiv',
     907            'error_message',
     908            'errormessage',
     909            'escape',
     910            'exact',
     911            'exception-table',
     912            'exceptions',
     913            'exclude',
     914            'excluding',
     915            'exists',
     916            'exp',
     917            'exponent',
     918            'exporting',
     919            'extended_monetary',
     920
     921            'field',
     922            'filter-table',
     923            'filters',
     924            'filter',
     925            'final',
     926            'find_any_not_of',
     927            'find_any_of',
     928            'find_end',
     929            'floor',
     930            'first-line',
     931            'font',
     932            'forward',
     933            'for',
     934            'frac',
     935            'from_mixed',
     936            'friends',
     937            'from',
     938
     939            'giving',
     940            'ge',
     941            'gt',
     942
     943            'handle',
     944            'harmless',
     945            'having',
     946            'head-lines',
     947            'help-id',
     948            'help-request',
     949            'high',
     950            'hold',
     951            'hotspot',
     952
     953            'id',
     954            'ids',
     955            'immediately',
     956            'implementation',
     957            'importing',
     958            'in',
     959            'initial',
     960            'incl',
     961            'including',
     962            'increment',
     963            'index',
     964            'index-line',
     965            'inner',
     966            'inout',
     967            'intensified',
     968            'into',
     969            'inverse',
     970            'is',
     971            'iso',
     972
     973            'join',
     974
     975            'key',
     976            'kind',
     977
     978            'log10',
     979            'language',
     980            'late',
     981            'layout',
     982            'le',
     983            'lt',
     984            'left-justified',
     985            'leftplus',
     986            'leftspace',
     987            'left',
     988            'length',
     989            'level',
     990            'like',
     991            'line-count',
     992            'line-size',
     993            'lines',
     994            'line',
     995            'load',
     996            'long',
     997            'lower',
     998            'low',
     999            'lpi',
     1000
     1001            'matches',
     1002            'match',
     1003            'mail',
     1004            'major-id',
     1005            'max',
     1006            'medium',
     1007            'memory',
     1008            'message-id',
     1009            'module',
     1010            'minor-id',
     1011            'min',
     1012            'mm/dd/yyyy',
     1013            'mm/dd/yy',
     1014            'mmddyy',
     1015            'mode',
     1016            'modifier',
     1017            'mod',
     1018            'monetary',
     1019
     1020            'name',
     1021            'nb',
     1022            'ne',
     1023            'next',
     1024            'no-display',
     1025            'no-extension',
     1026            'no-gap',
     1027            'no-gaps',
     1028            'no-grouping',
     1029            'no-heading',
     1030            'no-scrolling',
     1031            'no-sign',
     1032            'no-title',
     1033            'no-topofpage',
     1034            'no-zero',
     1035            'nodes',
     1036            'non-unicode',
     1037            'no',
     1038            'number',
     1039            'nmax',
     1040            'nmin',
     1041            'not',
     1042            'null',
     1043            'numeric',
     1044            'numofchar',
     1045
     1046            'o',
     1047            'objects',
     1048            'obligatory',
     1049            'occurs',
     1050            'offset',
     1051            'off',
     1052            'of',
     1053            'only',
     1054            'open',
     1055            'option',
     1056            'optional',
     1057            'options',
     1058            'output-length',
     1059            'output',
     1060            'out',
     1061            'on change of',
     1062            'or',
     1063            'others',
     1064
     1065            'pad',
     1066            'page',
     1067            'pages',
     1068            'parameter-table',
     1069            'part',
     1070            'performing',
     1071            'pos_high',
     1072            'pos_low',
     1073            'priority',
     1074            'public',
     1075            'pushbutton',
     1076
     1077            'queue-only',
     1078            'quickinfo',
     1079
     1080            'raising',
     1081            'range',
     1082            'read-only',
     1083            'received',
     1084            'receiver',
     1085            'receiving',
     1086            'redefinition',
     1087            'reference',
     1088            'regex',
     1089            'replacing',
     1090            'reset',
     1091            'responsible',
     1092            'result',
     1093            'results',
     1094            'resumable',
     1095            'returncode',
     1096            'returning',
     1097            'right',
     1098            'right-specified',
     1099            'rightplus',
     1100            'rightspace',
     1101            'round',
     1102            'rows',
     1103            'repeat',
     1104            'requested',
     1105            'rescale',
     1106            'reverse',
     1107
     1108            'scale_preserving',
     1109            'scale_preserving_scientific',
     1110            'scientific',
     1111            'scientific_with_leading_zero',
     1112            'screen',
     1113            'scrolling',
     1114            'seconds',
     1115            'segment',
     1116            'shift_left',
     1117            'shift_right',
     1118            'sign',
     1119            'simple',
     1120            'sin',
     1121            'sinh',
     1122            'short',
     1123            'shortdump-id',
     1124            'sign_as_postfix',
     1125            'single',
     1126            'size',
     1127            'some',
     1128            'source',
     1129            'space',
     1130            'spots',
     1131            'stable',
     1132            'state',
     1133            'static',
     1134            'statusinfo',
     1135            'sqrt',
     1136            'string',
     1137            'strlen',
     1138            'structure',
     1139            'style',
     1140            'subkey',
     1141            'submatches',
     1142            'substring',
     1143            'substring_after',
     1144            'substring_before',
     1145            'substring_from',
     1146            'substring_to',
     1147            'super',
     1148            'supplied',
     1149            'switch',
     1150
     1151            'tan',
     1152            'tanh',
     1153            'table_line',
     1154            'table',
     1155            'tab',
     1156            'then',
     1157            'timestamp',
     1158            'times',
     1159            'time',
     1160            'timezone',
     1161            'title-lines',
     1162            'title',
     1163            'top-lines',
     1164            'to',
     1165            'to_lower',
     1166            'to_mixed',
     1167            'to_upper',
     1168            'trace-file',
     1169            'trace-table',
     1170            'transporting',
     1171            'trunc',
     1172            'type',
     1173
     1174            'under',
     1175            'unique',
     1176            'unit',
     1177            'user-command',
     1178            'using',
     1179            'utf-8',
     1180
     1181            'valid',
     1182            'value',
     1183            'value-request',
     1184            'values',
     1185            'vary',
     1186            'varying',
     1187            'version',
     1188
     1189            'warning',
     1190            'where',
     1191            'width',
     1192            'with',
     1193            'word',
     1194            'with-heading',
     1195            'with-title',
     1196
     1197            'xsequence',
     1198            'xstring',
     1199            'xstrlen',
     1200
     1201            'yes',
     1202            'yymmdd',
     1203
     1204            'z',
     1205            'zero'
     1206
     1207            ),
     1208
     1209        //**********************************************************
     1210        // screen statements
     1211        //**********************************************************
     1212
     1213        5 => array(
     1214            'call subscreen',
     1215            'chain',
     1216            'endchain',
     1217            'on chain-input',
     1218            'on chain-request',
     1219            'on help-request',
     1220            'on input',
     1221            'on request',
     1222            'on value-request',
     1223            'process'
     1224            ),
     1225
     1226        //**********************************************************
     1227        // internal statements
     1228        //**********************************************************
     1229
     1230        6 => array(
     1231            'generate dynpro',
     1232            'generate report',
     1233            'import dynpro',
     1234            'import nametab',
     1235            'include methods',
     1236            'load report',
     1237            'scan abap-source',
     1238            'scan and check abap-source',
     1239            'syntax-check for dynpro',
     1240            'syntax-check for program',
     1241            'syntax-trace',
     1242            'system-call',
     1243            'system-exit',
     1244            'verification-message'
     1245            ),
     1246
     1247        //**********************************************************
     1248        // Control statements
     1249        //**********************************************************
     1250
    481251        1 => array(
    49             'if', 'return', 'while', 'case', 'default',
    50             'do', 'else', 'for', 'endif', 'elseif', 'eq',
    51             'not', 'and'
    52             ),
     1252            'assert',
     1253            'case',
     1254            'catch',
     1255            'check',
     1256            'cleanup',
     1257            'continue',
     1258            'do',
     1259            'else',
     1260            'elseif',
     1261            'endat',
     1262            'endcase',
     1263            'endcatch',
     1264            'endif',
     1265            'enddo',
     1266            'endloop',
     1267            'endtry',
     1268            'endwhile',
     1269            'exit',
     1270            'if',
     1271            'loop',
     1272            'resume',
     1273            'retry',
     1274            'return',
     1275            'stop',
     1276            'try',
     1277            'when',
     1278            'while'
     1279
     1280            ),
     1281
     1282        //**********************************************************
     1283        // variable declaration statements
     1284        //**********************************************************
     1285
    531286        2 => array(
    54             'data', 'types', 'seletion-screen', 'parameters', 'field-symbols', 'extern', 'inline'
    55             ),
    56         3 => array(
    57             'report', 'write', 'append', 'select', 'endselect', 'call method', 'call function',
    58             'loop', 'endloop', 'raise', 'read table', 'concatenate', 'split', 'shift',
    59             'condense', 'describe', 'clear', 'endfunction', 'assign', 'create data', 'translate',
    60             'continue', 'start-of-selection', 'at selection-screen', 'modify', 'call screen',
    61             'create object', 'perform', 'form', 'endform',
    62             'reuse_alv_block_list_init', 'zbcialv', 'include'
    63             ),
    64         4 => array(
    65             'type ref to', 'type', 'begin of',  'end of', 'like', 'into',
    66             'from', 'where', 'order by', 'with key', 'string', 'separated by',
    67             'exporting', 'importing', 'to upper case', 'to', 'exceptions', 'tables',
    68             'using', 'changing'
    69             ),
     1287            'class-data',
     1288            'controls',
     1289            'constants',
     1290            'data',
     1291            'field-symbols',
     1292            'fields',
     1293            'local',
     1294            'parameters',
     1295            'ranges',
     1296            'select-options',
     1297            'statics',
     1298            'tables',
     1299            'type-pools',
     1300            'types'
     1301            )
    701302        ),
    711303    'SYMBOLS' => array(
    72         '(', ')', '{', '}', '[', ']', '=', '+', '-', '*', '/', '!', '%', '^', '&', ':'
     1304        0 => array(
     1305            '->*', '->', '=>',
     1306            '(', ')', '{', '}', '[', ']', '+', '-', '*', '/', '!', '%', '^', '&', ':', ',', '.'
     1307            ),
     1308        1 => array(
     1309            '>=', '<=', '<', '>', '='
     1310            ),
     1311        2 => array(
     1312            '?='
     1313            )
    731314        ),
    741315    'CASE_SENSITIVE' => array(
     
    781319        3 => false,
    791320        4 => false,
     1321        5 => false,
     1322        6 => false,
     1323        7 => false,
     1324        8 => false,
     1325        9 => false,
    801326        ),
    811327    'STYLES' => array(
    821328        'KEYWORDS' => array(
    83             1 => 'color: #b1b100;',
    84             2 => 'color: #000000; font-weight: bold;',
    85             3 => 'color: #000066;',
    86             4 => 'color: #993333;'
     1329            1 => 'color: #000066; text-transform: uppercase; font-weight: bold; zzz:control;', //control statements
     1330            2 => 'color: #cc4050; text-transform: uppercase; font-weight: bold; zzz:data;', //data statements
     1331            3 => 'color: #005066; text-transform: uppercase; font-weight: bold; zzz:statement;', //first token of other statements
     1332            4 => 'color: #500066; text-transform: uppercase; font-weight: bold; zzz:keyword;', // next tokens of other statements ("keywords")
     1333            5 => 'color: #005066; text-transform: uppercase; font-weight: bold; zzz:statement;',
     1334            6 => 'color: #000066; text-transform: uppercase; font-weight: bold; zzz:control;',
     1335            7 => 'color: #000066; text-transform: uppercase; font-weight: bold; zzz:control;',
     1336            8 => 'color: #005066; text-transform: uppercase; font-weight: bold; zzz:statement;',
     1337            9 => 'color: #500066; text-transform: uppercase; font-weight: bold; zzz:keyword;'
    871338            ),
    881339        'COMMENTS' => array(
     
    951346            ),
    961347        'BRACKETS' => array(
    97             0 => 'color: #66cc66;'
     1348            0 => 'color: #808080;'
    981349            ),
    991350        'STRINGS' => array(
    100             0 => 'color: #ff0000;'
     1351            0 => 'color: #4da619;'
    1011352            ),
    1021353        'NUMBERS' => array(
    103             0 => 'color: #cc66cc;'
     1354            0 => 'color: #3399ff;'
    1041355            ),
    1051356        'METHODS' => array(
     
    1081359            ),
    1091360        'SYMBOLS' => array(
    110             0 => 'color: #66cc66;'
     1361            0 => 'color: #808080;',
     1362            1 => 'color: #800080;',
     1363            2 => 'color: #0000ff;'
    1111364            ),
    1121365        'REGEXPS' => array(
     
    1161369        ),
    1171370    'URLS' => array(
    118         1 => '',
    119         2 => '',
    120         3 => 'http://sap4.com/wiki/index.php?title={FNAMEL}',
    121         4 => ''
     1371        1 => 'http://help.sap.com/abapdocu/en/ABAP{FNAMEU}.htm',
     1372        2 => 'http://help.sap.com/abapdocu/en/ABAP{FNAMEU}.htm',
     1373        3 => 'http://help.sap.com/abapdocu/en/ABAP{FNAMEU}.htm',
     1374        4 => '',
     1375        5 => '',
     1376        6 => '',
     1377        7 => '',
     1378        8 => '',
     1379        9 => ''
    1221380        ),
    1231381    'OOLANG' => true,
    1241382    'OBJECT_SPLITTERS' => array(
    125         1 => '.',
    126         2 => '::'
     1383        1 => '-&gt;',
     1384        2 => '=&gt;'
    1271385        ),
    1281386    'REGEXPS' => array(
     
    1321390        ),
    1331391    'HIGHLIGHT_STRICT_BLOCK' => array(
    134         )
     1392        ),
     1393    'PARSER_CONTROL' => array(
     1394        'KEYWORDS' => array(
     1395            7 => array(
     1396                'SPACE_AS_WHITESPACE' => true
     1397                ),
     1398            8 => array(
     1399                'SPACE_AS_WHITESPACE' => true
     1400                ),
     1401            9 => array(
     1402                'SPACE_AS_WHITESPACE' => true
     1403                )
     1404            )
     1405        ),
     1406    'TAB_WIDTH' => 4
    1351407);
    1361408
  • _plugins_/coloration_code/spip-2.0/geshi/geshi/actionscript.php

    r22331 r34135  
    55 * Author: Steffen Krause (Steffen.krause@muse.de)
    66 * Copyright: (c) 2004 Steffen Krause, Nigel McNie (http://qbnz.com/highlighter)
    7  * Release Version: 1\.0\.8
     7 * Release Version: 1.0.8.6
    88 * Date Started: 2004/06/20
    99 *
     
    4949    'KEYWORDS' => array(
    5050        1 => array(
    51             '#include', 'for', 'foreach', 'if', 'elseif', 'else', 'while', 'do', 'dowhile',
     51            '#include', 'for', 'foreach', 'each', 'if', 'elseif', 'else', 'while', 'do', 'dowhile',
    5252            'endwhile', 'endif', 'switch', 'case', 'endswitch', 'return', 'break', 'continue', 'in'
    5353            ),
  • _plugins_/coloration_code/spip-2.0/geshi/geshi/actionscript3.php

    r22332 r34135  
    55 * Author: Jordi Boggiano (j.boggiano@seld.be)
    66 * Copyright: (c) 2007 Jordi Boggiano (http://www.seld.be/), Benny Baumann (http://qbnz.com/highlighter)
    7  * Release Version: 1\.0\.8
     7 * Release Version: 1.0.8.6
    88 * Date Started: 2007/11/26
    99 *
     
    5959    'COMMENT_SINGLE' => array(1 => '//'),
    6060    'COMMENT_MULTI' => array('/*' => '*/'),
     61    'COMMENT_REGEXP' => array(
     62        //Regular expressions
     63        2 => "/(?<=[\\s^])(s|tr|y)\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\/\\\\])*\\/[msixpogcde]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])(m|q[qrwx]?)?\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[msixpogc]*(?=[\\s$\\.\\,\\;\\)])/iU",
     64        ),
    6165    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
    6266    'QUOTEMARKS' => array("'", '"'),
     
    6872            'private', 'null', 'new', 'is', 'internal', 'instanceof', 'in',
    6973            'import', 'if', 'get', 'for', 'false', 'else', 'each', 'do',
    70             'delete', 'default', 'continue', 'catch', 'case', 'break', 'as'
     74            'delete', 'default', 'continue', 'catch', 'case', 'break', 'as',
     75            'extends'
    7176            ),
    7277        2 => array(
     
    7883        4 => array(
    7984            'class', 'package'
    80             ),
    81         5 => array(
    82             'uint', 'int', 'arguments', 'XMLSocket', 'XMLNodeType', 'XMLNode',
    83             'XMLList', 'XMLDocument', 'XML', 'Video', 'VerifyError',
    84             'URLVariables', 'URLStream', 'URLRequestMethod', 'URLRequestHeader',
    85             'URLRequest', 'URLLoaderDataFormat', 'URLLoader', 'URIError',
    86             'TypeError', 'Transform', 'TimerEvent', 'Timer', 'TextSnapshot',
    87             'TextRenderer', 'TextLineMetrics', 'TextFormatAlign', 'TextFormat',
    88             'TextFieldType', 'TextFieldAutoSize', 'TextField', 'TextEvent',
    89             'TextDisplayMode', 'TextColorType', 'System', 'SyntaxError',
    90             'SyncEvent', 'StyleSheet', 'String', 'StatusEvent', 'StaticText',
    91             'StageScaleMode', 'StageQuality', 'StageAlign', 'Stage',
    92             'StackOverflowError', 'Sprite', 'SpreadMethod', 'SoundTransform',
    93             'SoundMixer', 'SoundLoaderContext', 'SoundChannel', 'Sound',
    94             'Socket', 'SimpleButton', 'SharedObjectFlushStatus', 'SharedObject',
    95             'Shape', 'SecurityPanel', 'SecurityErrorEvent', 'SecurityError',
    96             'SecurityDomain', 'Security', 'ScriptTimeoutError', 'Scene',
    97             'SWFVersion', 'Responder', 'RegExp', 'ReferenceError', 'Rectangle',
    98             'RangeError', 'QName', 'Proxy', 'ProgressEvent',
    99             'PrintJobOrientation', 'PrintJobOptions', 'PrintJob', 'Point',
    100             'PixelSnapping', 'ObjectEncoding', 'Object', 'Number', 'NetStream',
    101             'NetStatusEvent', 'NetConnection', 'Namespace', 'MovieClip',
    102             'MouseEvent', 'Mouse', 'MorphShape', 'Microphone', 'MemoryError',
    103             'Matrix', 'Math', 'LocalConnection', 'LoaderInfo', 'LoaderContext',
    104             'Loader', 'LineScaleMode', 'KeyboardEvent', 'Keyboard',
    105             'KeyLocation', 'JointStyle', 'InvalidSWFError',
    106             'InterpolationMethod', 'InteractiveObject', 'IllegalOperationError',
    107             'IOErrorEvent', 'IOError', 'IMEEvent', 'IMEConversionMode', 'IME',
    108             'IExternalizable', 'IEventDispatcher', 'IDynamicPropertyWriter',
    109             'IDynamicPropertyOutput', 'IDataOutput', 'IDataInput', 'ID3Info',
    110             'IBitmapDrawable', 'HTTPStatusEvent', 'GridFitType', 'Graphics',
    111             'GradientType', 'GradientGlowFilter', 'GradientBevelFilter',
    112             'GlowFilter', 'Function', 'FrameLabel', 'FontType', 'FontStyle',
    113             'Font', 'FocusEvent', 'FileReferenceList', 'FileReference',
    114             'FileFilter', 'ExternalInterface', 'EventPhase', 'EventDispatcher',
    115             'Event', 'EvalError', 'ErrorEvent', 'Error', 'Endian', 'EOFError',
    116             'DropShadowFilter', 'DisplayObjectContainer', 'DisplayObject',
    117             'DisplacementMapFilterMode', 'DisplacementMapFilter', 'Dictionary',
    118             'DefinitionError', 'Date', 'DataEvent', 'ConvolutionFilter',
    119             'ContextMenuItem', 'ContextMenuEvent', 'ContextMenuBuiltInItems',
    120             'ContextMenu', 'ColorTransform', 'ColorMatrixFilter', 'Class',
    121             'CapsStyle', 'Capabilities', 'Camera', 'CSMSettings', 'ByteArray',
    122             'Boolean', 'BlurFilter', 'BlendMode', 'BitmapFilterType',
    123             'BitmapFilterQuality', 'BitmapFilter', 'BitmapDataChannel',
    124             'BitmapData', 'Bitmap', 'BevelFilter', 'AsyncErrorEvent', 'Array',
    125             'ArgumentError', 'ApplicationDomain', 'AntiAliasType',
    126             'ActivityEvent', 'ActionScriptVersion', 'AccessibilityProperties',
    127             'Accessibility', 'AVM1Movie'
    12885            ),
    12986        6 => array(
     
    385342            'ADVANCED', 'ADDED_TO_STAGE', 'ADDED', 'ADD', 'ACTIVITY',
    386343            'ACTIONSCRIPT3', 'ACTIONSCRIPT2'
     344            ),
     345        //FIX: Must be last in order to avoid conflicts with keywords present
     346        //in other keyword groups, that might get highlighted as part of the URL.
     347        //I know this is not a proper work-around, but should do just fine.
     348        5 => array(
     349            'uint', 'int', 'arguments', 'XMLSocket', 'XMLNodeType', 'XMLNode',
     350            'XMLList', 'XMLDocument', 'XML', 'Video', 'VerifyError',
     351            'URLVariables', 'URLStream', 'URLRequestMethod', 'URLRequestHeader',
     352            'URLRequest', 'URLLoaderDataFormat', 'URLLoader', 'URIError',
     353            'TypeError', 'Transform', 'TimerEvent', 'Timer', 'TextSnapshot',
     354            'TextRenderer', 'TextLineMetrics', 'TextFormatAlign', 'TextFormat',
     355            'TextFieldType', 'TextFieldAutoSize', 'TextField', 'TextEvent',
     356            'TextDisplayMode', 'TextColorType', 'System', 'SyntaxError',
     357            'SyncEvent', 'StyleSheet', 'String', 'StatusEvent', 'StaticText',
     358            'StageScaleMode', 'StageQuality', 'StageAlign', 'Stage',
     359            'StackOverflowError', 'Sprite', 'SpreadMethod', 'SoundTransform',
     360            'SoundMixer', 'SoundLoaderContext', 'SoundChannel', 'Sound',
     361            'Socket', 'SimpleButton', 'SharedObjectFlushStatus', 'SharedObject',
     362            'Shape', 'SecurityPanel', 'SecurityErrorEvent', 'SecurityError',
     363            'SecurityDomain', 'Security', 'ScriptTimeoutError', 'Scene',
     364            'SWFVersion', 'Responder', 'RegExp', 'ReferenceError', 'Rectangle',
     365            'RangeError', 'QName', 'Proxy', 'ProgressEvent',
     366            'PrintJobOrientation', 'PrintJobOptions', 'PrintJob', 'Point',
     367            'PixelSnapping', 'ObjectEncoding', 'Object', 'Number', 'NetStream',
     368            'NetStatusEvent', 'NetConnection', 'Namespace', 'MovieClip',
     369            'MouseEvent', 'Mouse', 'MorphShape', 'Microphone', 'MemoryError',
     370            'Matrix', 'Math', 'LocalConnection', 'LoaderInfo', 'LoaderContext',
     371            'Loader', 'LineScaleMode', 'KeyboardEvent', 'Keyboard',
     372            'KeyLocation', 'JointStyle', 'InvalidSWFError',
     373            'InterpolationMethod', 'InteractiveObject', 'IllegalOperationError',
     374            'IOErrorEvent', 'IOError', 'IMEEvent', 'IMEConversionMode', 'IME',
     375            'IExternalizable', 'IEventDispatcher', 'IDynamicPropertyWriter',
     376            'IDynamicPropertyOutput', 'IDataOutput', 'IDataInput', 'ID3Info',
     377            'IBitmapDrawable', 'HTTPStatusEvent', 'GridFitType', 'Graphics',
     378            'GradientType', 'GradientGlowFilter', 'GradientBevelFilter',
     379            'GlowFilter', 'Function', 'FrameLabel', 'FontType', 'FontStyle',
     380            'Font', 'FocusEvent', 'FileReferenceList', 'FileReference',
     381            'FileFilter', 'ExternalInterface', 'EventPhase', 'EventDispatcher',
     382            'Event', 'EvalError', 'ErrorEvent', 'Error', 'Endian', 'EOFError',
     383            'DropShadowFilter', 'DisplayObjectContainer', 'DisplayObject',
     384            'DisplacementMapFilterMode', 'DisplacementMapFilter', 'Dictionary',
     385            'DefinitionError', 'Date', 'DataEvent', 'ConvolutionFilter',
     386            'ContextMenuItem', 'ContextMenuEvent', 'ContextMenuBuiltInItems',
     387            'ContextMenu', 'ColorTransform', 'ColorMatrixFilter', 'Class',
     388            'CapsStyle', 'Capabilities', 'Camera', 'CSMSettings', 'ByteArray',
     389            'Boolean', 'BlurFilter', 'BlendMode', 'BitmapFilterType',
     390            'BitmapFilterQuality', 'BitmapFilter', 'BitmapDataChannel',
     391            'BitmapData', 'Bitmap', 'BevelFilter', 'AsyncErrorEvent', 'Array',
     392            'ArgumentError', 'ApplicationDomain', 'AntiAliasType',
     393            'ActivityEvent', 'ActionScriptVersion', 'AccessibilityProperties',
     394            'Accessibility', 'AVM1Movie'
    387395            )
    388396        ),
    389397    'SYMBOLS' => array(
    390         '(', ')', '[', ']', '{', '}', '!', '%', '&', '*', '|', '/', '<', '>', '^', '-', '+', '~', '?', ':'
     398        '(', ')', '[', ']', '{', '}', '!', '%', '&', '*', '|', '/', '<', '>', '^', '-', '+', '~', '?', ':', ';', '.', ','
    391399        ),
    392400    'CASE_SENSITIVE' => array(
     
    413421            ),
    414422        'COMMENTS' => array(
    415             1 => 'color: #009900;',
     423            1 => 'color: #009900; font-style: italic;',
     424            2 => 'color: #009966; font-style: italic;',
    416425            'MULTI' => 'color: #3f5fbf;'
    417426            ),
     
    432441            ),
    433442        'SYMBOLS' => array(
    434             0 => 'color: #000000; font-weight: bold;'
     443            0 => 'color: #000066; font-weight: bold;'
    435444            ),
    436445        'REGEXPS' => array(
     
    444453        3 => '',
    445454        4 => '',
    446         5 => 'http://www.google.com/search?q={FNAMEL}%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:{FNAMEL}.html&amp;filter=0&amp;num=100&amp;btnI=lucky',
     455        5 => 'http://www.google.com/search?q={FNAMEL}%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:{FNAMEL}.html',
    447456        6 => '',
    448457        7 => '',
  • _plugins_/coloration_code/spip-2.0/geshi/geshi/ada.php

    r22331 r34135  
    55 * Author: Tux (tux@inmail.cz)
    66 * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
    7  * Release Version: 1\.0\.8
     7 * Release Version: 1.0.8.6
    88 * Date Started: 2004/07/29
    99 *
     
    5858            ),
    5959        2 => array(
    60             'abs', 'and', 'mod', 'not', 'or', 'rem', 'xor'
     60            'abs', 'and', 'at', 'mod', 'not', 'or', 'rem', 'xor'
    6161            ),
    6262        3 => array(
    63             'abort', 'abstract', 'accept', 'access', 'aliased', 'all', 'array', 'at', 'body',
    64             'constant', 'delay', 'delta', 'digits', 'entry', 'exit',
    65             'function', 'generic', 'in', 'limited', 'new', 'null', 'of', 'others', 'out', 'package', 'pragma',
    66             'private', 'procedure', 'protected', 'raise', 'range', 'record', 'renames', 'requeue', 'reverse',
    67             'separate', 'subtype', 'tagged', 'task', 'terminate', 'type', 'use', 'when', 'with'
     63            'abort', 'abstract', 'accept', 'access', 'aliased', 'all', 'array',
     64            'body', 'constant', 'delay', 'delta', 'digits', 'entry', 'exit',
     65            'function', 'generic', 'in', 'interface', 'limited', 'new', 'null',
     66            'of', 'others', 'out', 'overriding', 'package', 'pragma', 'private',
     67            'procedure', 'protected', 'raise', 'range', 'record', 'renames',
     68            'requeue', 'reverse', 'separate', 'subtype', 'synchronized',
     69            'tagged', 'task', 'terminate', 'type', 'use', 'when', 'with'
    6870            )
    6971        ),
  • _plugins_/coloration_code/spip-2.0/geshi/geshi/apache.php

    r22331 r34135  
    55 * Author: Tux (tux@inmail.cz)
    66 * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
    7  * Release Version: 1\.0\.8
     7 * Release Version: 1.0.8.6
    88 * Date Started: 2004/29/07
    99 *
     
    5858        /*keywords*/
    5959        1 => array(
    60             'accessconfig','accessfilename','action','addalt',
    61             'addaltbyencoding','addaltbytype','addcharset',
    62             'adddefaultcharset','adddescription',
    63             'addencoding','addhandler','addicon','addiconbyencoding',
    64             'addiconbytype','addlanguage','addmodule','addmoduleinfo',
    65             'addtype','agentlog','alias','aliasmatch',
    66             'allow','allowconnect','allowoverride','anonymous',
    67             'anonymous_authoritative','anonymous_logemail','anonymous_mustgiveemail',
    68             'anonymous_nouserid','anonymous_verifyemail','authauthoritative',
    69             'authdbauthoritative','authdbgroupfile','authdbmauthoritative',
    70             'authdbmgroupfile','authdbuserfile','authdbmuserfile',
    71             'authdigestfile','authgroupfile','authname','authtype',
    72             'authuserfile','bindaddress','browsermatch','browsermatchnocase',
    73             'bs2000account','cachedefaultexpire','cachedirlength','cachedirlevels',
    74             'cacheforcecompletion','cachegcinterval','cachelastmodifiedfactor','cachemaxexpire',
    75             'cachenegotiateddocs','cacheroot','cachesize','checkspelling',
    76             'clearmodulelist','contentdigest','cookieexpires','cookielog',
    77             'cookietracking','coredumpdirectory','customlog',
    78             'defaulticon','defaultlanguage','defaulttype','define',
    79             'deny','directory','directorymatch','directoryindex',
    80             'documentroot','errordocument','errorlog','example',
    81             'expiresactive','expiresbytype','expiresdefault','extendedstatus',
    82             'fancyindexing','files','filesmatch','forcetype',
    83             'group','header','headername','hostnamelookups',
    84             'identitycheck','ifdefine','ifmodule','imapbase',
    85             'imapdefault','imapmenu','include','indexignore','indexorderdefault',
    86             'indexoptions','keepalive','keepalivetimeout','languagepriority',
    87             'limit','limitexcept','limitrequestbody','limitrequestfields',
    88             'limitrequestfieldsize','limitrequestline','listen','listenbacklog',
    89             'loadfile','loadmodule','location','locationmatch',
    90             'lockfile','logformat','loglevel','maxclients',
    91             'maxkeepaliverequests','maxrequestsperchild','maxspareservers','metadir',
    92             'metafiles','metasuffix','mimemagicfile','minspareservers',
    93             'mmapfile','namevirtualhost','nocache','options','order',
    94             'passenv','php_admin_value','php_admin_flag','php_value','pidfile','port','proxyblock','proxydomain',
    95             'proxypass','proxypassreverse','proxyreceivebuffersize','proxyremote',
    96             'proxyrequests','proxyvia','qsc','readmename',
    97             'redirect','redirectmatch','redirectpermanent','redirecttemp',
    98             'refererignore','refererlog','removehandler','require',
    99             'resourceconfig','rewritebase','rewritecond','rewriteengine',
    100             'rewritelock','rewritelog','rewriteloglevel','rewritemap',
    101             'rewriteoptions','rewriterule','rlimitcpu','rlimitmem',
    102             'rlimitnproc','satisfy','scoreboardfile','script',
    103             'scriptalias','scriptaliasmatch','scriptinterpretersource','scriptlog',
    104             'scriptlogbuffer','scriptloglength','sendbuffersize',
    105             'serveradmin','serveralias','servername','serverpath',
    106             'serverroot','serversignature','servertokens','servertype',
    107             'setenv','setenvif','setenvifnocase','sethandler',
    108             'singlelisten','startservers','threadsperchild','timeout',
    109             'transferlog','typesconfig','unsetenv','usecanonicalname',
    110             'user','userdir','virtualhost','virtualdocumentroot',
    111             'virtualdocumentrootip','virtualscriptalias','virtualscriptaliasip',
    112             'xbithack','from','all'
     60            //core.c
     61            'AcceptFilter','AcceptPathInfo','AccessConfig','AccessFileName',
     62            'AddDefaultCharset','AddOutputFilterByType','AllowEncodedSlashes',
     63            'AllowOverride','AuthName','AuthType','ContentDigest',
     64            'CoreDumpDirectory','DefaultType','DocumentRoot','EnableMMAP',
     65            'EnableSendfile','ErrorDocument','ErrorLog','FileETag','ForceType',
     66            'HostnameLookups','Include','LimitInternalRecursion',
     67            'LimitRequestBody','LimitRequestFields','LimitRequestFieldsize',
     68            'LimitRequestLine','LimitXMLRequestBody','LogLevel','MaxMemFree',
     69            'MaxRequestsPerChild','NameVirtualHost','Options','PidFile','Port',
     70            'Protocol','Require','RLimitCPU','RLimitMEM','RLimitNPROC',
     71            'Satisfy','ScoreBoardFile','ServerAdmin','ServerAlias','ServerName',
     72            'ServerPath','ServerRoot','ServerSignature','ServerTokens',
     73            'SetHandler','SetInputFilter','SetOutputFilter','ThreadStackSize',
     74            'Timeout','TraceEnable','UseCanonicalName',
     75            'UseCanonicalPhysicalPort',
     76
     77            //http_core.c
     78            'KeepAlive','KeepAliveTimeout','MaxKeepAliveRequests',
     79
     80            //mod_actions.c
     81            'Action','Script',
     82
     83            //mod_alias.c
     84            'Alias','AliasMatch','Redirect','RedirectMatch','RedirectPermanent',
     85            'RedirectTemp','ScriptAlias','ScriptAliasMatch',
     86
     87            //mod_asis.c
     88
     89            //mod_auth_basic.c
     90            'AuthBasicAuthoritative','AuthBasicProvider',
     91
     92            //mod_auth_digest.c
     93            'AuthDigestAlgorithm','AuthDigestDomain','AuthDigestNcCheck',
     94            'AuthDigestNonceFormat','AuthDigestNonceLifetime',
     95            'AuthDigestProvider','AuthDigestQop','AuthDigestShmemSize',
     96
     97            //mod_authn_alias.c
     98
     99            //mod_authn_anon.c
     100            'Anonymous','Anonymous_LogEmail','Anonymous_MustGiveEmail',
     101            'Anonymous_NoUserId','Anonymous_VerifyEmail',
     102
     103            //mod_authn_dbd.c
     104            'AuthDBDUserPWQuery','AuthDBDUserRealmQuery',
     105
     106            //mod_authn_dbm.c
     107            'AuthDBMType','AuthDBMUserFile',
     108
     109            //mod_authn_default.c
     110            'AuthDefaultAuthoritative',
     111
     112            //mod_authn_file.c
     113            'AuthUserFile',
     114
     115            //mod_authnz_ldap.c
     116            'AuthLDAPBindDN','AuthLDAPBindPassword','AuthLDAPCharsetConfig',
     117            'AuthLDAPCompareDNOnServer','AuthLDAPDereferenceAliases',
     118            'AuthLDAPGroupAttribute','AuthLDAPGroupAttributeIsDN',
     119            'AuthLDAPRemoteUserAttribute','AuthLDAPRemoteUserIsDN',
     120            'AuthLDAPURL','AuthzLDAPAuthoritative',
     121
     122            //mod_authz_dbm.c
     123            'AuthDBMGroupFile','AuthzDBMAuthoritative','AuthzDBMType',
     124
     125            //mod_authz_default.c
     126            'AuthzDefaultAuthoritative',
     127
     128            //mod_authz_groupfile.c
     129            'AuthGroupFile','AuthzGroupFileAuthoritative',
     130
     131            //mod_authz_host.c
     132            'Allow','Deny','Order',
     133
     134            //mod_authz_owner.c
     135            'AuthzOwnerAuthoritative',
     136
     137            //mod_authz_svn.c
     138            'AuthzForceUsernameCase','AuthzSVNAccessFile','AuthzSVNAnonymous',
     139            'AuthzSVNAuthoritative','AuthzSVNNoAuthWhenAnonymousAllowed',
     140
     141            //mod_authz_user.c
     142            'AuthzUserAuthoritative',
     143
     144            //mod_autoindex.c
     145            'AddAlt','AddAltByEncoding','AddAltByType','AddDescription',
     146            'AddIcon','AddIconByEncoding','AddIconByType','DefaultIcon',
     147            'FancyIndexing','HeaderName','IndexHeadInsert','IndexIgnore',
     148            'IndexOptions','IndexOrderDefault','IndexStyleSheet','ReadmeName',
     149
     150            //mod_bt.c
     151            'Tracker','TrackerDetailURL','TrackerFlags','TrackerHashMaxAge',
     152            'TrackerHashMinAge','TrackerHashWatermark','TrackerHome',
     153            'TrackerReturnInterval','TrackerReturnMax',
     154            'TrackerReturnPeerFactor','TrackerReturnPeers','TrackerRootInclude',
     155            'TrackerStyleSheet',
     156
     157            //mod_bw.c
     158            'BandWidth','BandWidthError','BandWidthModule','BandWidthPacket',
     159            'ForceBandWidthModule','LargeFileLimit','MaxConnection',
     160            'MinBandWidth',
     161
     162            //mod_cache.c
     163            'CacheDefaultExpire','CacheDisable','CacheEnable',
     164            'CacheIgnoreCacheControl','CacheIgnoreHeaders',
     165            'CacheIgnoreNoLastMod','CacheIgnoreQueryString',
     166            'CacheLastModifiedFactor','CacheMaxExpire','CacheStoreNoStore',
     167            'CacheStorePrivate',
     168
     169            //mod_cern_meta.c
     170            'MetaDir','MetaFiles','MetaSuffix',
     171
     172            //mod_cgi.c
     173            'ScriptLog','ScriptLogBuffer','ScriptLogLength',
     174
     175            //mod_charset_lite.c
     176            'CharsetDefault','CharsetOptions','CharsetSourceEnc',
     177
     178            //mod_dav.c
     179            'DAV','DAVDepthInfinity','DAVMinTimeout',
     180
     181            //mod_dav_fs.c
     182            'DAVLockDB',
     183
     184            //mod_dav_lock.c
     185            'DAVGenericLockDB',
     186
     187            //mod_dav_svn.c
     188            'SVNActivitiesDB','SVNAllowBulkUpdates','SVNAutoversioning',
     189            'SVNIndexXSLT','SVNListParentPath','SVNMasterURI','SVNParentPath',
     190            'SVNPath','SVNPathAuthz','SVNReposName','SVNSpecialURI',
     191
     192            //mod_dbd.c
     193            'DBDExptime','DBDKeep','DBDMax','DBDMin','DBDParams','DBDPersist',
     194            'DBDPrepareSQL','DBDriver',
     195
     196            //mod_deflate.c
     197            'DeflateBufferSize','DeflateCompressionLevel','DeflateFilterNote',
     198            'DeflateMemLevel','DeflateWindowSize',
     199
     200            //mod_dir.c
     201            'DirectoryIndex','DirectorySlash',
     202
     203            //mod_disk_cache.c
     204            'CacheDirLength','CacheDirLevels','CacheMaxFileSize',
     205            'CacheMinFileSize','CacheRoot',
     206
     207            //mod_dumpio.c
     208            'DumpIOInput','DumpIOLogLevel','DumpIOOutput',
     209
     210            //mod_env.c
     211            'PassEnv','SetEnv','UnsetEnv',
     212
     213            //mod_expires.c
     214            'ExpiresActive','ExpiresByType','ExpiresDefault',
     215
     216            //mod_ext_filter.c
     217            'ExtFilterDefine','ExtFilterOptions',
     218
     219            //mod_file_cache.c
     220            'cachefile','mmapfile',
     221
     222            //mod_filter.c
     223            'FilterChain','FilterDeclare','FilterProtocol','FilterProvider',
     224            'FilterTrace',
     225
     226            //mod_gnutls.c
     227            'GnuTLSCache','GnuTLSCacheTimeout','GnuTLSCertificateFile',
     228            'GnuTLSKeyFile','GnuTLSPGPCertificateFile','GnuTLSPGPKeyFile',
     229            'GnuTLSClientVerify','GnuTLSClientCAFile','GnuTLSPGPKeyringFile',
     230            'GnuTLSEnable','GnuTLSDHFile','GnuTLSRSAFile','GnuTLSSRPPasswdFile',
     231            'GnuTLSSRPPasswdConfFile','GnuTLSPriorities',
     232            'GnuTLSExportCertificates',
     233
     234            //mod_headers.c
     235            'Header','RequestHeader',
     236
     237            //mod_imagemap.c
     238            'ImapBase','ImapDefault','ImapMenu',
     239
     240            //mod_include.c
     241            'SSIAccessEnable','SSIEndTag','SSIErrorMsg','SSIStartTag',
     242            'SSITimeFormat','SSIUndefinedEcho','XBitHack',
     243
     244            //mod_ident.c
     245            'IdentityCheck','IdentityCheckTimeout',
     246
     247            //mod_info.c
     248            'AddModuleInfo',
     249
     250            //mod_isapi.c
     251            'ISAPIAppendLogToErrors','ISAPIAppendLogToQuery','ISAPICacheFile',
     252            'ISAPIFakeAsync','ISAPILogNotSupported','ISAPIReadAheadBuffer',
     253
     254            //mod_log_config.c
     255            'BufferedLogs','CookieLog','CustomLog','LogFormat','TransferLog',
     256
     257            //mod_log_forensic.c
     258            'ForensicLog',
     259
     260            //mod_log_rotate.c
     261            'RotateInterval','RotateLogs','RotateLogsLocalTime',
     262
     263            //mod_logio.c
     264
     265            //mod_mem_cache.c
     266            'MCacheMaxObjectCount','MCacheMaxObjectSize',
     267            'MCacheMaxStreamingBuffer','MCacheMinObjectSize',
     268            'MCacheRemovalAlgorithm','MCacheSize',
     269
     270            //mod_mime.c
     271            'AddCharset','AddEncoding','AddHandler','AddInputFilter',
     272            'AddLanguage','AddOutputFilter','AddType','DefaultLanguage',
     273            'ModMimeUsePathInfo','MultiviewsMatch','RemoveCharset',
     274            'RemoveEncoding','RemoveHandler','RemoveInputFilter',
     275            'RemoveLanguage','RemoveOutputFilter','RemoveType','TypesConfig',
     276
     277            //mod_mime_magic.c
     278            'MimeMagicFile',
     279
     280            //mod_negotiation.c
     281            'CacheNegotiatedDocs','ForceLanguagePriority','LanguagePriority',
     282
     283            //mod_php5.c
     284            'php_admin_flag','php_admin_value','php_flag','php_value',
     285            'PHPINIDir',
     286
     287            //mod_proxy.c
     288            'AllowCONNECT','BalancerMember','NoProxy','ProxyBadHeader',
     289            'ProxyBlock','ProxyDomain','ProxyErrorOverride',
     290            'ProxyFtpDirCharset','ProxyIOBufferSize','ProxyMaxForwards',
     291            'ProxyPass','ProxyPassInterpolateEnv','ProxyPassMatch',
     292            'ProxyPassReverse','ProxyPassReverseCookieDomain',
     293            'ProxyPassReverseCookiePath','ProxyPreserveHost',
     294            'ProxyReceiveBufferSize','ProxyRemote','ProxyRemoteMatch',
     295            'ProxyRequests','ProxySet','ProxyStatus','ProxyTimeout','ProxyVia',
     296
     297            //mod_proxy_ajp.c
     298
     299            //mod_proxy_balancer.c
     300
     301            //mod_proxy_connect.c
     302
     303            //mod_proxy_ftp.c
     304
     305            //mod_proxy_http.c
     306
     307            //mod_rewrite.c
     308            'RewriteBase','RewriteCond','RewriteEngine','RewriteLock',
     309            'RewriteLog','RewriteLogLevel','RewriteMap','RewriteOptions',
     310            'RewriteRule',
     311
     312            //mod_setenvif.c
     313            'BrowserMatch','BrowserMatchNoCase','SetEnvIf','SetEnvIfNoCase',
     314
     315            //mod_so.c
     316            'LoadFile','LoadModule',
     317
     318            //mod_speling.c
     319            'CheckCaseOnly','CheckSpelling',
     320
     321            //mod_ssl.c
     322            'SSLCACertificateFile','SSLCACertificatePath','SSLCADNRequestFile',
     323            'SSLCADNRequestPath','SSLCARevocationFile','SSLCARevocationPath',
     324            'SSLCertificateChainFile','SSLCertificateFile',
     325            'SSLCertificateKeyFile','SSLCipherSuite','SSLCryptoDevice',
     326            'SSLEngine','SSLHonorCipherOrder','SSLMutex','SSLOptions',
     327            'SSLPassPhraseDialog','SSLProtocol','SSLProxyCACertificateFile',
     328            'SSLProxyCACertificatePath','SSLProxyCARevocationFile',
     329            'SSLProxyCARevocationPath','SSLProxyCipherSuite','SSLProxyEngine',
     330            'SSLProxyMachineCertificateFile','SSLProxyMachineCertificatePath',
     331            'SSLProxyProtocol','SSLProxyVerify','SSLProxyVerifyDepth',
     332            'SSLRandomSeed','SSLRenegBufferSize','SSLRequire','SSLRequireSSL',
     333            'SSLSessionCache','SSLSessionCacheTimeout','SSLUserName',
     334            'SSLVerifyClient','SSLVerifyDepth',
     335
     336            //mod_status.c
     337            'ExtendedStatus','SeeRequestTail',
     338
     339            //mod_substitute.c
     340            'Substitute',
     341
     342            //mod_suexec.c
     343            'SuexecUserGroup',
     344
     345            //mod_unique_id.c
     346
     347            //mod_userdir.c
     348            'UserDir',
     349
     350            //mod_usertrack.c
     351            'CookieDomain','CookieExpires','CookieName','CookieStyle',
     352            'CookieTracking',
     353
     354            //mod_version.c
     355
     356            //mod_vhost_alias.c
     357            'VirtualDocumentRoot','VirtualDocumentRootIP',
     358            'VirtualScriptAlias','VirtualScriptAliasIP',
     359
     360            //mod_view.c
     361            'ViewEnable',
     362
     363            //mod_win32.c
     364            'ScriptInterpreterSource',
     365
     366            //mpm_winnt.c
     367            'Listen','ListenBacklog','ReceiveBufferSize','SendBufferSize',
     368            'ThreadLimit','ThreadsPerChild','Win32DisableAcceptEx',
     369
     370            //mpm_common.c
     371            'AcceptMutex','AddModule','ClearModuleList','EnableExceptionHook',
     372            'Group','LockFile','MaxClients','MaxSpareServers','MaxSpareThreads',
     373            'MinSpareServers','MinSpareThreads','ServerLimit','StartServers',
     374            'StartThreads','User',
     375
     376            //util_ldap.c
     377            'LDAPCacheEntries','LDAPCacheTTL','LDAPConnectionTimeout',
     378            'LDAPOpCacheEntries','LDAPOpCacheTTL','LDAPSharedCacheFile',
     379            'LDAPSharedCacheSize','LDAPTrustedClientCert',
     380            'LDAPTrustedGlobalCert','LDAPTrustedMode','LDAPVerifyServerCert',
     381
     382            //Unknown Mods ...
     383            'AgentLog','BindAddress','bs2000account','CacheForceCompletion',
     384            'CacheGCInterval','CacheSize','NoCache','qsc','RefererIgnore',
     385            'RefererLog','Resourceconfig','ServerType','SingleListen'
    113386            ),
    114387        /*keywords 2*/
    115388        2 => array(
    116             'on','off','standalone','inetd','indexes',
     389            'all','on','off','standalone','inetd','indexes',
    117390            'force-response-1.0','downgrade-1.0','nokeepalive',
    118             'ndexes','includes','followsymlinks','none',
     391            'includes','followsymlinks','none',
    119392            'x-compress','x-gzip'
    120393        ),
    121394        /*keywords 3*/
    122395        3 => array(
    123             'Directory',
    124             'DirectoryMatch',
    125             'Files',
    126             'FilesMatch',
    127             'IfDefine',
    128             'IfModule',
    129             'IfVersion',
    130             'Location',
    131             'LocationMatch',
    132             'Proxy',
    133             'ProxyMatch',
    134             'VirtualHost'
     396            //core.c
     397            'Directory','DirectoryMatch','Files','FilesMatch','IfDefine',
     398            'IfModule','Limit','LimitExcept','Location','LocationMatch',
     399            'VirtualHost',
     400
     401            //mod_authn_alias.c
     402            'AuthnProviderAlias',
     403
     404            //mod_proxy.c
     405            'Proxy','ProxyMatch',
     406
     407            //mod_version.c
     408            'IfVersion'
    135409        )
    136410    ),
  • _plugins_/coloration_code/spip-2.0/geshi/geshi/applescript.php

    r22331 r34135  
    55 * Author: Stephan Klimek (http://www.initware.org)
    66 * Copyright: Stephan Klimek (http://www.initware.org)
    7  * Release Version: 1\.0\.8
     7 * Release Version: 1.0.8.6
    88 * Date Started: 2005/07/20
    99 *
     
    5252    'KEYWORDS' => array(
    5353        1 => array(
     54            'application','close','count','delete','duplicate','exists','launch','make','move','open',
     55            'print','quit','reopen','run','save','saving', 'idle', 'path to', 'number', 'alias', 'list', 'text', 'string',
     56            'integer', 'it','me','version','pi','result','space','tab','anything','case','diacriticals','expansion',
     57            'hyphens','punctuation','bold','condensed','expanded','hidden','italic','outline','plain',
     58            'shadow','strikethrough','subscript','superscript','underline','ask','no','yes','false', 'id',
     59            'true','weekday','monday','mon','tuesday','tue','wednesday','wed','thursday','thu','friday',
     60            'fri','saturday','sat','sunday','sun','month','january','jan','february','feb','march',
     61            'mar','april','apr','may','june','jun','july','jul','august','aug','september', 'quote', 'do JavaScript',
     62            'sep','october','oct','november','nov','december','dec','minutes','hours', 'name', 'default answer',
     63            'days','weeks', 'folder', 'folders', 'file', 'files', 'window', 'eject', 'disk', 'reveal', 'sleep',
     64            'shut down', 'restart', 'display dialog', 'buttons', 'invisibles', 'item', 'items', 'delimiters', 'offset of',
     65            'AppleScript\'s', 'choose file', 'choose folder', 'choose from list', 'beep', 'contents', 'do shell script',
     66            'paragraph', 'paragraphs', 'missing value', 'quoted form', 'desktop', 'POSIX path', 'POSIX file',
     67            'activate', 'document', 'adding', 'receiving', 'content', 'new', 'properties', 'info for', 'bounds',
     68            'selection', 'extension', 'into', 'onto', 'by', 'between', 'against', 'set the clipboard to', 'the clipboard'
     69            ),
     70        2 => array(
     71            'each','some','every','whose','where','index','first','second','third','fourth',
     72            'fifth','sixth','seventh','eighth','ninth','tenth','last','front','back','st','nd',
     73            'rd','th','middle','named','through','thru','before','after','beginning','the', 'as',
     74            'div','mod','and','not','or','contains','equal','equals','isnt', 'less', 'greater'
     75            ),
     76        3 => array(
    5477            'script','property','prop','end','to','set','global','local','on','of',
    5578            'in','given','with','without','return','continue','tell','if','then','else','repeat',
    5679            'times','while','until','from','exit','try','error','considering','ignoring','timeout',
    57             'transaction','my','get','put','into','is'
    58             ),
    59         2 => array(
    60             'each','some','every','whose','where','id','index','first','second','third','fourth',
    61             'fifth','sixth','seventh','eighth','ninth','tenth','last','front','back','st','nd',
    62             'rd','th','middle','named','through','thru','before','after','beginning','the'
    63             ),
    64         3 => array(
    65             'close','copy','count','delete','duplicate','exists','launch','make','move','open',
    66             'print','quit','reopen','run','save','saving',
    67             'it','me','version','pi','result','space','tab','anything','case','diacriticals','expansion',
    68             'hyphens','punctuation','bold','condensed','expanded','hidden','italic','outline','plain',
    69             'shadow','strikethrough','subscript','superscript','underline','ask','no','yes','false',
    70             'true','weekday','monday','mon','tuesday','tue','wednesday','wed','thursday','thu','friday',
    71             'fri','saturday','sat','sunday','sun','month','january','jan','february','feb','march',
    72             'mar','april','apr','may','june','jun','july','jul','august','aug','september',
    73             'sep','october','oct','november','nov','december','dec','minutes','hours',
    74             'days','weeks','div','mod','and','not','or','as','contains','equal','equals','isnt'
     80            'transaction','my','get','put','is', 'copy'
    7581            )
    7682        ),
     
    8692    'STYLES' => array(
    8793        'KEYWORDS' => array(
    88             1 => 'color: #b1b100;',
    89             2 => 'color: #000000; font-weight: bold;',
    90             3 => 'color: #000066;'
     94            1 => 'color: #0066ff;',
     95            2 => 'color: #ff0033;',
     96            3 => 'color: #ff0033; font-weight: bold;'
    9197            ),
    9298        'COMMENTS' => array(
     
    97103            ),
    98104        'ESCAPE_CHAR' => array(
    99             0 => 'color: #000099; font-weight: bold;'
     105            0 => 'color: #000000; font-weight: bold;'
    100106            ),
    101107        'BRACKETS' => array(
    102             0 => 'color: #66cc66;'
     108            0 => 'color: #000000;'
    103109            ),
    104110        'STRINGS' => array(
    105             0 => 'color: #ff0000;'
     111            0 => 'color: #009900;'
    106112            ),
    107113        'NUMBERS' => array(
    108             0 => 'color: #cc66cc;'
     114            0 => 'color: #000000;'
    109115            ),
    110116        'METHODS' => array(
     
    113119            ),
    114120        'SYMBOLS' => array(
    115             0 => 'color: #66cc66;'
     121            0 => 'color: #000000;'
    116122            ),
    117123        'REGEXPS' => array(
    118             0 => 'color: #0000ff;',
    119             4 => 'color: #009999;',
     124            0 => 'color: #339933;',
     125            4 => 'color: #0066ff;',
    120126            ),
    121127        'SCRIPT' => array(
     
    141147        ),
    142148    'HIGHLIGHT_STRICT_BLOCK' => array(
     149        ),
     150    'PARSER_CONTROL' => array(
     151        'KEYWORDS' => array(
     152            'SPACE_AS_WHITESPACE' => true
     153            )
    143154        )
    144155);
  • _plugins_/coloration_code/spip-2.0/geshi/geshi/apt_sources.php

    r22332 r34135  
    55 * Author: Milian Wolff (mail@milianw.de)
    66 * Copyright: (c) 2008 Milian Wolff (http://milianw.de)
    7  * Release Version: 1.0.8
     7 * Release Version: 1.0.8.6
    88 * Date Started: 2008/06/17
    99 *
     
    5252            'unstable', 'unstable-proposed-updates', 'experimental',
    5353            'non-US', 'security', 'volatile', 'volatile-sloppy',
    54             'main', 'restricted', 'preview', 'apt-build',
     54            'apt-build',
     55            'stable/updates',
    5556            //Debian
    5657            'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato', 'woody', 'sarge',
     
    6566            'gutsy', 'gutsy-updates', 'gutsy-security', 'gutsy-proposed', 'gutsy-backports',
    6667            'hardy', 'hardy-updates', 'hardy-security', 'hardy-proposed', 'hardy-backports',
    67             'intrepid', 'intrepid-updates', 'intrepid-security', 'intrepid-proposed', 'intrepid-backports',
     68            'intrepid', 'intrepid-updates', 'intrepid-security', 'intrepid-proposed', 'intrepid-backports'
     69            ),
     70        3 => array(
     71            'main', 'restricted', 'preview', 'contrib', 'non-free',
    6872            'commercial', 'universe', 'multiverse'
    69             ),
     73            )
    7074    ),
    7175    'REGEXPS' => array(
     
    7781        GESHI_COMMENTS => false,
    7882        1 => false,
    79         2 => false
     83        2 => true,
     84        3 => true
    8085        ),
    8186    'STYLES' => array(
    8287        'KEYWORDS' => array(
    8388            1 => 'color: #00007f;',
    84             2 => 'color: #b1b100;'
     89            2 => 'color: #b1b100;',
     90            3 => 'color: #b16000;'
    8591            ),
    8692        'COMMENTS' => array(
     
    107113    'URLS' => array(
    108114        1 => '',
    109         2 => ''
     115        2 => '',
     116        3 => ''
    110117        ),
    111118    'OOLANG' => false,
  • _plugins_/coloration_code/spip-2.0/geshi/geshi/asm.php

    r22331 r34135  
    55 * Author: Tux (tux@inmail.cz)
    66 * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
    7  * Release Version: 1\.0\.8
     7 * Release Version: 1.0.8.6
    88 * Date Started: 2004/07/27
    99 *
  • _plugins_/coloration_code/spip-2.0/geshi/geshi/asp.php

    r22331 r34135  
    55 * Author: Amit Gupta (http://blog.igeek.info/)
    66 * Copyright: (c) 2004 Amit Gupta (http://blog.igeek.info/), Nigel McNie (http://qbnz.com/highlighter)
    7  * Release Version: 1\.0\.8
     7 * Release Version: 1.0.8.6
    88 * Date Started: 2004/08/13
    99 *
     
    5454    'KEYWORDS' => array(
    5555        1 => array(
    56             'include', 'file', 'Dim', 'Option', 'Explicit', 'Implicit', 'Set', 'Select', 'ReDim', 'Preserve',
     56            'include', 'file', 'Const', 'Dim', 'Option', 'Explicit', 'Implicit', 'Set', 'Select', 'ReDim', 'Preserve',
    5757            'ByVal', 'ByRef', 'End', 'Private', 'Public', 'If', 'Then', 'Else', 'ElseIf', 'Case', 'With', 'NOT',
    5858            'While', 'Wend', 'For', 'Loop', 'Do', 'Request', 'Response', 'Server', 'ADODB', 'Session', 'Application',
     
    6363        2 => array(
    6464            'Null', 'Nothing', 'And',
    65             'False', '&lt;%', '%&gt;',
    66             '&lt;script language=', '&lt;/script&gt;',
    67             'True', 'var', 'Or', 'BOF', 'EOF',
     65            'False',
     66            'True', 'var', 'Or', 'BOF', 'EOF', 'xor',
    6867            'Function', 'Class', 'New', 'Sub'
    6968            ),
     
    7978        ),
    8079    'SYMBOLS' => array(
    81         '(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>',
    82         ';', ':', '?', '='
     80        1 => array(
     81            '<%', '%>'
     82            ),
     83        0 => array(
     84            '(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>',
     85            ';', ':', '?', '='),
    8386        ),
    8487    'CASE_SENSITIVE' => array(
     
    103106            ),
    104107        'BRACKETS' => array(
    105             0 => 'color: #006600; font-weight:bold'
     108            0 => 'color: #006600; font-weight:bold;'
    106109            ),
    107110        'STRINGS' => array(
     
    115118            ),
    116119        'SYMBOLS' => array(
    117             0 => 'color: #006600; font-weight: bold'
     120            0 => 'color: #006600; font-weight: bold;',
     121            1 => 'color: #000000; font-weight: bold;'
    118122            ),
    119123        'REGEXPS' => array(
     
    148152            '<script language="javascript" runat="server">' => '</script>'
    149153            ),
    150         3 => "/(<%=?)(?:\"[^\"]*?\"|\/\*(?!\*\/).*?\*\/|.)*?(%>|\Z)/sm"
     154        3 => "/(?P<start><%=?)(?:\"[^\"]*?\"|\/\*(?!\*\/).*?\*\/|.)*?(?P<end>%>|\Z)/sm"
    151155        ),
    152156    'HIGHLIGHT_STRICT_BLOCK' => array(
  • _plugins_/coloration_code/spip-2.0/geshi/geshi/autoit.php

    r22331 r34135  
    55 * Author: big_daddy (robert.i.anthony@gmail.com)
    66 * Copyright: (c) 2006 and to GESHi ;)
    7  * Release Version: 1\.0\.8
     7 * Release Version: 1.0.8.6
    88 * Date Started: 2006/01/26
    99 *
    1010 * AutoIT language file for GeSHi.
    1111 *
     12 * CHANGES
     13 * -------
     14 * Release 1.0.8.1 (2008/09/15)
     15 * - Updated on 22.03.2008 By Tlem (tlem@tuxolem.fr)
     16 * - The link on functions will now correctly re-direct to
     17 * - http://www.autoitscript.com/autoit3/docs/functions/{FNAME}.htm
     18 * - Updated whith au3.api (09.02.2008).
     19 * - Updated - 16 Mai 2008 - v3.2.12.0
     20 * - Updated - 12 June 2008 - v3.2.12.1
     21 * Release 1.0.7.20 (2006/01/26)
     22 * - First Release
     23 *
    1224 * Current bugs & todo:
    1325 * ----------
    14  * - dosn't highlight symbols (Please note that in 1.0.X these are not used. Hopefully they will be used in 1.2.X.)
    1526 * - not sure how to get sendkeys to work " {!}, {SPACE} etc... "
    16  * - jut copyied the regexp for variable from php so this HAVE to be checked and fixed to a better one ;)
     27 * - just copyied the regexp for variable from php so this HAVE to be checked and fixed to a better one ;)
    1728 *
    1829 * Reference: http://www.autoitscript.com/autoit3/docs/
     
    2334 *   GeSHi is free software; you can redistribute it and/or modify
    2435 *   it under the terms of the GNU General Public License as published by
    25  *   the Free Software Foundation; either version 2 of the License, or
     36 *   the Free Software Foundation; either version 2 of the License,
     37or
    2638 *   (at your option) any later version.
    2739 *
     
    3244 *
    3345 *   You should have received a copy of the GNU General Public License
    34  *   along with GeSHi; if not, write to the Free Software
    35  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
     46 *   along with GeSHi; if not,
     47write to the Free Software
     48 *   Foundation,
     49Inc.,
     5059 Temple Place,
     51Suite 330,
     52Boston,
     53MA  02111-1307  USA
    3654 *
    3755 ************************************************************************************/
     
    4563    'COMMENT_REGEXP' => array(0 => '/(?<!#)#(\s.*)?$/m'),
    4664    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
    47     'QUOTEMARKS' => array('"'),
     65    'QUOTEMARKS' => array("'", '"'),
    4866    'ESCAPE_CHAR' => '',
    4967    'KEYWORDS' => array(
    5068        1 => array(
    51             'and', 'byref', 'case', 'const',
    52             'continuecase', 'continueloop', 'default', 'dim', 'do',
    53             'else', 'elseif', 'endfunc', 'endif', 'endselect',
    54             'endswitch', 'endwith', 'enum', 'exit', 'exitloop',
    55             'false', 'for', 'func', 'global', 'if', 'in',
    56             'local', 'next', 'not', 'or', 'redim',
    57             'return', 'select', 'step', 'switch', 'then',
    58             'to', 'true', 'until', 'wend', 'while',
    59             'with'
     69            'And','ByRef','Case','Const','ContinueCase','ContinueLoop',
     70            'Default','Dim','Do','Else','ElseIf','EndFunc','EndIf','EndSelect',
     71            'EndSwitch','EndWith','Enum','Exit','ExitLoop','False','For','Func',
     72            'Global','If','In','Local','Next','Not','Or','ReDim','Return',
     73            'Select','Step','Switch','Then','To','True','Until','WEnd','While',
     74            'With'
    6075            ),
    6176        2 => array(
    62             '@appdatacommondir', '@appdatadir', '@autoitexe', '@autoitpid',
    63             '@autoitversion', '@com_eventobj', '@commonfilesdir', '@compiled',
    64             '@computername', '@comspec', '@cr', '@crlf', '@desktopcommondir',
    65             '@desktopdepth', '@desktopdir', '@desktopheight',
    66             '@desktoprefresh', '@desktopwidth', '@documentscommondir',
    67             '@error', '@exitcode', '@exitmethod', '@extended',
    68             '@favoritescommondir', '@favoritesdir', '@gui_ctrlhandle',
    69             '@gui_ctrlid', '@gui_dragfile', '@gui_dragid', '@gui_dropid',
    70             '@gui_winhandle', '@homedrive', '@homepath', '@homeshare',
    71             '@hotkeypressed', '@hour', '@inetgetactive', '@inetgetbytesread',
    72             '@ipaddress1', '@ipaddress2', '@ipaddress3', '@ipaddress4',
    73             '@kblayout', '@lf', '@logondnsdomain', '@logondomain',
    74             '@logonserver', '@mday', '@min', '@mon', '@mydocumentsdir',
    75             '@numparams', '@osbuild', '@oslang', '@osservicepack', '@ostype',
    76             '@osversion', '@processorarch', '@programfilesdir',
    77             '@programscommondir', '@programsdir', '@scriptdir',
    78             '@scriptfullpath', '@scriptlinenumber', '@scriptname', '@sec',
    79             '@startmenucommondir', '@startmenudir', '@startupcommondir',
    80             '@startupdir', '@sw_disable', '@sw_enable', '@sw_hide', '@sw_lock',
    81             '@sw_maximize', '@sw_minimize', '@sw_restore', '@sw_show',
    82             '@sw_showdefault', '@sw_showmaximized', '@sw_showminimized',
    83             '@sw_showminnoactive', '@sw_showna', '@sw_shownoactivate',
    84             '@sw_shownormal', '@sw_unlock', '@systemdir', '@tab', '@tempdir',
    85             '@tray_id', '@trayiconflashing', '@trayiconvisible', '@username',
    86             '@userprofiledir', '@wday', '@windowsdir', '@workingdir', '@yday',
    87             '@year'
     77            '@AppDataCommonDir','@AppDataDir','@AutoItExe','@AutoItPID',
     78            '@AutoItUnicode','@AutoItVersion','@AutoItX64','@COM_EventObj',
     79            '@CommonFilesDir','@Compiled','@ComputerName','@ComSpec','@CR',
     80            '@CRLF','@DesktopCommonDir','@DesktopDepth','@DesktopDir',
     81            '@DesktopHeight','@DesktopRefresh','@DesktopWidth',
     82            '@DocumentsCommonDir','@error','@exitCode','@exitMethod',
     83            '@extended','@FavoritesCommonDir','@FavoritesDir','@GUI_CtrlHandle',
     84            '@GUI_CtrlId','@GUI_DragFile','@GUI_DragId','@GUI_DropId',
     85            '@GUI_WinHandle','@HomeDrive','@HomePath','@HomeShare',
     86            '@HotKeyPressed','@HOUR','@InetGetActive','@InetGetBytesRead',
     87            '@IPAddress1','@IPAddress2','@IPAddress3','@IPAddress4','@KBLayout',
     88            '@LF','@LogonDNSDomain','@LogonDomain','@LogonServer','@MDAY',
     89            '@MIN','@MON','@MyDocumentsDir','@NumParams','@OSBuild','@OSLang',
     90            '@OSServicePack','@OSTYPE','@OSVersion','@ProcessorArch',
     91            '@ProgramFilesDir','@ProgramsCommonDir','@ProgramsDir','@ScriptDir',
     92            '@ScriptFullPath','@ScriptLineNumber','@ScriptName','@SEC',
     93            '@StartMenuCommonDir','@StartMenuDir','@StartupCommonDir',
     94            '@StartupDir','@SW_DISABLE','@SW_ENABLE','@SW_HIDE','@SW_LOCK',
     95            '@SW_MAXIMIZE','@SW_MINIMIZE','@SW_RESTORE','@SW_SHOW',
     96            '@SW_SHOWDEFAULT','@SW_SHOWMAXIMIZED','@SW_SHOWMINIMIZED',
     97            '@SW_SHOWMINNOACTIVE','@SW_SHOWNA','@SW_SHOWNOACTIVATE',
     98            '@SW_SHOWNORMAL','@SW_UNLOCK','@SystemDir','@TAB','@TempDir',
     99            '@TRAY_ID','@TrayIconFlashing','@TrayIconVisible','@UserName',
     100            '@UserProfileDir','@WDAY','@WindowsDir','@WorkingDir','@YDAY',
     101            '@YEAR'
    88102            ),
    89103        3 => array(
    90             'abs', 'acos', 'adlibdisable', 'adlibenable', 'asc', 'asin',
    91             'assign', 'atan', 'autoitsetoption', 'autoitwingettitle',
    92             'autoitwinsettitle', 'beep', 'binarystring', 'bitand', 'bitnot',
    93             'bitor', 'bitrotate', 'bitshift', 'bitxor', 'blockinput', 'break',
    94             'call', 'cdtray', 'ceiling', 'chr', 'clipget', 'clipput',
    95             'consoleread', 'consolewrite', 'consolewriteerror', 'controlclick',
    96             'controlcommand', 'controldisable', 'controlenable',
    97             'controlfocus', 'controlgetfocus', 'controlgethandle',
    98             'controlgetpos', 'controlgettext', 'controlhide',
    99             'controllistview', 'controlmove', 'controlsend', 'controlsettext',
    100             'controlshow', 'cos', 'dec', 'dircopy', 'dircreate', 'dirgetsize',
    101             'dirmove', 'dirremove', 'dllcall', 'dllclose', 'dllopen',
    102             'dllstructcreate', 'dllstructgetdata', 'dllstructgetptr',
    103             'dllstructgetsize', 'dllstructsetdata', 'drivegetdrive',
    104             'drivegetfilesystem', 'drivegetlabel', 'drivegetserial',
    105             'drivegettype', 'drivemapadd', 'drivemapdel', 'drivemapget',
    106             'drivesetlabel', 'drivespacefree', 'drivespacetotal',
    107             'drivestatus', 'envget', 'envset', 'envupdate', 'eval', 'execute',
    108             'exp', 'filechangedir', 'fileclose', 'filecopy',
    109             'filecreatentfslink', 'filecreateshortcut', 'filedelete',
    110             'fileexists', 'filefindfirstfile', 'filefindnextfile',
    111             'filegetattrib', 'filegetlongname', 'filegetshortcut',
    112             'filegetshortname', 'filegetsize', 'filegettime', 'filegetversion',
    113             'fileinstall', 'filemove', 'fileopen', 'fileopendialog',
    114             'fileread', 'filereadline', 'filerecycle', 'filerecycleempty',
    115             'filesavedialog', 'fileselectfolder', 'filesetattrib',
    116             'filesettime', 'filewrite', 'filewriteline', 'floor',
    117             'ftpsetproxy', 'guicreate', 'guictrlcreateavi',
    118             'guictrlcreatebutton', 'guictrlcreatecheckbox',
    119             'guictrlcreatecombo', 'guictrlcreatecontextmenu',
    120             'guictrlcreatedate', 'guictrlcreatedummy', 'guictrlcreateedit',
    121             'guictrlcreategraphic', 'guictrlcreategroup', 'guictrlcreateicon',
    122             'guictrlcreateinput', 'guictrlcreatelabel', 'guictrlcreatelist',
    123             'guictrlcreatelistview', 'guictrlcreatelistviewitem',
    124             'guictrlcreatemenu', 'guictrlcreatemenuitem',
    125             'guictrlcreatemonthcal', 'guictrlcreateobj', 'guictrlcreatepic',
    126             'guictrlcreateprogress', 'guictrlcreateradio',
    127             'guictrlcreateslider', 'guictrlcreatetab', 'guictrlcreatetabitem',
    128             'guictrlcreatetreeview', 'guictrlcreatetreeviewitem',
    129             'guictrlcreateupdown', 'guictrldelete', 'guictrlgethandle',
    130             'guictrlgetstate', 'guictrlread', 'guictrlrecvmsg',
    131             'guictrlregisterlistviewsort', 'guictrlsendmsg',
    132             'guictrlsendtodummy', 'guictrlsetbkcolor', 'guictrlsetcolor',
    133             'guictrlsetcursor', 'guictrlsetdata', 'guictrlsetfont',
    134             'guictrlsetgraphic', 'guictrlsetimage', 'guictrlsetlimit',
    135             'guictrlsetonevent', 'guictrlsetpos', 'guictrlsetresizing',
    136             'guictrlsetstate', 'guictrlsetstyle', 'guictrlsettip', 'guidelete',
    137             'guigetcursorinfo', 'guigetmsg', 'guiregistermsg', 'guisetbkcolor',
    138             'guisetcoord', 'guisetcursor', 'guisetfont', 'guisethelp',
    139             'guiseticon', 'guisetonevent', 'guisetstate', 'guistartgroup',
    140             'guiswitch', 'hex', 'hotkeyset', 'httpsetproxy', 'hwnd', 'inetget',
    141             'inetgetsize', 'inidelete', 'iniread', 'inireadsection',
    142             'inireadsectionnames', 'inirenamesection', 'iniwrite',
    143             'iniwritesection', 'inputbox', 'int', 'isadmin', 'isarray',
    144             'isbinarystring', 'isbool', 'isdeclared', 'isdllstruct', 'isfloat',
    145             'ishwnd', 'isint', 'iskeyword', 'isnumber', 'isobj', 'isstring',
    146             'log', 'memgetstats', 'mod', 'mouseclick', 'mouseclickdrag',
    147             'mousedown', 'mousegetcursor', 'mousegetpos', 'mousemove',
    148             'mouseup', 'mousewheel', 'msgbox', 'number', 'objcreate',
    149             'objevent', 'objget', 'objname', 'opt', 'ping', 'pixelchecksum',
    150             'pixelgetcolor', 'pixelsearch', 'pluginclose', 'pluginopen',
    151             'processclose', 'processexists', 'processlist',
    152             'processsetpriority', 'processwait', 'processwaitclose',
    153             'progressoff', 'progresson', 'progressset', 'random', 'regdelete',
    154             'regenumkey', 'regenumval', 'regread', 'regwrite', 'round', 'run',
    155             'runasset', 'runwait', 'send', 'seterror', 'setextended',
    156             'shellexecute', 'shellexecutewait', 'shutdown', 'sin', 'sleep',
    157             'soundplay', 'soundsetwavevolume', 'splashimageon', 'splashoff',
    158             'splashtexton', 'sqrt', 'srandom', 'statusbargettext',
    159             'stderrread', 'stdinwrite', 'stdoutread', 'string', 'stringaddcr',
    160             'stringformat', 'stringinstr', 'stringisalnum', 'stringisalpha',
    161             'stringisascii', 'stringisdigit', 'stringisfloat', 'stringisint',
    162             'stringislower', 'stringisspace', 'stringisupper',
    163             'stringisxdigit', 'stringleft', 'stringlen', 'stringlower',
    164             'stringmid', 'stringregexp', 'stringregexpreplace',
    165             'stringreplace', 'stringright', 'stringsplit', 'stringstripcr',
    166             'stringstripws', 'stringtrimleft', 'stringtrimright',
    167             'stringupper', 'tan', 'tcpaccept', 'tcpclosesocket', 'tcpconnect',
    168             'tcplisten', 'tcpnametoip', 'tcprecv', 'tcpsend', 'tcpshutdown',
    169             'tcpstartup', 'timerdiff', 'timerinit', 'timerstart', 'timerstop',
    170             'tooltip', 'traycreateitem', 'traycreatemenu', 'traygetmsg',
    171             'trayitemdelete', 'trayitemgethandle', 'trayitemgetstate',
    172             'trayitemgettext', 'trayitemsetonevent', 'trayitemsetstate',
    173             'trayitemsettext', 'traysetclick', 'trayseticon', 'traysetonevent',
    174             'traysetpauseicon', 'traysetstate', 'traysettooltip', 'traytip',
    175             'ubound', 'udpbind', 'udpclosesocket', 'udpopen', 'udprecv',
    176             'udpsend', 'winactivate', 'winactive', 'winclose', 'winexists',
    177             'winflash', 'wingetcaretpos', 'wingetclasslist',
    178             'wingetclientsize', 'wingethandle', 'wingetpos', 'wingetprocess',
    179             'wingetstate', 'wingettext', 'wingettitle', 'winkill', 'winlist',
    180             'winmenuselectitem', 'winminimizeall', 'winminimizeallundo',
    181             'winmove', 'winsetontop', 'winsetstate', 'winsettitle',
    182             'winsettrans', 'winshow', 'winwait', 'winwaitactive',
    183             'winwaitclose', 'winwaitnotactive'
     104            'Abs','ACos','AdlibDisable','AdlibEnable','Asc','AscW','ASin',
     105            'Assign','ATan','AutoItSetOption','AutoItWinGetTitle',
     106            'AutoItWinSetTitle','Beep','Binary','BinaryLen','BinaryMid',
     107            'BinaryToString','BitAND','BitNOT','BitOR','BitRotate','BitShift',
     108            'BitXOR','BlockInput','Break','Call','CDTray','Ceiling','Chr',
     109            'ChrW','ClipGet','ClipPut','ConsoleRead','ConsoleWrite',
     110            'ConsoleWriteError','ControlClick','ControlCommand',
     111            'ControlDisable','ControlEnable','ControlFocus','ControlGetFocus',
     112            'ControlGetHandle','ControlGetPos','ControlGetText','ControlHide',
     113            'ControlListView','ControlMove','ControlSend','ControlSetText',
     114            'ControlShow','ControlTreeView','Cos','Dec','DirCopy','DirCreate',
     115            'DirGetSize','DirMove','DirRemove','DllCall','DllCallbackFree',
     116            'DllCallbackGetPtr','DllCallbackRegister','DllClose','DllOpen',
     117            'DllStructCreate','DllStructGetData','DllStructGetPtr',
     118            'DllStructGetSize','DllStructSetData','DriveGetDrive',
     119            'DriveGetFileSystem','DriveGetLabel','DriveGetSerial',
     120            'DriveGetType','DriveMapAdd','DriveMapDel','DriveMapGet',
     121            'DriveSetLabel','DriveSpaceFree','DriveSpaceTotal','DriveStatus',
     122            'EnvGet','EnvSet','EnvUpdate','Eval','Execute','Exp',
     123            'FileChangeDir','FileClose','FileCopy','FileCreateNTFSLink',
     124            'FileCreateShortcut','FileDelete','FileExists','FileFindFirstFile',
     125            'FileFindNextFile','FileGetAttrib','FileGetLongName',
     126            'FileGetShortcut','FileGetShortName','FileGetSize','FileGetTime',
     127            'FileGetVersion','FileInstall','FileMove','FileOpen',
     128            'FileOpenDialog','FileRead','FileReadLine','FileRecycle',
     129            'FileRecycleEmpty','FileSaveDialog','FileSelectFolder',
     130            'FileSetAttrib','FileSetTime','FileWrite','FileWriteLine','Floor',
     131            'FtpSetProxy','GUICreate','GUICtrlCreateAvi','GUICtrlCreateButton',
     132            'GUICtrlCreateCheckbox','GUICtrlCreateCombo',
     133            'GUICtrlCreateContextMenu','GUICtrlCreateDate','GUICtrlCreateDummy',
     134            'GUICtrlCreateEdit','GUICtrlCreateGraphic','GUICtrlCreateGroup',
     135            'GUICtrlCreateIcon','GUICtrlCreateInput','GUICtrlCreateLabel',
     136            'GUICtrlCreateList','GUICtrlCreateListView',
     137            'GUICtrlCreateListViewItem','GUICtrlCreateMenu',
     138            'GUICtrlCreateMenuItem','GUICtrlCreateMonthCal','GUICtrlCreateObj',
     139            'GUICtrlCreatePic','GUICtrlCreateProgress','GUICtrlCreateRadio',
     140            'GUICtrlCreateSlider','GUICtrlCreateTab','GUICtrlCreateTabItem',
     141            'GUICtrlCreateTreeView','GUICtrlCreateTreeViewItem',
     142            'GUICtrlCreateUpdown','GUICtrlDelete','GUICtrlGetHandle',
     143            'GUICtrlGetState','GUICtrlRead','GUICtrlRecvMsg',
     144            'GUICtrlRegisterListViewSort','GUICtrlSendMsg','GUICtrlSendToDummy',
     145            'GUICtrlSetBkColor','GUICtrlSetColor','GUICtrlSetCursor',
     146            'GUICtrlSetData','GUICtrlSetFont','GUICtrlSetDefColor',
     147            'GUICtrlSetDefBkColor','GUICtrlSetGraphic','GUICtrlSetImage',
     148            'GUICtrlSetLimit','GUICtrlSetOnEvent','GUICtrlSetPos',
     149            'GUICtrlSetResizing','GUICtrlSetState','GUICtrlSetStyle',
     150            'GUICtrlSetTip','GUIDelete','GUIGetCursorInfo','GUIGetMsg',
     151            'GUIGetStyle','GUIRegisterMsg','GUISetAccelerators()',
     152            'GUISetBkColor','GUISetCoord','GUISetCursor','GUISetFont',
     153            'GUISetHelp','GUISetIcon','GUISetOnEvent','GUISetState',
     154            'GUISetStyle','GUIStartGroup','GUISwitch','Hex','HotKeySet',
     155            'HttpSetProxy','HWnd','InetGet','InetGetSize','IniDelete','IniRead',
     156            'IniReadSection','IniReadSectionNames','IniRenameSection',
     157            'IniWrite','IniWriteSection','InputBox','Int','IsAdmin','IsArray',
     158            'IsBinary','IsBool','IsDeclared','IsDllStruct','IsFloat','IsHWnd',
     159            'IsInt','IsKeyword','IsNumber','IsObj','IsPtr','IsString','Log',
     160            'MemGetStats','Mod','MouseClick','MouseClickDrag','MouseDown',
     161            'MouseGetCursor','MouseGetPos','MouseMove','MouseUp','MouseWheel',
     162            'MsgBox','Number','ObjCreate','ObjEvent','ObjGet','ObjName','Opt',
     163            'Ping','PixelChecksum','PixelGetColor','PixelSearch','PluginClose',
     164            'PluginOpen','ProcessClose','ProcessExists','ProcessGetStats',
     165            'ProcessList','ProcessSetPriority','ProcessWait','ProcessWaitClose',
     166            'ProgressOff','ProgressOn','ProgressSet','Ptr','Random','RegDelete',
     167            'RegEnumKey','RegEnumVal','RegRead','RegWrite','Round','Run',
     168            'RunAs','RunAsWait','RunWait','Send','SendKeepActive','SetError',
     169            'SetExtended','ShellExecute','ShellExecuteWait','Shutdown','Sin',
     170            'Sleep','SoundPlay','SoundSetWaveVolume','SplashImageOn',
     171            'SplashOff','SplashTextOn','Sqrt','SRandom','StatusbarGetText',
     172            'StderrRead','StdinWrite','StdioClose','StdoutRead','String',
     173            'StringAddCR','StringCompare','StringFormat','StringInStr',
     174            'StringIsAlNum','StringIsAlpha','StringIsASCII','StringIsDigit',
     175            'StringIsFloat','StringIsInt','StringIsLower','StringIsSpace',
     176            'StringIsUpper','StringIsXDigit','StringLeft','StringLen',
     177            'StringLower','StringMid','StringRegExp','StringRegExpReplace',
     178            'StringReplace','StringRight','StringSplit','StringStripCR',
     179            'StringStripWS','StringToBinary','StringTrimLeft','StringTrimRight',
     180            'StringUpper','Tan','TCPAccept','TCPCloseSocket','TCPConnect',
     181            'TCPListen','TCPNameToIP','TCPRecv','TCPSend','TCPShutdown',
     182            'TCPStartup','TimerDiff','TimerInit','ToolTip','TrayCreateItem',
     183            'TrayCreateMenu','TrayGetMsg','TrayItemDelete','TrayItemGetHandle',
     184            'TrayItemGetState','TrayItemGetText','TrayItemSetOnEvent',
     185            'TrayItemSetState','TrayItemSetText','TraySetClick','TraySetIcon',
     186            'TraySetOnEvent','TraySetPauseIcon','TraySetState','TraySetToolTip',
     187            'TrayTip','UBound','UDPBind','UDPCloseSocket','UDPOpen','UDPRecv',
     188            'UDPSend','UDPShutdown','UDPStartup','VarGetType','WinActivate',
     189            'WinActive','WinClose','WinExists','WinFlash','WinGetCaretPos',
     190            'WinGetClassList','WinGetClientSize','WinGetHandle','WinGetPos',
     191            'WinGetProcess','WinGetState','WinGetText','WinGetTitle','WinKill',
     192            'WinList','WinMenuSelectItem','WinMinimizeAll','WinMinimizeAllUndo',
     193            'WinMove','WinSetOnTop','WinSetState','WinSetTitle','WinSetTrans',
     194            'WinWait','WinWaitActive','WinWaitClose','WinWaitNotActive'
    184195            ),
    185196        4 => array(
    186             '_arrayadd', '_arraybinarysearch', '_arraycreate', '_arraydelete',
    187             '_arraydisplay', '_arrayinsert', '_arraymax', '_arraymaxindex',
    188             '_arraymin', '_arrayminindex', '_arraypop', '_arraypush',
    189             '_arrayreverse', '_arraysearch', '_arraysort', '_arrayswap',
    190             '_arraytoclip', '_arraytostring', '_arraytrim', '_colorgetblue',
    191             '_colorgetgreen', '_colorgetred', '_dateadd', '_datedayofweek',
    192             '_datedaysinmonth', '_datediff', '_dateisleapyear', '_dateisvalid',
    193             '_datetimeformat', '_datetimesplit', '_datetodayofweek',
    194             '_datetodayofweekiso', '_datetodayvalue', '_dayvaluetodate',
    195             '_now', '_nowcalc', '_nowcalcdate', '_nowdate', '_nowtime',
    196             '_setdate', '_settime', '_tickstotime', '_timetoticks',
    197             '_weeknumberiso', '_filecountlines', '_filecreate',
    198             '_filelisttoarray', '_fileprint', '_filereadtoarray',
    199             '_filewritefromarray', '_filewritelog', '_filewritetoline',
    200             '_pathfull', '_pathmake', '_pathsplit', '_replacestringinfile',
    201             '_tempfile', '_guictrlcomboadddir', '_guictrlcomboaddstring',
    202             '_guictrlcomboautocomplete', '_guictrlcombodeletestring',
    203             '_guictrlcombofindstring', '_guictrlcombogetcount',
    204             '_guictrlcombogetcursel', '_guictrlcombogetdroppedcontrolrect',
    205             '_guictrlcombogetdroppedstate', '_guictrlcombogetdroppedwidth',
    206             '_guictrlcombogeteditsel', '_guictrlcombogetextendedui',
    207             '_guictrlcombogethorizontalextent', '_guictrlcombogetitemheight',
    208             '_guictrlcombogetlbtext', '_guictrlcombogetlbtextlen',
    209             '_guictrlcombogetlist', '_guictrlcombogetlocale',
    210             '_guictrlcombogetminvisible', '_guictrlcombogettopindex',
    211             '_guictrlcomboinitstorage', '_guictrlcomboinsertstring',
    212             '_guictrlcombolimittext', '_guictrlcomboresetcontent',
    213             '_guictrlcomboselectstring', '_guictrlcombosetcursel',
    214             '_guictrlcombosetdroppedwidth', '_guictrlcomboseteditsel',
    215             '_guictrlcombosetextendedui', '_guictrlcombosethorizontalextent',
    216             '_guictrlcombosetitemheight', '_guictrlcombosetminvisible',
    217             '_guictrlcombosettopindex', '_guictrlcomboshowdropdown',
    218             '_guictrleditcanundo', '_guictrleditemptyundobuffer',
    219             '_guictrleditfind', '_guictrleditgetfirstvisibleline',
    220             '_guictrleditgetline', '_guictrleditgetlinecount',
    221             '_guictrleditgetmodify', '_guictrleditgetrect',
    222             '_guictrleditgetsel', '_guictrleditlinefromchar',
    223             '_guictrleditlineindex', '_guictrleditlinelength',
    224             '_guictrleditlinescroll', '_guictrleditreplacesel',
    225             '_guictrleditscroll', '_guictrleditsetmodify',
    226             '_guictrleditsetrect', '_guictrleditsetsel', '_guictrleditundo',
    227             '_guictrlipaddressclear', '_guictrlipaddresscreate',
    228             '_guictrlipaddressdelete', '_guictrlipaddressget',
    229             '_guictrlipaddressisblank', '_guictrlipaddressset',
    230             '_guictrlipaddresssetfocus', '_guictrlipaddresssetfont',
    231             '_guictrlipaddresssetrange', '_guictrlipaddressshowhide',
    232             '_guictrllistadddir', '_guictrllistadditem', '_guictrllistclear',
    233             '_guictrllistcount', '_guictrllistdeleteitem',
    234             '_guictrllistfindstring', '_guictrllistgetanchorindex',
    235             '_guictrllistgetcaretindex', '_guictrllistgethorizontalextent',
    236             '_guictrllistgetinfo', '_guictrllistgetitemrect',
    237             '_guictrllistgetlocale', '_guictrllistgetselcount',
    238             '_guictrllistgetselitems', '_guictrllistgetselitemstext',
    239             '_guictrllistgetselstate', '_guictrllistgettext',
    240             '_guictrllistgettextlen', '_guictrllistgettopindex',
    241             '_guictrllistinsertitem', '_guictrllistreplacestring',
    242             '_guictrllistselectedindex', '_guictrllistselectindex',
    243             '_guictrllistselectstring', '_guictrllistselitemrange',
    244             '_guictrllistselitemrangeex', '_guictrllistsetanchorindex',
    245             '_guictrllistsetcaretindex', '_guictrllistsethorizontalextent',
    246             '_guictrllistsetlocale', '_guictrllistsetsel',
    247             '_guictrllistsettopindex', '_guictrllistsort',
    248             '_guictrllistswapstring', '_guictrllistviewcopyitems',
    249             '_guictrllistviewdeleteallitems', '_guictrllistviewdeletecolumn',
    250             '_guictrllistviewdeleteitem',
    251             '_guictrllistviewdeleteitemsselected',
    252             '_guictrllistviewensurevisible', '_guictrllistviewfinditem',
    253             '_guictrllistviewgetbackcolor', '_guictrllistviewgetcallbackmask',
    254             '_guictrllistviewgetcheckedstate',
    255             '_guictrllistviewgetcolumnorder', '_guictrllistviewgetcolumnwidth',
    256             '_guictrllistviewgetcounterpage', '_guictrllistviewgetcursel',
    257             '_guictrllistviewgetextendedlistviewstyle',
    258             '_guictrllistviewgetheader', '_guictrllistviewgethotcursor',
    259             '_guictrllistviewgethotitem', '_guictrllistviewgethovertime',
    260             '_guictrllistviewgetitemcount', '_guictrllistviewgetitemtext',
    261             '_guictrllistviewgetitemtextarray', '_guictrllistviewgetnextitem',
    262             '_guictrllistviewgetselectedcount',
    263             '_guictrllistviewgetselectedindices',
    264             '_guictrllistviewgetsubitemscount', '_guictrllistviewgettopindex',
    265             '_guictrllistviewgetunicodeformat', '_guictrllistviewhidecolumn',
    266             '_guictrllistviewinsertcolumn', '_guictrllistviewinsertitem',
    267             '_guictrllistviewjustifycolumn', '_guictrllistviewscroll',
    268             '_guictrllistviewsetcheckstate',
    269             '_guictrllistviewsetcolumnheadertext',
    270             '_guictrllistviewsetcolumnorder', '_guictrllistviewsetcolumnwidth',
    271             '_guictrllistviewsethotitem', '_guictrllistviewsethovertime',
    272             '_guictrllistviewsetitemcount', '_guictrllistviewsetitemselstate',
    273             '_guictrllistviewsetitemtext', '_guictrllistviewsort',
    274             '_guictrlmonthcalget1stdow', '_guictrlmonthcalgetcolor',
    275             '_guictrlmonthcalgetdelta', '_guictrlmonthcalgetmaxselcount',
    276             '_guictrlmonthcalgetmaxtodaywidth',
    277             '_guictrlmonthcalgetminreqrect', '_guictrlmonthcalset1stdow',
    278             '_guictrlmonthcalsetcolor', '_guictrlmonthcalsetdelta',
    279             '_guictrlmonthcalsetmaxselcount', '_guictrlslidercleartics',
    280             '_guictrlslidergetlinesize', '_guictrlslidergetnumtics',
    281             '_guictrlslidergetpagesize', '_guictrlslidergetpos',
    282             '_guictrlslidergetrangemax', '_guictrlslidergetrangemin',
    283             '_guictrlslidersetlinesize', '_guictrlslidersetpagesize',
    284             '_guictrlslidersetpos', '_guictrlslidersetticfreq',
    285             '_guictrlstatusbarcreate', '_guictrlstatusbarcreateprogress',
    286             '_guictrlstatusbardelete', '_guictrlstatusbargetborders',
    287             '_guictrlstatusbargeticon', '_guictrlstatusbargetparts',
    288             '_guictrlstatusbargetrect', '_guictrlstatusbargettext',
    289             '_guictrlstatusbargettextlength', '_guictrlstatusbargettip',
    290             '_guictrlstatusbargetunicode', '_guictrlstatusbarissimple',
    291             '_guictrlstatusbarresize', '_guictrlstatusbarsetbkcolor',
    292             '_guictrlstatusbarseticon', '_guictrlstatusbarsetminheight',
    293             '_guictrlstatusbarsetparts', '_guictrlstatusbarsetsimple',
    294             '_guictrlstatusbarsettext', '_guictrlstatusbarsettip',
    295             '_guictrlstatusbarsetunicode', '_guictrlstatusbarshowhide',
    296             '_guictrltabdeleteallitems', '_guictrltabdeleteitem',
    297             '_guictrltabdeselectall', '_guictrltabgetcurfocus',
    298             '_guictrltabgetcursel', '_guictrltabgetextendedstyle',
    299             '_guictrltabgetitemcount', '_guictrltabgetitemrect',
    300             '_guictrltabgetrowcount', '_guictrltabgetunicodeformat',
    301             '_guictrltabhighlightitem', '_guictrltabsetcurfocus',
    302             '_guictrltabsetcursel', '_guictrltabsetmintabwidth',
    303             '_guictrltabsetunicodeformat', '_guictrltreeviewdeleteallitems',
    304             '_guictrltreeviewdeleteitem', '_guictrltreeviewexpand',
    305             '_guictrltreeviewgetbkcolor', '_guictrltreeviewgetcount',
    306             '_guictrltreeviewgetindent', '_guictrltreeviewgetlinecolor',
    307             '_guictrltreeviewgetparenthandle', '_guictrltreeviewgetparentid',
    308             '_guictrltreeviewgetstate', '_guictrltreeviewgettext',
    309             '_guictrltreeviewgettextcolor', '_guictrltreeviewgettree',
    310             '_guictrltreeviewinsertitem', '_guictrltreeviewsetbkcolor',
    311             '_guictrltreeviewseticon', '_guictrltreeviewsetindent',
    312             '_guictrltreeviewsetlinecolor', '_guictrltreeviewsetstate',
    313             '_guictrltreeviewsettext', '_guictrltreeviewsettextcolor',
    314             '_guictrltreeviewsort', '_ie_example', '_ie_introduction',
    315             '_ie_versioninfo', '_ieaction', '_ieattach', '_iebodyreadhtml',
    316             '_iebodyreadtext', '_iebodywritehtml', '_iecreate',
    317             '_iecreateembedded', '_iedocgetobj', '_iedocinserthtml',
    318             '_iedocinserttext', '_iedocreadhtml', '_iedocwritehtml',
    319             '_ieerrorhandlerderegister', '_ieerrorhandlerregister',
    320             '_ieerrornotify', '_ieformelementcheckboxselect',
    321             '_ieformelementgetcollection', '_ieformelementgetobjbyname',
    322             '_ieformelementgetvalue', '_ieformelementoptionselect',
    323             '_ieformelementradioselect', '_ieformelementsetvalue',
    324             '_ieformgetcollection', '_ieformgetobjbyname', '_ieformimageclick',
    325             '_ieformreset', '_ieformsubmit', '_ieframegetcollection',
    326             '_ieframegetobjbyname', '_iegetobjbyname',
    327             '_ieheadinserteventscript', '_ieimgclick', '_ieimggetcollection',
    328             '_ieisframeset', '_ielinkclickbyindex', '_ielinkclickbytext',
    329             '_ielinkgetcollection', '_ieloadwait', '_ieloadwaittimeout',
    330             '_ienavigate', '_iepropertyget', '_iepropertyset', '_iequit',
    331             '_ietablegetcollection', '_ietablewritetoarray',
    332             '_ietagnameallgetcollection', '_ietagnamegetcollection', '_getip',
    333             '_inetexplorercapable', '_inetgetsource', '_inetmail',
    334             '_inetsmtpmail', '_tcpiptoname', '_degree', '_mathcheckdiv',
    335             '_max', '_min', '_radian', '_choosecolor', '_choosefont',
    336             '_clipputfile', '_iif', '_ispressed', '_mousetrap', '_singleton',
    337             '_processgetname', '_processgetpriority', '_rundos',
    338             '_sendmessage', '_soundclose', '_soundlength', '_soundopen',
    339             '_soundpause', '_soundplay', '_soundpos', '_soundresume',
    340             '_soundseek', '_soundstatus', '_soundstop', '_sqlite_changes',
    341             '_sqlite_close', '_sqlite_display2dresult', '_sqlite_encode',
    342             '_sqlite_errcode', '_sqlite_errmsg', '_sqlite_escape',
    343             '_sqlite_exec', '_sqlite_fetchdata', '_sqlite_fetchnames',
    344             '_sqlite_gettable', '_sqlite_gettable2d',
    345             '_sqlite_lastinsertrowid', '_sqlite_libversion', '_sqlite_open',
    346             '_sqlite_query', '_sqlite_queryfinalize', '_sqlite_queryreset',
    347             '_sqlite_querysinglerow', '_sqlite_savemode', '_sqlite_settimeout',
    348             '_sqlite_shutdown', '_sqlite_sqliteexe', '_sqlite_startup',
    349             '_sqlite_totalchanges', '_hextostring', '_stringaddcomma',
    350             '_stringbetween', '_stringencrypt', '_stringinsert',
    351             '_stringproper', '_stringrepeat', '_stringreverse', '_stringtohex',
    352             '_viclose', '_viexeccommand', '_vifindgpib', '_vigpibbusreset',
    353             '_vigtl', '_viopen', '_visetattribute', '_visettimeout'
     197            'ArrayAdd','ArrayBinarySearch','ArrayConcatenate','ArrayDelete',
     198            'ArrayDisplay','ArrayFindAll','ArrayInsert','ArrayMax',
     199            'ArrayMaxIndex','ArrayMin','ArrayMinIndex','ArrayPop','ArrayPush',
     200            'ArrayReverse','ArraySearch','ArraySort','ArraySwap','ArrayToClip',
     201            'ArrayToString','ArrayTrim','ChooseColor','ChooseFont',
     202            'ClipBoard_ChangeChain','ClipBoard_Close','ClipBoard_CountFormats',
     203            'ClipBoard_Empty','ClipBoard_EnumFormats','ClipBoard_FormatStr',
     204            'ClipBoard_GetData','ClipBoard_GetDataEx','ClipBoard_GetFormatName',
     205            'ClipBoard_GetOpenWindow','ClipBoard_GetOwner',
     206            'ClipBoard_GetPriorityFormat','ClipBoard_GetSequenceNumber',
     207            'ClipBoard_GetViewer','ClipBoard_IsFormatAvailable',
     208            'ClipBoard_Open','ClipBoard_RegisterFormat','ClipBoard_SetData',
     209            'ClipBoard_SetDataEx','ClipBoard_SetViewer','ClipPutFile',
     210            'ColorConvertHSLtoRGB','ColorConvertRGBtoHSL','ColorGetBlue',
     211            'ColorGetGreen','ColorGetRed','Date_Time_CompareFileTime',
     212            'Date_Time_DOSDateTimeToArray','Date_Time_DOSDateTimeToFileTime',
     213            'Date_Time_DOSDateTimeToStr','Date_Time_DOSDateToArray',
     214            'Date_Time_DOSDateToStr','Date_Time_DOSTimeToArray',
     215            'Date_Time_DOSTimeToStr','Date_Time_EncodeFileTime',
     216            'Date_Time_EncodeSystemTime','Date_Time_FileTimeToArray',
     217            'Date_Time_FileTimeToDOSDateTime',
     218            'Date_Time_FileTimeToLocalFileTime','Date_Time_FileTimeToStr',
     219            'Date_Time_FileTimeToSystemTime','Date_Time_GetFileTime',
     220            'Date_Time_GetLocalTime','Date_Time_GetSystemTime',
     221            'Date_Time_GetSystemTimeAdjustment',
     222            'Date_Time_GetSystemTimeAsFileTime',
     223            'Date_Time_GetSystemTimes','Date_Time_GetTickCount',
     224            'Date_Time_GetTimeZoneInformation',
     225            'Date_Time_LocalFileTimeToFileTime','Date_Time_SetFileTime',
     226            'Date_Time_SetLocalTime','Date_Time_SetSystemTime',
     227            'Date_Time_SetSystemTimeAdjustment',
     228            'Date_Time_SetTimeZoneInformation','Date_Time_SystemTimeToArray',
     229            'Date_Time_SystemTimeToDateStr','Date_Time_SystemTimeToDateTimeStr',
     230            'Date_Time_SystemTimeToFileTime','Date_Time_SystemTimeToTimeStr',
     231            'Date_Time_SystemTimeToTzSpecificLocalTime',
     232            'Date_Time_TzSpecificLocalTimeToSystemTime','DateAdd',
     233            'DateDayOfWeek','DateDaysInMonth','DateDiff','DateIsLeapYear',
     234            'DateIsValid','DateTimeFormat','DateTimeSplit','DateToDayOfWeek',
     235            'DateToDayOfWeekISO','DateToDayValue','DateToMonth',
     236            'DayValueToDate','DebugBugReportEnv','DebugOut','DebugSetup',
     237            'Degree','EventLog__Backup','EventLog__Clear','EventLog__Close',
     238            'EventLog__Count','EventLog__DeregisterSource','EventLog__Full',
     239            'EventLog__Notify','EventLog__Oldest','EventLog__Open',
     240            'EventLog__OpenBackup','EventLog__Read','EventLog__RegisterSource',
     241            'EventLog__Report','FileCountLines','FileCreate','FileListToArray',
     242            'FilePrint','FileReadToArray','FileWriteFromArray',
     243            'FileWriteLog','FileWriteToLine','GDIPlus_ArrowCapCreate',
     244            'GDIPlus_ArrowCapDispose','GDIPlus_ArrowCapGetFillState',
     245            'GDIPlus_ArrowCapGetHeight','GDIPlus_ArrowCapGetMiddleInset',
     246            'GDIPlus_ArrowCapGetWidth','GDIPlus_ArrowCapSetFillState',
     247            'GDIPlus_ArrowCapSetHeight','GDIPlus_ArrowCapSetMiddleInset',
     248            'GDIPlus_ArrowCapSetWidth','GDIPlus_BitmapCloneArea',
     249            'GDIPlus_BitmapCreateFromFile','GDIPlus_BitmapCreateFromGraphics',
     250            'GDIPlus_BitmapCreateFromHBITMAP',
     251            'GDIPlus_BitmapCreateHBITMAPFromBitmap','GDIPlus_BitmapDispose',
     252            'GDIPlus_BitmapLockBits','GDIPlus_BitmapUnlockBits',
     253            'GDIPlus_BrushClone','GDIPlus_BrushCreateSolid',
     254            'GDIPlus_BrushDispose','GDIPlus_BrushGetType',
     255            'GDIPlus_CustomLineCapDispose','GDIPlus_Decoders',
     256            'GDIPlus_DecodersGetCount','GDIPlus_DecodersGetSize',
     257            'GDIPlus_Encoders','GDIPlus_EncodersGetCLSID',
     258            'GDIPlus_EncodersGetCount','GDIPlus_EncodersGetParamList',
     259            'GDIPlus_EncodersGetParamListSize','GDIPlus_EncodersGetSize',
     260            'GDIPlus_FontCreate','GDIPlus_FontDispose',
     261            'GDIPlus_FontFamilyCreate','GDIPlus_FontFamilyDispose',
     262            'GDIPlus_GraphicsClear','GDIPlus_GraphicsCreateFromHDC',
     263            'GDIPlus_GraphicsCreateFromHWND','GDIPlus_GraphicsDispose',
     264            'GDIPlus_GraphicsDrawArc','GDIPlus_GraphicsDrawBezier',
     265            'GDIPlus_GraphicsDrawClosedCurve','GDIPlus_GraphicsDrawCurve',
     266            'GDIPlus_GraphicsDrawEllipse','GDIPlus_GraphicsDrawImage',
     267            'GDIPlus_GraphicsDrawImageRect','GDIPlus_GraphicsDrawImageRectRect',
     268            'GDIPlus_GraphicsDrawLine','GDIPlus_GraphicsDrawPie',
     269            'GDIPlus_GraphicsDrawPolygon','GDIPlus_GraphicsDrawRect',
     270            'GDIPlus_GraphicsDrawString','GDIPlus_GraphicsDrawStringEx',
     271            'GDIPlus_GraphicsFillClosedCurve','GDIPlus_GraphicsFillEllipse',
     272            'GDIPlus_GraphicsFillPie','GDIPlus_GraphicsFillRect',
     273            'GDIPlus_GraphicsGetDC','GDIPlus_GraphicsGetSmoothingMode',
     274            'GDIPlus_GraphicsMeasureString','GDIPlus_GraphicsReleaseDC',
     275            'GDIPlus_GraphicsSetSmoothingMode','GDIPlus_GraphicsSetTransform',
     276            'GDIPlus_ImageDispose','GDIPlus_ImageGetGraphicsContext',
     277            'GDIPlus_ImageGetHeight','GDIPlus_ImageGetWidth',
     278            'GDIPlus_ImageLoadFromFile','GDIPlus_ImageSaveToFile',
     279            'GDIPlus_ImageSaveToFileEx','GDIPlus_MatrixCreate',
     280            'GDIPlus_MatrixDispose','GDIPlus_MatrixRotate','GDIPlus_ParamAdd',
     281            'GDIPlus_ParamInit','GDIPlus_PenCreate','GDIPlus_PenDispose',
     282            'GDIPlus_PenGetAlignment','GDIPlus_PenGetColor',
     283            'GDIPlus_PenGetCustomEndCap','GDIPlus_PenGetDashCap',
     284            'GDIPlus_PenGetDashStyle','GDIPlus_PenGetEndCap',
     285            'GDIPlus_PenGetWidth','GDIPlus_PenSetAlignment',
     286            'GDIPlus_PenSetColor','GDIPlus_PenSetCustomEndCap',
     287            'GDIPlus_PenSetDashCap','GDIPlus_PenSetDashStyle',
     288            'GDIPlus_PenSetEndCap','GDIPlus_PenSetWidth','GDIPlus_RectFCreate',
     289            'GDIPlus_Shutdown','GDIPlus_Startup','GDIPlus_StringFormatCreate',
     290            'GDIPlus_StringFormatDispose','GetIP','GUICtrlAVI_Close',
     291            'GUICtrlAVI_Create','GUICtrlAVI_Destroy','GUICtrlAVI_Open',
     292            'GUICtrlAVI_OpenEx','GUICtrlAVI_Play','GUICtrlAVI_Seek',
     293            'GUICtrlAVI_Show','GUICtrlAVI_Stop','GUICtrlButton_Click',
     294            'GUICtrlButton_Create','GUICtrlButton_Destroy',
     295            'GUICtrlButton_Enable','GUICtrlButton_GetCheck',
     296            'GUICtrlButton_GetFocus','GUICtrlButton_GetIdealSize',
     297            'GUICtrlButton_GetImage','GUICtrlButton_GetImageList',
     298            'GUICtrlButton_GetState','GUICtrlButton_GetText',
     299            'GUICtrlButton_GetTextMargin','GUICtrlButton_SetCheck',
     300            'GUICtrlButton_SetFocus','GUICtrlButton_SetImage',
     301            'GUICtrlButton_SetImageList','GUICtrlButton_SetSize',
     302            'GUICtrlButton_SetState','GUICtrlButton_SetStyle',
     303            'GUICtrlButton_SetText','GUICtrlButton_SetTextMargin',
     304            'GUICtrlButton_Show','GUICtrlComboBox_AddDir',
     305            'GUICtrlComboBox_AddString','GUICtrlComboBox_AutoComplete',
     306            'GUICtrlComboBox_BeginUpdate','GUICtrlComboBox_Create',
     307            'GUICtrlComboBox_DeleteString','GUICtrlComboBox_Destroy',
     308            'GUICtrlComboBox_EndUpdate','GUICtrlComboBox_FindString',
     309            'GUICtrlComboBox_FindStringExact','GUICtrlComboBox_GetComboBoxInfo',
     310            'GUICtrlComboBox_GetCount','GUICtrlComboBox_GetCurSel',
     311            'GUICtrlComboBox_GetDroppedControlRect',
     312            'GUICtrlComboBox_GetDroppedControlRectEx',
     313            'GUICtrlComboBox_GetDroppedState','GUICtrlComboBox_GetDroppedWidth',
     314            'GUICtrlComboBox_GetEditSel','GUICtrlComboBox_GetEditText',
     315            'GUICtrlComboBox_GetExtendedUI',
     316            'GUICtrlComboBox_GetHorizontalExtent',
     317            'GUICtrlComboBox_GetItemHeight','GUICtrlComboBox_GetLBText',
     318            'GUICtrlComboBox_GetLBTextLen','GUICtrlComboBox_GetList',
     319            'GUICtrlComboBox_GetListArray','GUICtrlComboBox_GetLocale',
     320            'GUICtrlComboBox_GetLocaleCountry','GUICtrlComboBox_GetLocaleLang',
     321            'GUICtrlComboBox_GetLocalePrimLang',
     322            'GUICtrlComboBox_GetLocaleSubLang','GUICtrlComboBox_GetMinVisible',
     323            'GUICtrlComboBox_GetTopIndex','GUICtrlComboBox_InitStorage',
     324            'GUICtrlComboBox_InsertString','GUICtrlComboBox_LimitText',
     325            'GUICtrlComboBox_ReplaceEditSel','GUICtrlComboBox_ResetContent',
     326            'GUICtrlComboBox_SelectString','GUICtrlComboBox_SetCurSel',
     327            'GUICtrlComboBox_SetDroppedWidth','GUICtrlComboBox_SetEditSel',
     328            'GUICtrlComboBox_SetEditText','GUICtrlComboBox_SetExtendedUI',
     329            'GUICtrlComboBox_SetHorizontalExtent',
     330            'GUICtrlComboBox_SetItemHeight','GUICtrlComboBox_SetMinVisible',
     331            'GUICtrlComboBox_SetTopIndex','GUICtrlComboBox_ShowDropDown',
     332            'GUICtrlComboBoxEx_AddDir','GUICtrlComboBoxEx_AddString',
     333            'GUICtrlComboBoxEx_BeginUpdate','GUICtrlComboBoxEx_Create',
     334            'GUICtrlComboBoxEx_CreateSolidBitMap',
     335            'GUICtrlComboBoxEx_DeleteString','GUICtrlComboBoxEx_Destroy',
     336            'GUICtrlComboBoxEx_EndUpdate','GUICtrlComboBoxEx_FindStringExact',
     337            'GUICtrlComboBoxEx_GetComboBoxInfo',
     338            'GUICtrlComboBoxEx_GetComboControl','GUICtrlComboBoxEx_GetCount',
     339            'GUICtrlComboBoxEx_GetCurSel',
     340            'GUICtrlComboBoxEx_GetDroppedControlRect',
     341            'GUICtrlComboBoxEx_GetDroppedControlRectEx',
     342            'GUICtrlComboBoxEx_GetDroppedState',
     343            'GUICtrlComboBoxEx_GetDroppedWidth',
     344            'GUICtrlComboBoxEx_GetEditControl','GUICtrlComboBoxEx_GetEditSel',
     345            'GUICtrlComboBoxEx_GetEditText',
     346            'GUICtrlComboBoxEx_GetExtendedStyle',
     347            'GUICtrlComboBoxEx_GetExtendedUI','GUICtrlComboBoxEx_GetImageList',
     348            'GUICtrlComboBoxEx_GetItem','GUICtrlComboBoxEx_GetItemEx',
     349            'GUICtrlComboBoxEx_GetItemHeight','GUICtrlComboBoxEx_GetItemImage',
     350            'GUICtrlComboBoxEx_GetItemIndent',
     351            'GUICtrlComboBoxEx_GetItemOverlayImage',
     352            'GUICtrlComboBoxEx_GetItemParam',
     353            'GUICtrlComboBoxEx_GetItemSelectedImage',
     354            'GUICtrlComboBoxEx_GetItemText','GUICtrlComboBoxEx_GetItemTextLen',
     355            'GUICtrlComboBoxEx_GetList','GUICtrlComboBoxEx_GetListArray',
     356            'GUICtrlComboBoxEx_GetLocale','GUICtrlComboBoxEx_GetLocaleCountry',
     357            'GUICtrlComboBoxEx_GetLocaleLang',
     358            'GUICtrlComboBoxEx_GetLocalePrimLang',
     359            'GUICtrlComboBoxEx_GetLocaleSubLang',
     360            'GUICtrlComboBoxEx_GetMinVisible','GUICtrlComboBoxEx_GetTopIndex',
     361            'GUICtrlComboBoxEx_InitStorage','GUICtrlComboBoxEx_InsertString',
     362            'GUICtrlComboBoxEx_LimitText','GUICtrlComboBoxEx_ReplaceEditSel',
     363            'GUICtrlComboBoxEx_ResetContent','GUICtrlComboBoxEx_SetCurSel',
     364            'GUICtrlComboBoxEx_SetDroppedWidth','GUICtrlComboBoxEx_SetEditSel',
     365            'GUICtrlComboBoxEx_SetEditText',
     366            'GUICtrlComboBoxEx_SetExtendedStyle',
     367            'GUICtrlComboBoxEx_SetExtendedUI','GUICtrlComboBoxEx_SetImageList',
     368            'GUICtrlComboBoxEx_SetItem','GUICtrlComboBoxEx_SetItemEx',
     369            'GUICtrlComboBoxEx_SetItemHeight','GUICtrlComboBoxEx_SetItemImage',
     370            'GUICtrlComboBoxEx_SetItemIndent',
     371            'GUICtrlComboBoxEx_SetItemOverlayImage',
     372            'GUICtrlComboBoxEx_SetItemParam',
     373            'GUICtrlComboBoxEx_SetItemSelectedImage',
     374            'GUICtrlComboBoxEx_SetMinVisible','GUICtrlComboBoxEx_SetTopIndex',
     375            'GUICtrlComboBoxEx_ShowDropDown','GUICtrlDTP_Create',
     376            'GUICtrlDTP_Destroy','GUICtrlDTP_GetMCColor','GUICtrlDTP_GetMCFont',
     377            'GUICtrlDTP_GetMonthCal','GUICtrlDTP_GetRange',
     378            'GUICtrlDTP_GetRangeEx','GUICtrlDTP_GetSystemTime',
     379            'GUICtrlDTP_GetSystemTimeEx','GUICtrlDTP_SetFormat',
     380            'GUICtrlDTP_SetMCColor','GUICtrlDTP_SetMCFont',
     381            'GUICtrlDTP_SetRange','GUICtrlDTP_SetRangeEx',
     382            'GUICtrlDTP_SetSystemTime','GUICtrlDTP_SetSystemTimeEx',
     383            'GUICtrlEdit_AppendText','GUICtrlEdit_BeginUpdate',
     384            'GUICtrlEdit_CanUndo','GUICtrlEdit_CharFromPos',
     385            'GUICtrlEdit_Create','GUICtrlEdit_Destroy',
     386            'GUICtrlEdit_EmptyUndoBuffer','GUICtrlEdit_EndUpdate',
     387            'GUICtrlEdit_Find','GUICtrlEdit_FmtLines',
     388            'GUICtrlEdit_GetFirstVisibleLine','GUICtrlEdit_GetLimitText',
     389            'GUICtrlEdit_GetLine','GUICtrlEdit_GetLineCount',
     390            'GUICtrlEdit_GetMargins','GUICtrlEdit_GetModify',
     391            'GUICtrlEdit_GetPasswordChar','GUICtrlEdit_GetRECT',
     392            'GUICtrlEdit_GetRECTEx','GUICtrlEdit_GetSel','GUICtrlEdit_GetText',
     393            'GUICtrlEdit_GetTextLen','GUICtrlEdit_HideBalloonTip',
     394            'GUICtrlEdit_InsertText','GUICtrlEdit_LineFromChar',
     395            'GUICtrlEdit_LineIndex','GUICtrlEdit_LineLength',
     396            'GUICtrlEdit_LineScroll','GUICtrlEdit_PosFromChar',
     397            'GUICtrlEdit_ReplaceSel','GUICtrlEdit_Scroll',
     398            'GUICtrlEdit_SetLimitText','GUICtrlEdit_SetMargins',
     399            'GUICtrlEdit_SetModify','GUICtrlEdit_SetPasswordChar',
     400            'GUICtrlEdit_SetReadOnly','GUICtrlEdit_SetRECT',
     401            'GUICtrlEdit_SetRECTEx','GUICtrlEdit_SetRECTNP',
     402            'GUICtrlEdit_SetRectNPEx','GUICtrlEdit_SetSel',
     403            'GUICtrlEdit_SetTabStops','GUICtrlEdit_SetText',
     404            'GUICtrlEdit_ShowBalloonTip','GUICtrlEdit_Undo',
     405            'GUICtrlHeader_AddItem','GUICtrlHeader_ClearFilter',
     406            'GUICtrlHeader_ClearFilterAll','GUICtrlHeader_Create',
     407            'GUICtrlHeader_CreateDragImage','GUICtrlHeader_DeleteItem',
     408            'GUICtrlHeader_Destroy','GUICtrlHeader_EditFilter',
     409            'GUICtrlHeader_GetBitmapMargin','GUICtrlHeader_GetImageList',
     410            'GUICtrlHeader_GetItem','GUICtrlHeader_GetItemAlign',
     411            'GUICtrlHeader_GetItemBitmap','GUICtrlHeader_GetItemCount',
     412            'GUICtrlHeader_GetItemDisplay','GUICtrlHeader_GetItemFlags',
     413            'GUICtrlHeader_GetItemFormat','GUICtrlHeader_GetItemImage',
     414            'GUICtrlHeader_GetItemOrder','GUICtrlHeader_GetItemParam',
     415            'GUICtrlHeader_GetItemRect','GUICtrlHeader_GetItemRectEx',
     416            'GUICtrlHeader_GetItemText','GUICtrlHeader_GetItemWidth',
     417            'GUICtrlHeader_GetOrderArray','GUICtrlHeader_GetUnicodeFormat',
     418            'GUICtrlHeader_HitTest','GUICtrlHeader_InsertItem',
     419            'GUICtrlHeader_Layout','GUICtrlHeader_OrderToIndex',
     420            'GUICtrlHeader_SetBitmapMargin',
     421            'GUICtrlHeader_SetFilterChangeTimeout',
     422            'GUICtrlHeader_SetHotDivider','GUICtrlHeader_SetImageList',
     423            'GUICtrlHeader_SetItem','GUICtrlHeader_SetItemAlign',
     424            'GUICtrlHeader_SetItemBitmap','GUICtrlHeader_SetItemDisplay',
     425            'GUICtrlHeader_SetItemFlags','GUICtrlHeader_SetItemFormat',
     426            'GUICtrlHeader_SetItemImage','GUICtrlHeader_SetItemOrder',
     427            'GUICtrlHeader_SetItemParam','GUICtrlHeader_SetItemText',
     428            'GUICtrlHeader_SetItemWidth','GUICtrlHeader_SetOrderArray',
     429            'GUICtrlHeader_SetUnicodeFormat','GUICtrlIpAddress_ClearAddress',
     430            'GUICtrlIpAddress_Create','GUICtrlIpAddress_Destroy',
     431            'GUICtrlIpAddress_Get','GUICtrlIpAddress_GetArray',
     432            'GUICtrlIpAddress_GetEx','GUICtrlIpAddress_IsBlank',
     433            'GUICtrlIpAddress_Set','GUICtrlIpAddress_SetArray',
     434            'GUICtrlIpAddress_SetEx','GUICtrlIpAddress_SetFocus',
     435            'GUICtrlIpAddress_SetFont','GUICtrlIpAddress_SetRange',
     436            'GUICtrlIpAddress_ShowHide','GUICtrlListBox_AddFile',
     437            'GUICtrlListBox_AddString','GUICtrlListBox_BeginUpdate',
     438            'GUICtrlListBox_Create','GUICtrlListBox_DeleteString',
     439            'GUICtrlListBox_Destroy','GUICtrlListBox_Dir',
     440            'GUICtrlListBox_EndUpdate','GUICtrlListBox_FindInText',
     441            'GUICtrlListBox_FindString','GUICtrlListBox_GetAnchorIndex',
     442            'GUICtrlListBox_GetCaretIndex','GUICtrlListBox_GetCount',
     443            'GUICtrlListBox_GetCurSel','GUICtrlListBox_GetHorizontalExtent',
     444            'GUICtrlListBox_GetItemData','GUICtrlListBox_GetItemHeight',
     445            'GUICtrlListBox_GetItemRect','GUICtrlListBox_GetItemRectEx',
     446            'GUICtrlListBox_GetListBoxInfo','GUICtrlListBox_GetLocale',
     447            'GUICtrlListBox_GetLocaleCountry','GUICtrlListBox_GetLocaleLang',
     448            'GUICtrlListBox_GetLocalePrimLang',
     449            'GUICtrlListBox_GetLocaleSubLang','GUICtrlListBox_GetSel',
     450            'GUICtrlListBox_GetSelCount','GUICtrlListBox_GetSelItems',
     451            'GUICtrlListBox_GetSelItemsText','GUICtrlListBox_GetText',
     452            'GUICtrlListBox_GetTextLen','GUICtrlListBox_GetTopIndex',
     453            'GUICtrlListBox_InitStorage','GUICtrlListBox_InsertString',
     454            'GUICtrlListBox_ItemFromPoint','GUICtrlListBox_ReplaceString',
     455            'GUICtrlListBox_ResetContent','GUICtrlListBox_SelectString',
     456            'GUICtrlListBox_SelItemRange','GUICtrlListBox_SelItemRangeEx',
     457            'GUICtrlListBox_SetAnchorIndex','GUICtrlListBox_SetCaretIndex',
     458            'GUICtrlListBox_SetColumnWidth','GUICtrlListBox_SetCurSel',
     459            'GUICtrlListBox_SetHorizontalExtent','GUICtrlListBox_SetItemData',
     460            'GUICtrlListBox_SetItemHeight','GUICtrlListBox_SetLocale',
     461            'GUICtrlListBox_SetSel','GUICtrlListBox_SetTabStops',
     462            'GUICtrlListBox_SetTopIndex','GUICtrlListBox_Sort',
     463            'GUICtrlListBox_SwapString','GUICtrlListBox_UpdateHScroll',
     464            'GUICtrlListView_AddArray','GUICtrlListView_AddColumn',
     465            'GUICtrlListView_AddItem','GUICtrlListView_AddSubItem',
     466            'GUICtrlListView_ApproximateViewHeight',
     467            'GUICtrlListView_ApproximateViewRect',
     468            'GUICtrlListView_ApproximateViewWidth','GUICtrlListView_Arrange',
     469            'GUICtrlListView_BeginUpdate','GUICtrlListView_CancelEditLabel',
     470            'GUICtrlListView_ClickItem','GUICtrlListView_CopyItems',
     471            'GUICtrlListView_Create','GUICtrlListView_CreateDragImage',
     472            'GUICtrlListView_CreateSolidBitMap',
     473            'GUICtrlListView_DeleteAllItems','GUICtrlListView_DeleteColumn',
     474            'GUICtrlListView_DeleteItem','GUICtrlListView_DeleteItemsSelected',
     475            'GUICtrlListView_Destroy','GUICtrlListView_DrawDragImage',
     476            'GUICtrlListView_EditLabel','GUICtrlListView_EnableGroupView',
     477            'GUICtrlListView_EndUpdate','GUICtrlListView_EnsureVisible',
     478            'GUICtrlListView_FindInText','GUICtrlListView_FindItem',
     479            'GUICtrlListView_FindNearest','GUICtrlListView_FindParam',
     480            'GUICtrlListView_FindText','GUICtrlListView_GetBkColor',
     481            'GUICtrlListView_GetBkImage','GUICtrlListView_GetCallbackMask',
     482            'GUICtrlListView_GetColumn','GUICtrlListView_GetColumnCount',
     483            'GUICtrlListView_GetColumnOrder',
     484            'GUICtrlListView_GetColumnOrderArray',
     485            'GUICtrlListView_GetColumnWidth','GUICtrlListView_GetCounterPage',
     486            'GUICtrlListView_GetEditControl',
     487            'GUICtrlListView_GetExtendedListViewStyle',
     488            'GUICtrlListView_GetGroupInfo',
     489            'GUICtrlListView_GetGroupViewEnabled','GUICtrlListView_GetHeader',
     490            'GUICtrlListView_GetHotCursor','GUICtrlListView_GetHotItem',
     491            'GUICtrlListView_GetHoverTime','GUICtrlListView_GetImageList',
     492            'GUICtrlListView_GetISearchString','GUICtrlListView_GetItem',
     493            'GUICtrlListView_GetItemChecked','GUICtrlListView_GetItemCount',
     494            'GUICtrlListView_GetItemCut','GUICtrlListView_GetItemDropHilited',
     495            'GUICtrlListView_GetItemEx','GUICtrlListView_GetItemFocused',
     496            'GUICtrlListView_GetItemGroupID','GUICtrlListView_GetItemImage',
     497            'GUICtrlListView_GetItemIndent','GUICtrlListView_GetItemParam',
     498            'GUICtrlListView_GetItemPosition',
     499            'GUICtrlListView_GetItemPositionX',
     500            'GUICtrlListView_GetItemPositionY','GUICtrlListView_GetItemRect',
     501            'GUICtrlListView_GetItemRectEx','GUICtrlListView_GetItemSelected',
     502            'GUICtrlListView_GetItemSpacing','GUICtrlListView_GetItemSpacingX',
     503            'GUICtrlListView_GetItemSpacingY','GUICtrlListView_GetItemState',
     504            'GUICtrlListView_GetItemStateImage','GUICtrlListView_GetItemText',
     505            'GUICtrlListView_GetItemTextArray',
     506            'GUICtrlListView_GetItemTextString','GUICtrlListView_GetNextItem',
     507            'GUICtrlListView_GetNumberOfWorkAreas','GUICtrlListView_GetOrigin',
     508            'GUICtrlListView_GetOriginX','GUICtrlListView_GetOriginY',
     509            'GUICtrlListView_GetOutlineColor',
     510            'GUICtrlListView_GetSelectedColumn',
     511            'GUICtrlListView_GetSelectedCount',
     512            'GUICtrlListView_GetSelectedIndices',
     513            'GUICtrlListView_GetSelectionMark','GUICtrlListView_GetStringWidth',
     514            'GUICtrlListView_GetSubItemRect','GUICtrlListView_GetTextBkColor',
     515            'GUICtrlListView_GetTextColor','GUICtrlListView_GetToolTips',
     516            'GUICtrlListView_GetTopIndex','GUICtrlListView_GetUnicodeFormat',
     517            'GUICtrlListView_GetView','GUICtrlListView_GetViewDetails',
     518            'GUICtrlListView_GetViewLarge','GUICtrlListView_GetViewList',
     519            'GUICtrlListView_GetViewRect','GUICtrlListView_GetViewSmall',
     520            'GUICtrlListView_GetViewTile','GUICtrlListView_HideColumn',
     521            'GUICtrlListView_HitTest','GUICtrlListView_InsertColumn',
     522            'GUICtrlListView_InsertGroup','GUICtrlListView_InsertItem',
     523            'GUICtrlListView_JustifyColumn','GUICtrlListView_MapIDToIndex',
     524            'GUICtrlListView_MapIndexToID','GUICtrlListView_RedrawItems',
     525            'GUICtrlListView_RegisterSortCallBack',
     526            'GUICtrlListView_RemoveAllGroups','GUICtrlListView_RemoveGroup',
     527            'GUICtrlListView_Scroll','GUICtrlListView_SetBkColor',
     528            'GUICtrlListView_SetBkImage','GUICtrlListView_SetCallBackMask',
     529            'GUICtrlListView_SetColumn','GUICtrlListView_SetColumnOrder',
     530            'GUICtrlListView_SetColumnOrderArray',
     531            'GUICtrlListView_SetColumnWidth',
     532            'GUICtrlListView_SetExtendedListViewStyle',
     533            'GUICtrlListView_SetGroupInfo','GUICtrlListView_SetHotItem',
     534            'GUICtrlListView_SetHoverTime','GUICtrlListView_SetIconSpacing',
     535            'GUICtrlListView_SetImageList','GUICtrlListView_SetItem',
     536            'GUICtrlListView_SetItemChecked','GUICtrlListView_SetItemCount',
     537            'GUICtrlListView_SetItemCut','GUICtrlListView_SetItemDropHilited',
     538            'GUICtrlListView_SetItemEx','GUICtrlListView_SetItemFocused',
     539            'GUICtrlListView_SetItemGroupID','GUICtrlListView_SetItemImage',
     540            'GUICtrlListView_SetItemIndent','GUICtrlListView_SetItemParam',
     541            'GUICtrlListView_SetItemPosition',
     542            'GUICtrlListView_SetItemPosition32',
     543            'GUICtrlListView_SetItemSelected','GUICtrlListView_SetItemState',
     544            'GUICtrlListView_SetItemStateImage','GUICtrlListView_SetItemText',
     545            'GUICtrlListView_SetOutlineColor',
     546            'GUICtrlListView_SetSelectedColumn',
     547            'GUICtrlListView_SetSelectionMark','GUICtrlListView_SetTextBkColor',
     548            'GUICtrlListView_SetTextColor','GUICtrlListView_SetToolTips',
     549            'GUICtrlListView_SetUnicodeFormat','GUICtrlListView_SetView',
     550            'GUICtrlListView_SetWorkAreas','GUICtrlListView_SimpleSort',
     551            'GUICtrlListView_SortItems','GUICtrlListView_SubItemHitTest',
     552            'GUICtrlListView_UnRegisterSortCallBack',
     553            'GUICtrlMenu_AddMenuItem','GUICtrlMenu_AppendMenu',
     554            'GUICtrlMenu_CheckMenuItem','GUICtrlMenu_CheckRadioItem',
     555            'GUICtrlMenu_CreateMenu','GUICtrlMenu_CreatePopup',
     556            'GUICtrlMenu_DeleteMenu','GUICtrlMenu_DestroyMenu',
     557            'GUICtrlMenu_DrawMenuBar','GUICtrlMenu_EnableMenuItem',
     558            'GUICtrlMenu_FindItem','GUICtrlMenu_FindParent',
     559            'GUICtrlMenu_GetItemBmp','GUICtrlMenu_GetItemBmpChecked',
     560            'GUICtrlMenu_GetItemBmpUnchecked','GUICtrlMenu_GetItemChecked',
     561            'GUICtrlMenu_GetItemCount','GUICtrlMenu_GetItemData',
     562            'GUICtrlMenu_GetItemDefault','GUICtrlMenu_GetItemDisabled',
     563            'GUICtrlMenu_GetItemEnabled','GUICtrlMenu_GetItemGrayed',
     564            'GUICtrlMenu_GetItemHighlighted','GUICtrlMenu_GetItemID',
     565            'GUICtrlMenu_GetItemInfo','GUICtrlMenu_GetItemRect',
     566            'GUICtrlMenu_GetItemRectEx','GUICtrlMenu_GetItemState',
     567            'GUICtrlMenu_GetItemStateEx','GUICtrlMenu_GetItemSubMenu',
     568            'GUICtrlMenu_GetItemText','GUICtrlMenu_GetItemType',
     569            'GUICtrlMenu_GetMenu','GUICtrlMenu_GetMenuBackground',
     570            'GUICtrlMenu_GetMenuBarInfo','GUICtrlMenu_GetMenuContextHelpID',
     571            'GUICtrlMenu_GetMenuData','GUICtrlMenu_GetMenuDefaultItem',
     572            'GUICtrlMenu_GetMenuHeight','GUICtrlMenu_GetMenuInfo',
     573            'GUICtrlMenu_GetMenuStyle','GUICtrlMenu_GetSystemMenu',
     574            'GUICtrlMenu_InsertMenuItem','GUICtrlMenu_InsertMenuItemEx',
     575            'GUICtrlMenu_IsMenu','GUICtrlMenu_LoadMenu',
     576            'GUICtrlMenu_MapAccelerator','GUICtrlMenu_MenuItemFromPoint',
     577            'GUICtrlMenu_RemoveMenu','GUICtrlMenu_SetItemBitmaps',
     578            'GUICtrlMenu_SetItemBmp','GUICtrlMenu_SetItemBmpChecked',
     579            'GUICtrlMenu_SetItemBmpUnchecked','GUICtrlMenu_SetItemChecked',
     580            'GUICtrlMenu_SetItemData','GUICtrlMenu_SetItemDefault',
     581            'GUICtrlMenu_SetItemDisabled','GUICtrlMenu_SetItemEnabled',
     582            'GUICtrlMenu_SetItemGrayed','GUICtrlMenu_SetItemHighlighted',
     583            'GUICtrlMenu_SetItemID','GUICtrlMenu_SetItemInfo',
     584            'GUICtrlMenu_SetItemState','GUICtrlMenu_SetItemSubMenu',
     585            'GUICtrlMenu_SetItemText','GUICtrlMenu_SetItemType',
     586            'GUICtrlMenu_SetMenu','GUICtrlMenu_SetMenuBackground',
     587            'GUICtrlMenu_SetMenuContextHelpID','GUICtrlMenu_SetMenuData',
     588            'GUICtrlMenu_SetMenuDefaultItem','GUICtrlMenu_SetMenuHeight',
     589            'GUICtrlMenu_SetMenuInfo','GUICtrlMenu_SetMenuStyle',
     590            'GUICtrlMenu_TrackPopupMenu','GUICtrlMonthCal_Create',
     591            'GUICtrlMonthCal_Destroy','GUICtrlMonthCal_GetColor',
     592            'GUICtrlMonthCal_GetColorArray','GUICtrlMonthCal_GetCurSel',
     593            'GUICtrlMonthCal_GetCurSelStr','GUICtrlMonthCal_GetFirstDOW',
     594            'GUICtrlMonthCal_GetFirstDOWStr','GUICtrlMonthCal_GetMaxSelCount',
     595            'GUICtrlMonthCal_GetMaxTodayWidth',
     596            'GUICtrlMonthCal_GetMinReqHeight','GUICtrlMonthCal_GetMinReqRect',
     597            'GUICtrlMonthCal_GetMinReqRectArray',
     598            'GUICtrlMonthCal_GetMinReqWidth','GUICtrlMonthCal_GetMonthDelta',
     599            'GUICtrlMonthCal_GetMonthRange','GUICtrlMonthCal_GetMonthRangeMax',
     600            'GUICtrlMonthCal_GetMonthRangeMaxStr',
     601            'GUICtrlMonthCal_GetMonthRangeMin',
     602            'GUICtrlMonthCal_GetMonthRangeMinStr',
     603            'GUICtrlMonthCal_GetMonthRangeSpan','GUICtrlMonthCal_GetRange',
     604            'GUICtrlMonthCal_GetRangeMax','GUICtrlMonthCal_GetRangeMaxStr',
     605            'GUICtrlMonthCal_GetRangeMin','GUICtrlMonthCal_GetRangeMinStr',
     606            'GUICtrlMonthCal_GetSelRange','GUICtrlMonthCal_GetSelRangeMax',
     607            'GUICtrlMonthCal_GetSelRangeMaxStr',
     608            'GUICtrlMonthCal_GetSelRangeMin',
     609            'GUICtrlMonthCal_GetSelRangeMinStr','GUICtrlMonthCal_GetToday',
     610            'GUICtrlMonthCal_GetTodayStr','GUICtrlMonthCal_GetUnicodeFormat',
     611            'GUICtrlMonthCal_HitTest','GUICtrlMonthCal_SetColor',
     612            'GUICtrlMonthCal_SetCurSel','GUICtrlMonthCal_SetDayState',
     613            'GUICtrlMonthCal_SetFirstDOW','GUICtrlMonthCal_SetMaxSelCount',
     614            'GUICtrlMonthCal_SetMonthDelta','GUICtrlMonthCal_SetRange',
     615            'GUICtrlMonthCal_SetSelRange','GUICtrlMonthCal_SetToday',
     616            'GUICtrlMonthCal_SetUnicodeFormat','GUICtrlRebar_AddBand',
     617            'GUICtrlRebar_AddToolBarBand','GUICtrlRebar_BeginDrag',
     618            'GUICtrlRebar_Create','GUICtrlRebar_DeleteBand',
     619            'GUICtrlRebar_Destroy','GUICtrlRebar_DragMove',
     620            'GUICtrlRebar_EndDrag','GUICtrlRebar_GetBandBackColor',
     621            'GUICtrlRebar_GetBandBorders','GUICtrlRebar_GetBandBordersEx',
     622            'GUICtrlRebar_GetBandChildHandle','GUICtrlRebar_GetBandChildSize',
     623            'GUICtrlRebar_GetBandCount','GUICtrlRebar_GetBandForeColor',
     624            'GUICtrlRebar_GetBandHeaderSize','GUICtrlRebar_GetBandID',
     625            'GUICtrlRebar_GetBandIdealSize','GUICtrlRebar_GetBandLength',
     626            'GUICtrlRebar_GetBandLParam','GUICtrlRebar_GetBandMargins',
     627            'GUICtrlRebar_GetBandMarginsEx','GUICtrlRebar_GetBandRect',
     628            'GUICtrlRebar_GetBandRectEx','GUICtrlRebar_GetBandStyle',
     629            'GUICtrlRebar_GetBandStyleBreak',
     630            'GUICtrlRebar_GetBandStyleChildEdge',
     631            'GUICtrlRebar_GetBandStyleFixedBMP',
     632            'GUICtrlRebar_GetBandStyleFixedSize',
     633            'GUICtrlRebar_GetBandStyleGripperAlways',
     634            'GUICtrlRebar_GetBandStyleHidden',
     635            'GUICtrlRebar_GetBandStyleHideTitle',
     636            'GUICtrlRebar_GetBandStyleNoGripper',
     637            'GUICtrlRebar_GetBandStyleTopAlign',
     638            'GUICtrlRebar_GetBandStyleUseChevron',
     639            'GUICtrlRebar_GetBandStyleVariableHeight',
     640            'GUICtrlRebar_GetBandText','GUICtrlRebar_GetBarHeight',
     641            'GUICtrlRebar_GetBKColor','GUICtrlRebar_GetColorScheme',
     642            'GUICtrlRebar_GetRowCount','GUICtrlRebar_GetRowHeight',
     643            'GUICtrlRebar_GetTextColor','GUICtrlRebar_GetToolTips',
     644            'GUICtrlRebar_GetUnicodeFormat','GUICtrlRebar_HitTest',
     645            'GUICtrlRebar_IDToIndex','GUICtrlRebar_MaximizeBand',
     646            'GUICtrlRebar_MinimizeBand','GUICtrlRebar_MoveBand',
     647            'GUICtrlRebar_SetBandBackColor','GUICtrlRebar_SetBandForeColor',
     648            'GUICtrlRebar_SetBandHeaderSize','GUICtrlRebar_SetBandID',
     649            'GUICtrlRebar_SetBandIdealSize','GUICtrlRebar_SetBandLength',
     650            'GUICtrlRebar_SetBandLParam','GUICtrlRebar_SetBandStyle',
     651            'GUICtrlRebar_SetBandStyleBreak',
     652            'GUICtrlRebar_SetBandStyleChildEdge',
     653            'GUICtrlRebar_SetBandStyleFixedBMP',
     654            'GUICtrlRebar_SetBandStyleFixedSize',
     655            'GUICtrlRebar_SetBandStyleGripperAlways',
     656            'GUICtrlRebar_SetBandStyleHidden',
     657            'GUICtrlRebar_SetBandStyleHideTitle',
     658            'GUICtrlRebar_SetBandStyleNoGripper',
     659            'GUICtrlRebar_SetBandStyleTopAlign',
     660            'GUICtrlRebar_SetBandStyleUseChevron',
     661            'GUICtrlRebar_SetBandStyleVariableHeight',
     662            'GUICtrlRebar_SetBandText','GUICtrlRebar_SetBKColor',
     663            'GUICtrlRebar_SetColorScheme','GUICtrlRebar_SetTextColor',
     664            'GUICtrlRebar_SetToolTips','GUICtrlRebar_SetUnicodeFormat',
     665            'GUICtrlRebar_ShowBand','GUICtrlSlider_ClearSel',
     666            'GUICtrlSlider_ClearTics','GUICtrlSlider_Create',
     667            'GUICtrlSlider_Destroy','GUICtrlSlider_GetBuddy',
     668            'GUICtrlSlider_GetChannelRect','GUICtrlSlider_GetLineSize',
     669            'GUICtrlSlider_GetNumTics','GUICtrlSlider_GetPageSize',
     670            'GUICtrlSlider_GetPos','GUICtrlSlider_GetPTics',
     671            'GUICtrlSlider_GetRange','GUICtrlSlider_GetRangeMax',
     672            'GUICtrlSlider_GetRangeMin','GUICtrlSlider_GetSel',
     673            'GUICtrlSlider_GetSelEnd','GUICtrlSlider_GetSelStart',
     674            'GUICtrlSlider_GetThumbLength','GUICtrlSlider_GetThumbRect',
     675            'GUICtrlSlider_GetThumbRectEx','GUICtrlSlider_GetTic',
     676            'GUICtrlSlider_GetTicPos','GUICtrlSlider_GetToolTips',
     677            'GUICtrlSlider_GetUnicodeFormat','GUICtrlSlider_SetBuddy',
     678            'GUICtrlSlider_SetLineSize','GUICtrlSlider_SetPageSize',
     679            'GUICtrlSlider_SetPos','GUICtrlSlider_SetRange',
     680            'GUICtrlSlider_SetRangeMax','GUICtrlSlider_SetRangeMin',
     681            'GUICtrlSlider_SetSel','GUICtrlSlider_SetSelEnd',
     682            'GUICtrlSlider_SetSelStart','GUICtrlSlider_SetThumbLength',
     683            'GUICtrlSlider_SetTic','GUICtrlSlider_SetTicFreq',
     684            'GUICtrlSlider_SetTipSide','GUICtrlSlider_SetToolTips',
     685            'GUICtrlSlider_SetUnicodeFormat','GUICtrlStatusBar_Create',
     686            'GUICtrlStatusBar_Destroy','GUICtrlStatusBar_EmbedControl',
     687            'GUICtrlStatusBar_GetBorders','GUICtrlStatusBar_GetBordersHorz',
     688            'GUICtrlStatusBar_GetBordersRect','GUICtrlStatusBar_GetBordersVert',
     689            'GUICtrlStatusBar_GetCount','GUICtrlStatusBar_GetHeight',
     690            'GUICtrlStatusBar_GetIcon','GUICtrlStatusBar_GetParts',
     691            'GUICtrlStatusBar_GetRect','GUICtrlStatusBar_GetRectEx',
     692            'GUICtrlStatusBar_GetText','GUICtrlStatusBar_GetTextFlags',
     693            'GUICtrlStatusBar_GetTextLength','GUICtrlStatusBar_GetTextLengthEx',
     694            'GUICtrlStatusBar_GetTipText','GUICtrlStatusBar_GetUnicodeFormat',
     695            'GUICtrlStatusBar_GetWidth','GUICtrlStatusBar_IsSimple',
     696            'GUICtrlStatusBar_Resize','GUICtrlStatusBar_SetBkColor',
     697            'GUICtrlStatusBar_SetIcon','GUICtrlStatusBar_SetMinHeight',
     698            'GUICtrlStatusBar_SetParts','GUICtrlStatusBar_SetSimple',
     699            'GUICtrlStatusBar_SetText','GUICtrlStatusBar_SetTipText',
     700            'GUICtrlStatusBar_SetUnicodeFormat','GUICtrlStatusBar_ShowHide',
     701            'GUICtrlTab_Create','GUICtrlTab_DeleteAllItems',
     702            'GUICtrlTab_DeleteItem','GUICtrlTab_DeselectAll',
     703            'GUICtrlTab_Destroy','GUICtrlTab_FindTab','GUICtrlTab_GetCurFocus',
     704            'GUICtrlTab_GetCurSel','GUICtrlTab_GetDisplayRect',
     705            'GUICtrlTab_GetDisplayRectEx','GUICtrlTab_GetExtendedStyle',
     706            'GUICtrlTab_GetImageList','GUICtrlTab_GetItem',
     707            'GUICtrlTab_GetItemCount','GUICtrlTab_GetItemImage',
     708            'GUICtrlTab_GetItemParam','GUICtrlTab_GetItemRect',
     709            'GUICtrlTab_GetItemRectEx','GUICtrlTab_GetItemState',
     710            'GUICtrlTab_GetItemText','GUICtrlTab_GetRowCount',
     711            'GUICtrlTab_GetToolTips','GUICtrlTab_GetUnicodeFormat',
     712            'GUICtrlTab_HighlightItem','GUICtrlTab_HitTest',
     713            'GUICtrlTab_InsertItem','GUICtrlTab_RemoveImage',
     714            'GUICtrlTab_SetCurFocus','GUICtrlTab_SetCurSel',
     715            'GUICtrlTab_SetExtendedStyle','GUICtrlTab_SetImageList',
     716            'GUICtrlTab_SetItem','GUICtrlTab_SetItemImage',
     717            'GUICtrlTab_SetItemParam','GUICtrlTab_SetItemSize',
     718            'GUICtrlTab_SetItemState','GUICtrlTab_SetItemText',
     719            'GUICtrlTab_SetMinTabWidth','GUICtrlTab_SetPadding',
     720            'GUICtrlTab_SetToolTips','GUICtrlTab_SetUnicodeFormat',
     721            'GUICtrlToolbar_AddBitmap','GUICtrlToolbar_AddButton',
     722            'GUICtrlToolbar_AddButtonSep','GUICtrlToolbar_AddString',
     723            'GUICtrlToolbar_ButtonCount','GUICtrlToolbar_CheckButton',
     724            'GUICtrlToolbar_ClickAccel','GUICtrlToolbar_ClickButton',
     725            'GUICtrlToolbar_ClickIndex','GUICtrlToolbar_CommandToIndex',
     726            'GUICtrlToolbar_Create','GUICtrlToolbar_Customize',
     727            'GUICtrlToolbar_DeleteButton','GUICtrlToolbar_Destroy',
     728            'GUICtrlToolbar_EnableButton','GUICtrlToolbar_FindToolbar',
     729            'GUICtrlToolbar_GetAnchorHighlight','GUICtrlToolbar_GetBitmapFlags',
     730            'GUICtrlToolbar_GetButtonBitmap','GUICtrlToolbar_GetButtonInfo',
     731            'GUICtrlToolbar_GetButtonInfoEx','GUICtrlToolbar_GetButtonParam',
     732            'GUICtrlToolbar_GetButtonRect','GUICtrlToolbar_GetButtonRectEx',
     733            'GUICtrlToolbar_GetButtonSize','GUICtrlToolbar_GetButtonState',
     734            'GUICtrlToolbar_GetButtonStyle','GUICtrlToolbar_GetButtonText',
     735            'GUICtrlToolbar_GetColorScheme',
     736            'GUICtrlToolbar_GetDisabledImageList',
     737            'GUICtrlToolbar_GetExtendedStyle','GUICtrlToolbar_GetHotImageList',
     738            'GUICtrlToolbar_GetHotItem','GUICtrlToolbar_GetImageList',
     739            'GUICtrlToolbar_GetInsertMark','GUICtrlToolbar_GetInsertMarkColor',
     740            'GUICtrlToolbar_GetMaxSize','GUICtrlToolbar_GetMetrics',
     741            'GUICtrlToolbar_GetPadding','GUICtrlToolbar_GetRows',
     742            'GUICtrlToolbar_GetString','GUICtrlToolbar_GetStyle',
     743            'GUICtrlToolbar_GetStyleAltDrag',
     744            'GUICtrlToolbar_GetStyleCustomErase','GUICtrlToolbar_GetStyleFlat',
     745            'GUICtrlToolbar_GetStyleList','GUICtrlToolbar_GetStyleRegisterDrop',
     746            'GUICtrlToolbar_GetStyleToolTips',
     747            'GUICtrlToolbar_GetStyleTransparent',
     748            'GUICtrlToolbar_GetStyleWrapable','GUICtrlToolbar_GetTextRows',
     749            'GUICtrlToolbar_GetToolTips','GUICtrlToolbar_GetUnicodeFormat',
     750            'GUICtrlToolbar_HideButton','GUICtrlToolbar_HighlightButton',
     751            'GUICtrlToolbar_HitTest','GUICtrlToolbar_IndexToCommand',
     752            'GUICtrlToolbar_InsertButton','GUICtrlToolbar_InsertMarkHitTest',
     753            'GUICtrlToolbar_IsButtonChecked','GUICtrlToolbar_IsButtonEnabled',
     754            'GUICtrlToolbar_IsButtonHidden',
     755            'GUICtrlToolbar_IsButtonHighlighted',
     756            'GUICtrlToolbar_IsButtonIndeterminate',
     757            'GUICtrlToolbar_IsButtonPressed','GUICtrlToolbar_LoadBitmap',
     758            'GUICtrlToolbar_LoadImages','GUICtrlToolbar_MapAccelerator',
     759            'GUICtrlToolbar_MoveButton','GUICtrlToolbar_PressButton',
     760            'GUICtrlToolbar_SetAnchorHighlight','GUICtrlToolbar_SetBitmapSize',
     761            'GUICtrlToolbar_SetButtonBitMap','GUICtrlToolbar_SetButtonInfo',
     762            'GUICtrlToolbar_SetButtonInfoEx','GUICtrlToolbar_SetButtonParam',
     763            'GUICtrlToolbar_SetButtonSize','GUICtrlToolbar_SetButtonState',
     764            'GUICtrlToolbar_SetButtonStyle','GUICtrlToolbar_SetButtonText',
     765            'GUICtrlToolbar_SetButtonWidth','GUICtrlToolbar_SetCmdID',
     766            'GUICtrlToolbar_SetColorScheme',
     767            'GUICtrlToolbar_SetDisabledImageList',
     768            'GUICtrlToolbar_SetDrawTextFlags','GUICtrlToolbar_SetExtendedStyle',
     769            'GUICtrlToolbar_SetHotImageList','GUICtrlToolbar_SetHotItem',
     770            'GUICtrlToolbar_SetImageList','GUICtrlToolbar_SetIndent',
     771            'GUICtrlToolbar_SetIndeterminate','GUICtrlToolbar_SetInsertMark',
     772            'GUICtrlToolbar_SetInsertMarkColor','GUICtrlToolbar_SetMaxTextRows',
     773            'GUICtrlToolbar_SetMetrics','GUICtrlToolbar_SetPadding',
     774            'GUICtrlToolbar_SetParent','GUICtrlToolbar_SetRows',
     775            'GUICtrlToolbar_SetStyle','GUICtrlToolbar_SetStyleAltDrag',
     776            'GUICtrlToolbar_SetStyleCustomErase','GUICtrlToolbar_SetStyleFlat',
     777            'GUICtrlToolbar_SetStyleList','GUICtrlToolbar_SetStyleRegisterDrop',
     778            'GUICtrlToolbar_SetStyleToolTips',
     779            'GUICtrlToolbar_SetStyleTransparent',
     780            'GUICtrlToolbar_SetStyleWrapable','GUICtrlToolbar_SetToolTips',
     781            'GUICtrlToolbar_SetUnicodeFormat','GUICtrlToolbar_SetWindowTheme',
     782            'GUICtrlTreeView_Add','GUICtrlTreeView_AddChild',
     783            'GUICtrlTreeView_AddChildFirst','GUICtrlTreeView_AddFirst',
     784            'GUICtrlTreeView_BeginUpdate','GUICtrlTreeView_ClickItem',
     785            'GUICtrlTreeView_Create','GUICtrlTreeView_CreateDragImage',
     786            'GUICtrlTreeView_CreateSolidBitMap','GUICtrlTreeView_Delete',
     787            'GUICtrlTreeView_DeleteAll','GUICtrlTreeView_DeleteChildren',
     788            'GUICtrlTreeView_Destroy','GUICtrlTreeView_DisplayRect',
     789            'GUICtrlTreeView_DisplayRectEx','GUICtrlTreeView_EditText',
     790            'GUICtrlTreeView_EndEdit','GUICtrlTreeView_EndUpdate',
     791            'GUICtrlTreeView_EnsureVisible','GUICtrlTreeView_Expand',
     792            'GUICtrlTreeView_ExpandedOnce','GUICtrlTreeView_FindItem',
     793            'GUICtrlTreeView_FindItemEx','GUICtrlTreeView_GetBkColor',
     794            'GUICtrlTreeView_GetBold','GUICtrlTreeView_GetChecked',
     795            'GUICtrlTreeView_GetChildCount','GUICtrlTreeView_GetChildren',
     796            'GUICtrlTreeView_GetCount','GUICtrlTreeView_GetCut',
     797            'GUICtrlTreeView_GetDropTarget','GUICtrlTreeView_GetEditControl',
     798            'GUICtrlTreeView_GetExpanded','GUICtrlTreeView_GetFirstChild',
     799            'GUICtrlTreeView_GetFirstItem','GUICtrlTreeView_GetFirstVisible',
     800            'GUICtrlTreeView_GetFocused','GUICtrlTreeView_GetHeight',
     801            'GUICtrlTreeView_GetImageIndex',
     802            'GUICtrlTreeView_GetImageListIconHandle',
     803            'GUICtrlTreeView_GetIndent','GUICtrlTreeView_GetInsertMarkColor',
     804            'GUICtrlTreeView_GetISearchString','GUICtrlTreeView_GetItemByIndex',
     805            'GUICtrlTreeView_GetItemHandle','GUICtrlTreeView_GetItemParam',
     806            'GUICtrlTreeView_GetLastChild','GUICtrlTreeView_GetLineColor',
     807            'GUICtrlTreeView_GetNext','GUICtrlTreeView_GetNextChild',
     808            'GUICtrlTreeView_GetNextSibling','GUICtrlTreeView_GetNextVisible',
     809            'GUICtrlTreeView_GetNormalImageList',
     810            'GUICtrlTreeView_GetParentHandle','GUICtrlTreeView_GetParentParam',
     811            'GUICtrlTreeView_GetPrev','GUICtrlTreeView_GetPrevChild',
     812            'GUICtrlTreeView_GetPrevSibling','GUICtrlTreeView_GetPrevVisible',
     813            'GUICtrlTreeView_GetScrollTime','GUICtrlTreeView_GetSelected',
     814            'GUICtrlTreeView_GetSelectedImageIndex',
     815            'GUICtrlTreeView_GetSelection','GUICtrlTreeView_GetSiblingCount',
     816            'GUICtrlTreeView_GetState','GUICtrlTreeView_GetStateImageIndex',
     817            'GUICtrlTreeView_GetStateImageList','GUICtrlTreeView_GetText',
     818            'GUICtrlTreeView_GetTextColor','GUICtrlTreeView_GetToolTips',
     819            'GUICtrlTreeView_GetTree','GUICtrlTreeView_GetUnicodeFormat',
     820            'GUICtrlTreeView_GetVisible','GUICtrlTreeView_GetVisibleCount',
     821            'GUICtrlTreeView_HitTest','GUICtrlTreeView_HitTestEx',
     822            'GUICtrlTreeView_HitTestItem','GUICtrlTreeView_Index',
     823            'GUICtrlTreeView_InsertItem','GUICtrlTreeView_IsFirstItem',
     824            'GUICtrlTreeView_IsParent','GUICtrlTreeView_Level',
     825            'GUICtrlTreeView_SelectItem','GUICtrlTreeView_SelectItemByIndex',
     826            'GUICtrlTreeView_SetBkColor','GUICtrlTreeView_SetBold',
     827            'GUICtrlTreeView_SetChecked','GUICtrlTreeView_SetCheckedByIndex',
     828            'GUICtrlTreeView_SetChildren','GUICtrlTreeView_SetCut',
     829            'GUICtrlTreeView_SetDropTarget','GUICtrlTreeView_SetFocused',
     830            'GUICtrlTreeView_SetHeight','GUICtrlTreeView_SetIcon',
     831            'GUICtrlTreeView_SetImageIndex','GUICtrlTreeView_SetIndent',
     832            'GUICtrlTreeView_SetInsertMark',
     833            'GUICtrlTreeView_SetInsertMarkColor',
     834            'GUICtrlTreeView_SetItemHeight','GUICtrlTreeView_SetItemParam',
     835            'GUICtrlTreeView_SetLineColor','GUICtrlTreeView_SetNormalImageList',
     836            'GUICtrlTreeView_SetScrollTime','GUICtrlTreeView_SetSelected',
     837            'GUICtrlTreeView_SetSelectedImageIndex','GUICtrlTreeView_SetState',
     838            'GUICtrlTreeView_SetStateImageIndex',
     839            'GUICtrlTreeView_SetStateImageList','GUICtrlTreeView_SetText',
     840            'GUICtrlTreeView_SetTextColor','GUICtrlTreeView_SetToolTips',
     841            'GUICtrlTreeView_SetUnicodeFormat','GUICtrlTreeView_Sort',
     842            'GUIImageList_Add','GUIImageList_AddBitmap','GUIImageList_AddIcon',
     843            'GUIImageList_AddMasked','GUIImageList_BeginDrag',
     844            'GUIImageList_Copy','GUIImageList_Create','GUIImageList_Destroy',
     845            'GUIImageList_DestroyIcon','GUIImageList_DragEnter',
     846            'GUIImageList_DragLeave','GUIImageList_DragMove',
     847            'GUIImageList_Draw','GUIImageList_DrawEx','GUIImageList_Duplicate',
     848            'GUIImageList_EndDrag','GUIImageList_GetBkColor',
     849            'GUIImageList_GetIcon','GUIImageList_GetIconHeight',
     850            'GUIImageList_GetIconSize','GUIImageList_GetIconSizeEx',
     851            'GUIImageList_GetIconWidth','GUIImageList_GetImageCount',
     852            'GUIImageList_GetImageInfoEx','GUIImageList_Remove',
     853            'GUIImageList_ReplaceIcon','GUIImageList_SetBkColor',
     854            'GUIImageList_SetIconSize','GUIImageList_SetImageCount',
     855            'GUIImageList_Swap','GUIScrollBars_EnableScrollBar',
     856            'GUIScrollBars_GetScrollBarInfoEx','GUIScrollBars_GetScrollBarRect',
     857            'GUIScrollBars_GetScrollBarRGState',
     858            'GUIScrollBars_GetScrollBarXYLineButton',
     859            'GUIScrollBars_GetScrollBarXYThumbBottom',
     860            'GUIScrollBars_GetScrollBarXYThumbTop',
     861            'GUIScrollBars_GetScrollInfo','GUIScrollBars_GetScrollInfoEx',
     862            'GUIScrollBars_GetScrollInfoMax','GUIScrollBars_GetScrollInfoMin',
     863            'GUIScrollBars_GetScrollInfoPage','GUIScrollBars_GetScrollInfoPos',
     864            'GUIScrollBars_GetScrollInfoTrackPos','GUIScrollBars_GetScrollPos',
     865            'GUIScrollBars_GetScrollRange','GUIScrollBars_Init',
     866            'GUIScrollBars_ScrollWindow','GUIScrollBars_SetScrollInfo',
     867            'GUIScrollBars_SetScrollInfoMax','GUIScrollBars_SetScrollInfoMin',
     868            'GUIScrollBars_SetScrollInfoPage','GUIScrollBars_SetScrollInfoPos',
     869            'GUIScrollBars_SetScrollRange','GUIScrollBars_ShowScrollBar',
     870            'GUIToolTip_Activate','GUIToolTip_AddTool','GUIToolTip_AdjustRect',
     871            'GUIToolTip_BitsToTTF','GUIToolTip_Create','GUIToolTip_DelTool',
     872            'GUIToolTip_Destroy','GUIToolTip_EnumTools',
     873            'GUIToolTip_GetBubbleHeight','GUIToolTip_GetBubbleSize',
     874            'GUIToolTip_GetBubbleWidth','GUIToolTip_GetCurrentTool',
     875            'GUIToolTip_GetDelayTime','GUIToolTip_GetMargin',
     876            'GUIToolTip_GetMarginEx','GUIToolTip_GetMaxTipWidth',
     877            'GUIToolTip_GetText','GUIToolTip_GetTipBkColor',
     878            'GUIToolTip_GetTipTextColor','GUIToolTip_GetTitleBitMap',
     879            'GUIToolTip_GetTitleText','GUIToolTip_GetToolCount',
     880            'GUIToolTip_GetToolInfo','GUIToolTip_HitTest',
     881            'GUIToolTip_NewToolRect','GUIToolTip_Pop','GUIToolTip_PopUp',
     882            'GUIToolTip_SetDelayTime','GUIToolTip_SetMargin',
     883            'GUIToolTip_SetMaxTipWidth','GUIToolTip_SetTipBkColor',
     884            'GUIToolTip_SetTipTextColor','GUIToolTip_SetTitle',
     885            'GUIToolTip_SetToolInfo','GUIToolTip_SetWindowTheme',
     886            'GUIToolTip_ToolExists','GUIToolTip_ToolToArray',
     887            'GUIToolTip_TrackActivate','GUIToolTip_TrackPosition',
     888            'GUIToolTip_TTFToBits','GUIToolTip_Update',
     889            'GUIToolTip_UpdateTipText','HexToString','IE_Example',
     890            'IE_Introduction','IE_VersionInfo','IEAction','IEAttach',
     891            'IEBodyReadHTML','IEBodyReadText','IEBodyWriteHTML','IECreate',
     892            'IECreateEmbedded','IEDocGetObj','IEDocInsertHTML',
     893            'IEDocInsertText','IEDocReadHTML','IEDocWriteHTML',
     894            'IEErrorHandlerDeRegister','IEErrorHandlerRegister','IEErrorNotify',
     895            'IEFormElementCheckBoxSelect','IEFormElementGetCollection',
     896            'IEFormElementGetObjByName','IEFormElementGetValue',
     897            'IEFormElementOptionSelect','IEFormElementRadioSelect',
     898            'IEFormElementSetValue','IEFormGetCollection','IEFormGetObjByName',
     899            'IEFormImageClick','IEFormReset','IEFormSubmit',
     900            'IEFrameGetCollection','IEFrameGetObjByName','IEGetObjById',
     901            'IEGetObjByName','IEHeadInsertEventScript','IEImgClick',
     902            'IEImgGetCollection','IEIsFrameSet','IELinkClickByIndex',
     903            'IELinkClickByText','IELinkGetCollection','IELoadWait',
     904            'IELoadWaitTimeout','IENavigate','IEPropertyGet','IEPropertySet',
     905            'IEQuit','IETableGetCollection','IETableWriteToArray',
     906            'IETagNameAllGetCollection','IETagNameGetCollection','Iif',
     907            'INetExplorerCapable','INetGetSource','INetMail','INetSmtpMail',
     908            'IsPressed','MathCheckDiv','Max','MemGlobalAlloc','MemGlobalFree',
     909            'MemGlobalLock','MemGlobalSize','MemGlobalUnlock','MemMoveMemory',
     910            'MemMsgBox','MemShowError','MemVirtualAlloc','MemVirtualAllocEx',
     911            'MemVirtualFree','MemVirtualFreeEx','Min','MouseTrap',
     912            'NamedPipes_CallNamedPipe','NamedPipes_ConnectNamedPipe',
     913            'NamedPipes_CreateNamedPipe','NamedPipes_CreatePipe',
     914            'NamedPipes_DisconnectNamedPipe',
     915            'NamedPipes_GetNamedPipeHandleState','NamedPipes_GetNamedPipeInfo',
     916            'NamedPipes_PeekNamedPipe','NamedPipes_SetNamedPipeHandleState',
     917            'NamedPipes_TransactNamedPipe','NamedPipes_WaitNamedPipe',
     918            'Net_Share_ConnectionEnum','Net_Share_FileClose',
     919            'Net_Share_FileEnum','Net_Share_FileGetInfo','Net_Share_PermStr',
     920            'Net_Share_ResourceStr','Net_Share_SessionDel',
     921            'Net_Share_SessionEnum','Net_Share_SessionGetInfo',
     922            'Net_Share_ShareAdd','Net_Share_ShareCheck','Net_Share_ShareDel',
     923            'Net_Share_ShareEnum','Net_Share_ShareGetInfo',
     924            'Net_Share_ShareSetInfo','Net_Share_StatisticsGetSvr',
     925            'Net_Share_StatisticsGetWrk','Now','NowCalc','NowCalcDate',
     926            'NowDate','NowTime','PathFull','PathMake','PathSplit',
     927            'ProcessGetName','ProcessGetPriority','Radian',
     928            'ReplaceStringInFile','RunDOS','ScreenCapture_Capture',
     929            'ScreenCapture_CaptureWnd','ScreenCapture_SaveImage',
     930            'ScreenCapture_SetBMPFormat','ScreenCapture_SetJPGQuality',
     931            'ScreenCapture_SetTIFColorDepth','ScreenCapture_SetTIFCompression',
     932            'Security__AdjustTokenPrivileges','Security__GetAccountSid',
     933            'Security__GetLengthSid','Security__GetTokenInformation',
     934            'Security__ImpersonateSelf','Security__IsValidSid',
     935            'Securi