| Age | Commit message (Collapse) | Author |
|
Closes #930
|
|
|
|
|
|
enabled
|
|
Fixes #1206
|
|
Some more advanced backends require this to work.
|
|
|
|
|
|
See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=31546
|
|
Make evil-yank aware of screen-lines
|
|
when evil-respect-visual-line-mode is non-nil, including
evil-change-line, evil-delete-line, and evil-yank-line. Most of the work is done
through the motions evil-line-or-visual-line and
evil-end-of-line-or-visual-line. These motions use visual lines when
visual-line-mode and evil-respect-visual-line-mode are non-nil, and revert back
to standard lines otherwise.
Visual selection via visual lines in the sense of visual-line-mode is supported
by adding a new screen-line type (named to avoid confusion with visual state).
|
|
The docstring of evil-cursor-back only mentions that it applies to moving the
cursor back when exiting insert state, but in many cases it was tied to also
moving the cursor when reaching the end of the line. We have
evil-move-beyond-eol to control that behavior, and there doesn't seem to be a
good reason that the two must be tied together.
Fixes #1178
|
|
|
|
|
|
When displaying register contents, evil-show-registers substitutes the
empty string for non-string values. If a register contains a macro, then
the value is a key sequence, and a key sequence may be represented by
either a string or a vector. The latter would be substituted by the empty
string.
This commit checks for vector values and uses key-description to display
them.
* evil-commands.el (evil-show-registers): If a register contains a vector,
display it by calling key-description.
|
|
The following commands now act on visual lines when
evil-respect-visual-line-mode is non-nil:
evil-insert-line
evil-append-line
evil-find-char
evil-find-char-backward
evil-find-char-to
evil-find-char-to-backward
|
|
|
|
|
|
|
|
Treat going to marks jumps
|
|
|
|
|
|
|
|
Do this by simulating the effect of turning on reveal-mode when the substitution
requires confirmation.
Fixes #983
|
|
Don't move point following ex-substitute search
|
|
Closes #952
|
|
The current behavior isn't consistent with vim (at least in my tests). It's also
annoying to have point jump to weird locations following an aborted search.
For example, with
:%s/a/b/c
If you abort the search with C-g before making replacements, point jumps to the
beginning of the region which is the beginning of the buffer in this case. This
is odd, because nothing happened but you lose your place in the buffer.
|
|
|
|
|
|
Replace caddr in evil-test-helpers.el with primitive functions.
|
|
It's possible that we have a regex that matches just the end of the buffer
repeatedly.
Add test.
|
|
Use the resulting match instead of the input string in case the regex matches a
newline without containing one explicitly.
Ref #969
|
|
`xterm-mouse-mode' uses control sequences for mouse events which need to be
decoded, otherwise each character in the sequence will be executed as a command.
Fixes #960.
|
|
This patch make evil recognize `query-replace-skip-read-only`
variable and ignore read only matches while substituting. This
is useful in wgrep and wdired mode.
|
|
Documented the dependency from 'evil-cross-lines' custom variable.
|
|
Fix #932
|
|
Don't abort macro recording when current buffer is changed
|
|
|
|
|
|
Refs #847
|
|
* evil-commands.el (evil-forward-word-begin): Instead of hardcoding
#'evil-change to apply workarounds, read from a
`evil-change-commands' list instead.
This patch adds a new variable, `evil-change-commands', which defines
functions that evil will treat as bound to 'c'. When wrapping
`evil-change', add your function to this list to get the same behavior
as `evil-change'.
Example usage:
(add-to-list 'evil-change-functions #'my-evil-change)
|
|
|
|
One special case occurs with the ex commands ":s/^/ #/" or ":'<,'>s/^/ #/". The
range passed to evil-ex-substitute includes the final newline which means that
the zero-length regex "^" will match on the line below the intended range. This
is now checked for explicitly.
Another occurs using the regex "$", as in ":%s/$/ TEST". In this case, after the
replacement occurs point is still looking at the end of the same line. To test
for this case, when there is a zero-length match we test the next search to see
if point won't move following the next (successful) search. If so, we move point
explicitly.
Finally, this fixes an issue where we could inadvertently move point past
end-marker. This wasn't a big deal, but it did print a message in the *Messages*
buffer.
Fixes #881
|
|
I am trying imenu first because I vaguelly remember that on a rare occasion, when both are available, it's better than semantic. At the very least because semantic have to parse includes/imports as well, when imenu might already have the info about location of the definition.
v2: wasamasa: use (ignore-errors)
Signed-off-by: Constantine Kharlamov <Hi-Angel@yandex.ru>
|
|
nxml-mode somehow changes the match data during the course of using
evil-ex-substitute with the gc flags. Make evil-ex-substitute very careful about
using the right match-data for moving point and performing replacements. This
should not be necessary, but I guess we can't rely on modes to be careful about
not overwriting the match data randomly.
Fixes #859
|
|
Allows one to prevent evil-visual-paste from automatically adding the replaced
text to the kill ring, which changes what will be pasted next.
|
|
Zero length regexps, particularly "$", may get matched over and over. Also add a
test for this.
Fixes #849
|
|
|
|
|
|
With point on a word, :%s/<C-r><C-w> gives an end of buffer warning from the
forward-char at the end of evil-paste-from-register.
|