summaryrefslogtreecommitdiff
path: root/main.c
AgeCommit message (Collapse)Author
2020-01-30vis: Fix a few :help stringsTwoFinger
2020-01-27vis: make r<Enter> insert a new lineMarc André Tanner
Special case <C-v><Enter> to still insert a carriage return as discussed in #656 and changed in 2cfc9c867bdfd4cc3ae3246f31cf636633fe1a5f. Due to limitations of the current implementation <C-v> is not generic, i.e. combining it as r<C-v><Enter> will not work. Fixes #765
2018-05-16vis: remove v and V in operator pending modeMarc André Tanner
2018-05-16vis: remove gPMarc André Tanner
This only removes the user visible mapping, the underlying implementation is kept for now. It is used in insert mode for the implementation of <C-r> (register insertion).
2018-05-16vis: remove gpMarc André Tanner
This only removes the user visible mapping, the underlying implementation is kept for now. This might change in the future.
2018-05-16vis: implement g~ using tr(1)Marc André Tanner
2018-05-16vis: implement gU using tr(1)Marc André Tanner
2018-05-16vis: implement gu using tr(1)Marc André Tanner
2018-04-08Fix "parenthese" in identifiersTwoFinger
2018-03-27main: fix a few typos in commentsDelapouite
2018-03-05Fix a typo in identifiersTwoFinger
2018-02-27vis: implement normal/outer paragraph text objectMarc André Tanner
2018-02-27vis: reset count after window scroll/slide actionsMarc André Tanner
Previously something like n<C-e> would also apply the count `n` to the subsequent action.
2017-12-08vis: let <C-c> behave as <Escape> if only one selection existsMarc André Tanner
This should allow the :-command prompt to be closed with <C-c><C-c> (from insert mode) or <C-c> (from normal mode). Fix #608
2017-09-15vis: remove ! operatorMarc André Tanner
Use visual mode and :| to filter text through external commands. The mapping was already reused for selection complement.
2017-07-27vis: ignore SIGQUITMarc André Tanner
Pressing Ctrl+\ should probably not terminate the editor. In previous versions libtermkey would disable signal generation by disabling termios VQUIT. However, curses probably overrides it when they both fight for terminal settings. This should probably be cleaned up at some point. Ignoring SIGQUIT seems like a good idea anyway.
2017-07-17vis: specify window in mark related APIMarc André Tanner
This should also fix coverity issue 157024.
2017-07-17vis: fix coverity issue 157025Marc André Tanner
The static analyzer can currently not infere that there always exists at least one selection.
2017-07-14vis: always reduce selections when not in visual modeMarc André Tanner
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é Tanner
2017-07-11vis: handle further input after mark and register specifiersMarc André Tanner
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é Tanner
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é Tanner
2017-07-10vis: simplify and fix pairwise selection intersectionMarc André Tanner
2017-07-10vis: simplify selection complement and minus implementationMarc André Tanner
2017-07-08vis: perform more renames cursor -> selectionMarc André Tanner
To fix compilation you need to update (or remove) config.h.
2017-07-08vis: cleanup marks implementationMarc André Tanner
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é Tanner
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é Tanner
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é Tanner
This window local register holds the last active selections.
2017-06-15vis: normalize selections after pairwise combinationMarc André Tanner
2017-06-15vis: implement pairwise selection combinator: rightmostMarc André Tanner
2017-06-15vis: implement pairwise selection combinator: leftmostMarc André Tanner
2017-06-15vis: implement pairwise selection combinator: shorterMarc André Tanner
2017-06-15vis: implement pairwise selection combinator: longerMarc André Tanner
2017-06-15vis: implement pairwise selection combinator: intersectionMarc André Tanner
2017-06-15vis: implement pairwise selection combinator: unionMarc André Tanner
2017-06-15vis: implement subtraction of selectionsMarc André Tanner
2017-06-15vis: implement complement of selectionsMarc André Tanner
2017-06-15vis: implement intersection of selectionsMarc André Tanner
2017-06-15vis: implement union of selectionsMarc André Tanner
2017-06-15vis: allow selections to be restored from registersMarc André Tanner
2017-06-15vis: allow active selection to be saved to a registerMarc André Tanner
2017-06-15view: do not automatically anchor selections when setting rangeMarc André Tanner
2017-06-15vis: rename uses of Cursor to SelectionMarc André Tanner
2017-06-15view: rename view_cursors_columnMarc André Tanner
2017-06-15view: rename view_cursorsMarc André Tanner
2017-06-15view: rename view_cursors_column{,count,next}Marc André Tanner
2017-06-15view: rename view_cursors_countMarc André Tanner
2017-06-15view: rename view_cursors_nextMarc André Tanner