| Age | Commit message (Collapse) | Author | Files | Lines |
|
Previously something like `5ifoo<Escape>:<Escape>` would insert
foo into the command prompt.
|
|
|
|
|
|
|
|
<Enter> at the end of the file now inserts two newlines, unless there is
already one in place. This ensures that in 'normal' operation the file
is always new line terminated (as mandated by POSIX). It also means that
there is no problem displaying the right amount of ~ symbols at the end
of the file.
Unlike in vim the cell beyond the end of the file remains adressable
even in normal mode. This means something like the following (starting
from an empty file) might be a little confusing:
o<Escape><Left>dd
Because the starting position is beyond the last newline of the file,
nothing will be deleted.
For now we prefer to avoid the additional complexity, and difference
in behavior between normal and insert mode, needed to fix this slight
inconsistency.
Fix #294
|
|
Handle zero length pieces gracefully. At some point
we should write a comprehensive set of unit tests
for the iterator API.
|
|
We already did this change for acl (commit cc551cb0). In attr it shows
slightly different symptoms and happens for parallel builds only. The
fix is the same.
|
|
While memory consumption should be improved, backward searches
will still be slow, because they are implemented in terms of
repeated forward searches. It needs to be investigated whether
the underlying automaton can have its transitions reversed and
essentially run backwards, as is the case in sam.
|
|
|
|
|
|
|
|
Strictly speaking we actually not wrap around, but search
backwards starting from the first cursor. This is seems
more useful when for example renaming a local variable
but not starting from its declaration.
Close #305
|
|
|
|
For any reason acl decides do build getfacl and setfacl on `make [...]
install-lib install-dev`, which may fail. Make sure to not fail by
installing from libacl and include subdirectories.
|
|
|
|
The manual was already mentioning that.
Fix #468
|
|
This was never really implemented properly and is not really needed
anyway.
Close #345
|
|
The most apparent change is that NULL is now also highlighted,
the themes might need to be tweaked a bit.
Based on an initial patch by Christian Hesse.
Close #307
|
|
|
|
|
|
|
|
Close #466
|
|
Fix #371
|
|
Fix #372
|
|
|
|
|
|
Fix #448
|
|
The vis_keys_feed function is currently unaffected by this change.
It still creates individual undo points. While this is probably
undesirable from an API point of view, it keeps the lua based tests
that use undo points working.
|
|
Previously if you had a mapping for both `a` and `ab` the latter would
in effect be unreachable because the greedy search would always match
and then execute the former. With the new behavior we keep reading keys
until we have a non ambigious sequence. That is after pressing `a` nothing
will happen, if the next key is a `b` we will execute the `ab` mapping
otherwise we will perform `a` and whatever the action is for the next key.
Close #386
|
|
Tests whether the given prefix can be extended to exactly one map element
i.e. true iff the prefix map contains exactly one element.
|
|
Fix #461
|
|
Fix #464
|
|
|
|
|
|
Signed-off-by: Christian Hesse <mail@eworm.de>
|
|
Define EXECUTABLES and install in a loop. Also fix uninstalling
man pages.
|
|
These are called from vis only. So include them in the archive and set PATH
to make vis find them.
|
|
|
|
Previously repeatedly pressing <Ctrl-j> at the start of the file
would keep creating cursors.
|
|
Close #458
|
|
Fix #459
|
|
When encountering a parsing error within a { } command group do not
set the error cause to unmatched brace.
|
|
<Enter> now searches for lines starting with command delimiters to
find the command boundaries.
To actually enter a literal new line use <Ctrl-v><Enter> in insert
mode or `o` / `O` in normal mode.
Also remove the special <Backspace> mapping, does not seem esential
use <Escape> to close the prompt window.
|
|
A cursor does not necessarily have to be at a selection boundary
(e.g. in visual line mode) but it has to be within the selection.
|
|
|
|
|
|
They are roughly equivalent, instead of
s/pattern/replacement/
to replace the first occurrence of pattern you can specify an address
to the change command:
/pattern/ c/replacement/
the only difference being that the first command is restricted to the
current line.
-+x/pattern/ c/replacement/
also restrictes matches to the current line, but performs the substitution
on the whole line not only the first match. Currently it is not possible
to only replace the n-th match as `s2/pattern/replacement/` would do
in sam(1).
A possible alternative syntax generalizing this concepts and applying
it to the `x` and `g` commands will be investigated in the future.
Global substitution as in
%s/pattern/replacement/g
can be performed using
x/pattern/ c/replacement/
|
|
Before the i, a, c commands would fail when given an empty text //.
|
|
& refers to the most recent complete match and \1 - \9
refer to the last sub-expression matches.
|
|
These are currently only updated for `x` and `y` sam commands,
whether they should be updated for other search related activities
(`/`, `?`, `n`, `N`, `*`, `#` etc.) needs to be investigated.
|