aboutsummaryrefslogtreecommitdiff
path: root/vis.h
AgeCommit message (Collapse)AuthorFilesLines
2023-08-26support old option names but mark as deprecatedRandy Palamar1-0/+1
This is in response to a comment left on a35e7ea. Backwards compatibility is a good idea for at least a release.
2023-08-24Lua API: access and set all available optionsRandy Palamar1-0/+4
The first point of this commit is to allow all options to be read from lua. This has a number of uses for plugin writers. They are grouped into a couple of tables depending on what they control: `vis.options`: table with global configuration `win.options`: table with window specific configuration The second point is to allow you to set all these options as if they were simply lua variables. Technically this is already possible by using `vis:command("set ...")` but personally I think this interface is cleaner. Note that this already possible for some things like the current mode (eg. vis.mode = vis.modes.VISUAL). Examples: `vis.options.ai = true` `win.options.brk = " !?."` `win.options = { showeof = true, showtabs = true } There are a number of related issues and pull requests: closes #803: Lua API: let plugins read the values of options closes #812: Window layout property supersedes/closes #717: Add ability to access tabwidth from Lua supersedes/closes #1066: expose UI layout and allow it to be set from lua API
2023-08-01Prevent flickering in cursesIan Hixson1-0/+7
Reading from curs_refresh(3X) from curses, calling doupdate() repeatedly will cause 'several bursts of output to the screen'. wnoutrefresh() has the smarts to only copy the changed lines to the copied virtual screen, but doupdate() does not. There have been several bug reports related to flickering but all seems to be inconsistenly reproducible due to different terminal buffering behavior. See #1032, #327 Unfortunately, when I am using a slow display, I still notice flickering, so this commit changes the routines for opening new windows and splitting windows to wait until the last change is finished before calling doupdate().
2023-07-18Add fullscreen param to vis_pipe_collect() and Lua API vis:pipe()Jörg Bakker1-2/+8
This enables restoring the terminal from a fullscreen command like curses based program. Use cases are e.g. a file picker based on some external program like nnn (https://github.com/jarun/nnn).
2023-05-28remove unused vis_message_hide() functionRandy Palamar1-2/+0
the message window gets closed like a normal window and nothing calls this function. In fact, it wasn't even used when it was added 8 years ago in 979ab79.
2023-03-19vis: remove unused Arg union memberNick Hanley1-1/+0
This was missed when pairwise selection combinators were removed in 404bb95..d1d5853.
2022-11-29fix miscellaneous spelling mistakesNick Hanley1-3/+3
2022-07-12vis: Compare inodes instead of filenamesTom Schwindl1-2/+0
2020-12-28vis: implement multiline to/till motionsMarc André Tanner1-0/+4
These are currently not mapped by default but can be enabled by mappings using their virtual key names.
2020-12-28vis: rename to/till motion internalsMarc André Tanner1-4/+4
This renames the functions and constants implementing the to/till motions. The new names should indicate that matches are only returned within the current line (not globally). Apart from the changed virtual key/command name this contains no functional changes.
2020-12-10fix typos in commentsMoesasji1-9/+9
2020-09-20Merge branch 'csi_event' of https://github.com/ezdiy/vis into masterMarc André Tanner1-0/+1
2020-09-17vis: provide reverse mapping function for mark namesMarc André Tanner1-1/+2
2020-09-17vis: provide reverse mapping function for register namesMarc André Tanner1-1/+2
2020-09-17Pass up terminal CSI as events to Lua.Ez Diy1-0/+1
2020-08-01vis: remove ae outer entire text objectMarc André Tanner1-1/+0
Use :, which is a short hand for :0,$ instead.
2020-08-01vis: remove ie inner entire text objectMarc André Tanner1-1/+0
2020-07-17support for primary clipboardJeremy Bobbin1-0/+1
2018-05-16vis: remove v and V in operator pending modeMarc André Tanner1-1/+1
2018-05-16vis: implement g~ using tr(1)Marc André Tanner1-1/+0
2018-05-16vis: implement gU using tr(1)Marc André Tanner1-1/+0
2018-05-16vis: implement gu using tr(1)Marc André Tanner1-1/+0
2018-04-08Fix "parenthese" in identifiersTwoFinger1-2/+2
2018-03-05Fix a typo in identifiersTwoFinger1-2/+2
2018-02-27vis: implement normal/outer paragraph text objectMarc André Tanner1-0/+1
2017-09-15vis: remove ! operatorMarc André Tanner1-2/+0
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é Tanner1-2/+2
This should also fix coverity issue 157024.
2017-07-11vis: cleanup register related APIMarc André Tanner1-7/+14
Also expose all register slots through the Lua API.
2017-07-10vis: implement jump list in terms of marksMarc André Tanner1-3/+6
2017-07-08vis: cleanup marks implementationMarc André Tanner1-26/+27
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-2/+2
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é Tanner1-0/+1
This window local register holds the last active selections.
2017-06-15vis: implement pairwise selection combinator: unionMarc André Tanner1-0/+1
2017-06-15vis: add function to query which register was specifiedMarc André Tanner1-0/+1
2017-06-15vis: add basic infrastructure to store selections in registersMarc André Tanner1-0/+18
2017-06-15vis: rename uses of Cursor to SelectionMarc André Tanner1-1/+1
2017-05-27vis: remove unused enumeration constantsMarc André Tanner1-2/+0
2017-05-06vis: add vis_interrupt{,requested} functionsMarc André Tanner1-0/+12
2017-05-06vis: add doxygen commentsMarc André Tanner1-167/+531
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é Tanner1-0/+10
2017-04-20vis: add # register to insert cursor numberMarc André Tanner1-0/+1
2017-04-20vis: start cleaning up register related codeMarc André Tanner1-0/+3
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é Tanner1-1/+1
2017-04-09vis: remove handling of \r\n line endingsMarc André Tanner1-2/+1
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é Tanner1-0/+2
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é Tanner1-0/+2
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é Tanner1-2/+2
2017-03-22vis: fix syntax highlighting glitches with split windowsMarc André Tanner1-0/+1
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é Tanner1-0/+2
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é Tanner1-0/+5