summaryrefslogtreecommitdiff
path: root/vis.h
AgeCommit message (Collapse)Author
2016-11-22vis-lua: introduce pre-save hookMarc André Tanner
The first argument is the file object while the second argument denotes the full path to which it will be written. Path might be `nil` if the file is going to be written to stdout. The Lua function is expected to return a boolean value indicating whether the write operation should proceed or be aborted.
2016-11-22vis-lua: pass path as second argument to file_save_post event hookMarc André Tanner
The passed path can be different from file.name for instance when opening a file `a` and then doing `:w b` where file.name will be the former and path the latter.
2016-11-21vis-lua: rename file_save event to file_save_postMarc André Tanner
Indicating that the event is triggered *after* a successfull write.
2016-11-16sam: use default shell command for <, >, | and ! when applicapleMarc André Tanner
If the shell command is omitted, the last shell command (of any type) is substituted. The most recently used shell command is stored in a new register currently named `!`.
2016-11-15vis: generalize special stdin handlingMarc André Tanner
In preparation to move argument parsing code out of vis.c.
2016-11-09vis: add replace operator VIS_OP_REPLACEMarc André Tanner
Delete the given range and insert the same number of replacement characters.
2016-11-09vis: unify VIS_OP_{INSERT,REPLACE} implementationMarc André Tanner
They both perform a motion before changing mode.
2016-09-25vis: disable language map for replacement character of `r` commandMarc André Tanner
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é Tanner
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é Tanner
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é Tanner
2016-08-24vis: overhaul input queue handlingMarc André Tanner
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é Tanner
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é Tanner
Make window status bar content configurable via Lua.
2016-05-22vis: add function to change window statusbar contentMarc André Tanner
2016-05-22vis: add functions to query window sizeMarc André Tanner
2016-05-22vis: consider :set horizon setting when syntax highlightingMarc André Tanner
2016-05-22vis: move syntax highlighting to pure Lua codeMarc André Tanner
2016-05-18vis: add #define for VIS_MENUMarc André Tanner
2016-05-18vis: add an interactive mode to vis_pipe{,_collect}(...)Marc André Tanner
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é Tanner
2016-05-13vis: clean up key mapping implementationMarc André Tanner
2016-05-08Fix autoindent when using ORichard Burke
2016-05-04vis: enable large file optimizations for files with long linesMarc André Tanner
2016-05-01vis: further cleanup input handling, introduce vis_keys_feed APIMarc André Tanner
2016-05-01vis: cleanup input handling, improve macro replayMarc André Tanner
2016-04-21vis: add infrastructure to register custom :-commandsMarc André Tanner
2016-04-20vis-lua: trigger start event after ui has been initializedMarc André Tanner
2016-04-19vis: add an unsigned option type for :set commandMarc André Tanner
2016-04-12Add "[(" and "])" motions for jumping to a parenthese pair's start/endRob Pilling
2016-04-12Add "[{" and "]}" motions to jump to a block's start/endRob Pilling
2016-04-08vis: let :e recreate a window at the same location as the old oneMarc André Tanner
Close #224
2016-04-08vis: cleanup window focusing codeMarc André Tanner
2016-04-03vis: change vis_pipe API and cleanup related codeMarc André Tanner
2016-04-01vis: cleanup vis_pipe APIMarc André Tanner
2016-03-15vis: add support for command register ":Marc André Tanner
2016-03-13vis: convert gn and gN text objects to use "/ register contentMarc André Tanner
2016-03-12vis: overhaul search related code, support "/ registerMarc André Tanner
2016-02-25vis: use standard registers for macro recordingsMarc André Tanner
Also support upper case register to append to an existing macro.
2016-02-18Add infrastructure to register custom text object functionsMarc André Tanner
2016-02-18vis-lua: expose vis:textobject(id)Marc André Tanner
2016-02-18Add infrastructure to add custom motion functionsMarc André Tanner
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é Tanner
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