| Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
The built in commands should always be available.
|
|
|
|
|
|
This means no event handlers are run for it, hence there is no chance
for recursive errors.
|
|
Should have been part of f50465312dbb7e8fcb2409aa691d1aea7a43c466.
|
|
This reverts part of bd1d849b2033b04a372542c59d458d4f8279c937
just use a literal space within your key mappings.
Close #280
|
|
|
|
This fixes interactive :-commands when the user has configured
to set custom options vis:command(...) via the Lua win_open
event handler.
The problem was that the creation of the window for the command
prompt would itself trigger an execution of a :-command. Upon
successful completion the editor would switch to normal mode.
Therefore the interactively entered command would not be applied
to the correct range.
|
|
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 improves responsiveness of {count}j for files with less than count
lines. For huge files this will still be slow because the code tries
to restore cursor position on every line before moving on to the next.
Also moving up will generally be slower than downwards. Use {count}%
(fastest) or or :count (slower) instead.
Close #267
|
|
Close #224
|
|
|
|
|
|
|
|
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)
|
|
There exist two typical ways to use an array:
1) to hold pointers to externally allocated memory regions
Use array_init(...) for initialization, an element has the
size of a pointer. Use the functions suffixed with `_ptr'
to manage your pointers. The cleanup function array_release_full
must only be used with this type of array.
2) to hold arbitrary sized objects
Use array_init_sized(...) to specify the size of a single
element. Use the regular (i.e. without the `_ptr' suffix)
functions to manage your objects. array_get will return a
pointer to the object stored within the array.
|
|
|
|
|
|
|
|
This makes @: (and @/) work.
|
|
|
|
|
|
|
|
Also support upper case register to append to an existing macro.
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|