aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-07-14vis: use distinct mark to save last selectionsMarc André Tanner4-4/+18
This partially reverts f9e2b884c15919757651db8b10c033a344a19e75 further jumps after leaving visual mode should not break `gv`.
2017-07-14vis: always reduce selections when not in visual modeMarc André Tanner2-13/+15
For now we only allow singleton selections in normal mode, this might change in the future.
2017-07-14vis-lua: make selection first class primitives in Lua APIMarc André Tanner12-119/+146
2017-07-11vis: handle further input after mark and register specifiersMarc André Tanner1-10/+15
This fixes #531 in a more robust way. The key handling functions should be able to handle additional input passed to them as is for example the case when processing the `gv` mapping.
2017-07-11Revert "vis: process aliased key sequences individually"Marc André Tanner1-12/+2
This reverts commit 54ca598fcccff8844bfbe494cd3b325b2fea487f. The key handling functions are called too often. This for example causes problems for `r` (replace char) in combination with :langmap.
2017-07-11vis: cleanup register related APIMarc André Tanner4-33/+77
Also expose all register slots through the Lua API.
2017-07-11vis-lua: represent marks as array of rangesMarc André Tanner1-21/+34
2017-07-10test: updateMarc André Tanner1-5/+5
2017-07-10vis: remove change listMarc André Tanner4-63/+0
This was completely broken since 71eab6d5d72145f17ab3d4c87945ac12176ae8e9 and even before never really worked as one would expect. If anything it should be implemented like the jump list using marks.
2017-07-10vis: let '^ mark point to top of jump listMarc André Tanner5-25/+10
2017-07-10vis: implement jump list in terms of marksMarc André Tanner11-177/+185
2017-07-10array: add helper functions for LIFO usageMarc André Tanner2-0/+39
2017-07-10vis: simplify and fix pairwise selection intersectionMarc André Tanner1-1/+1
2017-07-10vis: simplify selection complement and minus implementationMarc André Tanner1-5/+3
2017-07-10vis: rename default mark to 'Marc André Tanner1-1/+1
2017-07-09Add Myrddin lexer and filetypes entryMichael Forney2-0/+75
2017-07-08test: updateMarc André Tanner1-7/+5
2017-07-08vis: perform more renames cursor -> selectionMarc André Tanner3-158/+160
To fix compilation you need to update (or remove) config.h.
2017-07-08view: keep but clear primary selection if instructed to replace allMarc André Tanner1-1/+4
Previously the last selection was kept implicitly to statisfy the invariant that at least one selection needs to exist.
2017-07-08vis: cleanup marks implementationMarc André Tanner9-208/+161
We now use ' to refer to marks. Mark a is set using 'am and restored using 'aM while this is slightly harder to type than ma and 'a it is consistent with register usage for yank/put and allows a default mark to be used which is handy for quick selection manipulation primitives.
2017-07-07vis: use marks instead of registers to store selectionsMarc André Tanner8-45/+81
The key binding remain the same, but the selections are now stored on a per-buffer basis.
2017-07-05text: limit write(2) calls to INT_MAX bytesMarc André Tanner1-1/+1
Otherwise this fails on macOS. Fix #578
2017-07-05vis: make sure all selections have same anchored stateMarc André Tanner3-10/+23
With the current model the differences between normal and visual mode is that in the latter selections are anchored (meaning one endpoint remains fixed), while in normal mode both endpoints can in principle be updated simultaneously (currently they are always colapsed to a singleton selection, giving the impression of cursors).
2017-07-04Remove conditional initialization from MakefileGeorge Brown1-7/+0
No longer needed after standalone build target was removed.
2017-07-04vis: implement `gv` by means of new "^ registerMarc André Tanner9-66/+20
This window local register holds the last active selections.
2017-07-04vis: process aliased key sequences individuallyMarc André Tanner1-2/+12
While the complete alias is added to the input queue, the called key bindings should only see the keys they have asked for. Previously a mapping such as: :map! normal gv \"^Sv did not work as expected because the key binding for the register did reject an invalid multi letter register name. Might also influence #581
2017-07-03Fix Unicode regex searches for libtre buildsMarc André Tanner1-6/+55
Fix #566
2017-06-27man: Fix a typoTwoFinger1-2/+2
2017-06-27vis: properly set initial window ui optionsMarc André Tanner2-2/+3
This should keep the EOF markers visible when another option is enabled. The whole UI option handling is a bit of a mess. In the longterm more of the drawing code should be moved into Lua.
2017-06-27Merge branch 'show-eof' of https://github.com/p-e-w/visMarc André Tanner7-3/+24
Conflicts: view.c view.h
2017-06-27Merge branch 'theme-tweaks-2' of https://github.com/p-e-w/visMarc André Tanner9-17/+24
Conflicts: view.c
2017-06-19test: updateMarc André Tanner1-5/+5
2017-06-15vis: enable new selection manipulation primitivesMarc André Tanner1-8/+24
This is still very much work in progress. You will have to remove (or update) your local config.h file.
2017-06-15vis: normalize selections after pairwise combinationMarc André Tanner1-0/+26
2017-06-15vis: implement pairwise selection combinator: rightmostMarc André Tanner1-0/+15
2017-06-15vis: implement pairwise selection combinator: leftmostMarc André Tanner1-0/+15
2017-06-15vis: implement pairwise selection combinator: shorterMarc André Tanner1-0/+17
2017-06-15vis: implement pairwise selection combinator: longerMarc André Tanner1-0/+17
2017-06-15vis: implement pairwise selection combinator: intersectionMarc André Tanner1-0/+13
2017-06-15vis: implement pairwise selection combinator: unionMarc André Tanner2-0/+43
2017-06-15vis: implement subtraction of selectionsMarc André Tanner1-0/+36
2017-06-15vis: implement complement of selectionsMarc André Tanner1-0/+40
2017-06-15vis: implement intersection of selectionsMarc André Tanner1-0/+42
2017-06-15vis: implement union of selectionsMarc André Tanner1-0/+59
2017-06-15array: add array initialization utility functionMarc André Tanner2-0/+6
Reuses the element size from another array.
2017-06-15view: make sure primary selection is visibleMarc André Tanner1-0/+3
2017-06-15vis: allow selections to be restored from registersMarc André Tanner1-0/+18
2017-06-15vis: allow active selection to be saved to a registerMarc André Tanner1-0/+18
2017-06-15vis: add function to query which register was specifiedMarc André Tanner2-0/+7
2017-06-15vis: add basic infrastructure to store selections in registersMarc André Tanner3-0/+54