summaryrefslogtreecommitdiff
path: root/vis-core.h
AgeCommit message (Collapse)Author
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-lua: do not report errors recursivelyMarc André Tanner
Displaying an error might create a new window which in turn can trigger new events (all other windows are resized+redrawn) which might again cause errors. There is still no sane way to exit the editor in this case, but at least the error messages should be readable.
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-10Revert "vis: clean up interaction between vis and ui"Marc André Tanner
This caused issues on OpenBSD where it crashed the terminal. Also on Mac OS X suspend via ^Z (Ctrl-Z) was missing a \r i.e. the shell prompt was not properly redrawn. While in principle user interfaces should not have to depend on libtermkey, in practice this won't be an issue unless we are adding a non-terminal based UI (which won't happen anytime soon). This reverts commit 8f92b98848f9366e78c7aa824615bade83971513. Close #311
2016-05-04vis: clean up interaction between vis and uiMarc André Tanner
A concrete user interface implementation should not have to depend on libtermkey. Therefore the vis core now uses an independent instance to parse keys.
2016-05-04vis: make j and k a linewise inclusive motionMarc André Tanner
They behave like an inclusive motion, but only if they are also linewise (which they are by default). This should make `yjp` and `ykp` yank both the current and the next/previous line when the cursor is at the start of a line. See also 532f52e9e52b98dc5749396f7353295418e0227a and #237
2016-05-01vis: further cleanup input handling, introduce vis_keys_feed APIMarc André Tanner
2016-04-21vis: add infrastructure to register custom :-commandsMarc André Tanner
2016-04-18vis: use internal file to show lua errorsMarc André Tanner
This means no event handlers are run for it, hence there is no chance for recursive errors.
2016-04-05vis: remove left over from :sam commandMarc André Tanner
2016-04-03sam: add infrastructure to support multi letter commandsMarc André Tanner
2016-03-13vis: convert gn and gN text objects to use "/ register contentMarc 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-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: 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-12vis: respect window local mappings for child modesMarc André Tanner
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.
2016-02-12Mark some tables as constMarc André Tanner
This allows them to be placed into the read only ELF section.
2016-02-11vis: add support for different kind of text objectsMarc André Tanner
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.
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-27vis: remove unused struct Mode member 'is_user'Marc André Tanner
2016-01-14vis: move prompt handling to separate fileMarc André Tanner
2016-01-14vis: more cleanupsMarc André Tanner
2016-01-14vis: s/moves/vis_motions/gMarc André Tanner
2016-01-14vis: s/ops/vis_operators/gMarc 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
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-26Initialize enum values to the public API onesSilvan Jegen
2015-11-28view: remove ViewEvent infrastructureMarc André Tanner
The only used event handler was used to update the '< and '> marks which is now taken care of by the leave handler of the visual modes.
2015-11-08Remove trailing white space from source filesMarc André Tanner
2015-11-08vis: experimental support for lua/lpeg based syntax highlightingMarc André Tanner
The lua based lexers are searched in the following order: $VIS_PATH/lexers $HOME/.vis/lexers /usr/share/vis/lexers followed by the standard lua package.path
2015-11-08vis: remove regex based syntax highlightingMarc André Tanner
2015-11-08vis: more comments and cleanupsMarc André Tanner
2015-11-07vis: prefix enum VisMotion values with VIS_Marc 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 modes into separate fileMarc 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