summaryrefslogtreecommitdiff
path: root/vis.h
AgeCommit message (Collapse)Author
2018-05-16vis: remove v and V in operator pending modeMarc André Tanner
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-05Fix a typo in identifiersTwoFinger
2018-02-27vis: implement normal/outer paragraph text objectMarc André Tanner
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-17vis: specify window in mark related APIMarc André Tanner
This should also fix coverity issue 157024.
2017-07-11vis: cleanup register related APIMarc André Tanner
Also expose all register slots through the Lua API.
2017-07-10vis: implement jump list in terms of marksMarc André Tanner
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-04vis: implement `gv` by means of new "^ registerMarc André Tanner
This window local register holds the last active selections.
2017-06-15vis: implement pairwise selection combinator: unionMarc André Tanner
2017-06-15vis: add function to query which register was specifiedMarc André Tanner
2017-06-15vis: add basic infrastructure to store selections in registersMarc André Tanner
2017-06-15vis: rename uses of Cursor to SelectionMarc André Tanner
2017-05-27vis: remove unused enumeration constantsMarc André Tanner
2017-05-06vis: add vis_interrupt{,requested} functionsMarc André Tanner
2017-05-06vis: add doxygen commentsMarc André Tanner
Rename some structures, add typedefs for function pointers, remove unused arguments from vis_run.
2017-05-03vis: introduce count iterator to handle interrupted flagMarc André Tanner
2017-04-20vis: add # register to insert cursor numberMarc André Tanner
2017-04-20vis: start cleaning up register related codeMarc André Tanner
Now that register.h is no longer used by view.h we can move the struct and function declarations to vis-core.h.
2017-04-18vis: rename vis_register_set to vis_registerMarc André Tanner
2017-04-09vis: remove handling of \r\n line endingsMarc André Tanner
Use something like dos2unix(1) and unix2dos(1), if you need to edit such files.
2017-04-04vis: add motions to move by codepointsMarc André Tanner
Some people might prefer this for <Backspace> behavior. Except for that and debugging purposes using `ga` and `g8` it is not yet that useful.
2017-03-31vis: add non-default actions for vi compatible n/N motionsMarc André Tanner
The following key mappings should result in the vi behavior: :map! normal n <vis-motion-search-repeat> :map! normal N <vis-motion-search-repeat-reverse> The default remains unchanged, that is `n` (`N`) always searches towards the end (start) of the file. Fix #470
2017-03-31vis: rename search related constantsMarc André Tanner
2017-03-22vis: fix syntax highlighting glitches with split windowsMarc André Tanner
When a file was being displayed in multiple windows and changes were performed to the one showing the preceding file region, the syntax highlighting of the window showing the later parts would get messed up.
2017-03-21vis: make `cw` and `cW` more vim compatibleMarc André Tanner
If the starting position is: * on a space or tab use the `w` motion * on the last letter of a word use `l` or `e` depending on whether a count was given. This also applies for single letter words. * otherwise use the `e` motion As in vim `cw` and `dw` behave differently, whether that is desirable remains to be seen. Might fix #521
2017-03-19vis: add infrastructure for user specified operatorsMarc André Tanner
2017-03-19Move :set horizon option implementaiton to luaMarc André Tanner
2017-03-19Move :set theme option implementation to luaMarc André Tanner
2017-03-19Move :set syntax option implementation to luaMarc André Tanner
It is no longer possible to change the used syntax by assigning to the `win.syntax = name` field, instead the function win:set_syntax(name)` should be called. The distinction between filetype and syntax lexer to use should probably be clarified/cleaned up at some point.
2017-03-19vis: add infrastructure to dynamically add :set optionsMarc André Tanner
2017-03-14Restructure display codeMarc André Tanner
Use pull instead of push based model for display code. Previously view.c was calling into the ui frontend code, with the new scheme this switches around: the necessary data is fetched by the ui as necessary. The UI independent display code is moved out of view.c/ui-curses.c into vis.c. The cell styles are now directly embedded into the Cell struct. New UI styles are introduced for: - status bar (focused / non-focused) - info message - window separator - EOF symbol You will have to update your color themes. The terminal output code is further abstracted into a generic ui-terminal.c part which keeps track of the whole in-memory cell matrix and #includes ui-terminal-curses.c for the actual terminal output. This architecture currently assumes that there are no overlapping windows. It will also allow non-curses based terminal user interfaces.
2017-03-07vis: remove now unused #defineMarc André Tanner
2017-03-05vis: add file argument to vis_pipe_collectMarc André Tanner
2017-02-24vis: make help texts optional to produce a smaller binaryMarc André Tanner
$ ./configure --disable-help shrinks the binary by about 20K on a x86_64 system.
2017-02-10vis: introduce vis_keys_utf8Marc André Tanner
2017-02-05vis: add file argument to vis_pipeMarc André Tanner
2017-01-28vis: keep track of most recently processed keys of input queueMarc André Tanner
Currently the key handling functions do not know through which mapping they were invoked. As an example the `count` handler exploits the implementation detail that the input queue is stored in contiguous memory, meaning `keys[-1]` gives access to the digit being pressed. This adds infrastructure to keep track of the two most recently processed keys of the input queue. The information is guaranteed to be accurate for the initial invocation of the key handler but will be overwritten in case new keys are pushed to the input queue (e.g. through vis_keys_feed).
2017-01-20vis: slightly cleanup repeat code, always set dot registerMarc André Tanner
2017-01-18vis: do not take undo snaphots while replaying a macroMarc André Tanner
The vis_keys_feed function is currently unaffected by this change. It still creates individual undo points. While this is probably undesirable from an API point of view, it keeps the lua based tests that use undo points working.
2017-01-13vis: introduce registers 0-9 and & to capture search matchesMarc André Tanner
These are currently only updated for `x` and `y` sam commands, whether they should be updated for other search related activities (`/`, `?`, `n`, `N`, `*`, `#` etc.) needs to be investigated.
2017-01-10vis: add register description to :help outputMarc André Tanner
2017-01-10vis: add valid marks to :help outputMarc André Tanner
2017-01-06vis: simplify mode lookup for :map and :unmapMarc André Tanner
2016-12-31vis: allow user registered :-commands to specify a help textMarc André Tanner