diff options
| author | Stephen Blott | 2014-12-21 11:58:01 +0000 |
|---|---|---|
| committer | Stephen Blott | 2014-12-21 11:58:01 +0000 |
| commit | b0c9a764c77a451726049a79a19a0fa28ae0b30c (patch) | |
| tree | 1099843afcbf338abdec412bc895460ae43a8a9f | |
| parent | 98fd49a6cfe660c363aecb6ebe0a4cb69342808d (diff) | |
| download | vimium-b0c9a764c77a451726049a79a19a0fa28ae0b30c.tar.bz2 | |
Exclusion; unique keys.
| -rw-r--r-- | background_scripts/exclusions.coffee | 2 | ||||
| -rw-r--r-- | lib/utils.coffee | 6 | ||||
| -rw-r--r-- | pages/options.coffee | 4 |
3 files changed, 9 insertions, 3 deletions
diff --git a/background_scripts/exclusions.coffee b/background_scripts/exclusions.coffee index 12d86f41..f2dd14c8 100644 --- a/background_scripts/exclusions.coffee +++ b/background_scripts/exclusions.coffee @@ -31,7 +31,7 @@ root.Exclusions = Exclusions = return rule unless rule.passKeys if matching.length pattern: (rule.pattern for rule in matching).join " | " # Not used; for debugging only. - passKeys: (rule.passKeys for rule in matching).join "" + passKeys: Utils.uniqueCharacters (rule.passKeys for rule in matching).join "" else null diff --git a/lib/utils.coffee b/lib/utils.coffee index b7f8731a..81b0fb49 100644 --- a/lib/utils.coffee +++ b/lib/utils.coffee @@ -110,6 +110,12 @@ Utils = # detects both literals and dynamically created strings isString: (obj) -> typeof obj == 'string' or obj instanceof String + # Transform "zjkjkabz" into "abjkz". + uniqueCharacters: (str) -> + unique = "" + for char in str.split("").sort() + unique += char unless 0 <= unique.indexOf char + unique # Compares two version strings (e.g. "1.1" and "1.5") and returns # -1 if versionA is < versionB, 0 if they're equal, and 1 if versionA is > versionB. diff --git a/pages/options.coffee b/pages/options.coffee index 80c9ae44..62d42270 100644 --- a/pages/options.coffee +++ b/pages/options.coffee @@ -161,8 +161,8 @@ class ExclusionRulesOption extends Option readValueFromElement: -> rules = for element in @element.getElementsByClassName "exclusionRuleTemplateInstance" - pattern = element.children[0].firstChild.value.trim().split(/\s+/).join "" - passKeys = element.children[1].firstChild.value.trim().split(/\s+/).join "" + pattern = element.children[0].firstChild.value.split(/\s+/).join "" + passKeys = element.children[1].firstChild.value.split(/\s+/).join "" { pattern: pattern, passKeys: passKeys } rules.filter (rule) -> rule.pattern |
