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.
* avy.el (avy-styles-alist): Make `avy-goto-line' use the 'pre style.
(avy--overlay): Clone `line-prefix' and `wrap-prefix' text properties if
any. These are the properties that `org-indent-mode' uses.
(avy--line): Set `temporary-goal-column' to 0 - this affects
`line-move-visual'.
Fixes#110
avy.el (avy--read-candidates): For the last char in the
outline, (get-char-property (point) 'invisible) returns t, although it's
still visible.
Re #100
Previously, the candidate list would be generated twice: by
`avy--read-string-timer' and by `avy--generic-jump'.
* avy.el (avy--read-string-timer): Rename to `avy--read-candidates'.
(avy--read-candidates): Return the list of candidates instead of a
string which the candidates match.
(avy-goto-char-timer): Update.
Re #100
avy.el (avy--regex-candidates): For the last char in the outline,
(get-char-property (point) 'invisible) returns t, although it's still
visible.
Re #108