summaryrefslogtreecommitdiff
path: root/vis.h
AgeCommit message (Collapse)Author
2020-09-20Merge branch 'csi_event' of https://github.com/ezdiy/vis into masterMarc André Tanner
2020-09-17vis: provide reverse mapping function for mark namesMarc André Tanner
2020-09-17vis: provide reverse mapping function for register namesMarc André Tanner
2020-09-17Pass up terminal CSI as events to Lua.Ez Diy
2020-08-01vis: remove ae outer entire text objectMarc André Tanner
Use :, which is a short hand for :0,$ instead.
2020-08-01vis: remove ie inner entire text objectMarc André Tanner
2020-07-17support for primary clipboardJeremy Bobbin
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).