| Age | Commit message (Collapse) | Author | Files | Lines |
|
A motion function can be registered with vis_motion_register(...)
the returned id (if non negative) can then be used as an argument
to vis_motion(...)
|
|
Except for insert/replace mode keys get translated before any
key bindings are evaluated.
This is useful for non-english/latin keyboard layouts.
|
|
|
|
Since commit 197ab824206335eab7ceed774ddeccac18fafc09 visual line
and replace modes are child modes, hence we also have to consider
the window local key bindings of their respective parent modes.
For example in replace mode the key lookup chain is now as follows:
window local replace mode -> global replace mode ->
window local insert mode -> global insert mode
This fixes <Enter> behaviour in prompt for replace and visual line
modes.
|
|
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
|
|
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.
|
|
|
|
|
|
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.
|
|
|
|
There are cases where zero can also be a legitimate count.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
Closes #144
|
|
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.
|
|
|
|
|
|
The only used event handler was used to update the '< and '>
marks which is now taken care of by the leave handler of the
visual modes.
|
|
A call to vis_prompt_show will now automatically switch to prompt
mode. Within the prompt leave/enter handlers the focused window
(vis->win) will still point to the document window not the one
referring to the prompt.
The selection marks '< and '> are now only updated when a visual
mode is left.
|
|
|
|
It currently works by switching to visual mode and then opening
the command prompt with a default range which refers to the
currently active selection.
|
|
The return value of operator implementations denoting the new
cursor position is interpreted in the following way:
- EPOS dispose the cursor
- [0, text_size] place the cursor accordingly
- otherwise i.e. > text_size keep the cursor position unchanged
The newly introduced last case is useful for operators which
are called from visual mode, but do not want to change the current
selection.
|
|
|
|
|
|
|
|
The theme to use can be overriden via the $VIS_THEME environment
variable.
$ VIS_THEME=solarized vis
|
|
For now the vis table has only one member "lexers".
|
|
Make lpeg module table explicitly global, which should work
with the different module loading semantics.
|
|
The view_draw function renders the text into the cells
array and resyncs the cursor position. The syntax
highlighting is applied in view_update, which also
instructs the ui to update.
|
|
|