plugins/geshi/geshi/javascript.php
changeset 2 9e3258dfae15
parent 0 441963e5b07a
child 3 f3e2bbbd2155
--- a/plugins/geshi/geshi/javascript.php	Sun Feb 10 19:00:04 2008 -0500
+++ b/plugins/geshi/geshi/javascript.php	Fri May 29 19:30:59 2009 -0400
@@ -4,13 +4,15 @@
  * --------------
  * Author: Ben Keen (ben.keen@gmail.com)
  * Copyright: (c) 2004 Ben Keen (ben.keen@gmail.com), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.7.20
+ * Release Version: 1.0.8.2
  * Date Started: 2004/06/20
  *
  * JavaScript language file for GeSHi.
  *
  * CHANGES
  * -------
+ * 2008/05/23 (1.0.7.22)
+ *  -  Added description of extra language features (SF#1970248)
  * 2004/11/27 (1.0.1)
  *  -  Added support for multiple object splitters
  * 2004/10/27 (1.0.0)
@@ -40,105 +42,109 @@
  ************************************************************************************/
 
 $language_data = array (
-  'LANG_NAME' => 'Javascript',
-  'COMMENT_SINGLE' => array(1 => '//'),
-  'COMMENT_MULTI' => array('/*' => '*/'),
-  'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
-  'QUOTEMARKS' => array("'", '"'),
-  'ESCAPE_CHAR' => '\\',
-  'KEYWORDS' => array(
-    1 => array(
-      'as', 'break', 'case', 'catch', 'continue', 'decodeURI', 'delete', 'do',
-      'else', 'encodeURI', 'eval', 'finally', 'for', 'if', 'in', 'is', 'item',
-      'instanceof', 'return', 'switch', 'this', 'throw', 'try', 'typeof', 'void',
-      'while', 'write', 'with'
-      ),
-    2 => array(
-      'class', 'const', 'default', 'debugger', 'export', 'extends', 'false',
-      'function', 'import', 'namespace', 'new', 'null', 'package', 'private',
-      'protected', 'public', 'super', 'true', 'use', 'var'
-      ),
-    3 => array(
-
-      // common functions for Window object
-      'alert', 'back', 'blur', 'close', 'confirm', 'focus', 'forward', 'home',
-      'name', 'navigate', 'onblur', 'onerror', 'onfocus', 'onload', 'onmove',
-      'onresize', 'onunload', 'open', 'print', 'prompt', 'scroll', 'status',
-      'stop',
-      )
-    ),
-  'SYMBOLS' => array(
-    '(', ')', '[', ']', '{', '}', '!', '@', '%', '&', '*', '|', '/', '<', '>'
-    ),
-  'CASE_SENSITIVE' => array(
-    GESHI_COMMENTS => false,
-    1 => false,
-    2 => false,
-    3 => false
-    ),
-  'STYLES' => array(
+    'LANG_NAME' => 'Javascript',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    //Regular Expressions
+    'COMMENT_REGEXP' => array(2 => "/(?<=[\\s^])s\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])m?\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\,\\;\\)])/iU"),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
     'KEYWORDS' => array(
-      1 => 'color: #000066; font-weight: bold;',
-      2 => 'color: #003366; font-weight: bold;',
-      3 => 'color: #000066;'
-      ),
-    'COMMENTS' => array(
-      1 => 'color: #009900; font-style: italic;',
-      'MULTI' => 'color: #009900; font-style: italic;'
-      ),
-    'ESCAPE_CHAR' => array(
-      0 => 'color: #000099; font-weight: bold;'
-      ),
-    'BRACKETS' => array(
-      0 => 'color: #66cc66;'
-      ),
-    'STRINGS' => array(
-      0 => 'color: #3366CC;'
-      ),
-    'NUMBERS' => array(
-      0 => 'color: #CC0000;'
-      ),
-    'METHODS' => array(
-      1 => 'color: #006600;'
-      ),
+        1 => array(
+            'as', 'break', 'case', 'catch', 'continue', 'decodeURI', 'delete', 'do',
+            'else', 'encodeURI', 'eval', 'finally', 'for', 'if', 'in', 'is', 'item',
+            'instanceof', 'return', 'switch', 'this', 'throw', 'try', 'typeof', 'void',
+            'while', 'write', 'with'
+            ),
+        2 => array(
+            'class', 'const', 'default', 'debugger', 'export', 'extends', 'false',
+            'function', 'import', 'namespace', 'new', 'null', 'package', 'private',
+            'protected', 'public', 'super', 'true', 'use', 'var'
+            ),
+        3 => array(
+            // common functions for Window object
+            'alert', 'back', 'blur', 'close', 'confirm', 'focus', 'forward', 'home',
+            'name', 'navigate', 'onblur', 'onerror', 'onfocus', 'onload', 'onmove',
+            'onresize', 'onunload', 'open', 'print', 'prompt', 'scroll', 'status',
+            'stop',
+            )
+        ),
     'SYMBOLS' => array(
-      0 => 'color: #66cc66;'
-      ),
+        '(', ')', '[', ']', '{', '}',
+        '+', '-', '*', '/', '%',
+        '!', '@', '&', '|', '^',
+        '<', '>', '=',
+        ',', ';', '?', ':'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000066; font-weight: bold;',
+            2 => 'color: #003366; font-weight: bold;',
+            3 => 'color: #000066;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #006600; font-style: italic;',
+            2 => 'color: #009966; font-style: italic;',
+            'MULTI' => 'color: #006600; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #3366CC;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #CC0000;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #660066;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #339933;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            0 => '',
+            1 => '',
+            2 => '',
+            3 => ''
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
     'REGEXPS' => array(
-      0 => 'color: #0066FF;'
-      ),
-    'SCRIPT' => array(
-      0 => '',
-      1 => '',
-      2 => '',
-      3 => ''
-      )
-    ),
-  'URLS' => array(
-		1 => '',
-		2 => '',
-		3 => ''
-  	),
-  'OOLANG' => true,
-  'OBJECT_SPLITTERS' => array(
-  	1 => '.'
-	),
-  'REGEXPS' => array(
-    0 => "/.*/([igm]*)?"         // matches js reg exps
-    ),
-  'STRICT_MODE_APPLIES' => GESHI_MAYBE,
-  'SCRIPT_DELIMITERS' => array(
-    0 => array(
-      '<script type="text/javascript">' => '</script>'
-      ),
-    1 => array(
-      '<script language="javascript">' => '</script>'
-      )
-    ),
-  'HIGHLIGHT_STRICT_BLOCK' => array(
-    0 => true,
-    1 => true
-  )
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+    'SCRIPT_DELIMITERS' => array(
+        0 => array(
+            '<script type="text/javascript">' => '</script>'
+            ),
+        1 => array(
+            '<script language="javascript">' => '</script>'
+            )
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        0 => true,
+        1 => true
+        )
 );
 
 ?>