aboutsummaryrefslogtreecommitdiff
path: root/vis.h
AgeCommit message (Collapse)AuthorFilesLines
2016-09-25vis: disable language map for replacement character of `r` commandMarc André Tanner1-0/+2
The character following the `r` command in normal mode should be treated as regular input given in insert/replace mode, that is no tranformation should be applied. Temporarily disable the language map for this reason. Close #382
2016-09-25vis: move file name and word completion logic to a shell scriptMarc André Tanner1-0/+3
The shell script should be reviewed for quoting issues, currently it allows command injections as in: $ vis-complete "'; rm -f some-file; echo " However it is intended for interactive usage and from within vis it is only ever called with a valid completion prefix. The file name completion logic now supports nested directories. Close #347
2016-08-24vis: implement gJ like behaviorMarc André Tanner1-0/+1
The behavior is not exactly the same because vim preserves any existing white spaces wihle we remove existing ones but do not insert additional ones. The vim behavior (essentially only deleating new lines) can be achived using something like: :x/\n/d Close #374
2016-08-24vis: add vis_mode_get functionMarc André Tanner1-0/+1
2016-08-24vis: overhaul input queue handlingMarc André Tanner1-4/+2
Let vis_keys_feed always have an immediate effect. Previously, if called from a key input handler the keys would just be added to the input queue and processed once the current key handler returned. This also affects the exposed Lua API.
2016-05-26vis: use normalized absolute file names as internal representationMarc André Tanner1-2/+0
Try to display a shorthand version in the status bar, this currently only works for files below the current working directory of the editor process.
2016-05-22vis: refactor status line handlingMarc André Tanner1-2/+1
Make window status bar content configurable via Lua.
2016-05-22vis: add function to change window statusbar contentMarc André Tanner1-0/+2
2016-05-22vis: add functions to query window sizeMarc André Tanner1-0/+3
2016-05-22vis: consider :set horizon setting when syntax highlightingMarc André Tanner1-1/+1
2016-05-22vis: move syntax highlighting to pure Lua codeMarc André Tanner1-0/+6
2016-05-18vis: add #define for VIS_MENUMarc André Tanner1-0/+11
2016-05-18vis: add an interactive mode to vis_pipe{,_collect}(...)Marc André Tanner1-2/+6
Previously the interactive mode was implicitly enabled by passing an invalid range. However for some use cases (e.g. completion) we need to be able to pipe a given text range to an external process without also redirecting stderr (which is used to draw the slmenu interface on top of vis).
2016-05-18vis: introduce vis_pipe_collect utility functionMarc André Tanner1-0/+5
2016-05-13vis: clean up key mapping implementationMarc André Tanner1-4/+5
2016-05-08Fix autoindent when using ORichard Burke1-0/+3
2016-05-04vis: enable large file optimizations for files with long linesMarc André Tanner1-2/+0
2016-05-01vis: further cleanup input handling, introduce vis_keys_feed APIMarc André Tanner1-8/+6
2016-05-01vis: cleanup input handling, improve macro replayMarc André Tanner1-7/+6
2016-04-21vis: add infrastructure to register custom :-commandsMarc André Tanner1-0/+8
2016-04-20vis-lua: trigger start event after ui has been initializedMarc André Tanner1-0/+1
2016-04-19vis: add an unsigned option type for :set commandMarc André Tanner1-0/+1
2016-04-12Add "[(" and "])" motions for jumping to a parenthese pair's start/endRob Pilling1-0/+2
2016-04-12Add "[{" and "]}" motions to jump to a block's start/endRob Pilling1-0/+2
2016-04-08vis: let :e recreate a window at the same location as the old oneMarc André Tanner1-0/+2
Close #224
2016-04-08vis: cleanup window focusing codeMarc André Tanner1-0/+2
2016-04-03vis: change vis_pipe API and cleanup related codeMarc André Tanner1-3/+3
2016-04-01vis: cleanup vis_pipe APIMarc André Tanner1-1/+10
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.