]> git.gir.st - VimFx.git/log
VimFx.git
7 years agoVimFx v0.20.2 v0.20.2
Simon Lydell [Sun, 16 Oct 2016 16:07:12 +0000 (18:07 +0200)]
VimFx v0.20.2

7 years agoUpdate sv-SE locale
Simon Lydell [Sun, 16 Oct 2016 15:59:37 +0000 (17:59 +0200)]
Update sv-SE locale

7 years agoUpdate devDependencies
Simon Lydell [Sun, 16 Oct 2016 15:56:30 +0000 (17:56 +0200)]
Update devDependencies

7 years agoRename `skipBlurring` into `blur`
Simon Lydell [Sat, 15 Oct 2016 06:56:40 +0000 (08:56 +0200)]
Rename `skipBlurring` into `blur`

Negated options are confusing.

7 years agoFix frame text input being focused when entering Caret mode
Simon Lydell [Fri, 14 Oct 2016 18:33:00 +0000 (20:33 +0200)]
Fix frame text input being focused when entering Caret mode

7 years agoFix element focusing with `f` commands
Simon Lydell [Fri, 14 Oct 2016 18:24:34 +0000 (20:24 +0200)]
Fix element focusing with `f` commands

Fixes #825.

7 years agoActivate the hint marker for the largest element
Simon Lydell [Thu, 13 Oct 2016 16:14:46 +0000 (18:14 +0200)]
Activate the hint marker for the largest element

