| Age | Commit message (Collapse) | Author | Files | Lines |
|
This should actually make the search history functionality work.
The :-commands already worked because of commit e745b5ef.
Removing all trailing white spaces would be the wrong thing
to do for the search, because they might be part of the
desired search string.
|
|
We can copy the initial iterator and use it in reverse direction.
|
|
The field width specifier '*' expects an int.
be fine here since we are expecting a small positive number
and the result is
|
|
Also fix a few spelling mistakes.
|
|
This allows them to be placed into the read only ELF section.
|
|
Disable absolute line numbers for large files (currently
anything bigger than 32MiB). This speeds up moving around
with for example nn% since no new lines need to be calculated.
Of course movements like :nn will be unaffected.
The optimizations can be disabled by explicitly enabling
absolute line numbers as in :set number
|
|
The used regular expression \<%s\> where %s refers to the
search term/word under cursor is not POSIX compliant but
happens to work on both musl and glibc.
First try the alternate syntax [[:<:]]%s[[:>:]] which works
on Mac OS X. The reason it is done in this order is that
musl/glibc will reject it as invalid pattern when compiling
while the Mac OS X libc will accept \<%s\> but not match
anything.
Based on a patch by Erlend Fagerheim.
|
|
The behaviour when no match is found is not yet optimal.
|
|
Up until now text objects would only ever grow/expand if
applied multiple times. The new SPLIT type allows text
objects which cover a completely different range when
applied with a count.
|
|
|
|
Make replace mode a child of insert mode and visual line a
child of visual mode. This means any key binding for the
former is automatically available in the latter. Also keys
can not be unmapped solely from the child modes.
|
|
|
|
Based on a patch by Silvan Jegen.
|
|
|
|
|
|
|
|
The default key bindings are not changed for now, because <C-a>
conflicts with multiple cursor alignment.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- split the functions, so the algorithms are more clear
- paragraph movements work backwards
- paragraph movements work consistently with \r\n line breaks always placing the
cursor on the first character of the first empty line before/after the
paragraph
- sentence movements now work better at BOF/EOF
- save a few lines of code
|
|
|
|
|
|
The name `stderr` was confused by the compiler with the following defines:
$ grep -r "define stderr"
./dependency/install/usr/include/stdio.h:#define stderr (stderr)
./dependency/sources/musl-1.1.12/include/stdio.h:#define stderr (stderr)
|
|
|
|
Both registers are currently treated identically.
The actual system integration is performed by two shell
scripts vis-copy and vis-paste.
|
|
|
|
|
|
Display Lua errors in a dedicated window/file. A typo or missing
dependency (e.g. lpeg) in visrc.lua will no longer silently fail
without any indication.
The Lua integration in view.h is not yet converted.
|
|
|
|
|
|
|
|
|
|
Moves to the given percentage of the file in bytes (not lines).
This is useful when dealing with huge files because it is a constant
time operation. Performance could still be improved by adapting the
display code not to rely on line numbers at all.
|
|
There are cases where zero can also be a legitimate count.
|
|
|
|
|
|
Note that cursors currently have only one default register.
|
|
|
|
The behaviour of <End> vs $ in various modes may still be
inconsistent, but at least it can now be configured via
key bindings.
|
|
This is still not 100% correct for all possible cases, but
should work for those currently used by vis e.g. the shift
left operator.
|
|
Some corner cases allowed to move between lines with the to/till movements.
The change in find_prev serves two purposes. When searching for a string which
the cursor is already above the match, this match is returned (pos += len).
Secondly there was a failure when searching for strings with len == 1 which lead
to `matched == 0` which was always true, even if the string was not found,
therefore leading to a wrong return value.
|
|
|
|
Word matching is currently implemented by using the \< and \>
anchors of the regex(3) library part of libc. Another option
would have been to use the text_object_word_find_{next,prev}
functions from text-objects.c.
The used search term is currently not added to the search history.
Based on a patch by Markus Teich.
|