aboutsummaryrefslogtreecommitdiff
path: root/main.c
AgeCommit message (Collapse)AuthorFilesLines
2017-07-14vis-lua: make selection first class primitives in Lua APIMarc André Tanner1-4/+3
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-10vis: remove change listMarc André Tanner1-12/+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: implement jump list in terms of marksMarc André Tanner1-2/+20
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-08vis: perform more renames cursor -> selectionMarc André Tanner1-129/+129
To fix compilation you need to update (or remove) config.h.
2017-07-08vis: cleanup marks implementationMarc André Tanner1-73/+23
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é Tanner1-1/+4
The key binding remain the same, but the selections are now stored on a per-buffer basis.
2017-07-05vis: make sure all selections have same anchored stateMarc André Tanner1-7/+17
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-04vis: implement `gv` by means of new "^ registerMarc André Tanner1-21/+0
This window local register holds the last active selections.
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é Tanner1-0/+42
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-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-15view: do not automatically anchor selections when setting rangeMarc André Tanner1-0/+2
2017-06-15vis: rename uses of Cursor to SelectionMarc André Tanner1-76/+76
2017-06-15view: rename view_cursors_columnMarc André Tanner1-4/+4
2017-06-15view: rename view_cursorsMarc André Tanner1-13/+13
2017-06-15view: rename view_cursors_column{,count,next}Marc André Tanner1-8/+8
2017-06-15view: rename view_cursors_countMarc André Tanner1-7/+7
2017-06-15view: rename view_cursors_nextMarc André Tanner1-12/+12
2017-06-15view: rename view_cursors_prevMarc André Tanner1-2/+2
2017-06-15view: view_cursors_selection_restoreMarc André Tanner1-1/+1
2017-06-15view: rename view_cursors_selection_swapMarc André Tanner1-1/+1
2017-06-15view: rename view_cursors_selection_clearMarc André Tanner1-1/+1
2017-06-15view: rename view_cursors_selection_getMarc André Tanner1-12/+12
2017-06-15view: rename view_cursors_primary_{get,set}Marc André Tanner1-11/+11
2017-06-15view: rename view_cursors_clearMarc André Tanner1-1/+1
2017-06-15view: rename view_cursors_disposeMarc André Tanner1-5/+5
2017-06-15view: rename view_cursors_newMarc André Tanner1-3/+3
2017-06-15view: remove view_cursors_multipleMarc André Tanner1-6/+6
2017-06-15vis: promote selections to first class primitivesMarc André Tanner1-25/+6
This unifies cursors and selections. The cursor are now represendted as singleton selections.
2017-06-01vis: use more portable format string for wchar_tMarc André Tanner1-1/+2
Use upper case Unicode (U+XXXX) notation for `ga`. Fix #568
2017-05-06vis: add doxygen commentsMarc André Tanner1-1/+1
Rename some structures, add typedefs for function pointers, remove unused arguments from vis_run.
2017-05-03text: remove count argument from text_{earlier,later}Marc André Tanner1-2/+8
2017-05-03vis: introduce count iterator to handle interrupted flagMarc André Tanner1-2/+4
2017-04-21vis: implement <C-r> in terms of gPMarc André Tanner1-9/+3
This simplifies the code and ensures consistent behavior.
2017-04-20vis: adapt <C-r> to new register handling codeMarc André Tanner1-3/+10
2017-04-19vis: restructure register handlingMarc André Tanner1-0/+1
Decouple register content from cursors. Previously each cursor had exactly one corresponding register. Now each register can save a list of values whose lifetime is not tied to the cursor. If multiple cursors exist and a put with a register holding only a single value is performed, then this value is inserted at every cursor location. If there are fewer values available than cursors, then only the matching ones will be used. If a register holding multiple values is inserted in a single cursor context, only the first value will be used. Another option would be to join all existing values. The details of this behavior might be changed in the future. <C-r> in insert mode has not yet been adapted and register handling in general needs to be cleaned up further. Fix #527
2017-04-18vis: rename vis_register_set to vis_registerMarc André Tanner1-1/+1