7 years agoUpdate zh-CN locale (#824)
av2000ii [Mon, 10 Oct 2016 11:56:24 +0000 (19:56 +0800)]
Update zh-CN locale (#824)

7 years agoVimFx v0.20.1 v0.20.1
Simon Lydell [Sun, 9 Oct 2016 11:21:59 +0000 (13:21 +0200)]
VimFx v0.20.1

7 years agoFix typo in package.json
Simon Lydell [Sun, 9 Oct 2016 11:12:03 +0000 (13:12 +0200)]
Fix typo in package.json

7 years agoClarify documentation on advanced options a bit
Simon Lydell [Sun, 9 Oct 2016 11:07:39 +0000 (13:07 +0200)]
Clarify documentation on advanced options a bit

7 years agoMake Caret browsing handling more robust
Simon Lydell [Sun, 9 Oct 2016 11:03:16 +0000 (13:03 +0200)]
Make Caret browsing handling more robust

Make sure that people cannot end up with Caret mode accidentally
enabled.

Fixes #821.

7 years agoFix text input refocus issue in GNOME
Simon Lydell [Sun, 9 Oct 2016 10:25:42 +0000 (12:25 +0200)]
Fix text input refocus issue in GNOME

Previously, using a keyboard shortcut to switch keyboard layout in GNOME
while inside a text input caused the focus of that text input to be lost
when the prevent autofocus option was enabled.

Fixes #822.

7 years agoImprove documentation on re-mapping `<escape>`
Simon Lydell [Sun, 9 Oct 2016 09:34:04 +0000 (11:34 +0200)]
Improve documentation on re-mapping `<escape>`

Refs. #823.

7 years agoShow error if trying to use a modifier in an invalid way
Simon Lydell [Sun, 9 Oct 2016 09:26:38 +0000 (11:26 +0200)]
Show error if trying to use a modifier in an invalid way

See #823.

7 years agoConsistently refer to keypresses as "keypresses"
Simon Lydell [Sun, 9 Oct 2016 08:28:00 +0000 (10:28 +0200)]
Consistently refer to keypresses as "keypresses"

Not "key presses" and not "key press".

7 years agoImprove documentation for shortcut customization
Simon Lydell [Sun, 9 Oct 2016 08:24:29 +0000 (10:24 +0200)]
Improve documentation for shortcut customization

See #823.

7 years agoTweak issue template
Simon Lydell [Wed, 5 Oct 2016 07:22:19 +0000 (09:22 +0200)]
Tweak issue template

7 years agoImprove issue template change log link
Simon Lydell [Wed, 5 Oct 2016 06:05:41 +0000 (08:05 +0200)]
Improve issue template change log link

7 years agoUpdate zh-CN locale (#820)
av2000ii [Tue, 4 Oct 2016 14:20:37 +0000 (22:20 +0800)]
Update zh-CN locale (#820)

7 years agoUpdate devDependencies
Simon Lydell [Mon, 3 Oct 2016 05:51:55 +0000 (07:51 +0200)]
Update devDependencies

Finally, no need to use a specific commit of CoffeeScript anymore!

7 years agoVimFx v0.20.0 v0.20.0
Simon Lydell [Sun, 2 Oct 2016 16:29:29 +0000 (18:29 +0200)]
VimFx v0.20.0

7 years agoAdd `g[`, `g]` and a jump list
Simon Lydell [Sun, 2 Oct 2016 09:46:39 +0000 (11:46 +0200)]
Add `g[`, `g]` and a jump list

Fixes #814.

7 years agoAdd the `/` mark
Simon Lydell [Sun, 2 Oct 2016 08:10:07 +0000 (10:10 +0200)]
Add the `/` mark

7 years agoRemove unnecessary space
Simon Lydell [Sun, 2 Oct 2016 07:56:54 +0000 (09:56 +0200)]
Remove unnecessary space

7 years agoFix the `'` mark after using `''`
Simon Lydell [Sun, 2 Oct 2016 07:48:55 +0000 (09:48 +0200)]
Fix the `'` mark after using `''`

The `'` mark is supposed to point to the location before the last
"jump." One such jump is using the `'` mark itself (by pressing `''`).
This means that running `''` several times in a row will flip back and
forth between two locations. However, that was previously broken. `''`
took you back to the last location, but then you got stuck there. This
commit fixes that bug.

Refs. #814.

7 years agoFix z-index for hint markers
Simon Lydell [Sun, 2 Oct 2016 07:17:06 +0000 (09:17 +0200)]
Fix z-index for hint markers

The hint markers are sorted by element area before assigning their
`z-index`es. This is so that the hint markers of larger elements appear
on top of hint markers for smaller elements. However,
`marker.wrapper.area` (which is `undefined`) was accidentally used
instead of `marker.wrapper.shape.area`. This caused the sorting to
essentially do nothing (since Firefox's `.sort` is stable).

7 years agoFix selection clipboard handling
Simon Lydell [Sat, 1 Oct 2016 08:07:50 +0000 (10:07 +0200)]
Fix selection clipboard handling

This is only for systems with a "selection clipboard."

1. Copy text using one of the following methods:

   - `yv<hint>`
   - `av<hint>y`
   - `yf<hint>` on a contenteditable element

2. Use the `p` or `P` command.

Unlike other commands that copy text to the clipboard, such as `yy` and
`v<hint>wy`, the above methods previously didn't affect the selection
clipboard. This caused the `p` and `P` commands to operate on some other
text than expected.

This commit makes sure that all commands that copy text to the clipboard
also affect the selection clipboard (in a somewhat hacky, but working,
way).

Fixes #818.

7 years agoUpdate issue and PR templates
Simon Lydell [Sat, 1 Oct 2016 07:37:34 +0000 (09:37 +0200)]
Update issue and PR templates

7 years agoImprove config file documentation
Simon Lydell [Tue, 27 Sep 2016 16:22:07 +0000 (18:22 +0200)]
Improve config file documentation

Refs. #815.

7 years agoAdd missing `return` after a `for` loop
Simon Lydell [Tue, 27 Sep 2016 06:52:48 +0000 (08:52 +0200)]
Add missing `return` after a `for` loop

7 years agoVimFx v0.19.1 v0.19.1
Simon Lydell [Mon, 26 Sep 2016 14:54:36 +0000 (16:54 +0200)]
VimFx v0.19.1

7 years agoFix the `'` command crashing
Simon Lydell [Mon, 26 Sep 2016 10:43:00 +0000 (12:43 +0200)]
Fix the `'` command crashing

7 years agoVimFx v0.19.0 v0.19.0
Simon Lydell [Sun, 25 Sep 2016 09:43:43 +0000 (11:43 +0200)]
VimFx v0.19.0

7 years agoUpdate documentation example for custom modes
Simon Lydell [Sun, 25 Sep 2016 09:23:58 +0000 (11:23 +0200)]
Update documentation example for custom modes

7 years agoUpdate devDependencies
Simon Lydell [Sun, 25 Sep 2016 08:46:17 +0000 (10:46 +0200)]
Update devDependencies

7 years agoUpdate the readme and the documentation
Simon Lydell [Sun, 25 Sep 2016 08:36:17 +0000 (10:36 +0200)]
Update the readme and the documentation

This should make it easier and faster to find important features.

7 years agoUpdate help.html/hints.html `<title>`
Simon Lydell [Sun, 25 Sep 2016 07:57:36 +0000 (09:57 +0200)]
Update help.html/hints.html `<title>`

7 years agoOnly apply `vimfx.addKeyOverrides` in Normal mode
Simon Lydell [Wed, 21 Sep 2016 15:47:14 +0000 (17:47 +0200)]
Only apply `vimfx.addKeyOverrides` in Normal mode

Previously, the key overrides were applied in _all_ modes, and the
current mode name was passed as the second argument to the matching
functions. However, it was way to easy to forget to also check the mode
in the matching functions (even the documentation forgot to!). For
example, if you added `j` as an override for some page, you then
couldn't press `j` in Hints mode to match a hint marker.

This commit fixes this problem by simply _only_ applying the key
overrides in Normal mode. I can't think of any use cases for wanting key
overrides in any other mode.

This is technically a minor breaking API change.

Fixes #812.

7 years agoImprove scrolling when holding h/l/j/k down
Simon Lydell [Wed, 21 Sep 2016 06:51:03 +0000 (08:51 +0200)]
Improve scrolling when holding h/l/j/k down

When you hold an arrow key down, the scrolling is sped up. With this
commit, the `h`, `l`, `j` and `k` do too, to be as close the the arrow
keys as possible.

Note that this includes a minor breaking API change: The object passed
to modes' `onInput`, and thus the object passed to commands, no longer
has the `uiEvent` property. Instead, there's an `event` property, which
_always_ is an `Event`. `vim.isUIEvent(event)` can be used to check if
it is a UI event or not.

7 years agoRecognize explicit `tabindex="-1"` elements as focusable
Simon Lydell [Mon, 19 Sep 2016 20:28:26 +0000 (22:28 +0200)]
Recognize explicit `tabindex="-1"` elements as focusable

This is especially helpful in the devtools, where many `<span>`s have
this attribute, but not much else to go for.

7 years agoImprove zoom handling for hint markers
Simon Lydell [Mon, 19 Sep 2016 17:07:43 +0000 (19:07 +0200)]
Improve zoom handling for hint markers

7 years agoImprove error messages for the import prefs button
Simon Lydell [Sun, 18 Sep 2016 10:27:13 +0000 (12:27 +0200)]
Improve error messages for the import prefs button

- Don't show "0 options imported successfully". That's confusing.
- Add an empty line between error messages.

7 years agoImprove wording for invalid prefs import message
Simon Lydell [Sat, 17 Sep 2016 22:54:07 +0000 (00:54 +0200)]
Improve wording for invalid prefs import message

7 years agoFix validation of imported prefs: Don't allow array
Simon Lydell [Sat, 17 Sep 2016 22:52:43 +0000 (00:52 +0200)]
Fix validation of imported prefs: Don't allow array

7 years agoClarify the suggested blacklist pattern for `gB`
Simon Lydell [Sat, 17 Sep 2016 09:20:05 +0000 (11:20 +0200)]
Clarify the suggested blacklist pattern for `gB`

Clarify that the added pattern has not been saved yet, so that people
understand that the can simply dismiss the modal if they don't want to
edit the blacklist after all, without having to erase the added pattern
first.

7 years agoDon't use wildcards with full URLs in the `gB` command
Simon Lydell [Sat, 17 Sep 2016 09:14:52 +0000 (11:14 +0200)]
Don't use wildcards with full URLs in the `gB` command

If there is no `location.host` available, such as for `about:*` and
`file://` pages, the _entire_ URL is used instead for the suggested
blacklist addition in the `gB` command. With this commit, such entire
URLs are no longer wrapped in `*` wildcards, as it makes no sense.

7 years agoAlways treat the hint chars' case as-is
Simon Lydell [Thu, 15 Sep 2016 15:11:50 +0000 (17:11 +0200)]
Always treat the hint chars' case as-is

Since filtering hint markers by element text isn't available for the
`eb` command, the hint chars were previously treated as case insensitive
for that command. Similarly, they were also treated as case insensitive
when disabling the `hints.match_text` option.

However, the above led to numerous bugs. This commit simply gets rid of
that behavior, and keeps the hint chars consistent across all `f`
commands and options instead.

7 years agoRemove unnecessary variables in modes.coffee
Simon Lydell [Thu, 15 Sep 2016 06:09:43 +0000 (08:09 +0200)]
Remove unnecessary variables in modes.coffee

7 years agoSimplify styling for highlighted markers
Simon Lydell [Wed, 14 Sep 2016 16:52:24 +0000 (18:52 +0200)]
Simplify styling for highlighted markers

Let's try _only_ changing the background color, to bright green. This
particular green does stand out compared to other markers, and does not
obscure the text, in my opinion. Green is also commonly associated with
success -- in this case, having successfully filtered your way to a
specific link.

To make the above easier, I replaced the border and matched-char colors
with semi-transparent black, so that they work on the green background
as well.

7 years agoFix deleting hint char after filtering by text
Simon Lydell [Wed, 14 Sep 2016 16:43:09 +0000 (18:43 +0200)]
Fix deleting hint char after filtering by text

1. Press `f`.
2. Filter hint markers by one element text char.
3. Press a hint char for a more-than-one-char hint.
4. Press `<backspace>`.

Result: The original hints are show, instead of only the ones show after
step 2. This commit fixes that.

7 years agoProperly suppress keys and notifications in all modes
Simon Lydell [Wed, 14 Sep 2016 16:15:56 +0000 (18:15 +0200)]
Properly suppress keys and notifications in all modes

- Many modes previously forgot to suppress when getting a partial match
  for a command.

- Caret mode no correctly suppresses when entering a count.

- Ignore mode and Hints mode now explicitly make sure that notifications
  for counts are not shown in their `onInput` methods.

- The keys you've entered so far when filtering hint markers by element
  text now properly re-appear after the keys of a partial command match
  have been cleared due to the `timeout` option.

- `EnteredKeysManager` has been removed from events.coffee and has been
  merged into `Vim`, which turned out to be a nice refactor.

7 years agoFix a case of being unable to filter hints by text
Simon Lydell [Wed, 14 Sep 2016 16:12:36 +0000 (18:12 +0200)]
Fix a case of being unable to filter hints by text

1. Disable the `hints.auto_activate` option.
2. Press `f`.
3. Filter hint markers by element text until only one link matches.
4. Press `<backspace>`.
5. Try to filter by element text again.

Result: Nothing happens. Previously, we got stuck in the `isMatched`
mode after deleting a typed char.

7 years agoImprove hint marker styling
Simon Lydell [Wed, 14 Sep 2016 06:12:56 +0000 (08:12 +0200)]
Improve hint marker styling

- Increase contrast between the hint chars and the background color by
  changing the text color to fully black.

- Make the styling for hint markers for scrollable elements scale with
  the font size.

- Make highlighted hint markers more prominent. The changes in commit
  4bb0b56c made the difference _too_ subtle. While it looked pretty good
  on the computer I developed it on, the highlighting was almost
  invisible on a different screen. The new styling relies not solely on
  color, but also on border-radius, to increase the visual difference.

7 years agoImprove Hints mode in various ways
Simon Lydell [Tue, 13 Sep 2016 16:29:09 +0000 (18:29 +0200)]
Improve Hints mode in various ways

- After having filtered hint markers by at least one character, select
  the entire text for the highlighted markers' elements. This makes it
  way easier to notice that you can stop typing and press `<enter>`
  instead to activate your desired hint marker.

- Because of the above point, it is now less important to make the
  highlighted hint markers stand out very much compared to other
  markers. So the styling has been changed to a more modest
  highlighting.

- Fixed: Links with the same href weren't getting the same hint after
  filtering hint markers by element text.

- Improved: After having filtered hint markers by element text, sort the
  markers by element text length, rather than element area. A large
  element might have less text than a smaller element.

- Improved: Don't allow typing more non-hint chars when all remaining
  markers have the same hint. This means less backspacing for the user
  in case of typos.

- Fixed: After having filtered hint markers by element text until all
  remaining markers have the same hint, _any_ hint char would activate
  the hint markers, even if that one didn't match the hint.

7 years agoImprove hints after filtering by one element text char
Simon Lydell [Tue, 13 Sep 2016 06:47:46 +0000 (08:47 +0200)]
Improve hints after filtering by one element text char

1. Go to Reddit or Hackernews.
2. Press `f`.
3. Filter by one common element text character, such as "e".

Previously, that resulted in really terrible hints for most (of the
larger) elements. Basically, the difference in weight used for the
elements was so large, that all hint chars except the last were used as
single-char hints for the highest-weight elements. The same thing
happened for the hints starting with the last hint char; all hint chars
except the last were used for two-char hints. This resulted in some
really terrible hints like "VVVS". This looked very broken.

With this commit, the smallest elements still get the best hints after
filtering by element text, but the difference in the hints is not that
large.

7 years agoCorrectly suppress keys between `/` and find bar focus
Simon Lydell [Mon, 12 Sep 2016 16:15:30 +0000 (18:15 +0200)]
Correctly suppress keys between `/` and find bar focus

Fixes #786.

7 years agoFix positioning of context menus inside frames
Simon Lydell [Mon, 12 Sep 2016 10:34:31 +0000 (12:34 +0200)]
Fix positioning of context menus inside frames

Take padding and border of the frame element into account.

This is for the `ec` command.

7 years agoImprove `gB` UX
Simon Lydell [Mon, 12 Sep 2016 06:52:59 +0000 (08:52 +0200)]
Improve `gB` UX

If the page is _not_ blacklisted, everything stays the same.

If the page _is_ blacklisted, all matching blacklist patterns are moved
first and are delimited from all other patterns with several spaces.
There is also a new message for this case.

7 years agoImprove notifications documentation
Simon Lydell [Sun, 11 Sep 2016 14:32:20 +0000 (16:32 +0200)]
Improve notifications documentation

7 years agoImprove shortcuts documentation
Simon Lydell [Sun, 11 Sep 2016 14:09:33 +0000 (16:09 +0200)]
Improve shortcuts documentation

7 years agoProperly hide notifications
Simon Lydell [Sun, 11 Sep 2016 13:58:03 +0000 (15:58 +0200)]
Properly hide notifications

In order to show the characters you have typed so far when filtering
hint markers by element text, commit ae106db9 changed the logic for when
notifications are hidden due to key presses.

Previously, notifications were hidden unconditionally when the pressed
key is not part of any shortcut, or caused a command to be run. Now, it
is up to every mode to deal with those cases. So that logic has
essentially been moved into Normal mode, and partly into Marks mode and
Caret mode as well.

The `<escape>` command now also explicitly hides notifications.

7 years agoImprove styling documentation
Simon Lydell [Sun, 11 Sep 2016 13:52:05 +0000 (15:52 +0200)]
Improve styling documentation

7 years agoImprove `translations` documentation
Simon Lydell [Sun, 11 Sep 2016 13:46:47 +0000 (15:46 +0200)]
Improve `translations` documentation

7 years agoConsistently refer to options as "options"
Simon Lydell [Sun, 11 Sep 2016 12:15:00 +0000 (14:15 +0200)]
Consistently refer to options as "options"

In documentation, UI and error messages, consistently refer to options
af "options", not "settings" and not "prefs".

7 years agoDon't hide changed notification when exiting Hints mode
Simon Lydell [Sat, 10 Sep 2016 02:47:46 +0000 (04:47 +0200)]
Don't hide changed notification when exiting Hints mode

For example, if the `f` command is used to click the "Export all" button
in VimFx's settings page in the Add-ons Manager, the export notification
was only visible until `hints.matched_timeout` had passed.

7 years agoShow pref name for regular options in docs
Simon Lydell [Sat, 10 Sep 2016 02:32:56 +0000 (04:32 +0200)]
Show pref name for regular options in docs

7 years agoUpdate dependencies
Simon Lydell [Thu, 8 Sep 2016 15:38:51 +0000 (17:38 +0200)]
Update dependencies

- vim-like-key-notation@1.0.1 simply has a smaller download size.

- n-ary-huffman@3.0.0 creates better hints for links with the same area.
  Instead of giving the _last_ of those the best hint, the _first_ one
  gets it.

7 years agoImplement filtering hints by text and related changes
Simon Lydell [Sat, 27 Aug 2016 15:58:44 +0000 (17:58 +0200)]
Implement filtering hints by text and related changes

This brings several more or less breaking changes:

- Non-hint chars now filter hint markers by the text of their elements,
  using an algorithm similar to the location bar (split the search term
  on whitespace; all the items must occur in the search text, case
  insensitively, and may overlap). The matched text is highlighted on
  screen. If all remaining hints are the same, they are automatically
  activated. All of this can be turned off via prefs, though.

- Since space is used to filter hint markers by element text, the
  already existing `<space>` shortcut for rotating hint markers had to
  be changed. It is now `<c-space>`. (`<s-space>` remains unchanged.)

- Uppercase hint chars are now allowed. This is so that people who
  prefer filtering by text in the first hand can use uppercase hint
  chars. If mixed case is used, `text-transform: uppercase;` is not
  applied, to avoid confusion.

- Since using uppercase characters for filtering hint markers by element
  text and lowercase characters for hint chars (or vice versa) is now a
  thing, holding shift no longer lets you peek through the hint markers,
  because that felt like the markers blinking all the time. Instead, you
  now have to hold shift+control to peek through.

- Hint markers are now placed immediately to left of its element's text
  if it would cover the text otherwise. This is because when filtering
  hints by text, it can be quite difficult to see what to type
  otherwise. This also turned out to be helpful even when only using the
  hints (like before). It’s nice being able to see all the link text in
  many cases.

- Hint markers now get their `z-index` assigned based on their element's
  area, not their weight. It's confusing when a smaller element's hint
  cover the hint of a larger element. This could be the case where there
  are lots of small profile image links all with the same `href`.
  Previously, all those links got `z-index` based on their combined
  area. Now, their individual areas are used instead. This problem
  became apparent because of the above bullet point.

- The hint marker(s) with the best hint are now highlighted in blue.

- `<enter>` now activates the highlighted marker(s). `<c-enter>` and
  `<a-enter>` can be used to toggle where links open, just as when
  using those modifiers with the last hint char. However, these
  shortcuts were already taken, so the old ones had to be given new
  shortcuts:

  - "Increase count" now uses `<up>` (instead of `<enter>`).
  - "Toggle complementary" now uses `<c-backspace>` (instead of
    `<c-enter>`).

- All existing hints prefs were renamed from starting with `hint_` or
  `hints_` to starting with `hints.`, for consistency and organization.
  A few new prefs starting with `hints.` were added as well. Migrations
  are written for this.

  This also unveiled a problem. If a config file tries to set an old
  pref and VimFx is upgraded, the config file will throw errors. This is
  bad user experience, so a system for allowing old names was added.
  However, that might mean that users never notice that they use an
  outdated name and never update their config files. Therefore, old
  names are only allowed when the config file is loaded automatically
  (on startup), but _not_ when it is reloaded using `gC`. The idea is
  that people use `gC` while working on their config file, which usually
  involves fixing errors. Then they could just as well fix the old pref
  names as well.

- The options in VimFx's settings page in the Add-ons Manager have been
  slightly re-ordered to play better with the new options added, and to
  promote some very important prefs to the top.

All of the above required some significant refactoring of Hints mode,
that should make it more robust.

Fixes #340. A big thanks to @doy who got this all started with #789.

7 years agoMake hint markers smaller
Simon Lydell [Mon, 29 Aug 2016 14:46:17 +0000 (16:46 +0200)]
Make hint markers smaller

The hint markers are styled with `font: menu;` to get as close to the
user's system and preferences as possible. However, that turns out to be
slighly too big on all systems I've seen.

This commit still uses `font: menu;`, but then reduces the font size of
that to 80%, by using a clever CSS trick: `font: menu;` was moved to the
hints container, and the markers themselves use `font-size: 0.8em;`.

7 years agoAdd `ec` for opening the context menu of elements
Simon Lydell [Fri, 9 Sep 2016 22:38:35 +0000 (00:38 +0200)]
Add `ec` for opening the context menu of elements

Fixes #804.

7 years agoAdd `ep` for opening links in new private windows
Simon Lydell [Fri, 9 Sep 2016 19:11:56 +0000 (21:11 +0200)]
Add `ep` for opening links in new private windows

Fixes #771.

7 years agoAdd `gB` for quickly editing the blacklist
Simon Lydell [Fri, 9 Sep 2016 18:46:28 +0000 (20:46 +0200)]
Add `gB` for quickly editing the blacklist

This also improves the description of the blacklist option, mentioning
that the patterns must match the _entire_ URL, since many people seem to
overlook this fact.

Fixes #593 and #677.

7 years agoAdd UI to export, import and reset all prefs
Simon Lydell [Fri, 9 Sep 2016 14:21:55 +0000 (16:21 +0200)]
Add UI to export, import and reset all prefs

See #262, #245, #267, #625, #802, #713.

7 years agoAdd `gulp hints.html` to help styling hint markers
Simon Lydell [Thu, 8 Sep 2016 07:34:28 +0000 (09:34 +0200)]
Add `gulp hints.html` to help styling hint markers

7 years agoFix alphabetic sorting of functions in utils.coffee
Simon Lydell [Wed, 7 Sep 2016 05:51:14 +0000 (07:51 +0200)]
Fix alphabetic sorting of functions in utils.coffee

7 years agoFix missing hint marker activation feedback for `v`
Simon Lydell [Tue, 30 Aug 2016 05:50:30 +0000 (07:50 +0200)]
Fix missing hint marker activation feedback for `v`

7 years agoFix missing hint markers when re-entering Hints mode quickly
Simon Lydell [Mon, 29 Aug 2016 20:11:41 +0000 (22:11 +0200)]
Fix missing hint markers when re-entering Hints mode quickly

1. Enter Hints mode.
2. Press `<escape>` to exit it.
3. Press `f` to re-enter Hints mode within `hints_timeout` milliseconds.

This used to result in re-entering Hints mode as expected, but with no
hint markers on screen because of a timeout from the last Hints mode
session that removed the hints container. Removing the hints container
is done by ID for robustness, so it doesn't help that the hints
container actually is a new DOM element at that time.

This commit fixes the above problem, and makes the logic more robust.

In `onLeave` for Hints mode, it makes sense to always try to remove the
Hints container, so that it may not be accidentally be left on screen.
However, it does not make sense to do so after a timeout, which was
previously the case. Now, it is done _immediately_ instead.

The only case where he timeout is wanted, is when a hint marker just has
been matched. This commit also adds a check in that timeout callback that
Hints mode hasn't been re-entered before removing the hints container.

7 years agoFix initial visibility of second-pass hint markers
Simon Lydell [Sat, 27 Aug 2016 21:26:06 +0000 (23:26 +0200)]
Fix initial visibility of second-pass hint markers

1. Go to a site where there is a noticeable delay between the two passes
   for the `f` command, such as on reddit.com.
2. Press a prefix hint char there before the second pass has completed.

When the second pass completes, the hint markers for that pass will be
shown, even though they cannot start with the prefix hint char you
pressed. This commit makes sure that the hint markers for the second
pass start out hidden if needed.

7 years agoImprove hints support for CodeMirror
Simon Lydell [Sat, 27 Aug 2016 16:05:43 +0000 (18:05 +0200)]
Improve hints support for CodeMirror

On https://gcc.godbolt.org/ the `<textarea>` that needs a hint is 0px
wide instead of the usual 1px.

7 years agoVimFx v0.18.1 v0.18.1
Simon Lydell [Sat, 27 Aug 2016 13:18:16 +0000 (15:18 +0200)]
VimFx v0.18.1

7 years agoMinor documentation fixes. (#801)
lolilolicon [Fri, 26 Aug 2016 10:33:55 +0000 (18:33 +0800)]
Minor documentation fixes. (#801)

7 years agoPartly revert "Use `prefs.get` directly in events-frame.coffee"
Simon Lydell [Mon, 22 Aug 2016 18:10:03 +0000 (20:10 +0200)]
Partly revert "Use `prefs.get` directly in events-frame.coffee"

This partly reverts commit e7f361942c2b07234e889804975e93c21c1f5baf.

That commit switched to using `prefs.get` directly in
events-frame.coffee instead of using `messageManager.get`. That avoids
synchronous messages, which is a good thing.

However, I forgot that when doing so, `vimfx.addOptionOverrides` won't
take effect.

This commit partly reverts to getting options via synchronous messages
again. In the very frequent 'keydown' event direct `prefs.get` is still
used for the unlikely-to-be-overridden `focus_previous_key` and
`focus_next_key` prefs, while synchronous messaging is used in the less
frequent 'focus' event, which enables the use case of overriding
`prevent_autofocus` on select pages.

7 years agoPrevent `vimfx.addOptionOverrides` from crashing on startup
Simon Lydell [Mon, 22 Aug 2016 17:52:12 +0000 (19:52 +0200)]
Prevent `vimfx.addOptionOverrides` from crashing on startup

Fixes #795.

7 years agoImprove the `vimfx.addOptionOverrides` example
Simon Lydell [Sat, 20 Aug 2016 10:17:12 +0000 (12:17 +0200)]
Improve the `vimfx.addOptionOverrides` example

See #791.

7 years agoVimFx v0.18.0 v0.18.0
Simon Lydell [Sat, 20 Aug 2016 09:40:07 +0000 (11:40 +0200)]
VimFx v0.18.0

7 years agoDocument that VimFx overrides `'`
Simon Lydell [Sat, 20 Aug 2016 09:27:25 +0000 (11:27 +0200)]
Document that VimFx overrides `'`

7 years agoFix documentation typos
Simon Lydell [Sat, 20 Aug 2016 09:18:21 +0000 (11:18 +0200)]
Fix documentation typos

7 years agoUpdate devDependencies
Simon Lydell [Sat, 20 Aug 2016 09:04:31 +0000 (11:04 +0200)]
Update devDependencies

7 years agoChange `` ` `` into `'`
Simon Lydell [Sat, 20 Aug 2016 08:40:48 +0000 (10:40 +0200)]
Change `` ` `` into `'`

This is both for the `` ` `` shortcut (go to mark) and the `` ` `` mark
(last position). Both `` ` `` and `'` are used in Vim. `'` is a better
default, because it is easier to type -- both on an en-US QWERTY
keyboard and, more importantly, on some international layouts, such as
the sv-SE layout.

Refs. #788.

7 years agoChange `zr` to `gC`
Simon Lydell [Sat, 20 Aug 2016 08:41:28 +0000 (10:41 +0200)]
Change `zr` to `gC`

`zr` was the only shortcut starting with `z`. This frees that key up.

Refs. #788.

7 years agoChange default shortcuts for some hint commands
Simon Lydell [Sat, 20 Aug 2016 08:39:48 +0000 (10:39 +0200)]
Change default shortcuts for some hint commands

Many of the old ones were difficult to remember, and there was no space
for adding new ones.

Refs. #788.

7 years agoImprove docs on "options object" with examples
Simon Lydell [Sat, 20 Aug 2016 07:21:10 +0000 (09:21 +0200)]
Improve docs on "options object" with examples

See #791.

7 years agoUpdate fr locale
Mickaël RAYBAUD-ROIG [Wed, 10 Aug 2016 17:09:41 +0000 (19:09 +0200)]
Update fr locale

Refs. #728

7 years agoFix uncaught error on click in web page content
Simon Lydell [Wed, 10 Aug 2016 11:03:04 +0000 (13:03 +0200)]
Fix uncaught error on click in web page content

Introduced in commit 00eefb39.

7 years agoFix broken `yv` command
Simon Lydell [Wed, 10 Aug 2016 10:59:37 +0000 (12:59 +0200)]
Fix broken `yv` command

Regression since commit c4c41736.

7 years agoMake it possible to create custom hint commands
Simon Lydell [Wed, 10 Aug 2016 10:08:32 +0000 (12:08 +0200)]
Make it possible to create custom hint commands

My first idea was to use `vim.enterMode('hints', ...)`. However, that's
too complicated to be useful for any user.

Actually, I found that `vim.enterMode(...)` is too complicated for most
(all?) modes, so I decided to make it private (removing it from the
public API) while at it. (I also made the arguments of
`vim.enterMode`/`mode.onEnter` more consistent with each other.)

I also considered exposing the entire "API" that the `f` commands use
internally. However, that's more complicated than the average user
needs, and would increase the API surface _a lot._

Instead, the `f` commands now take a `callbackOverride` argument. This
lets you choose the `f` command that matches the elements you're looking
for and the override what happens when a hint marker is matched.

Fixes #785. Fixes #654.

7 years agoFix unmousable bottom-right corner of the page scrollbars
Simon Lydell [Sat, 6 Aug 2016 14:26:57 +0000 (16:26 +0200)]
Fix unmousable bottom-right corner of the page scrollbars

VimFx's statuspanel (for notifications) had `pointer-events: auto;`
instead of `pointer-events: none;`, which statuspanels have by default.
The reason was to allow clicking the statuspanel to hide it.

This made it impossible to interact with the bottom-right corner of the
page scrollbars. The invisible statuspanel captured any clicks there.

This commit hides notifications when clicking _anything_ instead, and
removes `pointer-events: auto;`.

Fixes #787.

7 years agoFix toggling of the help dialog by the button
Simon Lydell [Thu, 14 Jul 2016 12:31:04 +0000 (14:31 +0200)]
Fix toggling of the help dialog by the button

7 years agoUpdate ru locale (#783)
Simon Lydell [Mon, 11 Jul 2016 20:26:22 +0000 (22:26 +0200)]
Update ru locale (#783)

Refs. #728

Imprint / Impressum