aboutsummaryrefslogtreecommitdiff
path: root/vis-modes.c
AgeCommit message (Collapse)AuthorFilesLines
2016-04-06vis: fix vi filter operators ! and =Marc André Tanner1-1/+2
2016-02-20vis: reject obviously recursive key bindingsMarc André Tanner1-0/+3
This does only detect the simplest cases.
2016-02-12vis: respect window local mappings for child modesMarc André Tanner1-0/+6
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-10vis: simplify modes implementationMarc André Tanner1-0/+2
Make replace mode a child of insert mode and visual line a child of visual mode. This means any key binding for the former is automatically available in the latter. Also keys can not be unmapped solely from the child modes.
2016-01-27vis: remove unused struct Mode member 'is_user'Marc André Tanner1-7/+1
2016-01-18vis: do not move cursor when entering visual line modeMarc André Tanner1-1/+1
Switching to character wise visual mode is still different than in vim because we do not distinguish between line wise and charwise selections. Close #149
2016-01-14vis: more cleanupsMarc André Tanner1-1/+5
2016-01-14vis: s/ops/vis_operators/gMarc André Tanner1-2/+2
2016-01-13Implement command/search prompt history as a regular fileMarc André Tanner1-53/+8
2016-01-13vis: add infrastructure to support per window key bindingsMarc André Tanner1-6/+27
2016-01-13vis: cleanup key binding definitionsMarc André Tanner1-62/+6
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-11-28vis: add namespace prefix for MARK_SELECTION_{START,END}Marc André Tanner1-4/+4
2015-11-28vis: improve switching to prompt modeMarc André Tanner1-6/+20
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-27vis: implement filter operator !Marc André Tanner1-0/+2
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-08vis: reindent config.def.h (no functional changes)Marc André Tanner1-36/+1
2015-11-07vis: shadow default register while in prompt modeMarc André Tanner1-2/+11
Editing operation in prompt mode should not affect the default register.
2015-11-07vis: prefix enum VisMotion values with VIS_Marc André Tanner1-1/+1
2015-11-07vis: prefix enum VisOperator values with VIS_Marc André Tanner1-2/+2
2015-11-07vis: API documentation and cleanupMarc André Tanner1-6/+6
2015-11-07vis: introduce vis_cancel APIMarc André Tanner1-3/+3
2015-11-07vis: move modes into separate fileMarc André Tanner1-0/+281