| Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
Previously the following had no effect:
$ echo foo | vis +"set syntax markdown" -
Fix #512
|
|
|
|
$ ./configure --disable-help
shrinks the binary by about 20K on a x86_64 system.
|
|
This can also be implemented using Lua, if desired.
|
|
By now we should have the necessary Lua API to implement this as an
extension.
|
|
|
|
This results in a slightly smaller binary while still avoiding #ifdefs.
Close #494
|
|
These do not really belong into the editor core. If desired they
could be implemented in Lua instead.
|
|
|
|
|
|
Unlike vim we do not respect `:set expandtab` here.
|
|
Fix #491
|
|
Fixes CID 141179
|
|
The character following a movement_key command should not be subject to
keymap translation since it is used to find characters in the document.
|
|
We currently have the invariant that the primary cursor is always
placed within the visisble viewport.
Previously view_cursors_new would automatically make the new cursor
primary. This in turn causes the viewport to be adjusted triggering
lots of unnecessary redraws. As a result commands creating many new
selections might become unbearably slow.
Instead the caller has to explicitly make the new cursor primary.
|
|
|
|
The cursor needs to be adjusted after every insertion, not
just the first one. The implementation is currently rather
ugly because it clobbers the dot register with pseudo keys.
|
|
Does not work for the current implementation of `O` because the
"lookbehind" i.e. second to last processed key is `<Up>` and not
`<Enter>`.
Fix #383
|
|
A count of zero is different than specifying no count.
This fixes `0G` which previously moved to the start of the file.
Fix #474
|
|
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
|
|
This was never really implemented properly and is not really needed
anyway.
Close #345
|
|
Fix #372
|
|
|
|
|
|
|
|
Shows hex values up to the next UTF-8 encoded character.
|
|
|
|
|
|
|
|
Fixes CID 139067.
|
|
|
|
|
|
|
|
Move all signal handling code out of "library" code into user application.
|
|
libtermkey's initialization routine tries to write to the underlying
file descriptor which fails with EBADF if it is opened read only.
This was a problem in the terminal restore code called after a shell
command is executed.
It should fix the following:
$ echo foo | vis - > bar
:!/bin/sh
exit
where before vis would no longer accept any input.
|
|
The `:!` command did redirect stdout to a pipe which was used by
`vis-menu` to return the selected entry. However, this breaks
other interactive commands such as `:!/bin/sh` where command
output was never displayed. Instead we modified `vis-menu` to
re-open /dev/tty for its user interface which makes it work
as a regular filter `:|`
This patch also obsoletes the interactive flag previously passed
to the vis_pipe function. Interactive mode is instead enabled
by piping an invalid range.
|
|
The first argument is the file object while the second argument denotes
the full path to which it will be written. Path might be `nil` if the
file is going to be written to stdout.
The Lua function is expected to return a boolean value indicating whether
the write operation should proceed or be aborted.
|
|
Indicating that the event is triggered *after* a successfull write.
|
|
If the shell command is omitted, the last shell command (of any type)
is substituted. The most recently used shell command is stored in a
new register currently named `!`.
|
|
Do not initalize curses UI before it is actually needed.
Move vis command line argument parsing logic into main.c.
This fixes `vis -v` output and exit status.
Fix #351
|
|
Do not alter the text if <Escape> is pressed instead of a regular
replacement character.
|
|
In normal mode `r<key>` was previously implemented as `R<key><Escape>`.
However this does not work when the replacement key is `<Enter>` to insert
a new line, because in replace mode new lines are not overwritten.
The count is now also respected.
Also properly support `r` in visual mode where before it was aliased to `c`.
Fix #190
|
|
They both perform a motion before changing mode.
|
|
|
|
|
|
Make cursor placement after scrolling (half) pages up/down less arbitrary.
Close #390, fix #391
|
|
Close #392
|
|
The character following the `r` command in normal mode should be
treated as regular input given in insert/replace mode, that is no
tranformation should be applied. Temporarily disable the language
map for this reason.
Close #382
|
|
The shell script should be reviewed for quoting issues, currently
it allows command injections as in:
$ vis-complete "'; rm -f some-file; echo "
However it is intended for interactive usage and from within vis
it is only ever called with a valid completion prefix.
The file name completion logic now supports nested directories.
Close #347
|