aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-11-15sam: reformat command definition block to avoid overly long namesMarc André Tanner1-50/+131
No functional changes.
2016-11-15Fix documentation regarding Lua paths in README and manual pageMarc André Tanner2-5/+6
Wether `/usr/local/share/vis` or `/usr/share/vis` is used depends on how the configure script was invoked. However, both are never used at the same time. This section should be completely reworked at some point.
2016-11-15vis: defer UI initialization and overhaul argument parsingMarc André Tanner5-91/+98
Do not initalize curses UI before it is actually needed. Move vis command line argument parsing logic into main.c. This fixes `vis -v` output and exit status. Fix #351
2016-11-15vis: overhaul and unify event generation codeMarc André Tanner3-29/+95
Add another layer of indirection, move actual event generation code to a dedicated function.
2016-11-15vis: generalize special stdin handlingMarc André Tanner5-8/+21
In preparation to move argument parsing code out of vis.c.
2016-11-15vis: move initial theme loading code to luaMarc André Tanner4-19/+2
2016-11-14vis-lua: add vis.ui.colors denoting the number of available colorsMarc André Tanner4-0/+34
2016-11-14ui: remove unused functionMarc André Tanner2-11/+0
2016-11-13build: do not clutter source tree with AppVeyor configuration fileMarc André Tanner1-0/+0
2016-11-13test: updateMarc André Tanner1-5/+5
2016-11-11lexers/fstab: add systemd-specific mount optionsChristian Hesse1-0/+9
2016-11-11test: adapt tests to changes in the Lua APIMarc André Tanner1-5/+5
2016-11-11vis: cleanup `:set option` argument parsing logicMarc André Tanner1-15/+5
No longer accept "no" prefix for boolean options. Reject too many option values (use proper quoting to specify values containing spaces).
2016-11-11vis: add `:set shell` optionMarc André Tanner3-0/+21
2016-11-11vis: attempt to use the default shell of the user to execute external commandsMarc André Tanner2-2/+12
We first try $SHELL and then fall back to the shell field of the password file entry (/etc/passwd).
2016-11-11sam: fix range for line zeroMarc André Tanner1-0/+2
:0 < echo "Should be inserted at the start of the file" :1 < echo "Should replace the first line"
2016-11-10vis: fix compilation with Lua support disabledMarc André Tanner1-1/+1
2016-11-10vis: change default status bar indication for Windows style line endingsMarc André Tanner2-4/+4
2016-11-10vis-lua: change misnamed attribute values of `file.newlines`Marc André Tanner5-14/+14
Also rename underlying C code.
2016-11-10vis: split `:set show <option>` into separate optionsMarc André Tanner3-36/+34
It was the only command option which needed `=` to assign a value to. This unifies the argument parsing logic and adds the possibility to specify a per-option help text. You might want to adapt your visrc.lua configuration accordingly.
2016-11-10vis: add help texts for :set option valuesMarc André Tanner1-11/+56
2016-11-10vis: make vis_draw actually draw each windowMarc André Tanner1-0/+2
2016-11-10build: add Makefile target for code coverage via gcovMarc André Tanner2-2/+8
2016-11-09README: Fix instructions for lexers and themesKlemens Nanni1-3/+3
2016-11-09Use nicer IRC badge in READMEMarc André Tanner1-1/+1
2016-11-09vis: handle cancelation of `r` commandMarc André Tanner1-0/+3
Do not alter the text if <Escape> is pressed instead of a regular replacement character.
2016-11-09Add another useless badge to the READMEMarc André Tanner1-1/+2
2016-11-09test: update test suiteMarc André Tanner1-5/+5
Includes the new ssam(1) based tests.
2016-11-09build: add automated Cygwin builds using AppVeyorMarc André Tanner1-0/+43
2016-11-09build: make `vis -v` version output more robustMarc André Tanner1-1/+1
The `git describe` command fails in shallow checked out git repositories which do not include the tag information. At least include the git short hash.
2016-11-09vis: improve `r` in normal and replace modeMarc André Tanner2-4/+21
In normal mode `r<key>` was previously implemented as `R<key><Escape>`. However this does not work when the replacement key is `<Enter>` to insert a new line, because in replace mode new lines are not overwritten. The count is now also respected. Also properly support `r` in visual mode where before it was aliased to `c`. Fix #190
2016-11-09vis: perform undo snapshotting more rarerlyMarc André Tanner2-7/+11
Do not take snapshots after every operation in insert/replace mode. As an example up until now we would take a snapshot after every <Backspace>/<Delete> press, hence when undoing changes each character would be restored individually. The same applies for <C-w> and related actions. From now on we only snaphost when: - transitioning from insert/replace mode to normal mode (but not when switching to operator pending mode) - an operation takes place from normal mode - an idle time expires in normal/replace mode
2016-11-09vis: add replace operator VIS_OP_REPLACEMarc André Tanner2-0/+23
Delete the given range and insert the same number of replacement characters.
2016-11-09vis: unify VIS_OP_{INSERT,REPLACE} implementationMarc André Tanner6-18/+19
They both perform a motion before changing mode.
2016-11-08sam: fix default value handling of +/- addressesMarc André Tanner1-3/+6
We need to distinguish between an explicit given zero and an omitted value which should default to 1. This should fix the following constructs which rounds up/down an existing selection to whole lines -0,+0 and -0+,+0-
2016-11-08vis: fix key parsing/skipping logicMarc André Tanner1-1/+3
We should only attempt to parse special keys if they are delimited by angle brackets i.e. <Key> but not Key. Previously we would wrongly skip over the latter.
2016-11-08sam: dispose primary cursor at end of groupMarc André Tanner1-0/+2
Something like :{ x/pattern/ } should not leave the original cursor around.
2016-11-06view: make viewport adjustment more robustMarc André Tanner1-1/+1
Make sure that the view_cursors_scroll_to function does not enter an infinite loop.
2016-11-05vis: display Lua package.cpath in :help outputMarc André Tanner3-17/+30
These paths are used to load the Lua LPeg module (lpeg.so) and are thus helpful when diagnosing setup problems in case syntax highlighting does not work.
2016-11-04sam: y should also loop over empty trailing matchesMarc André Tanner1-1/+5
The following x/example/ y/e/ i/-/ should produce `-e-xample-` where before it would wrongly result in `-e-xample`.
2016-11-02sam: improve cursor positioning after command executionMarc André Tanner1-7/+28
Previously something like :x/pattern :c/replacement would cause all cursors to disappear because the location they were placed on was deleted beneath them.
2016-11-02sam: fix default command handling at end of a groupMarc André Tanner1-1/+1
Something like :{ x/pattern/ } should select all occurrences of pattern.
2016-11-02sam: ignore white space between commands of a groupMarc André Tanner1-2/+1
2016-11-02sam: fix command name parsingMarc André Tanner1-2/+2
Any white space should terminate the command name. In particular multi-line commands as part of a group were not handled correctly.
2016-11-02sam: improve escape parsing logicMarc André Tanner1-22/+16
\\ should not be treated specially when parsing regular expressions.
2016-11-02ui: correctly display cell attributesMarc André Tanner1-1/+1
When multiple selections are being displayed and the selection orientation is changed, the complete primary selection was wrongly colored in the style of the primary cursor.
2016-11-01vis: abort syntax highlighting if viewport is invalidMarc André Tanner1-0/+3
In theory this should not happen in the first place, but in practice it might fix the symptoms reported in issue #367.
2016-11-01text: change usage of sizeof idiom for allocation of new objectsMarc André Tanner1-6/+6
The new code is preferable because it works independently of the variable type. Whereas before a change in type, but not within the sizeof expression would cause a wrongly sized allocation.
2016-11-01text: rename Buffer to Block to avoid confusion with buffer.[ch]Marc André Tanner1-123/+123
2016-10-28theme: use better defaults for color column and cursor line styles in 16 ↵Marc André Tanner2-4/+4
color mode Setting the background color to the same color as the text is not helpful, instead use red for the color column and underline to highlight the cursor line.