From 59b7164d1b400f44d7aca2ec3d558e2b95153c4a Mon Sep 17 00:00:00 2001 From: murphy Date: Fri, 20 Feb 2009 18:23:16 +0000 Subject: JavaScript scanner: Fixed string keys (closes #85). --- lib/coderay/scanners/java_script.rb | 21 ++- .../javascript/script.aculo.us.expected.raydebug | 144 ++++++++++----------- 2 files changed, 82 insertions(+), 83 deletions(-) diff --git a/lib/coderay/scanners/java_script.rb b/lib/coderay/scanners/java_script.rb index e9ae14f..6a10ed4 100644 --- a/lib/coderay/scanners/java_script.rb +++ b/lib/coderay/scanners/java_script.rb @@ -42,6 +42,10 @@ module Scanners '"' => /[^\\"]+/, '/' => /[^\\\/]+/, } + KEY_CHECK_PATTERN = { + "'" => / [^\\']* (?: \\.? [^\\']* )* '? \s* : /x, + '"' => / [^\\"]* (?: \\.? [^\\"]* )* "? \s* : /x, + } def scan_tokens tokens, options @@ -102,18 +106,13 @@ module Scanners end key_expected = false - # TODO: string key recognition - # There's a problem with expressions like: PAIRS: { 'slide': ['SlideDown','SlideUp'], ... }. - # The commas in the array are confusing the scanner here. - # elsif key_expected && match = scan(/["']/) - # tokens << [:open, :key] - # state = :key - # string_delimiter = match - # kind = :delimiter - elsif match = scan(/["']/) - tokens << [:open, :string] - state = :string + if key_expected && check(KEY_CHECK_PATTERN[match]) + state = :key + else + state = :string + end + tokens << [:open, state] string_delimiter = match kind = :delimiter diff --git a/test/scanners/javascript/script.aculo.us.expected.raydebug b/test/scanners/javascript/script.aculo.us.expected.raydebug index 2908a45..5aac016 100644 --- a/test/scanners/javascript/script.aculo.us.expected.raydebug +++ b/test/scanners/javascript/script.aculo.us.expected.raydebug @@ -2083,9 +2083,9 @@ keyword(var) ident(Effect) operator(=) operator({) operator(}\))operator(;) operator(})operator(,) key(PAIRS)operator(:) operator({) - stringoperator(:) operator([)stringoperator(,)stringoperator(])operator(,) - stringoperator(:) operator([)stringoperator(,)stringoperator(])operator(,) - stringoperator(:) operator([)stringoperator(,)stringoperator(]) + keyoperator(:) operator([)stringoperator(,)stringoperator(])operator(,) + keyoperator(:) operator([)stringoperator(,)stringoperator(])operator(,) + keyoperator(:) operator([)stringoperator(,)stringoperator(]) operator(})operator(,) key(toggle)operator(:) keyword(function)operator(()ident(element)operator(,) ident(effect)operator(\)) operator({) ident(element) operator(=) predefined($)operator(()ident(element)operator(\))operator(;) @@ -3378,12 +3378,12 @@ ident(Object)operator(.)ident(extend)operator(()ident(String)operator(,) operato keyword(return) ident(value) operator(==) keyword(null) operator(?) string operator(:) ident(String)operator(()ident(value)operator(\))operator(;) operator(})operator(,) key(specialChar)operator(:) operator({) - stringoperator(:) stringoperator(,) - stringoperator(:) stringoperator(,) - stringoperator(:) stringoperator(,) - stringoperator(:) stringoperator(,) - stringoperator(:) stringoperator(,) - stringoperator(:) string + keyoperator(:) stringoperator(,) + keyoperator(:) stringoperator(,) + keyoperator(:) stringoperator(,) + keyoperator(:) stringoperator(,) + keyoperator(:) stringoperator(,) + keyoperator(:) string operator(}) operator(}\))operator(;) @@ -4296,9 +4296,9 @@ ident(Ajax)operator(.)ident(Request) operator(=) ident(Class)operator(.)ident(cr key(setRequestHeaders)operator(:) keyword(function)operator(()operator(\)) operator({) keyword(var) ident(headers) operator(=) operator({) - stringoperator(:) stringoperator(,) - stringoperator(:) ident(Prototype)operator(.)ident(Version)operator(,) - stringoperator(:) string + keyoperator(:) stringoperator(,) + keyoperator(:) ident(Prototype)operator(.)ident(Version)operator(,) + keyoperator(:) string operator(})operator(;) keyword(if) operator(()local_variable(this)operator(.)ident(method) operator(==) stringoperator(\)) operator({) @@ -4705,7 +4705,7 @@ ident(Element)operator(.)ident(Methods) operator(=) operator({) key(inspect)operator(:) keyword(function)operator(()ident(element)operator(\)) operator({) ident(element) operator(=) predefined($)operator(()ident(element)operator(\))operator(;) keyword(var) ident(result) operator(=) string operator(+) ident(element)operator(.)ident(tagName)operator(.)ident(toLowerCase)operator(()operator(\))operator(;) - predefined($H)operator(({)stringoperator(:) stringoperator(,) stringoperator(:) stringoperator(}\))operator(.)ident(each)operator(()keyword(function)operator(()ident(pair)operator(\)) operator({) + predefined($H)operator(({)keyoperator(:) stringoperator(,) keyoperator(:) stringoperator(}\))operator(.)ident(each)operator(()keyword(function)operator(()ident(pair)operator(\)) operator({) keyword(var) ident(property) operator(=) ident(pair)operator(.)ident(first)operator(()operator(\))operator(,) ident(attribute) operator(=) ident(pair)operator(.)ident(last)operator(()operator(\))operator(;) keyword(var) ident(value) operator(=) operator(()ident(element)operator([)ident(property)operator(]) operator(||) stringoperator(\))operator(.)ident(toString)operator(()operator(\))operator(;) keyword(if) operator(()ident(value)operator(\)) ident(result) operator(+=) string operator(+) ident(attribute) operator(+) string operator(+) ident(value)operator(.)ident(inspect)operator(()keyword(true)operator(\))operator(;) @@ -5352,8 +5352,8 @@ keyword(else) keyword(if) operator(()ident(Prototype)operator(.)ident(Browser)op ident(Element)operator(.)ident(_attributeTranslations) operator(=) operator({) key(read)operator(:) operator({) key(names)operator(:) operator({) - stringoperator(:) stringoperator(,) - stringoperator(:) string + keyoperator(:) stringoperator(,) + keyoperator(:) string operator(})operator(,) key(values)operator(:) operator({) key(_getAttr)operator(:) keyword(function)operator(()ident(element)operator(,) ident(attribute)operator(\)) operator({) @@ -5667,10 +5667,10 @@ ident(Element)operator(.)ident(addMethods) operator(=) keyword(function)operator ident(Object)operator(.)ident(extend)operator(()ident(Form)operator(,) ident(Form)operator(.)ident(Methods)operator(\))operator(;) ident(Object)operator(.)ident(extend)operator(()ident(Form)operator(.)ident(Element)operator(,) ident(Form)operator(.)ident(Element)operator(.)ident(Methods)operator(\))operator(;) ident(Object)operator(.)ident(extend)operator(()ident(Element)operator(.)ident(Methods)operator(.)ident(ByTag)operator(,) operator({) - stringoperator(:) ident(Object)operator(.)ident(clone)operator(()ident(Form)operator(.)ident(Methods)operator(\))operator(,) - stringoperator(:) ident(Object)operator(.)ident(clone)operator(()ident(Form)operator(.)ident(Element)operator(.)ident(Methods)operator(\))operator(,) - stringoperator(:) ident(Object)operator(.)ident(clone)operator(()ident(Form)operator(.)ident(Element)operator(.)ident(Methods)operator(\))operator(,) - stringoperator(:) ident(Object)operator(.)ident(clone)operator(()ident(Form)operator(.)ident(Element)operator(.)ident(Methods)operator(\)) + keyoperator(:) ident(Object)operator(.)ident(clone)operator(()ident(Form)operator(.)ident(Methods)operator(\))operator(,) + keyoperator(:) ident(Object)operator(.)ident(clone)operator(()ident(Form)operator(.)ident(Element)operator(.)ident(Methods)operator(\))operator(,) + keyoperator(:) ident(Object)operator(.)ident(clone)operator(()ident(Form)operator(.)ident(Element)operator(.)ident(Methods)operator(\))operator(,) + keyoperator(:) ident(Object)operator(.)ident(clone)operator(()ident(Form)operator(.)ident(Element)operator(.)ident(Methods)operator(\)) operator(}\))operator(;) operator(}) @@ -5705,15 +5705,15 @@ ident(Element)operator(.)ident(addMethods) operator(=) keyword(function)operator keyword(function) ident(findDOMClass)operator(()ident(tagName)operator(\)) operator({) keyword(var) ident(klass)operator(;) keyword(var) ident(trans) operator(=) operator({) - stringoperator(:) stringoperator(,) stringoperator(:) stringoperator(,) stringoperator(:) stringoperator(,) - stringoperator(:) stringoperator(,) stringoperator(:) stringoperator(,) stringoperator(:) stringoperator(,) stringoperator(:) stringoperator(,) - stringoperator(:) stringoperator(,) stringoperator(:) stringoperator(,) stringoperator(:) stringoperator(,) stringoperator(:) stringoperator(,) - stringoperator(:) stringoperator(,) stringoperator(:) stringoperator(,) stringoperator(:) stringoperator(,) stringoperator(:) stringoperator(,) - stringoperator(:) stringoperator(,) stringoperator(:) stringoperator(,) stringoperator(:) stringoperator(,) stringoperator(:) stringoperator(,) stringoperator(:) - stringoperator(,) stringoperator(:) stringoperator(,) stringoperator(:) stringoperator(,) stringoperator(:) - stringoperator(,) stringoperator(:) stringoperator(,) stringoperator(:) stringoperator(,) stringoperator(:) - stringoperator(,) stringoperator(:) stringoperator(,) stringoperator(:) stringoperator(,) stringoperator(:) - stringoperator(,) stringoperator(:) string + keyoperator(:) stringoperator(,) keyoperator(:) stringoperator(,) keyoperator(:) stringoperator(,) + keyoperator(:) stringoperator(,) keyoperator(:) stringoperator(,) keyoperator(:) stringoperator(,) keyoperator(:) stringoperator(,) + keyoperator(:) stringoperator(,) keyoperator(:) stringoperator(,) keyoperator(:) stringoperator(,) keyoperator(:) stringoperator(,) + keyoperator(:) stringoperator(,) keyoperator(:) stringoperator(,) keyoperator(:) stringoperator(,) keyoperator(:) stringoperator(,) + keyoperator(:) stringoperator(,) keyoperator(:) stringoperator(,) keyoperator(:) stringoperator(,) keyoperator(:) stringoperator(,) keyoperator(:) + stringoperator(,) keyoperator(:) stringoperator(,) keyoperator(:) stringoperator(,) keyoperator(:) + stringoperator(,) keyoperator(:) stringoperator(,) keyoperator(:) stringoperator(,) keyoperator(:) + stringoperator(,) keyoperator(:) stringoperator(,) keyoperator(:) stringoperator(,) keyoperator(:) + stringoperator(,) keyoperator(:) string operator(})operator(;) keyword(if) operator(()ident(trans)operator([)ident(tagName)operator(]\)) ident(klass) operator(=) string operator(+) ident(trans)operator([)ident(tagName)operator(]) operator(+) stringoperator(;) keyword(if) operator(()ident(window)operator([)ident(klass)operator(]\)) keyword(return) ident(window)operator([)ident(klass)operator(])operator(;) @@ -5941,23 +5941,23 @@ ident(Object)operator(.)ident(extend)operator(()ident(Selector)operator(,) opera keyword(return) keyword(new) ident(Template)operator(()ident(Selector)operator(.)ident(xpath)operator(.)ident(pseudos)operator([)ident(m)operator([)integer(1)operator(]]\))operator(.)ident(evaluate)operator(()ident(m)operator(\))operator(;) operator(})operator(,) key(operators)operator(:) operator({) - stringoperator(:) stringoperator(,) - stringoperator(:) stringoperator(,) - stringoperator(:) stringoperator(,) - stringoperator(:) stringoperator(,) - stringoperator(:) stringoperator(,) - stringoperator(:) stringoperator(,) - stringoperator(:) string + keyoperator(:) stringoperator(,) + keyoperator(:) stringoperator(,) + keyoperator(:) stringoperator(,) + keyoperator(:) stringoperator(,) + keyoperator(:) stringoperator(,) + keyoperator(:) stringoperator(,) + keyoperator(:) string operator(})operator(,) key(pseudos)operator(:) operator({) - stringoperator(:) stringoperator(,) - stringoperator(:) stringoperator(,) - stringoperator(:) stringoperator(,) - stringoperator(:) stringoperator(,) - stringoperator(:) stringoperator(,) - stringoperator(:) stringoperator(,) - stringoperator(:) stringoperator(,) - stringoperator(:) keyword(function)operator(()ident(m)operator(\)) operator({) + keyoperator(:) stringoperator(,) + keyoperator(:) stringoperator(,) + keyoperator(:) stringoperator(,) + keyoperator(:) stringoperator(,) + keyoperator(:) stringoperator(,) + keyoperator(:) stringoperator(,) + keyoperator(:) stringoperator(,) + keyoperator(:) keyword(function)operator(()ident(m)operator(\)) operator({) keyword(var) ident(e) operator(=) ident(m)operator([)integer(6)operator(])operator(,) ident(p) operator(=) ident(Selector)operator(.)ident(patterns)operator(,) ident(x) operator(=) ident(Selector)operator(.)ident(xpath)operator(,) ident(le)operator(,) ident(v)operator(;) @@ -5975,25 +5975,25 @@ ident(Object)operator(.)ident(extend)operator(()ident(Selector)operator(,) opera operator(}) keyword(return) string operator(+) ident(exclusion)operator(.)ident(join)operator(()stringoperator(\)) operator(+) stringoperator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(m)operator(\)) operator({) + keyoperator(:) keyword(function)operator(()ident(m)operator(\)) operator({) keyword(return) ident(Selector)operator(.)ident(xpath)operator(.)ident(pseudos)operator(.)ident(nth)operator(()stringoperator(,) ident(m)operator(\))operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(m)operator(\)) operator({) + keyoperator(:) keyword(function)operator(()ident(m)operator(\)) operator({) keyword(return) ident(Selector)operator(.)ident(xpath)operator(.)ident(pseudos)operator(.)ident(nth)operator(()stringoperator(,) ident(m)operator(\))operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(m)operator(\)) operator({) + keyoperator(:) keyword(function)operator(()ident(m)operator(\)) operator({) keyword(return) ident(Selector)operator(.)ident(xpath)operator(.)ident(pseudos)operator(.)ident(nth)operator(()stringoperator(,) ident(m)operator(\))operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(m)operator(\)) operator({) + keyoperator(:) keyword(function)operator(()ident(m)operator(\)) operator({) keyword(return) ident(Selector)operator(.)ident(xpath)operator(.)ident(pseudos)operator(.)ident(nth)operator(()stringoperator(,) ident(m)operator(\))operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(m)operator(\)) operator({) + keyoperator(:) keyword(function)operator(()ident(m)operator(\)) operator({) ident(m)operator([)integer(6)operator(]) operator(=) stringoperator(;) keyword(return) ident(Selector)operator(.)ident(xpath)operator(.)ident(pseudos)operator([)stringoperator(])operator(()ident(m)operator(\))operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(m)operator(\)) operator({) + keyoperator(:) keyword(function)operator(()ident(m)operator(\)) operator({) ident(m)operator([)integer(6)operator(]) operator(=) stringoperator(;) keyword(return) ident(Selector)operator(.)ident(xpath)operator(.)ident(pseudos)operator([)stringoperator(])operator(()ident(m)operator(\))operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(m)operator(\)) operator({) + keyoperator(:) keyword(function)operator(()ident(m)operator(\)) operator({) keyword(var) ident(p) operator(=) ident(Selector)operator(.)ident(xpath)operator(.)ident(pseudos)operator(;) keyword(return) ident(p)operator([)stringoperator(])operator(()ident(m)operator(\)) operator(+) ident(p)operator([)stringoperator(])operator(()ident(m)operator(\))operator(;) operator(})operator(,) key(nth)operator(:) keyword(function)operator(()ident(fragment)operator(,) ident(m)operator(\)) operator({) @@ -6258,46 +6258,46 @@ ident(Object)operator(.)ident(extend)operator(()ident(Selector)operator(,) opera operator(})operator(,) key(pseudos)operator(:) operator({) - stringoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(value)operator(,) ident(root)operator(\)) operator({) + keyoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(value)operator(,) ident(root)operator(\)) operator({) keyword(for) operator(()keyword(var) ident(i) operator(=) integer(0)operator(,) ident(results) operator(=) operator([)operator(])operator(,) ident(node)operator(;) ident(node) operator(=) ident(nodes)operator([)ident(i)operator(])operator(;) ident(i)operator(++)operator(\)) operator({) keyword(if) operator(()ident(Selector)operator(.)ident(handlers)operator(.)ident(previousElementSibling)operator(()ident(node)operator(\)\)) keyword(continue)operator(;) ident(results)operator(.)ident(push)operator(()ident(node)operator(\))operator(;) operator(}) keyword(return) ident(results)operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(value)operator(,) ident(root)operator(\)) operator({) + keyoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(value)operator(,) ident(root)operator(\)) operator({) keyword(for) operator(()keyword(var) ident(i) operator(=) integer(0)operator(,) ident(results) operator(=) operator([)operator(])operator(,) ident(node)operator(;) ident(node) operator(=) ident(nodes)operator([)ident(i)operator(])operator(;) ident(i)operator(++)operator(\)) operator({) keyword(if) operator(()ident(Selector)operator(.)ident(handlers)operator(.)ident(nextElementSibling)operator(()ident(node)operator(\)\)) keyword(continue)operator(;) ident(results)operator(.)ident(push)operator(()ident(node)operator(\))operator(;) operator(}) keyword(return) ident(results)operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(value)operator(,) ident(root)operator(\)) operator({) + keyoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(value)operator(,) ident(root)operator(\)) operator({) keyword(var) ident(h) operator(=) ident(Selector)operator(.)ident(handlers)operator(;) keyword(for) operator(()keyword(var) ident(i) operator(=) integer(0)operator(,) ident(results) operator(=) operator([)operator(])operator(,) ident(node)operator(;) ident(node) operator(=) ident(nodes)operator([)ident(i)operator(])operator(;) ident(i)operator(++)operator(\)) keyword(if) operator((!)ident(h)operator(.)ident(previousElementSibling)operator(()ident(node)operator(\)) operator(&&) operator(!)ident(h)operator(.)ident(nextElementSibling)operator(()ident(node)operator(\)\)) ident(results)operator(.)ident(push)operator(()ident(node)operator(\))operator(;) keyword(return) ident(results)operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(formula)operator(,) ident(root)operator(\)) operator({) + keyoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(formula)operator(,) ident(root)operator(\)) operator({) keyword(return) ident(Selector)operator(.)ident(pseudos)operator(.)ident(nth)operator(()ident(nodes)operator(,) ident(formula)operator(,) ident(root)operator(\))operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(formula)operator(,) ident(root)operator(\)) operator({) + keyoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(formula)operator(,) ident(root)operator(\)) operator({) keyword(return) ident(Selector)operator(.)ident(pseudos)operator(.)ident(nth)operator(()ident(nodes)operator(,) ident(formula)operator(,) ident(root)operator(,) keyword(true)operator(\))operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(formula)operator(,) ident(root)operator(\)) operator({) + keyoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(formula)operator(,) ident(root)operator(\)) operator({) keyword(return) ident(Selector)operator(.)ident(pseudos)operator(.)ident(nth)operator(()ident(nodes)operator(,) ident(formula)operator(,) ident(root)operator(,) keyword(false)operator(,) keyword(true)operator(\))operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(formula)operator(,) ident(root)operator(\)) operator({) + keyoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(formula)operator(,) ident(root)operator(\)) operator({) keyword(return) ident(Selector)operator(.)ident(pseudos)operator(.)ident(nth)operator(()ident(nodes)operator(,) ident(formula)operator(,) ident(root)operator(,) keyword(true)operator(,) keyword(true)operator(\))operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(formula)operator(,) ident(root)operator(\)) operator({) + keyoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(formula)operator(,) ident(root)operator(\)) operator({) keyword(return) ident(Selector)operator(.)ident(pseudos)operator(.)ident(nth)operator(()ident(nodes)operator(,) stringoperator(,) ident(root)operator(,) keyword(false)operator(,) keyword(true)operator(\))operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(formula)operator(,) ident(root)operator(\)) operator({) + keyoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(formula)operator(,) ident(root)operator(\)) operator({) keyword(return) ident(Selector)operator(.)ident(pseudos)operator(.)ident(nth)operator(()ident(nodes)operator(,) stringoperator(,) ident(root)operator(,) keyword(true)operator(,) keyword(true)operator(\))operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(formula)operator(,) ident(root)operator(\)) operator({) + keyoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(formula)operator(,) ident(root)operator(\)) operator({) keyword(var) ident(p) operator(=) ident(Selector)operator(.)ident(pseudos)operator(;) keyword(return) ident(p)operator([)stringoperator(])operator(()ident(p)operator([)stringoperator(])operator(()ident(nodes)operator(,) ident(formula)operator(,) ident(root)operator(\))operator(,) ident(formula)operator(,) ident(root)operator(\))operator(;) operator(})operator(,) @@ -6343,7 +6343,7 @@ ident(Object)operator(.)ident(extend)operator(()ident(Selector)operator(,) opera keyword(return) ident(results)operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(value)operator(,) ident(root)operator(\)) operator({) + keyoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(value)operator(,) ident(root)operator(\)) operator({) keyword(for) operator(()keyword(var) ident(i) operator(=) integer(0)operator(,) ident(results) operator(=) operator([)operator(])operator(,) ident(node)operator(;) ident(node) operator(=) ident(nodes)operator([)ident(i)operator(])operator(;) ident(i)operator(++)operator(\)) operator({) comment(// IE treats comments as element nodes) keyword(if) operator(()ident(node)operator(.)ident(tagName) operator(==) string operator(||) operator(()ident(node)operator(.)ident(firstChild) operator(&&) operator(!)ident(node)operator(.)ident(innerHTML)operator(.)ident(match)operator(()regexpoperator(\)\)\)) keyword(continue)operator(;) @@ -6352,7 +6352,7 @@ ident(Object)operator(.)ident(extend)operator(()ident(Selector)operator(,) opera keyword(return) ident(results)operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(selector)operator(,) ident(root)operator(\)) operator({) + keyoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(selector)operator(,) ident(root)operator(\)) operator({) keyword(var) ident(h) operator(=) ident(Selector)operator(.)ident(handlers)operator(,) ident(selectorType)operator(,) ident(m)operator(;) keyword(var) ident(exclusions) operator(=) keyword(new) ident(Selector)operator(()ident(selector)operator(\))operator(.)ident(findElements)operator(()ident(root)operator(\))operator(;) ident(h)operator(.)ident(mark)operator(()ident(exclusions)operator(\))operator(;) @@ -6362,19 +6362,19 @@ ident(Object)operator(.)ident(extend)operator(()ident(Selector)operator(,) opera keyword(return) ident(results)operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(value)operator(,) ident(root)operator(\)) operator({) + keyoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(value)operator(,) ident(root)operator(\)) operator({) keyword(for) operator(()keyword(var) ident(i) operator(=) integer(0)operator(,) ident(results) operator(=) operator([)operator(])operator(,) ident(node)operator(;) ident(node) operator(=) ident(nodes)operator([)ident(i)operator(])operator(;) ident(i)operator(++)operator(\)) keyword(if) operator((!)ident(node)operator(.)ident(disabled)operator(\)) ident(results)operator(.)ident(push)operator(()ident(node)operator(\))operator(;) keyword(return) ident(results)operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(value)operator(,) ident(root)operator(\)) operator({) + keyoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(value)operator(,) ident(root)operator(\)) operator({) keyword(for) operator(()keyword(var) ident(i) operator(=) integer(0)operator(,) ident(results) operator(=) operator([)operator(])operator(,) ident(node)operator(;) ident(node) operator(=) ident(nodes)operator([)ident(i)operator(])operator(;) ident(i)operator(++)operator(\)) keyword(if) operator(()ident(node)operator(.)ident(disabled)operator(\)) ident(results)operator(.)ident(push)operator(()ident(node)operator(\))operator(;) keyword(return) ident(results)operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(value)operator(,) ident(root)operator(\)) operator({) + keyoperator(:) keyword(function)operator(()ident(nodes)operator(,) ident(value)operator(,) ident(root)operator(\)) operator({) keyword(for) operator(()keyword(var) ident(i) operator(=) integer(0)operator(,) ident(results) operator(=) operator([)operator(])operator(,) ident(node)operator(;) ident(node) operator(=) ident(nodes)operator([)ident(i)operator(])operator(;) ident(i)operator(++)operator(\)) keyword(if) operator(()ident(node)operator(.)ident(checked)operator(\)) ident(results)operator(.)ident(push)operator(()ident(node)operator(\))operator(;) keyword(return) ident(results)operator(;) @@ -6382,13 +6382,13 @@ ident(Object)operator(.)ident(extend)operator(()ident(Selector)operator(,) opera operator(})operator(,) key(operators)operator(:) operator({) - stringoperator(:) keyword(function)operator(()ident(nv)operator(,) ident(v)operator(\)) operator({) keyword(return) ident(nv) operator(==) ident(v)operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(nv)operator(,) ident(v)operator(\)) operator({) keyword(return) ident(nv) operator(!=) ident(v)operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(nv)operator(,) ident(v)operator(\)) operator({) keyword(return) ident(nv)operator(.)ident(startsWith)operator(()ident(v)operator(\))operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(nv)operator(,) ident(v)operator(\)) operator({) keyword(return) ident(nv)operator(.)ident(endsWith)operator(()ident(v)operator(\))operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(nv)operator(,) ident(v)operator(\)) operator({) keyword(return) ident(nv)operator(.)ident(include)operator(()ident(v)operator(\))operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(nv)operator(,) ident(v)operator(\)) operator({) keyword(return) operator(()string operator(+) ident(nv) operator(+) stringoperator(\))operator(.)ident(include)operator(()string operator(+) ident(v) operator(+) stringoperator(\))operator(;) operator(})operator(,) - stringoperator(:) keyword(function)operator(()ident(nv)operator(,) ident(v)operator(\)) operator({) keyword(return) operator(()string operator(+) ident(nv)operator(.)ident(toUpperCase)operator(()operator(\)) operator(+) stringoperator(\))operator(.)ident(include)operator(()string operator(+) ident(v)operator(.)ident(toUpperCase)operator(()operator(\)) operator(+) stringoperator(\))operator(;) operator(}) + keyoperator(:) keyword(function)operator(()ident(nv)operator(,) ident(v)operator(\)) operator({) keyword(return) ident(nv) operator(==) ident(v)operator(;) operator(})operator(,) + keyoperator(:) keyword(function)operator(()ident(nv)operator(,) ident(v)operator(\)) operator({) keyword(return) ident(nv) operator(!=) ident(v)operator(;) operator(})operator(,) + keyoperator(:) keyword(function)operator(()ident(nv)operator(,) ident(v)operator(\)) operator({) keyword(return) ident(nv)operator(.)ident(startsWith)operator(()ident(v)operator(\))operator(;) operator(})operator(,) + keyoperator(:) keyword(function)operator(()ident(nv)operator(,) ident(v)operator(\)) operator({) keyword(return) ident(nv)operator(.)ident(endsWith)operator(()ident(v)operator(\))operator(;) operator(})operator(,) + keyoperator(:) keyword(function)operator(()ident(nv)operator(,) ident(v)operator(\)) operator({) keyword(return) ident(nv)operator(.)ident(include)operator(()ident(v)operator(\))operator(;) operator(})operator(,) + keyoperator(:) keyword(function)operator(()ident(nv)operator(,) ident(v)operator(\)) operator({) keyword(return) operator(()string operator(+) ident(nv) operator(+) stringoperator(\))operator(.)ident(include)operator(()string operator(+) ident(v) operator(+) stringoperator(\))operator(;) operator(})operator(,) + keyoperator(:) keyword(function)operator(()ident(nv)operator(,) ident(v)operator(\)) operator({) keyword(return) operator(()string operator(+) ident(nv)operator(.)ident(toUpperCase)operator(()operator(\)) operator(+) stringoperator(\))operator(.)ident(include)operator(()string operator(+) ident(v)operator(.)ident(toUpperCase)operator(()operator(\)) operator(+) stringoperator(\))operator(;) operator(}) operator(})operator(,) key(matchElements)operator(:) keyword(function)operator(()ident(elements)operator(,) ident(expression)operator(\)) operator({) -- cgit v1.2.1