diff options
| -rw-r--r-- | content_scripts/link_hints.coffee | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/content_scripts/link_hints.coffee b/content_scripts/link_hints.coffee index 3cbda59f..08c5cd9b 100644 --- a/content_scripts/link_hints.coffee +++ b/content_scripts/link_hints.coffee @@ -476,12 +476,13 @@ class FilterHints # Filter link hints by search string, renumbering the hints as necessary. filterLinkHints: (hintMarkers) -> scoreFunction = @scoreLinkHint @linkTextKeystrokeQueue.join "" - matchingHintMarkers = hintMarkers - .filter (linkMarker) -> - linkMarker.score = scoreFunction linkMarker - 0 < linkMarker.score - .sort (a, b) -> - if b.score == a.score then b.stableSortCount - a.stableSortCount else b.score - a.score + matchingHintMarkers = + hintMarkers + .filter (linkMarker) -> + linkMarker.score = scoreFunction linkMarker + 0 < linkMarker.score + .sort (a, b) -> + if b.score == a.score then b.stableSortCount - a.stableSortCount else b.score - a.score if matchingHintMarkers.length == 0 and @hintKeystrokeQueue.length == 0 and 0 < @linkTextKeystrokeQueue.length # We don't accept typed text which doesn't match any hints. @@ -499,8 +500,7 @@ class FilterHints scoreLinkHint: (linkSearchString) -> searchWords = linkSearchString.trim().toLowerCase().split @splitRegexp (linkMarker) => - text = linkMarker.linkText.trim() - linkWords = linkMarker.linkWords ?= text.toLowerCase().split @splitRegexp + linkWords = linkMarker.linkWords ?= linkMarker.linkText.toLowerCase().split @splitRegexp searchWordScores = for searchWord in searchWords @@ -522,8 +522,8 @@ class FilterHints addFunc = (a,b) -> a + b score = searchWordScores.reduce addFunc, 0 # Prefer matches in shorter texts. To keep things balanced for links without any text, we just weight - # them as if their length was 50. - score / Math.log 1 + (text.length || 50) + # them as if their length was 100 (so, quite long). + score / Math.log 1 + (linkMarker.linkText.length || 100) # # Make each hint character a span, so that we can highlight the typed characters as you type them. @@ -761,9 +761,9 @@ LocalHints = linkText = hint.reason showLinkText = true else - linkText = (element.textContent.trim() || element.innerHTML.trim())[...512] + linkText = element.textContent[...256] || element.innerHTML[...256] - {linkText, showLinkText} + {linkText: linkText.trim(), showLinkText} # Suppress all keyboard events until the user stops typing for sufficiently long. class TypingProtector extends Mode |
