aboutsummaryrefslogtreecommitdiffstats
path: root/background_scripts/commands.coffee
AgeCommit message (Collapse)Author
2016-03-05Key bindings; simplify Commands initialization.Stephen Blott
2016-03-05Key bindings; more tweaks and fixes.Stephen Blott
- There's no need to keep `@keyToCommandRegistry`; it's regenerated whenever it's needed.
2016-03-05Key bindings; handle overlapping bindingsStephen Blott
With: map g something map gg somethingElse The mapping for "g" always takes priority, regardless of the order in which they're encountered in `@keyToCommandRegistry`.
2016-03-05Key bindings; tweaks and fixes.Stephen Blott
2016-03-05Key bindings; rewire vomnibar (fix minor error).Stephen Blott
2016-03-05Key bindings; rewire vomnibar.Stephen Blott
2016-03-05Key bindings; remove legacy code.Stephen Blott
2016-03-05Key bindings; initial partially-functioning version.Stephen Blott
2016-02-28Fix defualt command "options".Stephen Blott
The default (for when no options are provided) is of the wrong type. This works as is, but should really be fixed -- as here.
2016-02-28Pass to count to scroll commands.Stephen Blott
Currently, `10j` keeping `j` held down scrolls quickly for a time then reduces back the regular hold-`j` scroll speed. Therefore, the user cannot use a count to influence the smooth-scrolling scroll speed. This PR fixes that by passing the count to the scroll functions. Consequently, we adjust the actual scroll amount (which affects the scroll speed) rather than calling the scroll commands several times (which doesn't).
2016-02-21Include count command option in repeat limit.Stephen Blott
We need to multiply by `count=N` *before* checking `repeatLimit`. Tweaks #2001.
2016-02-21Merge branch 'rework-duplicateTab'Stephen Blott
Conflicts: background_scripts/commands.coffee
2016-02-21Merge pull request #2006 from smblott-github/fix-removeTabStephen Blott
Fix `<count>removeTab`.
2016-02-21Rework count command option initialisation.Stephen Blott
Previously: map J scrollDown count=NotANumber would break the command completely. Fixes an error introduced in #2001.
2016-02-20Rework the `duplicateTab` implementation...Stephen Blott
Specifically, avoid reliance on `chrome.tabs.onSelectionChanged`. If we merge this and #2006, then we can delete all of the `chrome.tabs.onSelectionChanged` code.
2016-02-20Fix bug in #2001.Stephen Blott
We were incorrectly setting `options.count` to `NaN` if there was no command option.
2016-02-20Fix `<count>removeTab`.Stephen Blott
There's a nasty little bug in `removeTab` when you remove more tabs than there are in the window (and there is a second window): - all of the tabs in the currently-focused window are removed - then, later (so, time passes), when you change tab in the other window, we begin removing tabs again! The source of the bug is our reliance on `chrome.tabs.onSelectionChanged`, which doesn't first when removing the last tab in a window (and there is another window). Regardless, the previous semantics of `<count>removeTab` was questionable. It was preactically impossible to predict which tabs would removed. This picks the current tab, then those to the right of the current tab, then those to the left.
2016-02-20Merge pull request #2003 from smblott-github/count-for-new-windowStephen Blott
Make `moveToNewWindow` accept a count.
2016-02-20Simplify command-option parsing.Stephen Blott
2016-02-20moveToNewWindow accepts a count.Stephen Blott
This make `moveToNewWindow` accept a count. For example, `3W` to move three tabs to (the same) new window. The tabs chosen are the current tab, then those to the right of the current tab, and then those to the left of the current tab. `999W` moves *all* tabs to a new window. It's not clear why you would want to do that. An alternative would be to leave the last tab behind.
2016-02-20Add `count` command option.Stephen Blott
Examples: map j scrollDown count=10 map q removeTab count=999
2016-02-20Refactor command-option parsing.Stephen Blott
When we introduced command options (for mapping keys to custom-search engines), the parsing was done in the Vomnibar code. This moves the parsing to `commands.coffee`, which is where it should always have been. This is a preliminary step with a view to adding a new `count` command option.
2016-02-18PassNextKey; exclude single-character mappings.Stephen Blott
Consider: map q passNextKey This works fine in normal mode. However, in insert mode, when the user types "q" they expect "q" to be input. Any other behaviour would be pretty weird. Here, we filter out such mappings before the front end sees them. So, with: map q passNextKey map <c-]> passNextKey both mappings work in normal mode, but only the second works in insert mode. This is probably the behaviour likely to cause least user confusion.
2016-02-18PassNextKey; allow multiple mappings.Stephen Blott
This allows: map a passNextKey map b passNextKey (Previously, we only picked up the first mapping.)
2016-02-18PassNextKey; store key mapping in settings.Stephen Blott
We need the key mapped to passNextKey in the front end so that we can activate pass-next-key from within insert mode too (without the need to consult the background page).
2016-02-18PassNextKey; initial implementation.Stephen Blott
This implements a passNextKey command (initially for normal mode only), as discussed in #1955.
2016-02-16Use `for own ... of` instead of `for ... of`mrmr1993
2016-02-09BgUtils; implement visitPreviousTab.Stephen Blott
Implements visitPreviousTab (as discussed in #1955).
2016-01-31Use a count with link hints.Stephen Blott
Pass a count to link-hint commands, and the link-hint mode is started that many times (except "with queue"). This resolves the same issue as #1291. However, this: - does not require re-basing (which is no biggie), and - keeps all of the count-handling logic (apart from plumbing) in one place, in `LinkHints.activateMode()`. The link-hints mode itself does not know anything about count handling. Serious bug: - Using `Escape` to exit does not cancel the repeat! Fixes #1289. Closes #1291.
2016-01-31Merge branch 'goToLine'Stephen Blott
2016-01-31Merge pull request #1958 from smblott-github/logging-pageStephen Blott
Add a logging page...
2016-01-31Wholly remove edit-mode code.Stephen Blott
I am now of the opinion that we should not do this within Vimium, as: - better solutions exist externally, and - it's better to not have to maintain this.
2016-01-31Add a basic log page; tweaks.Stephen Blott
This tweaks @mrmr1993's logging ideas discussed in #1629: - Do not generate log entries from the logging page itself. - Use the logger for *all* logging (including from `commands.coffee`, and from `bgLog`). @mrmr1993's original idea is 91fb337c9d92f6291ef42c55c4d29ca35b710203.
2016-01-30Add number modifier to `gg' scrollToTop commandmrmr1993
2016-01-29Revert "Enable edit mode."Stephen Blott
This reverts commit e975633f3ee8da9e01c332b2dcdb8422d5f941d8.
2016-01-26Enable edit mode.Stephen Blott
This re-enables edit-mode (`gv`). The code for this has been present in `master` for quite some time, but has been disabled.
2016-01-26Remove "beta" label from visual-mode commands.Stephen Blott
These seem to be working fine, we can commit to them.
2015-09-17Add <count> prefix for g0 and g$.Stephen Blott
`2g0` takes you to the second tab. `2g$` takes you to the second last tab. This gives us `gt`/`gT` for relative tab selection and `g0`/`g$` for absolute tab selection. `<count>` previously had no special meaning for `g0` and `g$`, and it's not clear it could have any other meaning than that implemented here. Fixes #1298 (kind of).
2015-05-31Merge pull request #1675 from smblott-github/map-space-keyStephen Blott
Allowing mapping <space>.
2015-05-31Merge pull request #1700 from smblott-github/help-page-vomnibar-commandsStephen Blott
Move Vomnibar commands to own category on help page.
2015-05-31Merge pull request #1697 from smblott-github/vomnibar-map-with-prepopulated-textStephen Blott
Direct keyboard access to custom-search engines via keyword flag
2015-05-30Move Vomnibar commands to own category on help page.Stephen Blott
The help page gets pretty lopsided when advanced commands are shown. This balances things out a bit by creating a new category for Vomnibar commands in the right-hand column.
2015-05-30Use the term "options" instead of "flags" for command options.Stephen Blott
"Flags" implies binary toggles. The term "options" seems more consistent with what's actually going on here.
2015-05-29Move registration of postUpdateHooks to the corresponding source filesmrmr1993
This completely decouples settings.coffee from all other background source files, so that it can (eventually) also be used in the frontend.
2015-05-29Rework parsing of custom key mappings.Stephen Blott
Most of this is just a tidy up of code that's been around for a long time. The only difference, however, is that now a key mapping can include extra data ("extras") after the name of the command. For example, map s vomnibar.activate keyword=g Here, and extra property "extras" is added to the command registry: extras: ["keyword=g"] This is a first step towards direct vomnibar activation for custom search.
2015-05-27Go directly to next/previous tab.Stephen Blott
This makes nextTab and previousTab go directly to the relevant tab, without visiting intervening tabs -- all of which avoids a nasty flicker for 5J or 5K.
2015-05-20Allowing mapping <space>.Stephen Blott
Fixes #544. Copy of #655.
2015-04-21Implement mainFrame command.Stephen Blott
Fixes #426.
2015-03-05Note that visual mode is a beta feature.Stephen Blott
2015-02-22Remove "not yet implemented" note for visual mode.Stephen Blott