summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-11-18Fix date command in man page installationMichael Forney
With a single $, make will try to expand it as a variable.
2016-11-18Update scheme.luaLuiz de Milon
The scheme syntax highlighting wasn't highlighting base functions, this fixes it.
2016-11-17Add code coverage badge to the READMEMarc André Tanner
2016-11-17test: updateMarc André Tanner
2016-11-17build: cache external source tarballs on Travis CIMarc André Tanner
2016-11-17build: add automated code coverage via Travis CI and codecov.ioMarc André Tanner
2016-11-17bulid: run individual tests directly from .travis.ymlMarc André Tanner
2016-11-17test/vim: redirect both stdout and stderr to /dev/nullMarc André Tanner
This should make the list of tests more readable.
2016-11-17test: use :qall! to terminate testsMarc André Tanner
This should make sure that vis always terminates and never hangs waiting for further input. Lua errors in particular cause a new window/file to be displayed showing a detailed error message. Previously only this internal file was closed but the original file remained open and prevented vis from exiting.
2016-11-17test/vim: ignore user supplied visrc.luaMarc André Tanner
Custom key bindings might interfere with the tests.
2016-11-17test/vim: remove trailing white spaces after pre-processing keys fileMarc André Tanner
Analogous to the previous commit.
2016-11-17test/vis: remove trailing white spaces after pre-processing keys fileMarc André Tanner
Using cpp(1) to remove comments might not have been the best idea, some versions of clang leave trailing white space intact whereas gcc removes them. These trailing spaces were wrongly interpreted as <Space> input. This hopefully fixes the tests on Mac OS X.
2016-11-16ui: work around libtermkey bug when stdin is /dev/nullMarc André Tanner
Libtermkey tries to write a terminal initialization sequence even when stdin is not a terminal as is the case when running `vis < /dev/null` or within the Travis CI environment. The broken code is in libtermkey's driver-ti.c function `start_driver`: /* There's no point trying to write() to a pipe */ if(fstat(tk->fd, &statbuf) == -1) return 0; if(S_ISFIFO(statbuf.st_mode)) return 1; Instead they should simply be using isatty(3). As a workaround we catch the resulting EBADF failure and try to re-open /dev/tty as stdin. If this fails too (as is the case in the Mac OS X Travis CI runner) create an abstract termkey instance instead. In this state vis will not be able to consume any input and will instead spin with 100% CPU usage in the mainloop. This is solely done to make the Lua tests, which control vis through other means, work within the Travis CI environment.
2016-11-16build: add automated Mac OS X builds via Travis CIMarc André Tanner
2016-11-16vis: treat vis_keys_feed input like a macro replayMarc André Tanner
We need to push keys individually to the input queue such that the state machine can advance and record keys into the operator macro if necessary. Previously feeding the following input: isome text<Escape>. would not work as expected because the complete key stream was pushed to the input queue at the same time during which the operator macro was not yet active. Thus the dot command at the end would have nothing to repeat.
2016-11-16test/vis: convert vis specific tests to use the Lua APIMarc André Tanner
Instead of using the keys utility to convert the textual key representation into something a terminal would send and then pipe it to vis' standard input use the Lua API to directly feed the keys into vis' input queue. This has a number of advantages: - it is less fragile: the keys utility is incomplete and only handles the most common keys - it is faster because there is no need to artificially delay input after an <Escape> key to give vis a chance to distinguish between a single <Escape> and the start of an escape sequence
2016-11-16sam: use default shell command for <, >, | and ! when applicapleMarc André Tanner
If the shell command is omitted, the last shell command (of any type) is substituted. The most recently used shell command is stored in a new register currently named `!`.
2016-11-16sam: support an empty regex as an alias for the most recently used oneMarc André Tanner
As in sam if an empty regex // is provided we substitute in the most recently used one. 0/regexp/// Will match the second occurrence in the fie.
2016-11-16test: remove travis CI integrationMarc André Tanner
Instead we will only run the desired tests from .travis.yml.
2016-11-16test/lua: redirect stdin and stderr to /dev/nullMarc André Tanner
Redirecting stdin mimics the environment on Travis CI. Redirecting stderr should give a nicer test list output, albeit some useful messages might get lost.
2016-11-15test: updateMarc André Tanner
2016-11-15test/lua: make tests more robust, print Lua include pathsMarc André Tanner
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-13test/lua: build vis binary if necessaryMarc André Tanner
2016-11-13test/lua: print :help output and distinguish between fail/errorMarc 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-11test/lua: adapt to different line ending type returned by Lua APIMarc André Tanner
2016-11-11test/sam: few new testsMarc André Tanner
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