* avy.el (avy--linum-strings): New defun.
(avy--linum-update-window): New defun. This is a copy-paste of
`linum-update-window' with just a few lines added.
(avy-linum-mode): New minor mode. Currently, only works with
`avy-all-windows' set to nil.
(avy--line): When `avy-linum-mode' is on, don't display
overlays. Instead, display a simple message.
Fixes#155
avy.el (avy-goto-char-2-below): Add
These are versions of avy-goto-char-2 that are restricted to matches
before or after the point in the current window.
Fixes#148
Doing an isearch for '[' and then invoking avy-isearch would trigger an
error like:
Invalid regexp: "Unmatched [ or [^"
If we are not doing a regex-based search, escape the search string to
avoid these kind of issues.
The point should return to its starting location after the desired word
is corrected. As is the case for the other avy-action-{something}
functions, this function is also added to the avy-dispatch-alist.
Fixes#142
* avy.el (avy-dispatch-alist): Extend.
(avy-action-kill-move): Rename from `avy-action-kill'.
(avy-action-kill-stay): New defun.
To kill a word without moving there:
1. `avy-goto-word-1' or `avy-goto-char'.
2. word's letter.
3. X.
4. words' overlay chars.
* avy.el (avy--overlay-at-full): When at an empty line, there's plenty
of space to display the full selector. No need to truncate it to avoid
visual-line-mode reformatting the buffer text.
Fixes#129
When 'avy-goto-line' is called with numbered argument, it tries to mimic
behaviour of 'goto-line'. However, if some part of text is hidden by
narrowing, 'avy-goto-line' failed to account for that.
This patch temporarily disables narrowing, jumps on line and then
restores narrowing, just like 'goto-line' does.
Fixes#122Fixes#123
* avy.el (avy-subword-extra-word-chars): New defcustom.
(avy-goto-subword-0): Modify the syntax table temporarily using
`avy-subword-extra-word-chars'.
Fixes#116
* avy.el (avy-dowindows): Use `avy-all-windows-alt'.
(avy--regex-candidates):
(avy--read-candidates): Use `current-prefix-arg'. At some later point, it
could be passed as an argument instead.
Fixes#118
When using avy-goto-line and typing a line number with avy-style
de-bruijn, you would get an error after entering your line number and
pressing RET:
No catch for tag: done, exit
I believe this is because avy-read is wrapped with (catch 'done ...) but
avy-read-de-bruijn doesn't catch done. This adds the catch to
avy-read-de-bruijn.
* avy.el (avy--overlay-at-full): Compute line-end-position according to
`visual-line-mode'.
(avy--update-offset-and-str): Add one more arg.
Note that `visual-line-mode' is actually extremely slow. If you have a
lot of candidates, you'll get a perceptible slowdown.
If avy--read-candidates doesn't find any candidates for the current
input, the user has surely made a typo. In that case, beep at the user
to make him aware of that.