diff --git a/yelp-xsl-3.0.1.tar.bz2 b/yelp-xsl-3.0.1.tar.bz2 deleted file mode 100644 index c7c28a5..0000000 --- a/yelp-xsl-3.0.1.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1c3ce3639b5a62b50d4c2580e84b35d62bdc215cbab2ac464d386d20328f42f0 -size 694950 diff --git a/yelp-xsl-3.1.1.tar.bz2 b/yelp-xsl-3.1.1.tar.bz2 new file mode 100644 index 0000000..1011720 --- /dev/null +++ b/yelp-xsl-3.1.1.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e8c435e766679085d4350e35cf8ddd4b5929a90452cdcbd0cc01a55f52933a7d +size 688429 diff --git a/yelp-xsl-update-jquery-syntax.patch b/yelp-xsl-update-jquery-syntax.patch deleted file mode 100644 index 4bf0f0d..0000000 --- a/yelp-xsl-update-jquery-syntax.patch +++ /dev/null @@ -1,2443 +0,0 @@ -From 80e58d62f9b33c4b57edd8ed486910407293cc77 Mon Sep 17 00:00:00 2001 -From: Frederic Crozat -Date: Mon, 16 May 2011 14:32:12 +0200 -Subject: [PATCH 1/2] Update jquery.syntax to 3.0.0 (which is MIT licenced). - ---- - js/Makefile.am | 10 +- - js/jquery.syntax.brush.apache.js | 18 +- - js/jquery.syntax.brush.applescript.js | 4 +- - js/jquery.syntax.brush.asm.js | 38 --- - js/jquery.syntax.brush.assembly.js | 37 +++ - js/jquery.syntax.brush.bash-script.js | 62 +++-- - js/jquery.syntax.brush.bash.js | 14 +- - js/jquery.syntax.brush.basic.js | 8 +- - js/jquery.syntax.brush.clang.js | 33 ++- - js/jquery.syntax.brush.csharp.js | 17 +- - js/jquery.syntax.brush.css.js | 21 +- - js/jquery.syntax.brush.diff.js | 12 +- - js/jquery.syntax.brush.haskell.js | 4 +- - js/jquery.syntax.brush.html.js | 54 ++-- - js/jquery.syntax.brush.io.js | 45 +++ - js/jquery.syntax.brush.java.js | 6 +- - js/jquery.syntax.brush.javascript.js | 13 +- - js/jquery.syntax.brush.kai.js | 29 ++ - js/jquery.syntax.brush.lisp.js | 20 +- - js/jquery.syntax.brush.lua.js | 4 +- - js/jquery.syntax.brush.ooc.js | 4 +- - js/jquery.syntax.brush.pascal.js | 4 +- - js/jquery.syntax.brush.perl5.js | 15 +- - js/jquery.syntax.brush.php-script.js | 4 +- - js/jquery.syntax.brush.php.js | 6 +- - js/jquery.syntax.brush.plain.js | 4 +- - js/jquery.syntax.brush.python.js | 4 +- - js/jquery.syntax.brush.ruby.js | 27 ++- - js/jquery.syntax.brush.smalltalk.js | 4 +- - js/jquery.syntax.brush.sql.js | 15 +- - js/jquery.syntax.brush.xml.js | 52 ++++ - js/jquery.syntax.brush.yaml.js | 12 +- - js/jquery.syntax.core.js | 496 ++++++++++++++++++++++++++++----- - js/jquery.syntax.js | 119 ++++++-- - js/jquery.syntax.layout.fixed.js | 70 +++++ - js/jquery.syntax.layout.inline.js | 11 + - js/jquery.syntax.layout.list.js | 54 ++++ - js/jquery.syntax.layout.plain.js | 15 + - js/jquery.syntax.layout.table.js | 58 ++++ - js/syntax.html | 2 +- - 40 files changed, 1136 insertions(+), 289 deletions(-) - delete mode 100644 js/jquery.syntax.brush.asm.js - create mode 100644 js/jquery.syntax.brush.assembly.js - create mode 100644 js/jquery.syntax.brush.io.js - create mode 100644 js/jquery.syntax.brush.kai.js - create mode 100644 js/jquery.syntax.brush.xml.js - create mode 100644 js/jquery.syntax.layout.fixed.js - create mode 100644 js/jquery.syntax.layout.inline.js - create mode 100644 js/jquery.syntax.layout.list.js - create mode 100644 js/jquery.syntax.layout.plain.js - create mode 100644 js/jquery.syntax.layout.table.js - -Index: yelp-xsl-3.0.1/js/Makefile.am -=================================================================== ---- yelp-xsl-3.0.1.orig/js/Makefile.am -+++ yelp-xsl-3.0.1/js/Makefile.am -@@ -4,7 +4,7 @@ js_DATA = \ - jquery.js \ - jquery.syntax.brush.apache.js \ - jquery.syntax.brush.applescript.js \ -- jquery.syntax.brush.asm.js \ -+ jquery.syntax.brush.assembly.js \ - jquery.syntax.brush.bash.js \ - jquery.syntax.brush.bash-script.js \ - jquery.syntax.brush.basic.js \ -@@ -14,8 +14,10 @@ js_DATA = \ - jquery.syntax.brush.diff.js \ - jquery.syntax.brush.haskell.js \ - jquery.syntax.brush.html.js \ -+ jquery.syntax.brush.io.js \ - jquery.syntax.brush.java.js \ - jquery.syntax.brush.javascript.js \ -+ jquery.syntax.brush.kai.js \ - jquery.syntax.brush.lisp.js \ - jquery.syntax.brush.lua.js \ - jquery.syntax.brush.ooc.js \ -@@ -28,8 +30,10 @@ js_DATA = \ - jquery.syntax.brush.ruby.js \ - jquery.syntax.brush.smalltalk.js \ - jquery.syntax.brush.sql.js \ -+ jquery.syntax.brush.xml.js \ - jquery.syntax.brush.yaml.js \ - jquery.syntax.core.js \ -+ jquery.syntax.layout.yelp.js \ - jquery.syntax.js - - EXTRA_DIST = $(js_DATA) -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.apache.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.apache.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.apache.js -@@ -1,22 +1,26 @@ - // brush: "apache" aliases: [] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - Syntax.register('apache', function(brush) { - brush.push({ -- pattern: /<(\w+).*?>/gi, -- matches: Syntax.extractMatches({ -+ pattern: /(<(\w+).*?>)/gi, -+ matches: Syntax.extractMatches( -+ { - klass: 'tag', -- allow: ['attribute'], -+ allow: ['attribute', 'tag-name', 'string'] -+ }, -+ { -+ klass: 'tag-name', - process: Syntax.lib.webLinkProcess("site:http://httpd.apache.org/docs/trunk/ directive", true) - }) - }); - - brush.push({ -- pattern: /<\/(\w+).*?>/gi, -- matches: Syntax.extractMatches({klass: 'tag', allow: ['attribute']}) -+ pattern: /(<\/(\w+).*?>)/gi, -+ matches: Syntax.extractMatches({klass: 'tag', allow: ['tag-name']}, {klass: 'tag-name'}) - }); - - brush.push({ -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.applescript.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.applescript.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.applescript.js -@@ -1,7 +1,7 @@ - // brush: "applescript" aliases: [] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - Syntax.register('applescript', function(brush) { -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.asm.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.asm.js -+++ /dev/null -@@ -1,38 +0,0 @@ --// brush: "asm" aliases: [] -- --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. --// See for licensing details. -- --Syntax.register('asm', function(brush) { -- brush.push(Syntax.lib.cStyleComment); -- brush.push(Syntax.lib.cppStyleComment); -- -- brush.push({ -- pattern: /^\s+([a-zA-Z]+)/gm, -- matches: Syntax.extractMatches({klass: 'function'}) -- }); -- -- brush.push({pattern: /\.[a-zA-Z_][a-zA-Z0-9_]*/gm, klass: 'directive'}); -- -- brush.push({pattern: /^[a-zA-Z_][a-zA-Z0-9_]*:/gm, klass: 'label'}); -- -- brush.push({pattern: /(-[0-9]+)|(\b[0-9]+)|(\$[0-9]+)/g, klass: 'constant'}); -- brush.push({pattern: /(\-|\b|\$)(0x[0-9a-f]+|[0-9]+|[a-z0-9_]+)/gi, klass: 'constant'}); -- brush.push({pattern: /$[a-zA-Z_][a-zA-Z0-9_]*:/gm, klass: 'label'}); -- -- brush.push({pattern: /%\w+/g, klass: 'register'}); -- -- // Strings -- brush.push(Syntax.lib.singleQuotedString); -- brush.push(Syntax.lib.doubleQuotedString); -- brush.push(Syntax.lib.stringEscape); -- -- // Numbers -- brush.push(Syntax.lib.decimalNumber); -- brush.push(Syntax.lib.hexNumber); -- -- // Comments -- brush.push(Syntax.lib.perlStyleComment); -- brush.push(Syntax.lib.webLink); --}); -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.assembly.js -=================================================================== ---- /dev/null -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.assembly.js -@@ -0,0 +1,37 @@ -+// brush: "assembly" aliases: ["asm"] -+ -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. -+// See for licensing details. -+ -+Syntax.register('assembly', function(brush) { -+ brush.push(Syntax.lib.cStyleComment); -+ brush.push(Syntax.lib.cppStyleComment); -+ -+ brush.push({pattern: /\.[a-zA-Z_][a-zA-Z0-9_]*/gm, klass: 'directive'}); -+ -+ brush.push({pattern: /^[a-zA-Z_][a-zA-Z0-9_]*:/gm, klass: 'label'}); -+ -+ brush.push({ -+ pattern: /^\s*([a-zA-Z]+)/gm, -+ matches: Syntax.extractMatches({klass: 'function'}) -+ }); -+ -+ brush.push({pattern: /(-[0-9]+)|(\b[0-9]+)|(\$[0-9]+)/g, klass: 'constant'}); -+ brush.push({pattern: /(\-|\b|\$)(0x[0-9a-f]+|[0-9]+|[a-z0-9_]+)/gi, klass: 'constant'}); -+ -+ brush.push({pattern: /%\w+/g, klass: 'register'}); -+ -+ // Strings -+ brush.push(Syntax.lib.singleQuotedString); -+ brush.push(Syntax.lib.doubleQuotedString); -+ brush.push(Syntax.lib.stringEscape); -+ -+ // Numbers -+ brush.push(Syntax.lib.decimalNumber); -+ brush.push(Syntax.lib.hexNumber); -+ -+ // Comments -+ brush.push(Syntax.lib.perlStyleComment); -+ brush.push(Syntax.lib.webLink); -+}); -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.bash-script.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.bash-script.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.bash-script.js -@@ -1,39 +1,67 @@ - // brush: "bash-script" aliases: [] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - Syntax.register('bash-script', function(brush) { -- var keywords = ["break", "case", "continue", "do", "done", "elif", "else", "eq", "fi", "for", "function", "ge", "gt", "if", "in", "le", "lt", "ne", "return", "then", "until", "while"]; -+ var operators = ["&&", "|", ";", "{", "}"]; -+ brush.push(operators, {klass: 'operator'}); - -+ brush.push({ -+ pattern: /(?:^|\||;|&&)\s*((?:"([^"]|\\")+"|'([^']|\\')+'|\\\n|.|[ \t])+?)(?=$|\||;|&&)/gmi, -+ matches: Syntax.extractMatches({brush: 'bash-statement'}) -+ }); -+}); -+ -+Syntax.register('bash-statement', function(brush) { -+ var keywords = ["break", "case", "continue", "do", "done", "elif", "else", "eq", "fi", "for", "function", "ge", "gt", "if", "in", "le", "lt", "ne", "return", "then", "until", "while"]; - brush.push(keywords, {klass: 'keyword'}); - -- var operators = ["&", "|", ">", "<", "="]; -- -+ var operators = [">", "<", "=", "`", "--", "{", "}", "(", ")", "[", "]"]; - brush.push(operators, {klass: 'operator'}); - -- var commands = ["wget", "alias", "apropos", "awk", "basename", "bash", "bc", "bg", "builtin", "bzip2", "cal", "cat", "cd", "cfdisk", "chgrp", "chmod", "chown", "chrootcksum", "clear", "cmp", "comm", "command", "cp", "cron", "crontab", "csplit", "cut", "date", "dc", "dd", "ddrescue", "declare", "df", "diff", "diff3", "dig", "dir", "dircolors", "dirname", "dirs", "du", "echo", "egrep", "eject", "enable", "env", "ethtool", "eval", "exec", "exit", "expand", "export", "expr", "false", "fdformat", "fdisk", "fg", "fgrep", "file", "find", "fmt", "fold", "format", "free", "fsck", "ftp", "gawk", "getopts", "grep", "groups", "gzip", "hash", "head", "history", "hostname", "id", "ifconfig", "import", "install", "join", "kill", "less", "let", "ln", "local", "locate", "logname", "logout", "look", "lpc", "lpr", "lprint", "lprintd", "lprintq", "lprm", "ls", "lsof", "make", "man", "mkdir", "mkfifo", "mkisofs", "mknod", "more", "mount", "mtools", "mv", "netstat", "nice", "nl", "nohup", "nslookup", "op", "open", "passwd", "paste", "pathchk", "ping", "popd", "pr", "printcap", "printenv", "printf", "ps", "pushd", "pwd", "quota", "quotacheck", "quotactl", "ram", "rcp", "read", "readonly", "remsync", "renice", "rm", "rmdir", "rsync", "scp", "screen", "sdiff", "sed", "select", "seq", "set", "sftp", "shift", "shopt", "shutdown", "sleep", "sort", "source", "split", "ssh", "strace", "su", "sudo", "sum", "symlink", "sync", "tail", "tar", "tee", "test", "time", "times", "top", "touch", "tr", "traceroute", "trap", "true", "tsort", "tty", "type", "ulimit", "umask", "umount", "unalias", "uname", "unexpand", "uniq", "units", "unset", "unshar", "useradd", "usermod", "users", "uudecode", "uuencode", "v", "vdir", "vi", "watch", "wc", "whereis", "which", "who", "whoami", "xargs", "yes", "git", "svn", "ruby", "gem", "rails"]; -+ brush.push({ -+ pattern: /\(\((.*?)\)\)/gmi, -+ klass: 'expression', -+ allow: ['variable', 'string', 'operator', 'constant'] -+ }); - -- var b = "[^\\B\\-\\w\\.]"; -- var commandsPattern = "(" + b + ")(" + commands.join("|") + ")(?=" + b + ")"; -+ brush.push({ -+ pattern: /`([\s\S]+?)`/gmi, -+ matches: Syntax.extractMatches({brush: 'bash-script', debug: true}) -+ }); -+ -+ brush.push(Syntax.lib.perlStyleComment); -+ -+ // Probably need to write a real parser here rather than using regular expressions, it is too fragile -+ // and misses lots of edge cases (e.g. nested brackets, delimiters). -+ brush.push({ -+ pattern: /^\s*((?:\S+?=\$?(?:\[[^\]]+\]|\(\(.*?\)\)|"(?:[^"]|\\")+"|'(?:[^']|\\')+'|\S+)\s*)*)((?:\S+)?)/gmi, -+ matches: Syntax.extractMatches( -+ {klass: 'env', allow: ['variable', 'string', 'operator', 'constant', 'expression']}, -+ {klass: 'function', allow: ['variable', 'string']} -+ ) -+ }); - - brush.push({ -- pattern: new RegExp(commandsPattern, "g"), -- matches: Syntax.extractMatches({klass: 'function', index: 2}) -+ pattern: /(\S+?)=/gmi, -+ matches: Syntax.extractMatches({klass: 'variable'}), -+ only: ['env'] - }); - - brush.push({ - pattern: /\$\w+/g, - klass: 'variable' -- }) -+ }); - - brush.push({pattern: /\s\-+\w+/g, klass: 'option'}) -- -- brush.push(Syntax.lib.perlStyleComment); -- brush.push(jQuery.extend(Syntax.lib.singleQuotedString, {allow: '*'})); -- brush.push(jQuery.extend(Syntax.lib.doubleQuotedString, {allow: '*'})); -- -+ -+ brush.push(Syntax.lib.singleQuotedString); -+ brush.push(Syntax.lib.doubleQuotedString); -+ -+ brush.push(Syntax.lib.decimalNumber); -+ brush.push(Syntax.lib.hexNumber); -+ - brush.push(Syntax.lib.webLink); - }); -- -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.bash.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.bash.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.bash.js -@@ -1,22 +1,28 @@ - // brush: "bash" aliases: [] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - Syntax.brushes.dependency('bash', 'bash-script'); - - Syntax.register('bash', function(brush) { - brush.push({ -- pattern: /^([\w@:~\s]*?[\$|\#])(.*?)$/gm, -+ pattern: /^([\w@:~ ]*?[\$|\#])\s+(.*?)$/gm, - matches: Syntax.extractMatches({klass: 'prompt'}, {brush: 'bash-script'}) - }); - - brush.push({ -- pattern: /\-\- .*$/gm, -+ pattern: /^\-\- .*$/gm, - klass: 'comment', - allow: ['href'] - }); - -+ // Strings -+ brush.push(Syntax.lib.singleQuotedString); -+ brush.push(Syntax.lib.doubleQuotedString); -+ brush.push(Syntax.lib.stringEscape); -+ -+ // Numbers - brush.push(Syntax.lib.webLink); - }); -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.basic.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.basic.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.basic.js -@@ -1,17 +1,17 @@ - // brush: "basic" aliases: ['vb'] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - Syntax.lib.vbStyleComment = {pattern: /' .*$/gm, klass: 'comment', allow: ['href']}; - - Syntax.register('basic', function(brush) { -- var keywords = ["AddHandler", "AddressOf", "Alias", "And", "AndAlso", "Ansi", "As", "Assembly", "Auto", "ByRef", "ByVal", "Call", "Case", "Catch", "Declare", "Default", "Delegate", "Dim", "DirectCast", "Do", "Each", "Else", "ElseIf", "End", "Enum", "Erase", "Error", "Event", "Exit", "Finally", "For", "Function", "Get", "GetType", "GoSub", "GoTo", "Handles", "If", "Implements", "Imports", "In", "Inherits", "Interface", "Is", "Let", "Lib", "Like", "Loop", "Mod", "Module", "MustOverride", "Namespace", "New", "Next", "Not", "On", "Option", "Optional", "Or", "OrElse", "Overloads", "Overridable", "Overrides", "ParamArray", "Preserve", "Property", "RaiseEvent", "ReadOnly", "ReDim", "REM", "RemoveHandler", "Resume", "Return", "Select", "Set", "Static", "Step", "Stop", "Structure", "Sub", "SyncLock", "Then", "Throw", "To", "Try", "TypeOf", "Unicode", "Until", "When", "While", "With", "WithEvents", "WriteOnly", "Xor", "ExternalSource", "Region", "Print"]; -+ var keywords = ["AddHandler", "AddressOf", "Alias", "And", "AndAlso", "Ansi", "As", "Assembly", "Auto", "ByRef", "ByVal", "Call", "Case", "Catch", "Declare", "Default", "Delegate", "Dim", "DirectCast", "Do", "Each", "Else", "ElseIf", "End", "Enum", "Erase", "Error", "Event", "Exit", "Finally", "For", "Function", "Get", "GetType", "GoSub", "GoTo", "Handles", "If", "Implements", "Imports", "In", "Inherits", "Interface", "Is", "Let", "Lib", "Like", "Loop", "Mod", "Module", "MustOverride", "Namespace", "New", "Next", "Not", "On", "Option", "Optional", "Or", "OrElse", "Overloads", "Overridable", "Overrides", "ParamArray", "Preserve", "Property", "RaiseEvent", "ReadOnly", "ReDim", "REM", "RemoveHandler", "Resume", "Return", "Select", "Set", "Static", "Step", "Stop", "Structure", "Sub", "SyncLock", "Then", "Throw", "To", "Try", "TypeOf", "Unicode", "Until", "When", "While", "With", "WithEvents", "WriteOnly", "Xor", "ExternalSource", "Region", "Print", "Class"]; - - var operators = ["-", "&", "&=", "*", "*=", "/", "/=", "\\", "\=", "^", "^=", "+", "+=", "=", "-="]; - -- var types = ["CBool", "CByte", "CChar", "CDate", "CDec", "CDbl", "Char", "CInt", "Class", "CLng", "CObj", "Const", "CShort", "CSng", "CStr", "CType", "Date", "Decimal", "Variant", "String", "Short", "Long", "Single", "Double", "Object", "Integer", "Boolean", "Byte", "Char"]; -+ var types = ["CBool", "CByte", "CChar", "CDate", "CDec", "CDbl", "Char", "CInt", "CLng", "CObj", "Const", "CShort", "CSng", "CStr", "CType", "Date", "Decimal", "Variant", "String", "Short", "Long", "Single", "Double", "Object", "Integer", "Boolean", "Byte", "Char"]; - - var operators = ["+", "-", "*", "/", "+=", "-=", "*=", "/=", "=", ":=", "==", "!=", "!", "%", "?", ">", "<", ">=", "<=", "&&", "||", "&", "|", "^", ".", "~", "..", ">>", "<<", ">>>", "<<<", ">>=", "<<=", ">>>=", "<<<=", "%=", "^=", "@"]; - -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.clang.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.clang.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.clang.js -@@ -1,17 +1,17 @@ - // brush: "clang" aliases: ["cpp", "c++", "c", "objective-c"] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - Syntax.register('clang', function(brush) { -- var keywords = ["@interface", "@implementation", "@protocol", "@end", "@try", "@throw", "@catch", "@finally", "@class", "@selector", "@encode", "@synchronized", "@property", "struct", "break", "continue", "else", "for", "switch", "case", "default", "enum", "goto", "register", "sizeof", "typedef", "volatile", "do", "extern", "if", "return", "static", "union", "while", "asm", "dynamic_cast", "namespace", "reinterpret_cast", "try", "explicit", "static_cast", "typeid", "catch", "operator", "template", "class", "const_cast", "inline", "throw", "virtual"]; -+ var keywords = ["@interface", "@implementation", "@protocol", "@end", "@try", "@throw", "@catch", "@finally", "@class", "@selector", "@encode", "@synchronized", "@property", "@synthesize", "@dynamic", "struct", "break", "continue", "else", "for", "switch", "case", "default", "enum", "goto", "register", "sizeof", "typedef", "volatile", "do", "extern", "if", "return", "static", "union", "while", "asm", "dynamic_cast", "namespace", "reinterpret_cast", "try", "explicit", "static_cast", "typeid", "catch", "operator", "template", "class", "const_cast", "inline", "throw", "virtual", "IBOutlet"]; - -- var access = ["@private", "@protected", "@public", "private", "protected", "public", "friend", "using"]; -+ var access = ["@private", "@protected", "@public", "@required", "@optional", "private", "protected", "public", "friend", "using"]; - - var types = ["mutable", "auto", "const", "double", "float", "int", "short", "char", "long", "signed", "unsigned", "bool", "void", "typename", "id", "register", "wchar_t"]; - -- var operators = ["@", "+", "*", "/", "-", "&", "|", "~", "!", "%", "<", "=", ">", "[", "]", "new", "delete"]; -+ var operators = ["+", "*", "/", "-", "&", "|", "~", "!", "%", "<", "=", ">", "[", "]", "new", "delete", "in"]; - - var values = ["this", "true", "false", "NULL", "YES", "NO", "nil"]; - -@@ -21,6 +21,27 @@ Syntax.register('clang', function(brush) - brush.push(operators, {klass: 'operator'}); - brush.push(access, {klass: 'access'}); - -+ // Objective-C properties -+ brush.push({ -+ pattern: /@property\((.*)\)[^;]+;/gmi, -+ klass: 'objective-c-property', -+ allow: '*' -+ }); -+ -+ var propertyAttributes = ["getter", "setter", "readwrite", "readonly", "assign", "retain", "copy", "nonatomic"]; -+ -+ brush.push(propertyAttributes, { -+ klass: 'keyword', -+ only: ['objective-c-property'] -+ }) -+ -+ // Objective-C strings -+ -+ brush.push({ -+ pattern: /@(?=")/g, -+ klass: 'string' -+ }); -+ - // Objective-C classes - brush.push(Syntax.lib.camelCaseType); - -@@ -43,7 +64,7 @@ Syntax.register('clang', function(brush) - }); - - brush.push({ -- pattern: /-\s*(\(.+?\))?\s*(\w+)\s*\{/g, -+ pattern: /-\s*(\([^\)]+?\))?\s*(\w+)\s*\{/g, - matches: Syntax.extractMatches({index: 2, klass: 'function'}) - }); - -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.csharp.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.csharp.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.csharp.js -@@ -1,7 +1,7 @@ --// brush: "csharp" aliases: ["c#"] -+// brush: "csharp" aliases: ["c-sharp", "c#"] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - Syntax.register('csharp', function(brush) { -@@ -14,13 +14,20 @@ Syntax.register('csharp', function(brush - var operators = ["+", "-", "*", "/", "%", "&", "|", "^", "!", "~", "&&", "||", "++", "--", "<<", ">>", "==", "!=", "<", ">", "<=", ">=", "=", "?", "new", "as", "is", "sizeof", "typeof", "checked", "unchecked"]; - - var values = ["this", "true", "false", "null"]; -- -+ - brush.push(values, {klass: 'constant'}); - brush.push(types, {klass: 'type'}); - brush.push(keywords, {klass: 'keyword'}); - brush.push(operators, {klass: 'operator'}); - brush.push(access, {klass: 'access'}); - -+ // Functions -+ brush.push(Syntax.lib.cStyleFunction); -+ brush.push({ -+ pattern: /(?:\.)([a-z_][a-z0-9_]+)/gi, -+ matches: Syntax.extractMatches({klass: 'function'}) -+ }); -+ - // Camel Case Types - brush.push(Syntax.lib.camelCaseType); - -@@ -36,7 +43,5 @@ Syntax.register('csharp', function(brush - - brush.push(Syntax.lib.decimalNumber); - brush.push(Syntax.lib.hexNumber); -- -- brush.push(Syntax.lib.cStyleFunction); - }); - -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.css.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.css.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.css.js -@@ -1,13 +1,22 @@ - // brush: "css" aliases: [] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - Syntax.register('css', function(brush) { -- var colorNames = ["AliceBlue", "AntiqueWhite", "Aqua", "Aquamarine", "Azure", "Beige", "Bisque", "Black", "BlanchedAlmond", "Blue", "BlueViolet", "Brown", "BurlyWood", "CadetBlue", "Chartreuse", "Chocolate", "Coral", "CornflowerBlue", "Cornsilk", "Crimson", "Cyan", "DarkBlue", "DarkCyan", "DarkGoldenRod", "DarkGray", "DarkGreen", "DarkKhaki", "DarkMagenta", "DarkOliveGreen", "Darkorange", "DarkOrchid", "DarkRed", "DarkSalmon", "DarkSeaGreen", "DarkSlateBlue", "DarkSlateGray", "DarkTurquoise", "DarkViolet", "DeepPink", "DeepSkyBlue", "DimGray", "DodgerBlue", "FireBrick", "FloralWhite", "ForestGreen", "Fuchsia", "Gainsboro", "GhostWhite", "Gold", "GoldenRod", "Gray", "Green", "GreenYellow", "HoneyDew", "HotPink", "IndianRed", "Indigo", "Ivory", "Khaki", "Lavender", "LavenderBlush", "LawnGreen", "LemonChiffon", "LightBlue", "LightCoral", "LightCyan", "LightGoldenRodYellow", "LightGrey", "LightGreen", "LightPink", "LightSalmon", "LightSeaGreen", "LightSkyBlue", "LightSlateGray", "LightSteelBlue", "LightYellow", "Lime", "LimeGreen", "Linen", "Magenta", "Maroon", "MediumAquaMarine", "MediumBlue", "MediumOrchid", "MediumPurple", "MediumSeaGreen", "MediumSlateBlue", "MediumSpringGreen", "MediumTurquoise", "MediumVioletRed", "MidnightBlue", "MintCream", "MistyRose", "Moccasin", "NavajoWhite", "Navy", "OldLace", "Olive", "OliveDrab", "Orange", "OrangeRed", "Orchid", "PaleGoldenRod", "PaleGreen", "PaleTurquoise", "PaleVioletRed", "PapayaWhip", "PeachPuff", "Peru", "Pink", "Plum", "PowderBlue", "Purple", "Red", "RosyBrown", "RoyalBlue", "SaddleBrown", "Salmon", "SandyBrown", "SeaGreen", "SeaShell", "Sienna", "Silver", "SkyBlue", "SlateBlue", "SlateGray", "Snow", "SpringGreen", "SteelBlue", "Tan", "Teal", "Thistle", "Tomato", "Turquoise", "Violet", "Wheat", "White", "WhiteSmoke", "Yellow", "YellowGreen", "#[0-9a-f]{3,6}", "rgba?\\(.+?\\)", "hsla?\\(.+?\\)"]; -+ var colorNames = ["AliceBlue", "AntiqueWhite", "Aqua", "Aquamarine", "Azure", "Beige", "Bisque", "Black", "BlanchedAlmond", "Blue", "BlueViolet", "Brown", "BurlyWood", "CadetBlue", "Chartreuse", "Chocolate", "Coral", "CornflowerBlue", "Cornsilk", "Crimson", "Cyan", "DarkBlue", "DarkCyan", "DarkGoldenRod", "DarkGray", "DarkGreen", "DarkKhaki", "DarkMagenta", "DarkOliveGreen", "Darkorange", "DarkOrchid", "DarkRed", "DarkSalmon", "DarkSeaGreen", "DarkSlateBlue", "DarkSlateGray", "DarkTurquoise", "DarkViolet", "DeepPink", "DeepSkyBlue", "DimGray", "DodgerBlue", "FireBrick", "FloralWhite", "ForestGreen", "Fuchsia", "Gainsboro", "GhostWhite", "Gold", "GoldenRod", "Gray", "Green", "GreenYellow", "HoneyDew", "HotPink", "IndianRed", "Indigo", "Ivory", "Khaki", "Lavender", "LavenderBlush", "LawnGreen", "LemonChiffon", "LightBlue", "LightCoral", "LightCyan", "LightGoldenRodYellow", "LightGrey", "LightGreen", "LightPink", "LightSalmon", "LightSeaGreen", "LightSkyBlue", "LightSlateGray", "LightSteelBlue", "LightYellow", "Lime", "LimeGreen", "Linen", "Magenta", "Maroon", "MediumAquaMarine", "MediumBlue", "MediumOrchid", "MediumPurple", "MediumSeaGreen", "MediumSlateBlue", "MediumSpringGreen", "MediumTurquoise", "MediumVioletRed", "MidnightBlue", "MintCream", "MistyRose", "Moccasin", "NavajoWhite", "Navy", "OldLace", "Olive", "OliveDrab", "Orange", "OrangeRed", "Orchid", "PaleGoldenRod", "PaleGreen", "PaleTurquoise", "PaleVioletRed", "PapayaWhip", "PeachPuff", "Peru", "Pink", "Plum", "PowderBlue", "Purple", "Red", "RosyBrown", "RoyalBlue", "SaddleBrown", "Salmon", "SandyBrown", "SeaGreen", "SeaShell", "Sienna", "Silver", "SkyBlue", "SlateBlue", "SlateGray", "Snow", "SpringGreen", "SteelBlue", "Tan", "Teal", "Thistle", "Tomato", "Turquoise", "Violet", "Wheat", "White", "WhiteSmoke", "Yellow", "YellowGreen"]; - -- var colorMatcher = new RegExp("(" + (colorNames.join(")|(")) + ")", "gi") -+ var colorPatterns = ["#[0-9a-f]{3,6}", "rgba?\\(.+?\\)", "hsla?\\(.+?\\)"]; -+ -+ var colorMatcher = [].concat( -+ jQuery.map(colorNames, function(pattern) { -+ return "(" + Syntax.Brush.convertStringToTokenPattern(pattern, true) + ")"; -+ }), -+ jQuery.map(colorPatterns, function(pattern) { -+ return "(" + Syntax.Brush.convertStringToTokenPattern(pattern, false) + ")"; -+ }) -+ ); - - brush.push({ - pattern: /\(.*?\)/g, -@@ -21,11 +30,11 @@ Syntax.register('css', function(brush) { - }); - - brush.push({ -- pattern: colorMatcher, -+ pattern: new RegExp(colorMatcher.join("|"), "gi"), - klass: 'color', - process: function (element, match) { - var text = jQuery(element).text(); -- var colorBox = jQuery('  ').css('background-color', text); -+ var colorBox = jQuery('  '); - return jQuery(element).append(colorBox); - } - }); -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.diff.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.diff.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.diff.js -@@ -1,7 +1,7 @@ - // brush: "diff" aliases: ["patch"] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - Syntax.register('diff', function(brush) { -@@ -12,5 +12,13 @@ Syntax.register('diff', function(brush) - - brush.push({pattern: /^\+[^\+]{1}.*$/gm, klass: 'insert'}); - brush.push({pattern: /^\-[^\-]{1}.*$/gm, klass: 'remove'}); -+ -+ brush.postprocess = function (options, html, container) { -+ $('.insert', html).closest('.source').addClass('insert-line'); -+ $('.remove', html).closest('.source').addClass('remove-line'); -+ $('.offset', html).closest('.source').addClass('offset-line'); -+ -+ return html; -+ }; - }); - -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.haskell.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.haskell.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.haskell.js -@@ -1,7 +1,7 @@ - // brush: "haskell" aliases: [] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - Syntax.register('haskell', function(brush) { -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.html.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.html.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.html.js -@@ -1,9 +1,10 @@ --// brush: "html" aliases: ["xml"] -+// brush: "html" aliases: [] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - -+Syntax.brushes.dependency('html', 'xml'); - Syntax.brushes.dependency('html', 'javascript'); - Syntax.brushes.dependency('html', 'css'); - Syntax.brushes.dependency('html', 'php-script'); -@@ -21,13 +22,23 @@ Syntax.register('html', function(brush) - }); - - brush.push({ -- pattern: /(<\?php)((.|\n)*?)(\?>)/gm, -- matches: Syntax.extractMatches({klass: 'operator'}, {brush: 'php-script'}, null, {klass: 'operator'}) -+ pattern: /((<\?php)([\s\S]*?)(\?>))/gm, -+ matches: Syntax.extractMatches( -+ {klass: 'php-tag', allow: ['keyword', 'php-script']}, -+ {klass: 'keyword'}, -+ {brush: 'php-script'}, -+ {klass: 'keyword'} -+ ) - }); - - brush.push({ -- pattern: /(<\?rb?)((.|\n)*?)(\?>)/gm, -- matches: Syntax.extractMatches({klass: 'operator'}, {brush: 'ruby'}, null, {klass: 'operator'}) -+ pattern: /((<\?rb?)([\s\S]*?)(\?>))/gm, -+ matches: Syntax.extractMatches( -+ {klass: 'ruby-tag', allow: ['keyword', 'ruby']}, -+ {klass: 'keyword'}, -+ {brush: 'ruby'}, -+ {klass: 'keyword'} -+ ) - }); - - brush.push({ -@@ -37,36 +48,19 @@ Syntax.register('html', function(brush) - }); - - brush.push({ -- pattern: /<(\!DOCTYPE(.*?))>/g, -+ pattern: /<\!(DOCTYPE(.*?))>/g, - matches: Syntax.extractMatches({klass: 'doctype'}) - }); - -- brush.push({ -- pattern: /<\/?((?:[\w]+:)?)([\w]+).*?>/g, -- matches: Syntax.extractMatches({klass: 'namespace', allow: ['attribute']}, {klass: 'tag', allow: ['attribute']}) -- }); -- -- brush.push({ -- pattern: /(\w+)=(".*?"|'.*?'|\S+)/g, -- matches: Syntax.extractMatches({klass: 'attribute'}, {klass: 'string'}) -- }); -- -- brush.push({ -- pattern: /&\w+;/g, -- klass: 'entity' -- }); -- -+ // Is this rule still relevant? - brush.push({ - pattern: /(%[0-9a-f]{2})/gi, - klass: 'percent-escape', -- only: ['html', 'string'] -+ only: ['html'] - }); -- -- brush.push(Syntax.lib.xmlComment); -- -- brush.push(Syntax.lib.singleQuotedString); -- brush.push(Syntax.lib.doubleQuotedString); - -- brush.push(Syntax.lib.webLink); -+ // The position of this statement is important - it determines at what point the rules of the parent are processed. -+ // In this case, the rules for xml are processed after the rules for html. -+ brush.derives('xml'); - }); - -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.io.js -=================================================================== ---- /dev/null -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.io.js -@@ -0,0 +1,45 @@ -+// brush: "io" aliases: [] -+ -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. -+// See for licensing details. -+ -+Syntax.register('io', function(brush) { -+ brush.push(Syntax.lib.cStyleFunction); -+ -+ var keywords = ["return"]; -+ -+ var operators = ["::=", ":=", "or", "and", "@", "+", "*", "/", "-", "&", "|", "~", "!", "%", "<", "=", ">", "[", "]", "new", "delete"]; -+ -+ brush.push(keywords, {klass: 'keywords'}); -+ brush.push(operators, {klass: 'operator'}); -+ -+ // Extract space delimited method invocations -+ brush.push({ -+ pattern: /\b([ \t]+([a-z]+))/gi, -+ matches: Syntax.extractMatches({index: 2, klass: 'function'}) -+ }); -+ -+ brush.push({ -+ pattern: /\)([ \t]+([a-z]+))/gi, -+ matches: Syntax.extractMatches({index: 2, klass: 'function'}) -+ }); -+ -+ // Objective-C classes -+ brush.push(Syntax.lib.camelCaseType); -+ -+ brush.push(Syntax.lib.perlStyleComment); -+ brush.push(Syntax.lib.cStyleComment); -+ brush.push(Syntax.lib.cppStyleComment); -+ brush.push(Syntax.lib.webLink); -+ -+ // Strings -+ brush.push(Syntax.lib.singleQuotedString); -+ brush.push(Syntax.lib.doubleQuotedString); -+ brush.push(Syntax.lib.stringEscape); -+ -+ // Numbers -+ brush.push(Syntax.lib.decimalNumber); -+ brush.push(Syntax.lib.hexNumber); -+}); -+ -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.java.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.java.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.java.js -@@ -1,7 +1,7 @@ - // brush: "java" aliases: [] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - Syntax.register('java', function(brush) { -@@ -13,7 +13,7 @@ Syntax.register('java', function(brush) - - var operators = ["++", "--", "++", "--", "+", "-", "~", "!", "*", "/", "%", "+", "-", "<<", ">>", ">>>", "<", ">", "<=", ">=", "==", "!=", "&", "^", "|", "&&", "||", "?", "=", "+=", "-=", "*=", "/=", "%=", "&=", "^=", "|=", "<<=", ">>=", ">>>=", "instanceof", "new", "delete"]; - -- var constants = ["this", "true", "false"]; -+ var constants = ["this", "true", "false", "null"]; - - brush.push(constants, {klass: 'constant'}); - brush.push(types, {klass: 'type'}); -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.javascript.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.javascript.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.javascript.js -@@ -1,19 +1,22 @@ - // brush: "javascript" aliases: ["js", "actionscript"] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - Syntax.register('javascript', function(brush) { -- var keywords = ["break", "case", "catch", "continue", "default", "delete", "do", "else", "for", "if", "in", "instanceof", "new", "return", "super", "switch", "throw", "true", "try", "typeof", "var", "while", "with", "prototype"]; -+ var keywords = ["function", "break", "case", "catch", "continue", "default", "delete", "do", "else", "for", "if", "in", "instanceof", "new", "return", "super", "switch", "throw", "true", "try", "typeof", "var", "while", "with", "prototype"]; - - var operators = ["+", "*", "/", "-", "&", "|", "~", "!", "%", "<", "=", ">"]; -- var values = ["function", "this", "true", "false", "null"]; -- -+ var values = ["this", "true", "false", "null"]; -+ - brush.push(values, {klass: 'constant'}); - brush.push(keywords, {klass: 'keyword'}); - brush.push(operators, {klass: 'operator'}); - -+ // Regular expressions -+ brush.push(Syntax.lib.perlStyleRegularExpressions); -+ - // Camel Case Types - brush.push(Syntax.lib.camelCaseType); - -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.kai.js -=================================================================== ---- /dev/null -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.kai.js -@@ -0,0 +1,29 @@ -+// brush: "kai" aliases: [] -+ -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. -+// See for licensing details. -+ -+Syntax.register('kai', function(brush) { -+ brush.push(['(', ')', '[', ']', '{', '}'], {klass: 'operator'}); -+ -+ brush.push(Syntax.lib.perlStyleComment); -+ -+ brush.push(Syntax.lib.decimalNumber); -+ brush.push(Syntax.lib.webLink); -+ -+ brush.push({ -+ pattern: /\(([^\s\(\)]+)/gi, -+ matches: Syntax.extractMatches({klass: 'function'}) -+ }); -+ -+ brush.push({ -+ pattern: /`[a-z]*/gi, -+ klass: 'constant' -+ }) -+ -+ // Strings -+ brush.push(Syntax.lib.multiLineDoubleQuotedString); -+ brush.push(Syntax.lib.stringEscape); -+}); -+ -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.lisp.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.lisp.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.lisp.js -@@ -1,7 +1,7 @@ - // brush: "lisp" aliases: ['scheme', 'clojure'] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - Syntax.lib.lispStyleComment = {pattern: /(;+) .*$/gm, klass: 'comment', allow: ['href']}; -@@ -13,22 +13,12 @@ Syntax.register('lisp', function(brush) - - brush.push(Syntax.lib.lispStyleComment); - -- // Hex, Octal and Binary numbers :) -- brush.push({ -- pattern: /0x[0-9a-fA-F]+/g, -- klass: 'constant' -- }); -- -+ brush.push(Syntax.lib.hexNumber); - brush.push(Syntax.lib.decimalNumber); - brush.push(Syntax.lib.webLink); - - brush.push({ -- pattern: /\(([^\s\(\)]+)/gi, -- matches: Syntax.extractMatches({klass: 'function'}) -- }); -- -- brush.push({ -- pattern: /\(([^\s\(\)]+)/gi, -+ pattern: /\(\s*([^\s\(\)]+)/gmi, - matches: Syntax.extractMatches({klass: 'function'}) - }); - -@@ -38,7 +28,7 @@ Syntax.register('lisp', function(brush) - }) - - // Strings -- brush.push(Syntax.lib.doubleQuotedString); -+ brush.push(Syntax.lib.multiLineDoubleQuotedString); - brush.push(Syntax.lib.stringEscape); - }); - -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.lua.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.lua.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.lua.js -@@ -1,7 +1,7 @@ - // brush: "lua" aliases: [] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - Syntax.register('lua', function(brush) { -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.ooc.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.ooc.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.ooc.js -@@ -1,7 +1,7 @@ - // brush: "ooc" aliases: [] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - Syntax.register('ooc', function(brush) { -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.pascal.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.pascal.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.pascal.js -@@ -1,7 +1,7 @@ - // brush: "pascal" aliases: ["delphi"] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - // - // Constructed using information from http://pascal.comsci.us/etymology/ -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.perl5.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.perl5.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.perl5.js -@@ -1,7 +1,7 @@ - // brush: "perl5" aliases: [] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - Syntax.register('perl5', function(brush) { -@@ -18,6 +18,9 @@ Syntax.register('perl5', function(brush) - brush.push(operators, {klass: 'operator'}); - brush.push(builtins, {klass: 'function'}); - -+ // Regular expressions -+ brush.push(Syntax.lib.perlStyleRegularExpressions); -+ - // Comments - brush.push(Syntax.lib.perlStyleComment); - brush.push(Syntax.lib.webLink); -@@ -27,7 +30,13 @@ Syntax.register('perl5', function(brush) - pattern: /(\$|@|%)\w+/gi, - klass: 'variable' - }); -- -+ -+ // Enddoc -+ brush.push({ -+ pattern: /__END__[\s\S]*/gm, -+ klass: 'comment' -+ }); -+ - // Strings - brush.push(Syntax.lib.singleQuotedString); - brush.push(Syntax.lib.doubleQuotedString); -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.php-script.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.php-script.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.php-script.js -@@ -1,7 +1,7 @@ - // brush: "php-script" aliases: [] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - Syntax.register('php-script', function(brush) { -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.php.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.php.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.php.js -@@ -1,7 +1,7 @@ - // brush: "php" aliases: [] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - Syntax.brushes.dependency('php', 'php-script'); -@@ -9,7 +9,7 @@ Syntax.brushes.dependency('php', 'php-sc - Syntax.register('php', function(brush) { - brush.push({ - pattern: /(<\?(php)?)((.|\n)*?)(\?>)/gm, -- matches: Syntax.extractMatches({klass: 'operator'}, null, {brush: 'php-script'}, null, {klass: 'operator'}) -+ matches: Syntax.extractMatches({klass: 'keyword'}, null, {brush: 'php-script'}, null, {klass: 'keyword'}) - }) - }); - -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.plain.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.plain.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.plain.js -@@ -1,7 +1,7 @@ - // brush: "plain" aliases: ["text"] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - Syntax.register('plain', function(brush) { -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.python.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.python.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.python.js -@@ -1,7 +1,7 @@ - // brush: "python" aliases: [] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - Syntax.register('python', function(brush) { -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.ruby.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.ruby.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.ruby.js -@@ -1,22 +1,37 @@ - // brush: "ruby" aliases: [] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - Syntax.lib.rubyStyleFunction = {pattern: /(?:def\s+|\.)([a-z_][a-z0-9_]+)/gi, matches: Syntax.extractMatches({klass: 'function'})}; --Syntax.lib.rubyStyleSymbol = {pattern: /:\w+/g, klass: 'constant'}; -+ -+// We need to emulate negative lookbehind -+Syntax.lib.rubyStyleSymbol = {pattern: /([:]?):\w+/g, klass: 'constant', matches: function (match, expr) { -+ if (match[1] != '') return []; -+ -+ return [new Syntax.Match(match.index, match[0].length, expr, match[0])]; -+}}; - - Syntax.register('ruby', function(brush) { -- var keywords = ["alias", "and", "begin", "break", "case", "class", "def", "define_method", "defined", "do", "each", "else", "elsif", "end", "ensure", "false", "for", "if", "in", "module", "new", "next", "nil", "not", "or", "raise", "redo", "rescue", "retry", "return", "self", "super", "then", "throw", "true", "undef", "unless", "until", "when", "while", "yield"]; -+ var keywords = ["alias", "and", "begin", "break", "case", "class", "def", "define_method", "defined?", "do", "else", "elsif", "end", "ensure", "false", "for", "if", "in", "module", "next", "not", "or", "raise", "redo", "rescue", "retry", "return", "then", "throw", "undef", "unless", "until", "when", "while", "yield", "block_given?"]; - - var operators = ["+", "*", "/", "-", "&", "|", "~", "!", "%", "<", "=", ">"]; -- var values = ["this", "true", "false", "nil"]; -+ var values = ["self", "super", "true", "false", "nil"]; - -- var access = ["private", "public"]; -+ var access = ["private", "protected", "public"]; - - brush.push(access, {klass: 'access'}); - brush.push(values, {klass: 'constant'}); -+ -+ // Percent operator statements -+ brush.push({ -+ pattern: /(\%[\S])(\{[\s\S]*?\})/g, -+ matches: Syntax.extractMatches({klass: 'function'}, {klass: 'constant'}) -+ }); -+ -+ // Regular expressions -+ brush.push(Syntax.lib.perlStyleRegularExpressions); - - brush.push({pattern: /(@+|\$)[\w]+/g, klass: 'variable'}); - -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.smalltalk.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.smalltalk.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.smalltalk.js -@@ -1,7 +1,7 @@ - // brush: "smalltalk" aliases: [] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - Syntax.register('smalltalk', function(brush) { -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.sql.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.sql.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.sql.js -@@ -1,13 +1,13 @@ - // brush: "sql" aliases: [] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - Syntax.lib.sqlStyleComment = {pattern: /-- .*$/gm, klass: 'comment', allow: ['href']}; - - Syntax.register('sql', function(brush) { -- var keywords = ["A", "ABORT", "ABS", "ABSOLUTE", "ACCESS", "ACTION", "ADA", "ADD", "ADMIN", "AFTER", "AGGREGATE", "ALIAS", "ALL", "ALLOCATE", "ALSO", "ALTER", "ALWAYS", "ANALYSE", "ANALYZE", "AND", "ANY", "ARE", "ARRAY", "AS", "ASC", "ASENSITIVE", "ASSERTION", "ASSIGNMENT", "ASYMMETRIC", "AT", "ATOMIC", "ATTRIBUTE", "ATTRIBUTES", "AUDIT", "AUTHORIZATION", "AUTO_INCREMENT", "AVG", "AVG_ROW_LENGTH", "BACKUP", "BACKWARD", "BEFORE", "BEGIN", "BERNOULLI", "BETWEEN", "BIGINT", "BINARY", "BIT", "BIT_LENGTH", "BITVAR", "BLOB", "BOOL", "BOOLEAN", "BOTH", "BREADTH", "BREAK", "BROWSE", "BULK", "BY", "C", "CACHE", "CALL", "CALLED", "CARDINALITY", "CASCADE", "CASCADED", "CASE", "CAST", "CATALOG", "CATALOG_NAME", "CEIL", "CEILING", "CHAIN", "CHANGE", "CHAR", "CHAR_LENGTH", "CHARACTER", "CHARACTER_LENGTH", "CHARACTER_SET_CATALOG", "CHARACTER_SET_NAME", "CHARACTER_SET_SCHEMA", "CHARACTERISTICS", "CHARACTERS", "CHECK", "CHECKED", "CHECKPOINT", "CHECKSUM", "CLASS", "CLASS_ORIGIN", "CLOB", "CLOSE", "CLUSTER", "CLUSTERED", "COALESCE", "COBOL", "COLLATE", "COLLATION", "COLLATION_CATALOG", "COLLATION_NAME", "COLLATION_SCHEMA", "COLLECT", "COLUMN", "COLUMN_NAME", "COLUMNS", "COMMAND_FUNCTION", "COMMAND_FUNCTION_CODE", "COMMENT", "COMMIT", "COMMITTED", "COMPLETION", "COMPRESS", "COMPUTE", "CONDITION", "CONDITION_NUMBER", "CONNECT", "CONNECTION", "CONNECTION_NAME", "CONSTRAINT", "CONSTRAINT_CATALOG", "CONSTRAINT_NAME", "CONSTRAINT_SCHEMA", "CONSTRAINTS", "CONSTRUCTOR", "CONTAINS", "CONTAINSTABLE", "CONTINUE", "CONVERSION", "CONVERT", "COPY", "CORR", "CORRESPONDING", "COUNT", "COVAR_POP", "COVAR_SAMP", "CREATE", "CREATEDB", "CREATEROLE", "CREATEUSER", "CROSS", "CSV", "CUBE", "CUME_DIST", "CURRENT", "CURRENT_DATE", "CURRENT_DEFAULT_TRANSFORM_GROUP", "CURRENT_PATH", "CURRENT_ROLE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_TRANSFORM_GROUP_FOR_TYPE", "CURRENT_USER", "CURSOR", "CURSOR_NAME", "CYCLE", "DATA", "DATABASE", "DATABASES", "DATE", "DATETIME", "DATETIME_INTERVAL_CODE", "DATETIME_INTERVAL_PRECISION", "DAY", "DAY_HOUR", "DAY_MICROSECOND", "DAY_MINUTE", "DAY_SECOND", "DAYOFMONTH", "DAYOFWEEK", "DAYOFYEAR", "DBCC", "DEALLOCATE", "DEC", "DECIMAL", "DECLARE", "DEFAULT", "DEFAULTS", "DEFERRABLE", "DEFERRED", "DEFINED", "DEFINER", "DEGREE", "DELAY_KEY_WRITE", "DELAYED", "DELETE", "DELIMITER", "DELIMITERS", "DENSE_RANK", "DENY", "DEPTH", "DEREF", "DERIVED", "DESC", "DESCRIBE", "DESCRIPTOR", "DESTROY", "DESTRUCTOR", "DETERMINISTIC", "DIAGNOSTICS", "DICTIONARY", "DISABLE", "DISCONNECT", "DISK", "DISPATCH", "DISTINCT", "DISTINCTROW", "DISTRIBUTED", "DIV", "DO", "DOMAIN", "DOUBLE", "DROP", "DUAL", "DUMMY", "DUMP", "DYNAMIC", "DYNAMIC_FUNCTION", "DYNAMIC_FUNCTION_CODE", "EACH", "ELEMENT", "ELSE", "ELSEIF", "ENABLE", "ENCLOSED", "ENCODING", "ENCRYPTED", "END", "END-EXEC", "ENUM", "EQUALS", "ERRLVL", "ESCAPE", "ESCAPED", "EVERY", "EXCEPT", "EXCEPTION", "EXCLUDE", "EXCLUDING", "EXCLUSIVE", "EXEC", "EXECUTE", "EXISTING", "EXISTS", "EXIT", "EXP", "EXPLAIN", "EXTERNAL", "EXTRACT", "FALSE", "FETCH", "FIELDS", "FILE", "FILLFACTOR", "FILTER", "FINAL", "FIRST", "FLOAT", "FLOAT4", "FLOAT8", "FLOOR", "FLUSH", "FOLLOWING", "FOR", "FORCE", "FOREIGN", "FORTRAN", "FORWARD", "FOUND", "FREE", "FREETEXT", "FREETEXTTABLE", "FREEZE", "FROM", "FULL", "FULLTEXT", "FUNCTION", "FUSION", "G", "GENERAL", "GENERATED", "GET", "GLOBAL", "GO", "GOTO", "GRANT", "GRANTED", "GRANTS", "GREATEST", "GROUP", "GROUPING", "HANDLER", "HAVING", "HEADER", "HEAP", "HIERARCHY", "HIGH_PRIORITY", "HOLD", "HOLDLOCK", "HOST", "HOSTS", "HOUR", "HOUR_MICROSECOND", "HOUR_MINUTE", "HOUR_SECOND", "IDENTIFIED", "IDENTITY", "IDENTITY_INSERT", "IDENTITYCOL", "IF", "IGNORE", "ILIKE", "IMMEDIATE", "IMMUTABLE", "IMPLEMENTATION", "IMPLICIT", "IN", "INCLUDE", "INCLUDING", "INCREMENT", "INDEX", "INDICATOR", "INFILE", "INFIX", "INHERIT", "INHERITS", "INITIAL", "INITIALIZE", "INITIALLY", "INNER", "INOUT", "INPUT", "INSENSITIVE", "INSERT", "INSERT_ID", "INSTANCE", "INSTANTIABLE", "INSTEAD", "INT", "INT1", "INT2", "INT3", "INT4", "INT8", "INTEGER", "INTERSECT", "INTERSECTION", "INTERVAL", "INTO", "INVOKER", "IS", "ISAM", "ISNULL", "ISOLATION", "ITERATE", "JOIN", "K", "KEY", "KEY_MEMBER", "KEY_TYPE", "KEYS", "KILL", "LANCOMPILER", "LANGUAGE", "LARGE", "LAST", "LAST_INSERT_ID", "LATERAL", "LEADING", "LEAST", "LEAVE", "LEFT", "LENGTH", "LESS", "LEVEL", "LIKE", "LIMIT", "LINENO", "LINES", "LISTEN", "LN", "LOAD", "LOCAL", "LOCALTIME", "LOCALTIMESTAMP", "LOCATION", "LOCATOR", "LOCK", "LOGIN", "LOGS", "LONG", "LONGBLOB", "LONGTEXT", "LOOP", "LOW_PRIORITY", "LOWER", "M", "MAP", "MATCH", "MATCHED", "MAX", "MAX_ROWS", "MAXEXTENTS", "MAXVALUE", "MEDIUMBLOB", "MEDIUMINT", "MEDIUMTEXT", "MEMBER", "MERGE", "MESSAGE_LENGTH", "MESSAGE_OCTET_LENGTH", "MESSAGE_TEXT", "METHOD", "MIDDLEINT", "MIN", "MIN_ROWS", "MINUS", "MINUTE", "MINUTE_MICROSECOND", "MINUTE_SECOND", "MINVALUE", "MLSLABEL", "MOD", "MODE", "MODIFIES", "MODIFY", "MODULE", "MONTH", "MONTHNAME", "MORE", "MOVE", "MULTISET", "MUMPS", "MYISAM", "NAME", "NAMES", "NATIONAL", "NATURAL", "NCHAR", "NCLOB", "NESTING", "NEW", "NEXT", "NO", "NO_WRITE_TO_BINLOG", "NOAUDIT", "NOCHECK", "NOCOMPRESS", "NOCREATEDB", "NOCREATEROLE", "NOCREATEUSER", "NOINHERIT", "NOLOGIN", "NONCLUSTERED", "NONE", "NORMALIZE", "NORMALIZED", "NOSUPERUSER", "NOT", "NOTHING", "NOTIFY", "NOTNULL", "NOWAIT", "NULL", "NULLABLE", "NULLIF", "NULLS", "NUMBER", "NUMERIC", "OBJECT", "OCTET_LENGTH", "OCTETS", "OF", "OFF", "OFFLINE", "OFFSET", "OFFSETS", "OIDS", "OLD", "ON", "ONLINE", "ONLY", "OPEN", "OPENDATASOURCE", "OPENQUERY", "OPENROWSET", "OPENXML", "OPERATION", "OPERATOR", "OPTIMIZE", "OPTION", "OPTIONALLY", "OPTIONS", "OR", "ORDER", "ORDERING", "ORDINALITY", "OTHERS", "OUT", "OUTER", "OUTFILE", "OUTPUT", "OVER", "OVERLAPS", "OVERLAY", "OVERRIDING", "OWNER", "PACK_KEYS", "PAD", "PARAMETER", "PARAMETER_MODE", "PARAMETER_NAME", "PARAMETER_ORDINAL_POSITION", "PARAMETER_SPECIFIC_CATALOG", "PARAMETER_SPECIFIC_NAME", "PARAMETER_SPECIFIC_SCHEMA", "PARAMETERS", "PARTIAL", "PARTITION", "PASCAL", "PASSWORD", "PATH", "PCTFREE", "PERCENT", "PERCENT_RANK", "PERCENTILE_CONT", "PERCENTILE_DISC", "PLACING", "PLAN", "PLI", "POSITION", "POSTFIX", "POWER", "PRECEDING", "PRECISION", "PREFIX", "PREORDER", "PREPARE", "PREPARED", "PRESERVE", "PRIMARY", "PRINT", "PRIOR", "PRIVILEGES", "PROC", "PROCEDURAL", "PROCEDURE", "PROCESS", "PROCESSLIST", "PUBLIC", "PURGE", "QUOTE", "RAID0", "RAISERROR", "RANGE", "RANK", "RAW", "READ", "READS", "READTEXT", "REAL", "RECHECK", "RECONFIGURE", "RECURSIVE", "REF", "REFERENCES", "REFERENCING", "REGEXP", "REGR_AVGX", "REGR_AVGY", "REGR_COUNT", "REGR_INTERCEPT", "REGR_R2", "REGR_SLOPE", "REGR_SXX", "REGR_SXY", "REGR_SYY", "REINDEX", "RELATIVE", "RELEASE", "RELOAD", "RENAME", "REPEAT", "REPEATABLE", "REPLACE", "REPLICATION", "REQUIRE", "RESET", "RESIGNAL", "RESOURCE", "RESTART", "RESTORE", "RESTRICT", "RESULT", "RETURN", "RETURNED_CARDINALITY", "RETURNED_LENGTH", "RETURNED_OCTET_LENGTH", "RETURNED_SQLSTATE", "RETURNS", "REVOKE", "RIGHT", "RLIKE", "ROLE", "ROLLBACK", "ROLLUP", "ROUTINE", "ROUTINE_CATALOG", "ROUTINE_NAME", "ROUTINE_SCHEMA", "ROW", "ROW_COUNT", "ROW_NUMBER", "ROWCOUNT", "ROWGUIDCOL", "ROWID", "ROWNUM", "ROWS", "RULE", "SAVE", "SAVEPOINT", "SCALE", "SCHEMA", "SCHEMA_NAME", "SCHEMAS", "SCOPE", "SCOPE_CATALOG", "SCOPE_NAME", "SCOPE_SCHEMA", "SCROLL", "SEARCH", "SECOND", "SECOND_MICROSECOND", "SECTION", "SECURITY", "SELECT", "SELF", "SENSITIVE", "SEPARATOR", "SEQUENCE", "SERIALIZABLE", "SERVER_NAME", "SESSION", "SESSION_USER", "SET", "SETOF", "SETS", "SETUSER", "SHARE", "SHOW", "SHUTDOWN", "SIGNAL", "SIMILAR", "SIMPLE", "SIZE", "SMALLINT", "SOME", "SONAME", "SOURCE", "SPACE", "SPATIAL", "SPECIFIC", "SPECIFIC_NAME", "SPECIFICTYPE", "SQL", "SQL_BIG_RESULT", "SQL_BIG_SELECTS", "SQL_BIG_TABLES", "SQL_CALC_FOUND_ROWS", "SQL_LOG_OFF", "SQL_LOG_UPDATE", "SQL_LOW_PRIORITY_UPDATES", "SQL_SELECT_LIMIT", "SQL_SMALL_RESULT", "SQL_WARNINGS", "SQLCA", "SQLCODE", "SQLERROR", "SQLEXCEPTION", "SQLSTATE", "SQLWARNING", "SQRT", "SSL", "STABLE", "START", "STARTING", "STATE", "STATEMENT", "STATIC", "STATISTICS", "STATUS", "STDDEV_POP", "STDDEV_SAMP", "STDIN", "STDOUT", "STORAGE", "STRAIGHT_JOIN", "STRICT", "STRING", "STRUCTURE", "STYLE", "SUBCLASS_ORIGIN", "SUBLIST", "SUBMULTISET", "SUBSTRING", "SUCCESSFUL", "SUM", "SUPERUSER", "SYMMETRIC", "SYNONYM", "SYSDATE", "SYSID", "SYSTEM", "SYSTEM_USER", "TABLE", "TABLE_NAME", "TABLES", "TABLESAMPLE", "TABLESPACE", "TEMP", "TEMPLATE", "TEMPORARY", "TERMINATE", "TERMINATED", "TEXT", "TEXTSIZE", "THAN", "THEN", "TIES", "TIME", "TIMESTAMP", "TIMEZONE_HOUR", "TIMEZONE_MINUTE", "TINYBLOB", "TINYINT", "TINYTEXT", "TO", "TOAST", "TOP", "TOP_LEVEL_COUNT", "TRAILING", "TRAN", "TRANSACTION", "TRANSACTION_ACTIVE", "TRANSACTIONS_COMMITTED", "TRANSACTIONS_ROLLED_BACK", "TRANSFORM", "TRANSFORMS", "TRANSLATE", "TRANSLATION", "TREAT", "TRIGGER", "TRIGGER_CATALOG", "TRIGGER_NAME", "TRIGGER_SCHEMA", "TRIM", "TRUE", "TRUNCATE", "TRUSTED", "TSEQUAL", "TYPE", "UESCAPE", "UID", "UNBOUNDED", "UNCOMMITTED", "UNDER", "UNDO", "UNENCRYPTED", "UNION", "UNIQUE", "UNKNOWN", "UNLISTEN", "UNLOCK", "UNNAMED", "UNNEST", "UNSIGNED", "UNTIL", "UPDATE", "UPDATETEXT", "UPPER", "USAGE", "USE", "USER", "USER_DEFINED_TYPE_CATALOG", "USER_DEFINED_TYPE_CODE", "USER_DEFINED_TYPE_NAME", "USER_DEFINED_TYPE_SCHEMA", "USING", "UTC_DATE", "UTC_TIME", "UTC_TIMESTAMP", "VACUUM", "VALID", "VALIDATE", "VALIDATOR", "VALUE", "VALUES", "VAR_POP", "VAR_SAMP", "VARBINARY", "VARCHAR", "VARCHAR2", "VARCHARACTER", "VARIABLE", "VARIABLES", "VARYING", "VERBOSE", "VIEW", "VOLATILE", "WAITFOR", "WHEN", "WHENEVER", "WHERE", "WHILE", "WIDTH_BUCKET", "WINDOW", "WITH", "WITHIN", "WITHOUT", "WORK", "WRITE", "WRITETEXT", "X509", "XOR", "YEAR", "YEAR_MONTH", "ZEROFILL", "ZONE"]; -+ var keywords = ["A", "ABORT", "ABS", "ABSOLUTE", "ACCESS", "ACTION", "ADA", "ADD", "ADMIN", "AFTER", "AGGREGATE", "ALIAS", "ALL", "ALLOCATE", "ALSO", "ALTER", "ALWAYS", "ANALYSE", "ANALYZE", "AND", "ANY", "ARE", "ARRAY", "AS", "ASC", "ASENSITIVE", "ASSERTION", "ASSIGNMENT", "ASYMMETRIC", "AT", "ATOMIC", "ATTRIBUTE", "ATTRIBUTES", "AUDIT", "AUTHORIZATION", "AUTO_INCREMENT", "AVG", "AVG_ROW_LENGTH", "BACKUP", "BACKWARD", "BEFORE", "BEGIN", "BERNOULLI", "BETWEEN", "BIGINT", "BINARY", "BIT", "BIT_LENGTH", "BITVAR", "BLOB", "BOOL", "BOOLEAN", "BOTH", "BREADTH", "BREAK", "BROWSE", "BULK", "BY", "C", "CACHE", "CALL", "CALLED", "CARDINALITY", "CASCADE", "CASCADED", "CASE", "CAST", "CATALOG", "CATALOG_NAME", "CEIL", "CEILING", "CHAIN", "CHANGE", "CHAR", "CHAR_LENGTH", "CHARACTER", "CHARACTER_LENGTH", "CHARACTER_SET_CATALOG", "CHARACTER_SET_NAME", "CHARACTER_SET_SCHEMA", "CHARACTERISTICS", "CHARACTERS", "CHECK", "CHECKED", "CHECKPOINT", "CHECKSUM", "CLASS", "CLASS_ORIGIN", "CLOB", "CLOSE", "CLUSTER", "CLUSTERED", "COALESCE", "COBOL", "COLLATE", "COLLATION", "COLLATION_CATALOG", "COLLATION_NAME", "COLLATION_SCHEMA", "COLLECT", "COLUMN", "COLUMN_NAME", "COLUMNS", "COMMAND_FUNCTION", "COMMAND_FUNCTION_CODE", "COMMENT", "COMMIT", "COMMITTED", "COMPLETION", "COMPRESS", "COMPUTE", "CONDITION", "CONDITION_NUMBER", "CONNECT", "CONNECTION", "CONNECTION_NAME", "CONSTRAINT", "CONSTRAINT_CATALOG", "CONSTRAINT_NAME", "CONSTRAINT_SCHEMA", "CONSTRAINTS", "CONSTRUCTOR", "CONTAINS", "CONTAINSTABLE", "CONTINUE", "CONVERSION", "CONVERT", "COPY", "CORR", "CORRESPONDING", "COUNT", "COVAR_POP", "COVAR_SAMP", "CREATE", "CREATEDB", "CREATEROLE", "CREATEUSER", "CROSS", "CSV", "CUBE", "CUME_DIST", "CURRENT", "CURRENT_DATE", "CURRENT_DEFAULT_TRANSFORM_GROUP", "CURRENT_PATH", "CURRENT_ROLE", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_TRANSFORM_GROUP_FOR_TYPE", "CURRENT_USER", "CURSOR", "CURSOR_NAME", "CYCLE", "DATA", "DATABASE", "DATABASES", "DATE", "DATETIME", "DATETIME_INTERVAL_CODE", "DATETIME_INTERVAL_PRECISION", "DAY", "DAY_HOUR", "DAY_MICROSECOND", "DAY_MINUTE", "DAY_SECOND", "DAYOFMONTH", "DAYOFWEEK", "DAYOFYEAR", "DBCC", "DEALLOCATE", "DEC", "DECIMAL", "DECLARE", "DEFAULT", "DEFAULTS", "DEFERRABLE", "DEFERRED", "DEFINED", "DEFINER", "DEGREE", "DELAY_KEY_WRITE", "DELAYED", "DELETE", "DELIMITER", "DELIMITERS", "DENSE_RANK", "DENY", "DEPTH", "DEREF", "DERIVED", "DESC", "DESCRIBE", "DESCRIPTOR", "DESTROY", "DESTRUCTOR", "DETERMINISTIC", "DIAGNOSTICS", "DICTIONARY", "DISABLE", "DISCONNECT", "DISK", "DISPATCH", "DISTINCT", "DISTINCTROW", "DISTRIBUTED", "DIV", "DO", "DOMAIN", "DOUBLE", "DROP", "DUAL", "DUMMY", "DUMP", "DYNAMIC", "DYNAMIC_FUNCTION", "DYNAMIC_FUNCTION_CODE", "EACH", "ELEMENT", "ELSE", "ELSEIF", "ENABLE", "ENCLOSED", "ENCODING", "ENCRYPTED", "END", "END-EXEC", "ENUM", "EQUALS", "ERRLVL", "ESCAPE", "ESCAPED", "EVERY", "EXCEPT", "EXCEPTION", "EXCLUDE", "EXCLUDING", "EXCLUSIVE", "EXEC", "EXECUTE", "EXISTING", "EXISTS", "EXIT", "EXP", "EXPLAIN", "EXTERNAL", "EXTRACT", "FALSE", "FETCH", "FIELDS", "FILE", "FILLFACTOR", "FILTER", "FINAL", "FIRST", "FLOAT", "FLOAT4", "FLOAT8", "FLOOR", "FLUSH", "FOLLOWING", "FOR", "FORCE", "FOREIGN", "FORTRAN", "FORWARD", "FOUND", "FREE", "FREETEXT", "FREETEXTTABLE", "FREEZE", "FROM", "FULL", "FULLTEXT", "FUNCTION", "FUSION", "G", "GENERAL", "GENERATED", "GET", "GLOBAL", "GO", "GOTO", "GRANT", "GRANTED", "GRANTS", "GREATEST", "GROUP", "GROUPING", "HANDLER", "HAVING", "HEADER", "HEAP", "HIERARCHY", "HIGH_PRIORITY", "HOLD", "HOLDLOCK", "HOST", "HOSTS", "HOUR", "HOUR_MICROSECOND", "HOUR_MINUTE", "HOUR_SECOND", "IDENTIFIED", "IDENTITY", "IDENTITY_INSERT", "IDENTITYCOL", "IF", "IGNORE", "ILIKE", "IMMEDIATE", "IMMUTABLE", "IMPLEMENTATION", "IMPLICIT", "IN", "INCLUDE", "INCLUDING", "INCREMENT", "INDEX", "INDICATOR", "INFILE", "INFIX", "INHERIT", "INHERITS", "INITIAL", "INITIALIZE", "INITIALLY", "INNER", "INOUT", "INPUT", "INSENSITIVE", "INSERT", "INSERT_ID", "INSTANCE", "INSTANTIABLE", "INSTEAD", "INT", "INT1", "INT2", "INT3", "INT4", "INT8", "INTEGER", "INTERSECT", "INTERSECTION", "INTERVAL", "INTO", "INVOKER", "IS", "ISAM", "ISNULL", "ISOLATION", "ITERATE", "JOIN", "K", "KEY", "KEY_MEMBER", "KEY_TYPE", "KEYS", "KILL", "LANCOMPILER", "LANGUAGE", "LARGE", "LAST", "LAST_INSERT_ID", "LATERAL", "LEADING", "LEAST", "LEAVE", "LEFT", "LENGTH", "LESS", "LEVEL", "LIKE", "LIMIT", "LINENO", "LINES", "LISTEN", "LN", "LOAD", "LOCAL", "LOCALTIME", "LOCALTIMESTAMP", "LOCATION", "LOCATOR", "LOCK", "LOGIN", "LOGS", "LONG", "LONGBLOB", "LONGTEXT", "LOOP", "LOW_PRIORITY", "LOWER", "M", "MAP", "MATCH", "MATCHED", "MAX", "MAX_ROWS", "MAXEXTENTS", "MAXVALUE", "MEDIUMBLOB", "MEDIUMINT", "MEDIUMTEXT", "MEMBER", "MERGE", "MESSAGE_LENGTH", "MESSAGE_OCTET_LENGTH", "MESSAGE_TEXT", "METHOD", "MIDDLEINT", "MIN", "MIN_ROWS", "MINUS", "MINUTE", "MINUTE_MICROSECOND", "MINUTE_SECOND", "MINVALUE", "MLSLABEL", "MOD", "MODE", "MODIFIES", "MODIFY", "MODULE", "MONTH", "MONTHNAME", "MORE", "MOVE", "MULTISET", "MUMPS", "MYISAM", "NAMES", "NATIONAL", "NATURAL", "NCHAR", "NCLOB", "NESTING", "NEW", "NEXT", "NO", "NO_WRITE_TO_BINLOG", "NOAUDIT", "NOCHECK", "NOCOMPRESS", "NOCREATEDB", "NOCREATEROLE", "NOCREATEUSER", "NOINHERIT", "NOLOGIN", "NONCLUSTERED", "NONE", "NORMALIZE", "NORMALIZED", "NOSUPERUSER", "NOT", "NOTHING", "NOTIFY", "NOTNULL", "NOWAIT", "NULL", "NULLABLE", "NULLIF", "NULLS", "NUMBER", "NUMERIC", "OBJECT", "OCTET_LENGTH", "OCTETS", "OF", "OFF", "OFFLINE", "OFFSET", "OFFSETS", "OIDS", "OLD", "ON", "ONLINE", "ONLY", "OPEN", "OPENDATASOURCE", "OPENQUERY", "OPENROWSET", "OPENXML", "OPERATION", "OPERATOR", "OPTIMIZE", "OPTION", "OPTIONALLY", "OPTIONS", "OR", "ORDER", "ORDERING", "ORDINALITY", "OTHERS", "OUT", "OUTER", "OUTFILE", "OUTPUT", "OVER", "OVERLAPS", "OVERLAY", "OVERRIDING", "OWNER", "PACK_KEYS", "PAD", "PARAMETER", "PARAMETER_MODE", "PARAMETER_NAME", "PARAMETER_ORDINAL_POSITION", "PARAMETER_SPECIFIC_CATALOG", "PARAMETER_SPECIFIC_NAME", "PARAMETER_SPECIFIC_SCHEMA", "PARAMETERS", "PARTIAL", "PARTITION", "PASCAL", "PASSWORD", "PATH", "PCTFREE", "PERCENT", "PERCENT_RANK", "PERCENTILE_CONT", "PERCENTILE_DISC", "PLACING", "PLAN", "PLI", "POSITION", "POSTFIX", "POWER", "PRECEDING", "PRECISION", "PREFIX", "PREORDER", "PREPARE", "PREPARED", "PRESERVE", "PRIMARY", "PRINT", "PRIOR", "PRIVILEGES", "PROC", "PROCEDURAL", "PROCEDURE", "PROCESS", "PROCESSLIST", "PUBLIC", "PURGE", "QUOTE", "RAID0", "RAISERROR", "RANGE", "RANK", "RAW", "READ", "READS", "READTEXT", "REAL", "RECHECK", "RECONFIGURE", "RECURSIVE", "REF", "REFERENCES", "REFERENCING", "REGEXP", "REGR_AVGX", "REGR_AVGY", "REGR_COUNT", "REGR_INTERCEPT", "REGR_R2", "REGR_SLOPE", "REGR_SXX", "REGR_SXY", "REGR_SYY", "REINDEX", "RELATIVE", "RELEASE", "RELOAD", "RENAME", "REPEAT", "REPEATABLE", "REPLACE", "REPLICATION", "REQUIRE", "RESET", "RESIGNAL", "RESOURCE", "RESTART", "RESTORE", "RESTRICT", "RESULT", "RETURN", "RETURNED_CARDINALITY", "RETURNED_LENGTH", "RETURNED_OCTET_LENGTH", "RETURNED_SQLSTATE", "RETURNS", "REVOKE", "RIGHT", "RLIKE", "ROLE", "ROLLBACK", "ROLLUP", "ROUTINE", "ROUTINE_CATALOG", "ROUTINE_NAME", "ROUTINE_SCHEMA", "ROW", "ROW_COUNT", "ROW_NUMBER", "ROWCOUNT", "ROWGUIDCOL", "ROWID", "ROWNUM", "ROWS", "RULE", "SAVE", "SAVEPOINT", "SCALE", "SCHEMA", "SCHEMA_NAME", "SCHEMAS", "SCOPE", "SCOPE_CATALOG", "SCOPE_NAME", "SCOPE_SCHEMA", "SCROLL", "SEARCH", "SECOND", "SECOND_MICROSECOND", "SECTION", "SECURITY", "SELECT", "SELF", "SENSITIVE", "SEPARATOR", "SEQUENCE", "SERIALIZABLE", "SERVER_NAME", "SESSION", "SESSION_USER", "SET", "SETOF", "SETS", "SETUSER", "SHARE", "SHOW", "SHUTDOWN", "SIGNAL", "SIMILAR", "SIMPLE", "SIZE", "SMALLINT", "SOME", "SONAME", "SOURCE", "SPACE", "SPATIAL", "SPECIFIC", "SPECIFIC_NAME", "SPECIFICTYPE", "SQL", "SQL_BIG_RESULT", "SQL_BIG_SELECTS", "SQL_BIG_TABLES", "SQL_CALC_FOUND_ROWS", "SQL_LOG_OFF", "SQL_LOG_UPDATE", "SQL_LOW_PRIORITY_UPDATES", "SQL_SELECT_LIMIT", "SQL_SMALL_RESULT", "SQL_WARNINGS", "SQLCA", "SQLCODE", "SQLERROR", "SQLEXCEPTION", "SQLSTATE", "SQLWARNING", "SQRT", "SSL", "STABLE", "START", "STARTING", "STATE", "STATEMENT", "STATIC", "STATISTICS", "STATUS", "STDDEV_POP", "STDDEV_SAMP", "STDIN", "STDOUT", "STORAGE", "STRAIGHT_JOIN", "STRICT", "STRING", "STRUCTURE", "STYLE", "SUBCLASS_ORIGIN", "SUBLIST", "SUBMULTISET", "SUBSTRING", "SUCCESSFUL", "SUM", "SUPERUSER", "SYMMETRIC", "SYNONYM", "SYSDATE", "SYSID", "SYSTEM", "SYSTEM_USER", "TABLE", "TABLE_NAME", "TABLES", "TABLESAMPLE", "TABLESPACE", "TEMP", "TEMPLATE", "TEMPORARY", "TERMINATE", "TERMINATED", "TEXT", "TEXTSIZE", "THAN", "THEN", "TIES", "TIME", "TIMESTAMP", "TIMEZONE_HOUR", "TIMEZONE_MINUTE", "TINYBLOB", "TINYINT", "TINYTEXT", "TO", "TOAST", "TOP", "TOP_LEVEL_COUNT", "TRAILING", "TRAN", "TRANSACTION", "TRANSACTION_ACTIVE", "TRANSACTIONS_COMMITTED", "TRANSACTIONS_ROLLED_BACK", "TRANSFORM", "TRANSFORMS", "TRANSLATE", "TRANSLATION", "TREAT", "TRIGGER", "TRIGGER_CATALOG", "TRIGGER_NAME", "TRIGGER_SCHEMA", "TRIM", "TRUE", "TRUNCATE", "TRUSTED", "TSEQUAL", "TYPE", "UESCAPE", "UID", "UNBOUNDED", "UNCOMMITTED", "UNDER", "UNDO", "UNENCRYPTED", "UNION", "UNIQUE", "UNKNOWN", "UNLISTEN", "UNLOCK", "UNNAMED", "UNNEST", "UNSIGNED", "UNTIL", "UPDATE", "UPDATETEXT", "UPPER", "USAGE", "USE", "USER", "USER_DEFINED_TYPE_CATALOG", "USER_DEFINED_TYPE_CODE", "USER_DEFINED_TYPE_NAME", "USER_DEFINED_TYPE_SCHEMA", "USING", "UTC_DATE", "UTC_TIME", "UTC_TIMESTAMP", "VACUUM", "VALID", "VALIDATE", "VALIDATOR", "VALUE", "VALUES", "VAR_POP", "VAR_SAMP", "VARBINARY", "VARCHAR", "VARCHAR2", "VARCHARACTER", "VARIABLE", "VARIABLES", "VARYING", "VERBOSE", "VIEW", "VOLATILE", "WAITFOR", "WHEN", "WHENEVER", "WHERE", "WHILE", "WIDTH_BUCKET", "WINDOW", "WITH", "WITHIN", "WITHOUT", "WORK", "WRITE", "WRITETEXT", "X509", "XOR", "YEAR", "YEAR_MONTH", "ZEROFILL", "ZONE"]; - - var operators = ["=", "!=", "<", ">", "<=", ">=", "+", "-", "*", "/", "%"]; - -@@ -17,6 +17,15 @@ Syntax.register('sql', function(brush) { - - brush.push(keywords, {klass: 'keyword', options: 'gi'}); - -+ // Strings -+ brush.push(Syntax.lib.singleQuotedString); -+ brush.push(Syntax.lib.doubleQuotedString); -+ brush.push(Syntax.lib.stringEscape); -+ -+ // Numbers -+ brush.push(Syntax.lib.decimalNumber); -+ brush.push(Syntax.lib.hexNumber); -+ - brush.push(Syntax.lib.webLink); - }); - -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.xml.js -=================================================================== ---- /dev/null -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.xml.js -@@ -0,0 +1,52 @@ -+// brush: "xml" aliases: [] -+ -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. -+// See for licensing details. -+ -+Syntax.register('xml', function(brush) { -+ brush.push({ -+ pattern: /()/gm, -+ matches: Syntax.extractMatches( -+ {klass: 'cdata', allow: ['cdata-content', 'cdata-tag']}, -+ {klass: 'cdata-tag'}, -+ {klass: 'cdata-content'}, -+ {klass: 'cdata-tag'} -+ ) -+ }); -+ -+ brush.push(Syntax.lib.xmlComment); -+ -+ // /[\s\S]/ means match anything... /./ doesn't match newlines -+ brush.push({ -+ pattern: /<[^>]+>/g, -+ klass: 'tag', -+ allow: '*' -+ }); -+ -+ brush.push({ -+ pattern: /<\/?((?:[^:\s>]+:)?)([^\s>]+)(\s[^>]*)?\/?>/g, -+ matches: Syntax.extractMatches({klass: 'namespace'}, {klass: 'tag-name'}) -+ }); -+ -+ brush.push({ -+ pattern: /([^=\s]+)=(".*?"|'.*?'|[^\s>]+)/g, -+ matches: Syntax.extractMatches({klass: 'attribute', only: ['tag']}, {klass: 'string', only: ['tag']}) -+ }); -+ -+ brush.push({ -+ pattern: /&\w+;/g, -+ klass: 'entity' -+ }); -+ -+ brush.push({ -+ pattern: /(%[0-9a-f]{2})/gi, -+ klass: 'percent-escape', -+ only: ['string'] -+ }); -+ -+ brush.push(Syntax.lib.singleQuotedString); -+ brush.push(Syntax.lib.doubleQuotedString); -+ -+ brush.push(Syntax.lib.webLink); -+}); -Index: yelp-xsl-3.0.1/js/jquery.syntax.brush.yaml.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.brush.yaml.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.brush.yaml.js -@@ -1,16 +1,14 @@ - // brush: "yaml" aliases: [] - --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - Syntax.register('yaml', function(brush) { - brush.push({ -- pattern: /^\s*(#.*)$/gm, -- matches: Syntax.extractMatches({ -- klass: 'comment', -- allow: ['href'] -- }) -+ pattern: /^\s*#.*$/gm, -+ klass: 'comment', -+ allow: ['href'] - }); - - brush.push(Syntax.lib.singleQuotedString); -Index: yelp-xsl-3.0.1/js/jquery.syntax.core.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.core.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.core.js -@@ -1,5 +1,5 @@ --// This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. --// Copyright 2010 Samuel Williams. All rights reserved. -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. - // See for licensing details. - - if (!RegExp.prototype.indexOf) { -@@ -53,7 +53,41 @@ Syntax.getCDATA = function (elems) { - return cdata.replace(/\r\n?/g, "\n"); - } - --Syntax.layouts.plain = function (options, html, container) { -+// Convert to stack based implementation -+Syntax.extractElementMatches = function (elems, offset, tabWidth) { -+ var matches = [], current = [elems]; -+ offset = offset || 0; -+ tabWidth = tabWidth || 4; -+ -+ (function (elems) { -+ for (var i = 0; elems[i]; i++) { -+ var text = null, elem = elems[i]; -+ -+ if (elem.nodeType === 3 || elem.nodeType === 4) { -+ offset += elem.nodeValue.length; -+ -+ } else if (elem.nodeType === 1) { -+ var text = Syntax.getCDATA(elem.childNodes); -+ var expr = {klass: elem.className, force: true, element: elem}; -+ -+ matches.push(new Syntax.Match(offset, text.length, expr, text)); -+ } -+ -+ // Traverse everything, except comment nodes -+ if (elem.nodeType !== 8) { -+ arguments.callee(elem.childNodes, offset); -+ } -+ } -+ })(elems); -+ -+ // Remove the top level element, since this will be recreated based on the supplied configuration. -+ // Maybe there is a better way to achieve this? -+ matches.shift(); -+ -+ return matches; -+} -+ -+Syntax.layouts.preformatted = function (options, html, container) { - return html; - }; - -@@ -62,7 +96,8 @@ Syntax.modeLineOptions = { - }; - - Syntax.convertTabsToSpaces = function (text, tabSize) { -- var space = [], pattern = /\r|\n|\t/g, tabOffset = 0; -+ var space = [], pattern = /\r|\n|\t/g, tabOffset = 0, offsets = [], totalOffset = 0; -+ tabSize = tabSize || 4 - - for (var i = ""; i.length <= tabSize; i = i + " ") { - space.push(i); -@@ -76,11 +111,58 @@ Syntax.convertTabsToSpaces = function (t - } else { - var width = tabSize - ((tabOffset + offset) % tabSize); - tabOffset += width - 1; -+ -+ // Any match after this offset has been shifted right by totalOffset -+ totalOffset += width - 1 -+ offsets.push([offset, width, totalOffset]); -+ - return space[width]; - } - }); - -- return text; -+ return {text: text, offsets: offsets}; -+}; -+ -+Syntax.convertToLinearOffsets = function (offsets, length) { -+ var current = 0, changes = []; -+ -+ // Anything with offset after offset[current][0] but smaller than offset[current+1][0] -+ // has been shifted right by offset[current][2] -+ for (var i = 0; i < length; i++) { -+ if (offsets[current] && i > offsets[current][0]) { -+ if (offsets[current+1] && i <= offsets[current+1][0]) { -+ changes.push(offsets[current][2]); -+ } else { -+ current += 1; -+ i -= 1; -+ } -+ } else { -+ changes.push(changes[changes.length-1] || 0); -+ } -+ } -+ -+ return changes; -+} -+ -+Syntax.updateMatchesWithOffsets = function (matches, linearOffsets, text) { -+ (function (matches) { -+ for (var i = 0; i < matches.length; i++) { -+ var match = matches[i]; -+ -+ // Calculate the new start and end points -+ var offset = match.offset + linearOffsets[match.offset]; -+ var end = match.offset + match.length; -+ end += linearOffsets[end]; -+ -+ // Start, Length, Text -+ match.adjust(linearOffsets[match.offset], end - offset, text); -+ -+ if (match.children.length > 0) -+ arguments.callee(match.children); -+ } -+ })(matches); -+ -+ return matches; - }; - - Syntax.extractMatches = function() { -@@ -90,17 +172,19 @@ Syntax.extractMatches = function() { - var matches = []; - - for (var i = 0; i < rules.length; i += 1) { -- var rule = rules[i]; -+ var rule = rules[i], index = i+1; - - if (rule == null) { - continue; - } - -- if (rule.debug) { -- alert("'" + match[1] + "' : " + match[1].charCodeAt(0)); -+ if (typeof(rule.index) != 'undefined') { -+ index = rule.index; - } - -- var index = rule.index || (i+1); -+ if (rule.debug) { -+ Syntax.log("extractMatches", rule, index, match[index], match); -+ } - - if (match[index].length > 0) { - if (rule.brush) { -@@ -123,7 +207,10 @@ Syntax.lib.webLinkProcess = function (qu - } - - return function (element, match) { -- return jQuery('').attr('href', queryURI + encodeURIComponent(element.text())).append(element); -+ return jQuery(''). -+ attr('href', queryURI + encodeURIComponent(element.text())). -+ attr('class', element.attr('class')). -+ append(element.contents()); - }; - }; - -@@ -138,14 +225,16 @@ Syntax.lib.cStyleComment = {pattern: /\/ - Syntax.lib.cppStyleComment = {pattern: /\/\/.*$/gm, klass: 'comment', allow: ['href']}; - Syntax.lib.perlStyleComment = {pattern: /#.*$/gm, klass: 'comment', allow: ['href']}; - -+Syntax.lib.perlStyleRegularExpressions = {pattern: /\B\/([^\/]|\\\/)*?\/[a-z]*(?=\s*[^\w\s'";\/])/g, klass: 'constant'}; -+ - Syntax.lib.cStyleFunction = {pattern: /([a-z_][a-z0-9_]*)\s*\(/gi, matches: Syntax.extractMatches({klass: 'function'})}; --Syntax.lib.camelCaseType = {pattern: /\b_*[A-Z_][\w]*\b/g, klass: 'type'}; -+Syntax.lib.camelCaseType = {pattern: /\b_*[A-Z][\w]*\b/g, klass: 'type'}; - - Syntax.lib.xmlComment = {pattern: /(<|<)!--[\s\S]*?--(>|>)/gm, klass: 'comment'}; - Syntax.lib.webLink = {pattern: /\w+:\/\/[\w\-.\/?%&=@:;#]*/g, klass: 'href'}; - --Syntax.lib.hexNumber = {pattern: /0x[0-9a-fA-F]+/g, klass: 'constant'}; --Syntax.lib.decimalNumber = {pattern: /[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?/g, klass: 'constant'}; -+Syntax.lib.hexNumber = {pattern: /\b0x[0-9a-fA-F]+/g, klass: 'constant'}; -+Syntax.lib.decimalNumber = {pattern: /\b[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?/g, klass: 'constant'}; - - Syntax.lib.doubleQuotedString = {pattern: /"([^\\"\n]|\\.)*"/g, klass: 'string'}; - Syntax.lib.singleQuotedString = {pattern: /'([^\\'\n]|\\.)*'/g, klass: 'string'}; -@@ -153,11 +242,11 @@ Syntax.lib.multiLineDoubleQuotedString = - Syntax.lib.multiLineSingleQuotedString = {pattern: /'([^\\']|\\.)*'/g, klass: 'string'}; - Syntax.lib.stringEscape = {pattern: /\\./g, klass: 'escape', only: ['string']}; - --Syntax.Match = function (offset, length, expr, value) { -+Syntax.Match = function (offset, length, expression, value) { - this.offset = offset; - this.endOffset = offset + length; - this.length = length; -- this.expression = expr; -+ this.expression = expression; - this.value = value; - this.children = []; - this.parent = null; -@@ -166,9 +255,28 @@ Syntax.Match = function (offset, length, - this.next = null; - }; - --Syntax.Match.prototype.shift = function (x) { -- this.offset += x; -- this.endOffset += x; -+// Shifts an entire tree forward or backwards. -+Syntax.Match.prototype.shift = function (offset, text) { -+ this.adjust(offset, null, text); -+ -+ for (var i = 0; i < this.children.length; i++) { -+ this.children[i].shift(offset, text) -+ } -+}; -+ -+// C the current match to have different offset and length. -+Syntax.Match.prototype.adjust = function (offset, length, text) { -+ this.offset += offset; -+ this.endOffset += offset; -+ -+ if (length) { -+ this.length = length; -+ this.endOffset = this.offset + length; -+ } -+ -+ if (text) { -+ this.value = text.substr(this.offset, this.length); -+ } - }; - - Syntax.Match.sort = function (a,b) { -@@ -203,6 +311,11 @@ Syntax.Match.prototype.reduce = function - - for (var i = 0; i < this.children.length; i += 1) { - var child = this.children[i], end = child.offset; -+ -+ if (child.offset < this.offset) { -+ Syntax.log("Syntax Warning: Offset of child", child, "is before offset of parent", this); -+ } -+ - var text = this.value.substr(start - this.offset, end - start); - - append(text, container); -@@ -216,7 +329,7 @@ Syntax.Match.prototype.reduce = function - } else if (start < this.endOffset) { - append(this.value.substr(start - this.offset, this.endOffset - start), container); - } else if (start > this.endOffset) { -- alert("Syntax Warning: Start position " + start + " exceeds end of value " + this.endOffset); -+ Syntax.log("Syntax Warning: Start position " + start + " exceeds end of value " + this.endOffset); - } - - if (process) { -@@ -227,6 +340,12 @@ Syntax.Match.prototype.reduce = function - }; - - Syntax.Match.prototype.canContain = function (match) { -+ // This is a special conditional for explicitly added ranges by the user. -+ // Since user added it, we honour it no matter what. -+ if (match.expression.force) { -+ return true; -+ } -+ - // Can't add anything into complete trees. - if (this.complete) { - return false; -@@ -257,19 +376,18 @@ Syntax.Match.prototype.canContain = func - return true; - } - -- // else, false. - return false; - }; - --Syntax.Match.prototype.canHaveChild = function (match) { -+Syntax.Match.prototype.canHaveChild = function(match) { - var only = match.expression.only; - - // This condition is fairly slow -- if (match.expression.only) { -+ if (only) { - var cur = this; - - while (cur !== null) { -- if (jQuery.inArray(cur.expression.klass, match.expression.only) !== -1) { -+ if (jQuery.inArray(cur.expression.klass, only) !== -1) { - return true; - } - -@@ -291,17 +409,36 @@ Syntax.Match.prototype._splice = functio - if (this.canHaveChild(match)) { - this.children.splice(i, 0, match); - match.parent = this; -+ -+ // For matches added using tags. -+ if (!match.expression.owner) { -+ match.expression.owner = this.expression.owner; -+ } -+ - return this; - } else { - return null; - } - }; - -+// This function implements a full insertion procedure, and will break up the match to fit. -+// This operation is potentially very expensive, but is used to insert custom ranges into -+// the tree, if they are specified by the user. A custom may cover multiple leafs in -+// the tree, thus naturally it needs to be broken up. -+// You should avoid using this function except in very specific cases. -+Syntax.Match.prototype.insert = function(match) { -+ if (!this.contains(match)) -+ return null; -+ -+ return this._insert(match); -+} -+ - // This is not a general tree insertion function. It is optimised to run in almost constant - // time, but data must be inserted in sorted order, otherwise you will have problems. -+// This function also ensures that matches won't be broken up unless absolutely necessary. - Syntax.Match.prototype.insertAtEnd = function (match) { - if (!this.contains(match)) { -- alert("Syntax Error: Child is not contained in parent node!"); -+ Syntax.log("Syntax Error: Child is not contained in parent node!"); - return null; - } - -@@ -314,43 +451,150 @@ Syntax.Match.prototype.insertAtEnd = fun - var child = this.children[i]; - - if (match.offset < child.offset) { -- if (match.endOffset <= child.offset) { -- // displacement = 'before' -- return this._splice(i, match); -+ // Displacement: Before or LHS Overlap -+ // This means that the match has actually occurred before the last child. -+ // This is a bit of an unusual situation because the matches SHOULD be in -+ // sorted order. -+ // However, we are sure that the match is contained in this node. This situation -+ // sometimes occurs when sorting existing branches with matches that are supposed -+ // to be within that branch. When we insert the match into the branch, there are -+ // matches that technically should have been inserted afterwards. -+ // Normal usage should avoid this case, and this is best for performance. -+ if (match.force) { -+ return this._insert(match); - } else { -- // displacement = 'left-overlap' - return null; - } - } else if (match.offset < child.endOffset) { -- if (match.endOffset <= child.endOffset) { -- // displacement = 'contains' -+ if (match.endOffset <= child.endOffset) { -+ // Displacement: Contains -+ //console.log("displacement => contains"); - var result = child.insertAtEnd(match); - return result; - } else { -- // displacement = 'right-overlap' -- // If a match overlaps a previous one, we ignore it. -- return null; -+ // Displacement: RHS Overlap -+ if (match.force) { -+ return this._insert(match); -+ } else { -+ return null; -+ } - } - } else { -- // displacement = 'after' -+ // Displacement: After - return this._splice(i+1, match); - } - -- // Could not find a suitable placement -+ // Could not find a suitable placement: this is probably an error. - return null; - } else { -+ // Displacement: Contains [but currently no children] - return this._splice(0, match); - } - }; - --Syntax.Match.prototype.halfBisect = function(offset) { -- if (offset > this.offset && offset < this.endOffset) { -- return this.bisectAtOffsets([offset, this.endOffset]); -- } else { -- return null; -+// This insertion function is relatively complex because it is required to split the match over -+// several children. -+Syntax.Match.prototype._insert = function(match) { -+ if (this.children.length == 0) -+ return this._splice(0, match); -+ -+ for (var i = 0; i < this.children.length; i += 1) { -+ var child = this.children[i]; -+ -+ // If the match ends before this child, it must be before it. -+ if (match.endOffset <= child.offset) -+ return this._splice(i, match); -+ -+ // If the match starts after this child, we continue. -+ if (match.offset >= child.endOffset) -+ continue; -+ -+ // There are four possibilities... -+ // ... with the possibility of overlapping children on the RHS. -+ // {------child------} {---possibly some other child---} -+ // |----------complete overlap---------| -+ // |--lhs overlap--| -+ // |--contains--| -+ // |--rhs overlap--| -+ -+ // First, the easiest case: -+ if (child.contains(match)) { -+ return child._insert(match); -+ } -+ -+ console.log("Bisect at offsets", match, child.offset, child.endOffset); -+ var parts = match.bisectAtOffsets([child.offset, child.endOffset]); -+ console.log("parts =", parts); -+ // We now have at most three parts -+ // {------child------} {---possibly some other child---} -+ // |--[0]--|-------[1]-------|--[2]--| -+ -+ // console.log("parts", parts); -+ -+ if (parts[0]) { -+ this._splice(i, parts[0]) -+ } -+ -+ if (parts[1]) { -+ child.insert(parts[1]) -+ } -+ -+ // Continue insertion at this level with remainder. -+ if (parts[2]) { -+ match = parts[2] -+ } else { -+ return this; -+ } - } --}; -+ -+ // If we got this far, the match wasn't [completely] inserted into the list of existing children, so it must be on the end. -+ this._splice(this.children.length, match); -+} - -+// This algorithm recursively bisects the tree at a given offset, but it does this efficiently by folding multiple bisections -+// at a time. -+// Splits: / / / -+// Tree: |-------------------------Top-------------------------| -+// |------------A--------------------| |------C-------| -+// |-------B----------| -+// Step (1): -+// Split Top into 4 parts: -+// |------/----------------/-------------------/---------| -+// For each part, check if there are any children that cover this part. -+// If there is a child, recursively call bisect with all splits. -+// Step (1-1): -+// Split A into parts: -+// |------/-----A----------/---------| -+// For each part, check if there are any children that cover this part. -+// If there is a child, recursively call bisect with all splits. -+// Step (1-1-1): -+// Split B into parts: -+// |-------B---/------| -+// No children covered by split. Return array of two parts, B1, B2. -+// Step (1-2): -+// Enumerate the results of splitting the child and merge piece-wise into own parts -+// |------/-----A----------/---------| -+// |------B1---|--B2--| -+// Finished merging children, return array of three parts, A1, A2, A3 -+// Step (2): -+// Enumerate the results of splitting the child and merge piece-wise into own parts. -+// |------/----------------/-------------------/---------| -+// |--A1--|-------A2-------|----A3---| -+// |------B1---|--B2--| -+// Continue by splitting next child, C. -+// Once all children have been split and merged, return all parts, T1, T2, T3, T4. -+// The new tree: -+// |--T1--|-------T2-------|--------T3---------|---T4---| -+// |--A1--|-------A2-------|----A3---| |--C1--|---C2--| -+// |------B1---|--B2--| -+// -+// The new structure is as follows: -+// T1 <- A1 -+// T2 <- A2 <- B1 -+// T3 <- A3 <- B2 -+// \- C1 -+// T4 <- C2 -+// - Syntax.Match.prototype.bisectAtOffsets = function(splits) { - var parts = [], start = this.offset, prev = null, children = jQuery.merge([], this.children); - -@@ -364,13 +608,33 @@ Syntax.Match.prototype.bisectAtOffsets = - return a-b; - }); - -+ // We build a set of top level matches by looking at each split point and -+ // creating a new match from the end of the previous match to the split point. - for (var i = 0; i < splits.length; i += 1) { - var offset = splits[i]; - -- if (offset < this.offset || offset > this.endOffset || (offset - start) == 0) { -+ // The split offset is past the end of the match, so there are no more possible -+ // splits. -+ if (offset > this.endOffset) { - break; - } - -+ // We keep track of null parts if the offset is less than the start -+ // so that things align up as expected with the requested splits. -+ if ( -+ offset < this.offset // If the split point is less than the start of the match. -+ || (offset - start) == 0 // If the match would have effectively zero length. -+ ) { -+ parts.push(null); // Preserve alignment with splits. -+ start = offset; -+ continue; -+ } -+ -+ // Even if the previous split was out to the left, we align up the start -+ // to be at the start of the match we are bisecting. -+ if (start < this.offset) -+ start = this.offset; -+ - var match = new Syntax.Match(start, offset - start, this.expression); - match.value = this.value.substr(start - this.offset, match.length); - -@@ -388,6 +652,9 @@ Syntax.Match.prototype.bisectAtOffsets = - splits.length = parts.length; - - for (var i = 0; i < parts.length; i += 1) { -+ if (parts[i] == null) -+ continue; -+ - var offset = splits[0]; - - while (children.length > 0) { -@@ -406,6 +673,8 @@ Syntax.Match.prototype.bisectAtOffsets = - // children_parts are the bisected children which need to be merged with parts - // in a linear fashion - for (; j < children_parts.length; j += 1) { -+ if (children_parts[j] == null) continue; // Preserve alignment with splits. -+ - parts[i+j].children.push(children_parts[j]); - } - -@@ -420,7 +689,7 @@ Syntax.Match.prototype.bisectAtOffsets = - } - - if (children.length) { -- alert("Syntax Error: Children nodes not consumed, " + children.length + " remaining!"); -+ Syntax.log("Syntax Error: Children nodes not consumed", children.length, " remaining!"); - } - - return parts; -@@ -433,15 +702,71 @@ Syntax.Match.prototype.split = function( - splits.push(pattern.lastIndex); - } - -- return this.bisectAtOffsets(splits); -+ var matches = this.bisectAtOffsets(splits); -+ -+ // Remove any null placeholders. -+ return jQuery.grep(matches, function(n,i){ -+ return n; -+ }); - }; - - Syntax.Brush = function () { -+ // The primary class of this brush. Must be unique. - this.klass = null; -+ -+ // A sequential list of rules for extracting matches. - this.rules = []; -+ -+ // A list of all parents that this brush derives from. -+ this.parents = []; -+ -+ // A list of processes that may be run after extracting matches. - this.processes = {}; - }; - -+Syntax.Brush.convertStringToTokenPattern = function (pattern, escape) { -+ var prefix = "\\b", postfix = "\\b"; -+ -+ if (!pattern.match(/^\w/)) { -+ if (!pattern.match(/\w$/)) { -+ prefix = postfix = ""; -+ } else { -+ prefix = "\\B"; -+ } -+ } else { -+ if (!pattern.match(/\w$/)) { -+ postfix = "\\B"; -+ } -+ } -+ -+ if (escape) -+ pattern = RegExp.escape(pattern) -+ -+ return prefix + pattern + postfix; -+} -+ -+// Add a parent to the brush. This brush should be loaded as a dependency. -+Syntax.Brush.prototype.derives = function (name) { -+ this.parents.push(name); -+ this.rules.push({ -+ apply: function(text, expr, offset) { -+ return Syntax.brushes[name].getMatches(text, offset); -+ } -+ }); -+} -+ -+// Return an array of all classes that the brush consists of. -+// A derivied brush is its own klass + the klass of any and all parents. -+Syntax.Brush.prototype.allKlasses = function () { -+ var klasses = [this.klass]; -+ -+ for (var i = 0; i < this.parents.length; i += 1) { -+ klasses = klasses.concat(Syntax.brushes[this.parents[i]].allKlasses()); -+ } -+ -+ return klasses; -+} -+ - Syntax.Brush.prototype.push = function () { - if (jQuery.isArray(arguments[0])) { - var patterns = arguments[0], rule = arguments[1]; -@@ -454,21 +779,7 @@ Syntax.Brush.prototype.push = function ( - - if (typeof(rule.pattern) === 'string') { - rule.string = rule.pattern; -- var prefix = "\\b", postfix = "\\b"; -- -- if (!rule.pattern.match(/^\w/)) { -- if (!rule.pattern.match(/\w$/)) { -- prefix = postfix = ""; -- } else { -- prefix = "\\B"; -- } -- } else { -- if (!rule.pattern.match(/\w$/)) { -- postfix = "\\B"; -- } -- } -- -- rule.pattern = new RegExp(prefix + RegExp.escape(rule.pattern) + postfix, rule.options || 'g'); -+ rule.pattern = new RegExp(Syntax.Brush.convertStringToTokenPattern(rule.string, true), rule.options || 'g') - } - - if (typeof(XRegExp) !== 'undefined') { -@@ -478,19 +789,30 @@ Syntax.Brush.prototype.push = function ( - if (rule.pattern && rule.pattern.global) { - this.rules.push(jQuery.extend({owner: this}, rule)); - } else if (typeof(console) != "undefined") { -- console.log("Syntax Error: Malformed rule: ", rule); -+ Syntax.log("Syntax Error: Malformed rule: ", rule); - } - } - }; - --Syntax.Brush.prototype.getMatchesForRule = function (text, expr, offset) { -+Syntax.Brush.prototype.getMatchesForRule = function (text, rule, offset) { - var matches = [], match = null; - -- while((match = expr.pattern.exec(text)) !== null) { -- if (expr.matches) { -- matches = matches.concat(expr.matches(match, expr)); -+ // Short circuit (user defined) function: -+ if (typeof rule.apply != "undefined") { -+ return rule.apply(text, rule, offset); -+ } -+ -+ // Duplicate the pattern so that the function is reentrant. -+ var pattern = new RegExp; -+ pattern.compile(rule.pattern); -+ -+ while((match = pattern.exec(text)) !== null) { -+ if (rule.matches) { -+ matches = matches.concat(rule.matches(match, rule)); -+ } else if (rule.brush) { -+ matches.push(Syntax.brushes[rule.brush].buildTree(match[0], match.index)); - } else { -- matches.push(new Syntax.Match(match.index, match[0].length, expr, match[0])); -+ matches.push(new Syntax.Match(match.index, match[0].length, rule, match[0])); - } - } - -@@ -500,6 +822,10 @@ Syntax.Brush.prototype.getMatchesForRule - } - } - -+ if (rule.debug) { -+ Syntax.log("matches", matches); -+ } -+ - return matches; - }; - -@@ -513,14 +839,15 @@ Syntax.Brush.prototype.getMatches = func - return matches; - }; - --Syntax.Brush.prototype.buildTree = function(text, offset) { -+Syntax.Brush.prototype.buildTree = function(text, offset, additionalMatches) { - offset = offset || 0; - - // Fixes code that uses \r\n for line endings. /$/ matches both \r\n, which is a problem.. - text = text.replace(/\r/g, ""); - - var matches = this.getMatches(text, offset); -- var top = new Syntax.Match(offset, text.length, {klass: this.klass, allow: '*', owner: this}, text); -+ -+ var top = new Syntax.Match(offset, text.length, {klass: this.allKlasses().join(" "), allow: '*', owner: this}, text); - - // This sort is absolutely key to the functioning of the tree insertion algorithm. - matches.sort(Syntax.Match.sort); -@@ -529,13 +856,20 @@ Syntax.Brush.prototype.buildTree = funct - top.insertAtEnd(matches[i]); - } - -+ if (additionalMatches) { -+ for (var i = 0; i < additionalMatches.length; i += 1) { -+ top.insert(additionalMatches[i], true); -+ } -+ } -+ - top.complete = true; - - return top; - }; - --Syntax.Brush.prototype.process = function(text) { -- var top = this.buildTree(text); -+// Matches is optional, and provides a set of pre-existing matches. -+Syntax.Brush.prototype.process = function(text, matches) { -+ var top = this.buildTree(text, 0, matches); - - var lines = top.split(/\n/g); - -@@ -568,7 +902,7 @@ Syntax.highlight = function (elements, o - options = {}; - } - -- options.layout = options.layout || 'plain'; -+ options.layout = options.layout || 'preformatted'; - - if (typeof(options.tabWidth) === 'undefined') { - options.tabWidth = 4; -@@ -577,13 +911,15 @@ Syntax.highlight = function (elements, o - elements.each(function () { - var container = jQuery(this); - -+ // We can augment the plain text to extract existing annotations. -+ var matches = Syntax.extractElementMatches(container); - var text = Syntax.getCDATA(container); -- -+ - var match = text.match(/-\*- mode: (.+?);(.*?)-\*-/i); - var endOfSecondLine = text.indexOf("\n", text.indexOf("\n") + 1); - - if (match && match.index < endOfSecondLine) { -- options.brush = match[1]; -+ options.brush = options.brush || match[1]; - var modeline = match[2]; - - var mode = /([a-z\-]+)\:(.*?)\;/gi; -@@ -598,16 +934,24 @@ Syntax.highlight = function (elements, o - } - - var brushName = (options.brush || 'plain').toLowerCase(); -+ - brushName = Syntax.aliases[brushName] || brushName; - - Syntax.brushes.get(brushName, function(brush) { -- container.addClass('syntax'); -- - if (options.tabWidth) { -- text = Syntax.convertTabsToSpaces(text, options.tabWidth); -+ // Calculate the tab expansion and offsets -+ replacement = Syntax.convertTabsToSpaces(text, options.tabWidth); -+ -+ // Update any existing matches -+ if (matches && matches.length) { -+ var linearOffsets = Syntax.convertToLinearOffsets(replacement.offsets, text.length); -+ matches = Syntax.updateMatchesWithOffsets(matches, linearOffsets, replacement.text); -+ } -+ -+ text = replacement.text; - } - -- var html = brush.process(text); -+ var html = brush.process(text, matches); - - if (options.linkify !== false) { - jQuery('span.href', html).each(function(){ -Index: yelp-xsl-3.0.1/js/jquery.syntax.js -=================================================================== ---- yelp-xsl-3.0.1.orig/js/jquery.syntax.js -+++ yelp-xsl-3.0.1/js/jquery.syntax.js -@@ -1,20 +1,26 @@ - /* -- This file is part of the "jQuery.Syntax" project, and is licensed under the GNU AGPLv3. -- -- Copyright 2010 Samuel Williams. All rights reserved. -- -+ This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. - For more information, please see http://www.oriontransfer.co.nz/software/jquery-syntax -+ -+ Copyright (c) 2011 Samuel G. D. Williams. - -- This program is free software: you can redistribute it and/or modify it under the terms -- of the GNU Affero General Public License as published by the Free Software Foundation, -- either version 3 of the License, or (at your option) any later version. -- -- This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; -- without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -- See the GNU Affero General Public License for more details. -- -- You should have received a copy of the GNU Affero General Public License along with this -- program. If not, see . -+ Permission is hereby granted, free of charge, to any person obtaining a copy -+ of this software and associated documentation files (the "Software"), to deal -+ in the Software without restriction, including without limitation the rights -+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -+ copies of the Software, and to permit persons to whom the Software is -+ furnished to do so, subject to the following conditions: -+ -+ The above copyright notice and this permission notice shall be included in -+ all copies or substantial portions of the Software. -+ -+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -+ THE SOFTWARE. - */ - - /*global Function: true, ResourceLoader: true, Syntax: true, alert: false, jQuery: true */ -@@ -70,9 +76,12 @@ ResourceLoader.prototype._loaded = funct - } - }; - -+// This function must ensure that current cannot be completely loaded until next -+// is completely loaded. - ResourceLoader.prototype.dependency = function (current, next) { -- // if it is already loaded, it isn't a dependency -- if (this[next]) { -+ // If the resource has completely loaded, then we don't need to queue it -+ // as a dependency -+ if (this[next] && !this.loading[name]) { - return; - } - -@@ -83,11 +92,12 @@ ResourceLoader.prototype.dependency = fu - } - }; - -+// This function must be reentrant for the same name and different callbacks. - ResourceLoader.prototype.get = function (name, callback) { -- if (this[name]) { -+ if (this.loading[name]) { -+ this.loading[name].push(callback) -+ } else if (this[name]) { - callback(this[name]); -- } else if (this.loading[name]) { -- this.loading[name].push(callback); - } else { - this.loading[name] = [callback]; - this.loader(name, this._finish.bind(this, name)); -@@ -95,12 +105,13 @@ ResourceLoader.prototype.get = function - }; - - var Syntax = { -- root: './', -+ root: null, - aliases: {}, - styles: {}, - lib: {}, - defaultOptions: { -- cacheScripts: true -+ cacheScripts: true, -+ cacheStyleSheets: true - }, - - brushes: new ResourceLoader(function (name, callback) { -@@ -121,6 +132,10 @@ var Syntax = { - var link = jQuery(''); - jQuery("head").append(link); - -+ if (!Syntax.defaultOptions.cacheStyleSheets) { -+ path = path + "?" + Math.random() -+ } -+ - link.attr({ - rel: "stylesheet", - type: "text/css", -@@ -129,14 +144,28 @@ var Syntax = { - }, - - getScript: function (path, callback) { -- jQuery.ajax({ -- async: false, -- type: "GET", -- url: path, -- success: callback, -- dataType: "script", -- cache: Syntax.defaultOptions.cacheScripts -- }); -+ var script = document.createElement('script'); -+ -+ // Internet Exploder -+ script.onreadystatechange = function() { -+ if (this.onload && (this.readyState == 'loaded' || this.readyState == 'complete')) { -+ this.onload(); -+ -+ // Ensure the function is only called once. -+ this.onload = null; -+ } -+ }; -+ -+ // Every other modern browser -+ script.onload = callback; -+ script.type = "text/javascript"; -+ -+ if (!Syntax.defaultOptions.cacheScripts) -+ path = path + '?' + Math.random() -+ -+ script.src = path; -+ -+ document.getElementsByTagName('head')[0].appendChild(script); - }, - - getResource: function (prefix, name, callback) { -@@ -204,10 +233,40 @@ var Syntax = { - } - - return null; -+ }, -+ -+ detectRoot: function () { -+ if (Syntax.root == null) { -+ // Initialize root based on current script path. -+ var scripts = jQuery('script').filter(function(){ -+ return this.src.match(/jquery\.syntax/); -+ }); -+ -+ var first = scripts.get(0); -+ -+ if (first) { -+ // Calculate the basename for the given script src. -+ var root = first.src.match(/.*\//); -+ -+ if (root) { -+ Syntax.root = root[0]; -+ } -+ } -+ } -+ }, -+ -+ log: function() { -+ if (console && console.log) { -+ console.log.apply(console, arguments); -+ } else { -+ alert(arguments.join(" ")); -+ } - } - }; - - jQuery.fn.syntax = function (options, callback) { -+ Syntax.detectRoot(); -+ - var elements = this; - - Syntax.loader.get('core', function () { -@@ -221,6 +280,8 @@ jQuery.syntax = function (options, callb - - if (options.root) { - Syntax.root = options.root; -+ } else { -+ Syntax.detectRoot(); - } - - options = jQuery.extend(Syntax.defaultOptions, options) -@@ -231,7 +292,9 @@ jQuery.syntax = function (options, callb - options.blockLayout = options.blockLayout || 'list'; - options.inlineLayout = options.inlineLayout || 'inline'; - -- options.replace = true; -+ // Allow the user to specify callbacks without replacement. -+ if (typeof options.replace == "undefined") -+ options.replace = true; - - jQuery(options.blockSelector, context).each(function () { - jQuery(this).syntax(jQuery.extend({}, options, { -Index: yelp-xsl-3.0.1/js/jquery.syntax.layout.fixed.js -=================================================================== ---- /dev/null -+++ yelp-xsl-3.0.1/js/jquery.syntax.layout.fixed.js -@@ -0,0 +1,70 @@ -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. -+// See for licensing details. -+ -+// This layout doesn't work correctly in IE6, but is fine in all other tested browsers. -+Syntax.layouts.fixed = function(options, code, container) { -+ var fixed = jQuery('
'), line = 1, space = /^\s*$/; -+ var toolbar = jQuery('
'); -+ -+ var rawCode = container.clone(); -+ rawCode.addClass("raw syntax highlighted"); -+ -+ var codeTable = document.createElement('table'); -+ -+ var codeTableBody = document.createElement('tbody'); -+ codeTable.appendChild(codeTableBody); -+ -+ var numbersColumn = jQuery('
'); -+ var codeColumn = jQuery('
'); -+ -+ // Source code -+ code.children().each(function() { -+ var lineNumber = document.createElement('div'); -+ lineNumber.className = "line ln" + line -+ lineNumber.innerHTML = line; -+ numbersColumn.append(lineNumber); -+ -+ var lineCode = document.createElement('td'); -+ lineCode.className = "source " + this.className; -+ -+ if (line % 2) { -+ lineCode.className += " alt"; -+ } -+ -+ if (lineCode == 1) { -+ lineNumber.className += " first" -+ } -+ -+ // Thanks to Michael for suggesting the obvious :) -+ lineCode.appendChild(this); -+ -+ var tr = document.createElement('tr'); -+ tr.appendChild(lineCode); -+ codeTableBody.appendChild(tr); -+ -+ line = line + 1; -+ }); -+ -+ codeColumn.append(codeTable); -+ -+ fixed.append(numbersColumn); -+ fixed.append(codeColumn); -+ -+ a = jQuery('View Raw Code'); -+ a.click(function (event) { -+ event.preventDefault(); -+ -+ if (jQuery(fixed).is(':visible')) { -+ rawCode.height(jQuery(fixed).height()); -+ jQuery(fixed).replaceWith(rawCode); -+ } else { -+ jQuery(rawCode).replaceWith(fixed); -+ } -+ }); -+ -+ toolbar.append(a); -+ toolbar.append('?'); -+ -+ return jQuery('
').append(toolbar).append(fixed); -+}; -Index: yelp-xsl-3.0.1/js/jquery.syntax.layout.inline.js -=================================================================== ---- /dev/null -+++ yelp-xsl-3.0.1/js/jquery.syntax.layout.inline.js -@@ -0,0 +1,11 @@ -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. -+// See for licensing details. -+ -+Syntax.layouts.inline = function(options, code, container) { -+ var inline = jQuery(''); -+ -+ inline.append(code.children()); -+ -+ return inline; -+}; -Index: yelp-xsl-3.0.1/js/jquery.syntax.layout.list.js -=================================================================== ---- /dev/null -+++ yelp-xsl-3.0.1/js/jquery.syntax.layout.list.js -@@ -0,0 +1,54 @@ -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. -+// See for licensing details. -+ -+Syntax.layouts.list = function(options, code, container) { -+ var listTag = options.listTag || 'ol'; -+ -+ var list = jQuery('<' + listTag + ' class="syntax highlighted">'), line = 1, space = /^\s*$/; -+ var toolbar = jQuery('
'); -+ -+ var rawCode = container.clone(); -+ rawCode.addClass("raw syntax highlighted"); -+ -+ // Source code -+ code.children().each(function() { -+ var li = document.createElement('li'); -+ li.className = "line ln" + line -+ -+ if (line % 2) { -+ li.className += " alt"; -+ } -+ -+ if (line == 1) { -+ li.className += " first" -+ } -+ -+ var div = document.createElement('div'); -+ div.className = "source " + this.className; -+ -+ div.appendChild(this); -+ -+ li.appendChild(div); -+ list[0].appendChild(li); -+ -+ line = line + 1; -+ }); -+ -+ a = jQuery('View Raw Code'); -+ a.click(function (event) { -+ event.preventDefault(); -+ -+ if (jQuery(list).is(':visible')) { -+ rawCode.height(jQuery(list).height()); -+ jQuery(list).replaceWith(rawCode); -+ } else { -+ jQuery(rawCode).replaceWith(list); -+ } -+ }); -+ -+ toolbar.append(a); -+ toolbar.append('?'); -+ -+ return jQuery('
').append(toolbar).append(list); -+}; -Index: yelp-xsl-3.0.1/js/jquery.syntax.layout.plain.js -=================================================================== ---- /dev/null -+++ yelp-xsl-3.0.1/js/jquery.syntax.layout.plain.js -@@ -0,0 +1,15 @@ -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. -+// See for licensing details. -+ -+// This layout doesn't work correctly in IE6, but is fine in all other tested browsers. -+Syntax.layouts.plain = function(options, code, container) { -+ var toolbar = jQuery('
'); -+ -+ var scrollContainer = jQuery('
'); -+ code.removeClass('syntax'); -+ -+ scrollContainer.append(code); -+ -+ return jQuery('
').append(toolbar).append(scrollContainer); -+}; -Index: yelp-xsl-3.0.1/js/jquery.syntax.layout.table.js -=================================================================== ---- /dev/null -+++ yelp-xsl-3.0.1/js/jquery.syntax.layout.table.js -@@ -0,0 +1,58 @@ -+// This file is part of the "jQuery.Syntax" project, and is distributed under the MIT License. -+// Copyright (c) 2011 Samuel G. D. Williams. -+// See for licensing details. -+ -+Syntax.layouts.table = function(options, code, container) { -+ var table = jQuery('
'), tr = null, td = null, a = null, line = 1; -+ var tbody = document.createElement('tbody'); -+ var toolbar = jQuery('
'); -+ -+ var rawCode = container.clone(); -+ rawCode.addClass("raw syntax highlighted"); -+ -+ // Source code -+ code.children().each(function() { -+ tr = document.createElement('tr'); -+ tr.className = "line ln" + line; -+ -+ if (line % 2) { -+ tr.className += " alt"; -+ } -+ -+ td = document.createElement('td'); -+ td.className = "number"; -+ -+ number = document.createElement('span'); -+ number.innerHTML = line; -+ td.appendChild(number); -+ tr.appendChild(td); -+ -+ td = document.createElement('td'); -+ td.className = "source"; -+ -+ td.appendChild(this); -+ tr.appendChild(td); -+ -+ tbody.appendChild(tr); -+ line = line + 1; -+ }); -+ -+ table.append(tbody); -+ -+ a = jQuery('View Raw Code'); -+ a.click(function (event) { -+ event.preventDefault(); -+ -+ if (jQuery(table).is(':visible')) { -+ rawCode.height(jQuery(table).height()); -+ jQuery(table).replaceWith(rawCode); -+ } else { -+ jQuery(rawCode).replaceWith(table); -+ } -+ }); -+ -+ toolbar.append(a); -+ toolbar.append('?'); -+ -+ return jQuery('
').append(toolbar).append(table); -+}; -Index: yelp-xsl-3.0.1/js/jquery.syntax.layout.yelp.js -=================================================================== ---- /dev/null -+++ yelp-xsl-3.0.1/js/jquery.syntax.layout.yelp.js -@@ -0,0 +1,4 @@ -+Syntax.layouts.yelp = function(options, code, container) { -+ code.addClass('contents'); -+ return code; -+}; -Index: yelp-xsl-3.0.1/xslt/common/html.xsl -=================================================================== ---- yelp-xsl-3.0.1.orig/xslt/common/html.xsl -+++ yelp-xsl-3.0.1/xslt/common/html.xsl -@@ -1054,8 +1054,6 @@ All parameters can be automatically comp - - - --pre.syntax { --} - pre.syntax span.function, pre.syntax span.keyword, pre.syntax span.tag { - color: ; - } -@@ -1464,9 +1462,7 @@ is included by *{html.js.syntax}. - - -- - - diff --git a/yelp-xsl.changes b/yelp-xsl.changes index 0eea1e2..923880b 100644 --- a/yelp-xsl.changes +++ b/yelp-xsl.changes @@ -1,3 +1,23 @@ +------------------------------------------------------------------- +Tue May 24 08:57:15 CEST 2011 - dimstar@opensuse.org + +- Update to version 3.1.1: + + Improvements to the JS/CSS for videos and TTML + + Changed gettext infrastructure, use itstool + + Improvements and cleanup to DocBook code + + Implemented experimental Mallard conditional processing + + Updated to jQuery.syntax 3.0, custom layout file + + Don't embed div in a tag for linkdivs + + Added title attribute to HTML output for all links + + Updated translations. +- Changes from version 3.0.2: + + Updated translations. +- Drop yelp-xsl-update-jquery-syntax.patch: Included upstream. +- Add itstool BuildRequires. +- Drop the lang package: The .mo files are not used by anything; + the *.po are merged into the xml files (see bgo#650942). +- Obsolete the -lang package. + ------------------------------------------------------------------- Tue May 17 15:23:46 UTC 2011 - fcrozat@suse.com diff --git a/yelp-xsl.spec b/yelp-xsl.spec index 6d56232..b7f7abc 100644 --- a/yelp-xsl.spec +++ b/yelp-xsl.spec @@ -19,37 +19,31 @@ Name: yelp-xsl -Version: 3.0.1 -Release: 3 +Version: 3.1.1 +Release: 1 License: GPLv2+, LGPLv2.1+, MIT Summary: XSL stylesheets for the yelp help browser Group: System/Libraries Source: %{name}-%{version}.tar.bz2 -# PATCH-FIX-UPSTREAM yelp-xsl-update-jquery-syntax.patch bnc#693971 bgo#650308 fcrozat@suse.com -- update jquery.syntax to latest version (from git) -Patch0: yelp-xsl-update-jquery-syntax.patch -BuildRequires: intltool +BuildRequires: itstool intltool BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(libxslt) BuildArch: noarch +Obsoletes: %{name}-lang < %{version} %description This package contains XSL stylesheets that are used by the yelp help browser. -%lang_package %prep %setup -q -%patch0 -p1 %build -#needed by patch0 -autoreconf %configure %__make %{?_smp_mflags} %install %makeinstall -%find_lang %{name} %files %defattr(-, root, root) @@ -60,6 +54,4 @@ autoreconf # package for it. %{_datadir}/pkgconfig/yelp-xsl.pc -%files lang -f %{name}.lang - %changelog