aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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
2017-06-15view: add functions to save/restore arbitrary rangesMarc André Tanner2-0/+26
2017-06-15view: add functions to get/set all selectionsMarc André Tanner2-5/+47
2017-06-15view: disallow setting of invalid selectionsMarc André Tanner2-6/+10
2017-06-15array: add array_sort utility functionMarc André Tanner2-0/+8
2017-06-15text-util: add text_range_intersect utility functionMarc André Tanner2-0/+8
2017-06-15text-util: change definition of range intersectionMarc André Tanner1-1/+1
Adjacent ranges do not overlap.
2017-06-15vis: normalize selections after motionsMarc André Tanner1-0/+4
Merge overlapping selections. Fix #582
2017-06-15sam: simplify print command implementationMarc André Tanner1-16/+11
2017-06-15view: fix view_selections_setMarc André Tanner1-8/+2
The anchor needs to be set after the cursor was positioned, otherwise the cursor placement will immediately destroy the selection for in the non-anchored case.
2017-06-15view: do not automatically anchor selections when setting rangeMarc André Tanner4-4/+9
2017-06-15view: introduce view_selections_normalizeMarc André Tanner2-0/+24
Dispose all invalid and merge all overlapping selections.
2017-06-15vis: rename uses of Cursor to SelectionMarc André Tanner13-635/+631
2017-06-15view: rename view_cursors_columnMarc André Tanner3-6/+6
2017-06-15view: rename view_cursorsMarc André Tanner7-33/+33
2017-06-15view: rename view_selection_anchoredMarc André Tanner3-3/+3
2017-06-15view: rename view_cursors_column{,count,next}Marc André Tanner3-12/+12
2017-06-15view: rename view_cursors_numberMarc André Tanner4-5/+5
2017-06-15view: rename view_cursors_countMarc André Tanner8-19/+19
2017-06-15view: rename view_cursors_nextMarc André Tanner7-30/+30
2017-06-15view: rename view_cursors_prevMarc André Tanner4-5/+5