summaryrefslogtreecommitdiff
path: root/vis.h
AgeCommit message (Collapse)Author
2016-02-18vis: add possibility to bind keys to lua functionsMarc André Tanner
2016-02-18vis: add insfrastructure to support global key mappingsMarc André Tanner
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é Tanner
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é Tanner
This allows them to be placed into the read only ELF section.
2016-02-11vis: implement gn and gN text objectsMarc André Tanner
The behaviour when no match is found is not yet optimal.
2016-02-10vis: implement yank register "0Marc André Tanner
2016-02-07vis: export vis_window_closableMarc André Tanner
2016-01-30Implement "A - "Z registersMarc André Tanner
2016-01-30Implement system clipboard registers "* and "+Marc André Tanner
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é Tanner
2016-01-30Cleanup register implementationMarc André Tanner
2016-01-30Improve Lua error reportingMarc André Tanner
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é Tanner
2016-01-28vis: implement nn%Marc André Tanner
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é Tanner
There are cases where zero can also be a legitimate count.
2016-01-14vis: move prompt handling to separate fileMarc André Tanner
2016-01-14vis: s/VIS_MODE_LAST/VIS_MODE_INVALID/gMarc André Tanner
2016-01-14vis: move text object definitions to separate fileMarc André Tanner
2016-01-13Implement command/search prompt history as a regular fileMarc André Tanner
2016-01-13vis: add infrastructure to support per window key bindingsMarc André Tanner
2016-01-13vis: cleanup key binding definitionsMarc André Tanner
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é Tanner
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é Tanner
2015-11-28vis: add namespace prefix for MARK_SELECTION_{START,END}Marc André Tanner
2015-11-28vis: improve switching to prompt modeMarc André Tanner
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é Tanner
2015-11-27vis: implement filter operator !Marc André Tanner
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é Tanner
2015-11-08Delete now obsolete syntax.hMarc André Tanner
2015-11-08vis: implement :set themeMarc André Tanner
2015-11-08vis: remove regex based syntax highlightingMarc André Tanner
2015-11-07vis: shadow default register while in prompt modeMarc André Tanner
Editing operation in prompt mode should not affect the default register.
2015-11-07vis: prefix enum VisMotion values with VIS_Marc André Tanner
2015-11-07vis: tweak enum VisTextObject namesMarc André Tanner
2015-11-07vis: prefix enum VisOperator values with VIS_Marc André Tanner
2015-11-07vis: API documentation and cleanupMarc André Tanner
2015-11-07vis: introduce vis_cancel APIMarc André Tanner
2015-11-07vis: move operators to separate fileMarc André Tanner
2015-11-07vis: move motions to separate fileMarc André Tanner
2015-11-07vis: move :-commands into their own fileMarc André Tanner
2015-11-03vis: add vis_keys_inject to place keys into the input queueMarc André Tanner
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é Tanner
Use an implicit macro to make changes in insert/replace mode repeatable.
2015-10-27vis: make Vis an opaque type, hide implementaton detailsMarc André Tanner
2015-10-27vis: introduce vis_macro_recording APIMarc André Tanner
2015-10-27vis: introduce vis_prompt_enter APIMarc André Tanner
This is a really bad API/abtraction but at least it allows us to hide some implementation details.
2015-10-27vis: clean up tab/newline insertion codeMarc André Tanner
2015-10-27vis: introduce pseudo operators for putMarc André Tanner
In principle put is not really an operator, however it still should be repeatable and respect count.
2015-10-26vis: introduce explicit operators for cursor creationMarc André Tanner
2015-10-26vis: introduce explicit operators for case changesMarc André Tanner
2015-10-26vis: move key handling functions to main.cMarc André Tanner