summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-11-15sam: make `:w` and `:wq` honor their given rangeMarc André Tanner
As in visual mode write commands have to be forced with ! if the changes are destructive i.e. only parts of the file are written.
2016-11-15sam: `e`, `q`, `X`, `Y`, `!` and all vi commands should not take addressesMarc André Tanner
2016-11-15sam: reformat command definition block to avoid overly long namesMarc André Tanner
No functional changes.
2016-11-15Fix documentation regarding Lua paths in README and manual pageMarc André Tanner
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é Tanner
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é Tanner
Add another layer of indirection, move actual event generation code to a dedicated function.
2016-11-15vis: generalize special stdin handlingMarc André Tanner
In preparation to move argument parsing code out of vis.c.
2016-11-15vis: move initial theme loading code to luaMarc André Tanner
2016-11-14vis-lua: add vis.ui.colors denoting the number of available colorsMarc André Tanner
2016-11-14ui: remove unused functionMarc André Tanner
2016-11-13build: do not clutter source tree with AppVeyor configuration fileMarc André Tanner
2016-11-13test: updateMarc André Tanner
2016-11-11lexers/fstab: add systemd-specific mount optionsChristian Hesse
2016-11-11test: adapt tests to changes in the Lua APIMarc André Tanner
2016-11-11vis: cleanup `:set option` argument parsing logicMarc André Tanner
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é Tanner
2016-11-11vis: attempt to use the default shell of the user to execute external commandsMarc André Tanner
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é Tanner
: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é Tanner
2016-11-10vis: change default status bar indication for Windows style line endingsMarc André Tanner
2016-11-10vis-lua: change misnamed attribute values of `file.newlines`Marc André Tanner
Also rename underlying C code.
2016-11-10vis: split `:set show <option>` into separate optionsMarc André Tanner
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é Tanner
2016-11-10vis: make vis_draw actually draw each windowMarc André Tanner
2016-11-10build: add Makefile target for code coverage via gcovMarc André Tanner
2016-11-09README: Fix instructions for lexers and themesKlemens Nanni
2016-11-09Use nicer IRC badge in READMEMarc André Tanner
2016-11-09vis: handle cancelation of `r` commandMarc André Tanner
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é Tanner
2016-11-09test: update test suiteMarc André Tanner
Includes the new ssam(1) based tests.
2016-11-09build: add automated Cygwin builds using AppVeyorMarc André Tanner
2016-11-09build: make `vis -v` version output more robustMarc André Tanner
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é Tanner
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é Tanner
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é Tanner
Delete the given range and insert the same number of replacement characters.
2016-11-09vis: unify VIS_OP_{INSERT,REPLACE} implementationMarc André Tanner
They both perform a motion before changing mode.
2016-11-08sam: fix default value handling of +/- addressesMarc André Tanner
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é Tanner
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é Tanner
Something like :{ x/pattern/ } should not leave the original cursor around.
2016-11-06view: make viewport adjustment more robustMarc André Tanner
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é Tanner
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é Tanner
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é Tanner
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é Tanner
Something like :{ x/pattern/ } should select all occurrences of pattern.
2016-11-02sam: ignore white space between commands of a groupMarc André Tanner
2016-11-02sam: fix command name parsingMarc André Tanner
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é Tanner
\\ should not be treated specially when parsing regular expressions.
2016-11-02ui: correctly display cell attributesMarc André Tanner
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é Tanner
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é Tanner
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.