aboutsummaryrefslogtreecommitdiff
path: root/vis.c
AgeCommit message (Collapse)AuthorFilesLines
2020-05-12vis: cleanup pre-processing of :-commandsMarc André Tanner1-5/+5
Not sure why we need to allocate space for an additional character. This also avoids creating out of bound pointers.
2020-03-18Merge branch 'single-cursor-is-primary' of https://github.com/3dc1d3/visMarc André Tanner1-2/+1
2020-03-17color-column: Don't change fg/bg if not set explicitlyGennadiy Volkov1-1/+6
eg. if your long line is a comment with green fg, and you set your column color bg red while not specifying the fg, then the result is green fg on red bg. Prior to this change the result would be default fg on red bg, thus one char in the long line of green text would look odd/wrong. Of course if you do explicitly set the column color fg to default in your theme then the result will not be what you expect - ideally we need an UNSPECIFIED color type instead of relying on DEFAULT.
2020-03-17Set single cursor style as primary, not secondaryGennadiy Volkov1-2/+1
2020-02-07vis: restore mode when dot-repeatingGeorgi Kirilov1-0/+1
2020-02-07Merge branch 'fix-cc-cell' of https://github.com/zsugabubus/visMarc André Tanner1-5/+6
2020-02-04vis: make core code more robustMarc André Tanner1-13/+41
The core vis code was originally written under the assumption that there always exists at least one window. However, when being called from the Lua configuration file during start up this is not yet the case. In general, Lua code should always be placed within appropriate event handlers e.g. vis.events.INIT for global configuration. Invoking API functions depending on an active window from top level statements is not supported. Where before the editor simply crashed, these changes turn such code sections into NOPs. Fix #561
2020-01-27vis: make r<Enter> insert a new lineMarc André Tanner1-1/+1
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
2020-01-27vis: pass absolute path to pre/post save eventsMarc André Tanner1-1/+1
2020-01-26vis: don't search off screen when highlighting matchesGeorgi Kirilov1-1/+2
2020-01-12vis: don't draw colorcolumn after the endzsugabubus1-5/+6
Check for end-of-text.
2018-05-30vis: add loadmethod optionMarc André Tanner1-1/+1
Valid values are `read`, `mmap` or `auto`.
2018-05-16vis: remove v and V in operator pending modeMarc André Tanner1-1/+1
2018-01-26vis: insert carriage return upon <C-v><C-j> in insert modeMarc André Tanner1-1/+1
Fix #656
2017-12-09vis: make selections visible when lua support has been disabledMarc André Tanner1-2/+6
When the fore and background colors are the same, swapping them has no effect. Instead use the specified cell attributes. Previously the CELL_ATTR_REVERSE used in the default selection style was ignored. In general the default style definitions for non-Lua builds could probably be improved further. Fix #635
2017-11-04vis: take symbolic keys into account when evaluating key prefixesMarc André Tanner1-6/+32
Previously `ci<` would have no immediate effect because in operator pending mode `i<` was wrongly treated as a powwible prefix of `i<Tab>`. Fix #624
2017-09-15vis: remove ! operatorMarc André Tanner1-11/+1
Use visual mode and :| to filter text through external commands. The mapping was already reused for selection complement.
2017-07-23vis: use strncpy to copy into fixed sized bufferMarc André Tanner1-1/+1
In practice this was never an issue also it is guaranteed that the terminating zero byte is already there. Fixes coverity issue 157023.
2017-07-23vis: only draw selections of currently active windowMarc André Tanner1-2/+3
This should make it easier to see which window is focused.
2017-07-17vis: specify window in mark related APIMarc André Tanner1-1/+1
This should also fix coverity issue 157024.
2017-07-14vis: use distinct mark to save last selectionsMarc André Tanner1-1/+13
This partially reverts f9e2b884c15919757651db8b10c033a344a19e75 further jumps after leaving visual mode should not break `gv`.
2017-07-14vis-lua: make selection first class primitives in Lua APIMarc André Tanner1-1/+1
2017-07-11Revert "vis: process aliased key sequences individually"Marc André Tanner1-12/+2
This reverts commit 54ca598fcccff8844bfbe494cd3b325b2fea487f. The key handling functions are called too often. This for example causes problems for `r` (replace char) in combination with :langmap.
2017-07-10vis: let '^ mark point to top of jump listMarc André Tanner1-11/+1
2017-07-10vis: implement jump list in terms of marksMarc André Tanner1-20/+7
2017-07-08vis: cleanup marks implementationMarc André Tanner1-16/+1
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-11/+9
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-12/+10
This window local register holds the last active selections.
2017-07-04vis: process aliased key sequences individuallyMarc André Tanner1-2/+12
While the complete alias is added to the input queue, the called key bindings should only see the keys they have asked for. Previously a mapping such as: :map! normal gv \"^Sv did not work as expected because the key binding for the register did reject an invalid multi letter register name. Might also influence #581
2017-06-27vis: properly set initial window ui optionsMarc André Tanner1-1/+2
This should keep the EOF markers visible when another option is enabled. The whole UI option handling is a bit of a mess. In the longterm more of the drawing code should be moved into Lua.
2017-06-27Merge branch 'show-eof' of https://github.com/p-e-w/visMarc André Tanner1-1/+1
Conflicts: view.c view.h
2017-06-27Merge branch 'theme-tweaks-2' of https://github.com/p-e-w/visMarc André Tanner1-1/+1
Conflicts: view.c
2017-06-15vis: normalize selections after motionsMarc André Tanner1-0/+4
Merge overlapping selections. Fix #582
2017-06-15view: do not automatically anchor selections when setting rangeMarc André Tanner1-1/+3
2017-06-15vis: rename uses of Cursor to SelectionMarc André Tanner1-45/+45
2017-06-15view: rename view_cursorsMarc André Tanner1-7/+7
2017-06-15view: rename view_cursors_numberMarc André Tanner1-1/+1
2017-06-15view: rename view_cursors_countMarc André Tanner1-3/+3
2017-06-15view: rename view_cursors_nextMarc André Tanner1-7/+7
2017-06-15view: rename view_cursors_prevMarc André Tanner1-1/+1
2017-06-15view: rename view_cursors_selection_saveMarc André Tanner1-2/+2
2017-06-15view: rename view_cursors_selection_getMarc André Tanner1-6/+6
2017-06-15view: rename view_cursors_primary_{get,set}Marc André Tanner1-2/+2
2017-06-15view: rename view_cursors_disposeMarc André Tanner1-2/+2
2017-06-15view: remove view_cursors_multipleMarc André Tanner1-3/+3
2017-06-15vis: promote selections to first class primitivesMarc André Tanner1-25/+8
This unifies cursors and selections. The cursor are now represendted as singleton selections.
2017-06-15vis: strip double leading slashes of pathsMarc André Tanner1-1/+3
This fixes the internal representation as well as the path displayed in the status bar. Previously opening a file in the root directory e.g. /foo would be display as //foo.
2017-06-10More theme improvementsPhilipp Emanuel Weidmann1-1/+1
2017-06-04Add option to hide EOF markerPhilipp Emanuel Weidmann1-2/+2
2017-05-31vis: fix compiler warning concerning write(2) return valueMarc André Tanner1-1/+1