| Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
This caused issues on OpenBSD where it crashed the terminal.
Also on Mac OS X suspend via ^Z (Ctrl-Z) was missing a \r i.e.
the shell prompt was not properly redrawn.
While in principle user interfaces should not have to depend on
libtermkey, in practice this won't be an issue unless we are
adding a non-terminal based UI (which won't happen anytime soon).
This reverts commit 8f92b98848f9366e78c7aa824615bade83971513.
Close #311
|
|
A concrete user interface implementation should not have to depend
on libtermkey. Therefore the vis core now uses an independent instance
to parse keys.
|
|
This is needed to make the vis.event.start Lua callback useful,
setting global options should be possible even if no windows exist
yet.
The :set command options should probably be cleaned up further,
some of them apply only to the currently active window while others
have a global effect.
|
|
Close #271
|
|
|
|
|
|
|
|
|
|
Can be used to specify the number of bytes before the visible area
to consider for syntax highlighting.
Defaults to 32K for now, whereas before it was 16K.
|
|
|
|
|
|
|
|
One should generally use <Space> in mappings:
:map! normal <Space> h
except for insert/replace mode where a literal space has to be used:
:map! insert " " foo
|
|
This should ease packaging for systems with an existing vis(1) binary.
|
|
Close #224
|
|
Close #236
|
|
|
|
|
|
The following vi commands have been dropped:
- saveas
- xit
- !
The following commands are only recognized in their short form:
- e (edit)
- q (quit)
- s (substitute)
- w (write)
- r (read)
|
|
For those not familiar with sam(1) more information can be found at
http://sam.cat-v.org/
For now sam commands can be entered from the vis prompt via :sam <cmd>
A command behaves differently depending on the mode in which it is issued:
- in visual mode it behaves as if an implicit extract x command
matching the current selection(s) would be preceding it. That is
the command is executed once for each selection.
- in normal mode:
* if an address for the command was provided it is evaluated starting
from the current cursor position(s) i.e. dot is set to the current
cursor position.
* if no address was supplied to the command then:
+ if multiple cursors exist, the command is executed once for every
cursor with dot set to the current line of the cursor
+ otherwise if there is only 1 cursor then the command is executed
with dot set to the whole file
The command syntax was slightly tweaked to accpet more terse commands.
- When specifiying text or regular expressions the trailing delimiter can
be elided if the meaning is unambigious.
- If only an address is provided the print command will be executed.
- The print command creates a selection matching its range.
- In text entry \t inserts a literal tab character (sam only recognizes \n).
Hence the sam command ,x/pattern/ can be abbreviated to x/pattern
If a command is successful vis switches to normal mode (and hence removes
any selections), otherwise the editor is kept in visual mode. The print
command "fails" by definition.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The mappings affect all non-input (i.e. insert/replace) modes.
They are useful for non-latin keyboard layouts, example usage:
:langmap ролд hjkl
Based on a patch by Dmitriy.
Close #161
|
|
This allows them to be placed into the read only ELF section.
|
|
|
|
|
|
|
|
|
|
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)
|
|
|
|
|
|
Should now handle trailing white spaces.
|
|
|
|
|
|
Close #70
|
|
|
|
Closes #147
|
|
|
|
|
|
They allow per window run time configurable key bindings.
|
|
|
|
Remember that vis' bindings are always recursive. Hence if
you do stupid things you will get yourself into an endless
loop.
|
|
This removes the tree based mode structures and instead merges
all keybindings in flat modes which uses some more memory but
will allow (per mode) run-time configurable key bindings.
Make sure to update/remove config.h.
|
|
|
|
Lua support can now be disabled at compile time using:
$ make CONFIG_LUA=0
This commit also adds an initial Lua API and provides a few
default hooks.
We now also require Lua >= 5.2 due to the uservalue constructs.
In principle the same functionality could be implemented using
function environments from Lua 5.1.
|