aboutsummaryrefslogtreecommitdiff
path: root/vis.h
AgeCommit message (Collapse)AuthorFilesLines
2016-03-15vis: add support for command register ":Marc André Tanner1-0/+1
2016-03-13vis: convert gn and gN text objects to use "/ register contentMarc André Tanner1-1/+1
2016-03-12vis: overhaul search related code, support "/ registerMarc André Tanner1-0/+5
2016-02-25vis: use standard registers for macro recordingsMarc André Tanner1-22/+12
Also support upper case register to append to an existing macro.
2016-02-18Add infrastructure to register custom text object functionsMarc André Tanner1-0/+5
2016-02-18vis-lua: expose vis:textobject(id)Marc André Tanner1-1/+1
2016-02-18Add infrastructure to add custom motion functionsMarc André Tanner1-0/+7
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(...)
2016-02-18vis-lua: expose mode constants to luaMarc André Tanner1-2/+0
2016-02-18vis: add possibility to bind keys to lua functionsMarc André Tanner1-1/+2
2016-02-18vis: add insfrastructure to support global key mappingsMarc André Tanner1-0/+3
Except for insert/replace mode keys get translated before any key bindings are evaluated. This is useful for non-english/latin keyboard layouts.
2016-02-15Add text object to cover lines with same indentation levelMarc André Tanner1-0/+1
By default it is mapped to i<Tab> and a<Tab> however there is currently no difference between the inner and regular version.
2016-02-12Mark some tables as constMarc André Tanner1-2/+2
This allows them to be placed into the read only ELF section.
2016-02-11vis: implement gn and gN text objectsMarc André Tanner1-0/+2
The behaviour when no match is found is not yet optimal.
2016-02-10vis: implement yank register "0Marc André Tanner1-0/+1
2016-02-07vis: export vis_window_closableMarc André Tanner1-0/+3
2016-01-30Implement "A - "Z registersMarc André Tanner1-1/+7
2016-01-30Implement system clipboard registers "* and "+Marc André Tanner1-0/+1
Both registers are currently treated identically. The actual system integration is performed by two shell scripts vis-copy and vis-paste.
2016-01-30Implement blackhole register "_Marc André Tanner1-0/+1
2016-01-30Cleanup register implementationMarc André Tanner1-2/+2
2016-01-30Improve Lua error reportingMarc André Tanner1-1/+5
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.
2016-01-29vis: factor out filter command implementationMarc André Tanner1-0/+5
2016-01-28vis: implement nn%Marc André Tanner1-0/+1
Moves to the given percentage of the file in bytes (not lines). This is useful when dealing with huge files because it is a constant time operation. Performance could still be improved by adapting the display code not to rely on line numbers at all.
2016-01-28vis: clean up count handlingMarc André Tanner1-3/+5
There are cases where zero can also be a legitimate count.
2016-01-14vis: move prompt handling to separate fileMarc André Tanner1-0/+2
2016-01-14vis: s/VIS_MODE_LAST/VIS_MODE_INVALID/gMarc André Tanner1-1/+1
2016-01-14vis: move text object definitions to separate fileMarc André Tanner1-0/+1
2016-01-13Implement command/search prompt history as a regular fileMarc André Tanner1-11/+1
2016-01-13vis: add infrastructure to support per window key bindingsMarc André Tanner1-0/+2
2016-01-13vis: cleanup key binding definitionsMarc André Tanner1-10/+2
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.
2015-12-26vis: refactor Lua integrationMarc André Tanner1-1/+11
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.
2015-12-20vis: fix forceful redraw <C-l>Marc André Tanner1-0/+1
2015-11-28vis: add namespace prefix for MARK_SELECTION_{START,END}Marc André Tanner1-2/+2
2015-11-28vis: improve switching to prompt modeMarc André Tanner1-1/+1
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.
2015-11-28vis: add cmd argument to VIS_OP_FILTERMarc André Tanner1-1/+5
2015-11-27vis: implement filter operator !Marc André Tanner1-0/+1
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.
2015-11-08Fix warnings found by static analyzerMarc André Tanner1-1/+1
2015-11-08Delete now obsolete syntax.hMarc André Tanner1-1/+0
2015-11-08vis: implement :set themeMarc André Tanner1-0/+2
2015-11-08vis: remove regex based syntax highlightingMarc André Tanner1-8/+0
2015-11-07vis: shadow default register while in prompt modeMarc André Tanner1-0/+1
Editing operation in prompt mode should not affect the default register.
2015-11-07vis: prefix enum VisMotion values with VIS_Marc André Tanner1-65/+65
2015-11-07vis: tweak enum VisTextObject namesMarc André Tanner1-26/+26
2015-11-07vis: prefix enum VisOperator values with VIS_Marc André Tanner1-18/+18
2015-11-07vis: API documentation and cleanupMarc André Tanner1-76/+132
2015-11-07vis: introduce vis_cancel APIMarc André Tanner1-0/+1
2015-11-07vis: move operators to separate fileMarc André Tanner1-0/+1
2015-11-07vis: move motions to separate fileMarc André Tanner1-0/+1
2015-11-07vis: move :-commands into their own fileMarc André Tanner1-0/+1
2015-11-03vis: add vis_keys_inject to place keys into the input queueMarc André Tanner1-0/+1
This function can only be used from within key handlers. The position argument has to point to a valid key from within the same input buffer after which the new input will be inserted.
2015-11-02vis: improve dot commandMarc André Tanner1-2/+4
Use an implicit macro to make changes in insert/replace mode repeatable.