aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-06-10Handle up and down keys directly in the HUDmrmr1993
2015-06-10Move FindModeHistory to its own file to be used by the HUD iframe toomrmr1993
2015-06-10Make FindModeHistory independent of the rest of vimium_frontendmrmr1993
2015-06-10Move FindMode's keydown to the HUDmrmr1993
2015-06-10Fix returnToViewport support for FindModemrmr1993
This was broken by the move to taking input in an iframe, since the frontend was no longer getting keydown events for text changes, and so the viewport wasn't being scrolled back to its original position until the mode was exiting.
2015-06-10Stop FindMode's keydown handler from using FindMode's scope and thismrmr1993
2015-06-10Move key-only code from FindMode.exit to its keydown handlermrmr1993
2015-06-10Handle esc explicitly in the FindMode keydown handler, not by optionsmrmr1993
2015-06-10Remove redundant code from FindMode keydown handler, inline delete codemrmr1993
2015-06-10Remove unused function handleKeyCharForFindModemrmr1993
2015-06-10Remove unused event listeners in FindModemrmr1993
2015-06-10Remove unused code in handleDeleteForFindModemrmr1993
2015-06-10Replace   with normal spaces for HUD find modemrmr1993
This keeps searches with trailing spaces from missing matches where the page contains normal spaces, preventing " (No matches)" being shown every time space is pressed.
2015-06-10Ensure focus is called on the appropriate element when closing the HUDmrmr1993
2015-06-10Accept input in the HUD iframemrmr1993
2015-06-10Reduce down the HUD's match count string codemrmr1993
2015-06-10Make all find mode updates go via the HUD in preparation to use an inputmrmr1993
2015-06-10Decide find mode text in the HUD iframe, not in frontendmrmr1993
2015-06-10Fix bug relating to duplicate hint strings.Stephen Blott
(Not sure when this crept in.) We need to ensure that we always generate the same hint strings for the same filter state. Here, we do this by always using the same mechanism (@filterLinkHints) to set the hint strings.
2015-06-10Fix incorrect filtering.Stephen Blott
2015-06-10Note changes in README.Stephen Blott
2015-06-10Account for words at start of filter text.Stephen Blott
We gove these a higher score because it makes it easier for the user to pick a link if they can just start typing at the beginning.
2015-06-10Rank filtered hints by score.Stephen Blott
Thus, better matches are likely to either be first (so just hitting <Enter> activates them) or just a <Tab> or two away. Scoring: - Requires that every search term be matched. - Assigns higher scores to matches at the start of a word, and higher scores still for whole-word matches.
2015-06-10Tweak release notes.Stephen Blott
2015-06-10Merge branch 'link-hints-keypress' (#1722).Stephen Blott
2015-06-10Remove legacy (broken and unnecessary) calls.Stephen Blott
2015-06-10Simplify activate-on-enter logic.Stephen Blott
2015-06-09Minor touch ups.Stephen Blott
2015-06-09Make LinkHints a class (LinkHintsMode).Stephen Blott
Functionality wise, this is a no-op. However, since we now create a new LinkHintsMode object on every "f", we don't need to be so careful about resetting the state on exit.
2015-06-09Use tab to select filetered link hints.Stephen Blott
2015-06-09Tweak comments re. keydown versus keypress.Stephen Blott
2015-06-09Only look up linkHintNumbers once.Stephen Blott
2015-06-09Alphabet hints, use keydown for defaults.Stephen Blott
See #1722. When Settings.get("linkHintCharacters") is its default value, this preserves the legacy behaviour of using the keyChar from keydown events for link-hint matching. This admits users using either Latin or non-Latin characters for link hints.
2015-06-08Remove "experimental" comment.Stephen Blott
I think we can safely remove this comment now, @mrmr1993. This is working out very nicely.
2015-06-08Make hint filters classes.Stephen Blott
2015-06-08Refactor to keydown, as required.Stephen Blott
2015-06-07Note keypress bahaviour for link hints in README.Stephen Blott
2015-06-07Exit link-hint mode on click or scroll.Stephen Blott
Exit on click because, if the user is clicking stuff, then they're probably no longer interested in selecting links. Exit on scroll because, if the user is scrolling, then the link hints can all go out of the viewport.
2015-06-07On completion-engines page, put example first.Stephen Blott
On that page, we have regular expressions (which are not new-user friendly) and an example (which is new-user friendly). So the example should come before the regular expressions.
2015-06-07Speed up vomnibar load.Stephen Blott
With #1697, the vomnibar used with a custom-search keyword is not initially empty (it shows the primary suggestion for the custom search engine, even if the query is empty). The way things were structured previously, the user nevertheless had to wait until the history cache (which was not actually required) had been fetched before the vomnibar was updated. This commit just flips things around a bit such that, - onComplete() is called immediately if the history is not actually required, and - the history cache is primed before it is needed, so it will (hopefully) be available before the user's next keystroke. This avoids a noticable delay, particularly on start up and with a large history. (This is part of a sequence of vomnibar UX tweaks.)
2015-06-06Merge branch 'rework-completions'Stephen Blott
Conflicts: background_scripts/completion.coffee background_scripts/completion_engines.coffee
2015-06-06Merge pull request #1715 from smblott-github/help-page-long-bindingsStephen Blott
On the help page, use separate row for very-long bindings.
2015-06-06Re-work completions: only offer actual search URL matches.Stephen Blott
When filter suggestions from other completers, most notably the history completer, we only keep suggestions which match the current searchUrl and completer. Here, we also *replace* the URL of the suggestion. With duplicate elimination, multiple history entries (e.g. those generated with various "Search Tools" settings on Google) will be collapsed to one. This matters because, with custom search engines, we don't show the URL, so the user can't see differences in the URL. Without this, the user can be presented with a list of apparently identical completions.
2015-06-06Re-work completions: extend engine wrapper to handle prefixes.Stephen Blott
This commit contains the bulk og the material changes for which the previous commits established the basis. 1) Add a general framework for detecting query prefixes in search URLs, adding them to query sent to the completion engine, and stripping them from the resulting suggestions. This allows the user to have a search engine... j: http://www.google.com/search?q=javascript+%s Javascript and have the prefix "javascript" included (automatically) in queries sent to completion engines, which results in substantially better suggestions. 2) Re-work completion for Google Maps in a simpler form.
2015-06-06Re-work completions: add engine wrapper.Stephen Blott
2015-06-06Re-work completions: initial refactor.Stephen Blott
The original completion-engine interface was based on three functions. With some experience, it seems there is a pattern involving explicit regular expressions which is used by all actual engine implementations. This is a refactoring to make those regular expressions explicit (and required), and is a first step towards adding additional fucntionality. This also simplifies the completion cache key (use JSON instead of some weird hash).
2015-06-05Tweak README release notes.Stephen Blott
2015-06-05Merge pull request #1716 from smblott-github/global-marksStephen Blott
Improved global marks
2015-06-05Global marks; always treat ` and ' as local marks.Stephen Blott
On some keyboards (who knows?) "`" or "'" could be shift keys. In this case, with the previous implementation, these would be treated as global marks and `` would be unusable. This commit fixes that problem.
2015-06-05Global marks; global marks are always recorded for the top frame only.Stephen Blott
With global marks, we may later create a new tab when the mark is used. When doing so, we should always be using the URL and scroll position of the top frame within the tab. For example, if a global mark is created from within the Hangouts frame of Google's Inbox and the mark is later used, then we should create a new tab for Inbox's URL and scroll position, not for the Hangout's URL and scroll position.