diff options
| -rw-r--r-- | content_scripts/link_hints.coffee | 30 | 
1 files changed, 6 insertions, 24 deletions
| diff --git a/content_scripts/link_hints.coffee b/content_scripts/link_hints.coffee index 61ea1e37..1bb40b90 100644 --- a/content_scripts/link_hints.coffee +++ b/content_scripts/link_hints.coffee @@ -483,7 +483,12 @@ class FilterHints          @labelMap[forElement] = labelText    generateHintString: (linkHintNumber) -> -    numberToHintString linkHintNumber, @linkHintNumbers.toUpperCase() +    base = @linkHintNumbers.length +    hint = [] +    while 0 < linkHintNumber +      hint.push @linkHintNumbers[Math.floor linkHintNumber % base] +      linkHintNumber = Math.floor linkHintNumber / base +    hint.reverse().join ""    generateLinkText: (element) ->      linkText = "" @@ -615,29 +620,6 @@ spanWrap = (hintString) ->      innerHTML.push("<span class='vimiumReset'>" + char + "</span>")    innerHTML.join("") -# -# Converts a number like "8" into a hint string like "JK". This is used to sequentially generate all of the -# hint text. The hint string will be "padded with zeroes" to ensure its length is >= numHintDigits. -# -numberToHintString = (number, characterSet, numHintDigits = 0) -> -  base = characterSet.length -  hintString = [] -  remainder = 0 -  loop -    remainder = number % base -    hintString.unshift(characterSet[remainder]) -    number -= remainder -    number /= Math.floor(base) -    break unless number > 0 - -  # Pad the hint string we're returning so that it matches numHintDigits. -  # Note: the loop body changes hintString.length, so the original length must be cached! -  hintStringLength = hintString.length -  for i in [0...(numHintDigits - hintStringLength)] by 1 -    hintString.unshift(characterSet[0]) - -  hintString.join("") -  # Suppress all keyboard events until the user stops typing for sufficiently long.  class TypingProtector extends Mode    constructor: (delay, callback) -> | 
