| Age | Commit message (Collapse) | Author | Files | Lines |
|
This allows inclusion in other Makefiles (e.g. for C unit tests).
|
|
|
|
If lpeg is built statically, this allows for a completely static vis
binary that still supports syntax highlighting.
|
|
|
|
Also remove the lexers sub directory from the Lua search path.
As a result we attempt to open fewer files during startup:
$ strace -e open -o log ./vis +q config.h && wc -l log
In order to avoid having to modifiy all lexers which `require('lexer')`
we instead place a symlink in the top level directory.
$ ./configure --disable-lua
$ rm -rf lua
Should result in a source tree with most lua specifc functionality
removed.
|
|
|
|
A new Makefile target `luadoc` has been added which generates
HTML documentation in the doc subfolder using ldoc(1) from
https://stevedonovan.github.io/ldoc/
There are still a few problems to resovle, for example the links (e.g.
in parameter lists) to our custom types seem to be broken.
At this point only the C part of the Lua API is covered and even
that is not yet complete.
|
|
This avoids warnings like: "_FORTIFY_SOURCE requires
compiling with optimization".
|
|
The version substitution does not seem to work with BSD make
because ${VERSION} is expanded to an empty string.
|
|
Uses mandoc(1) to generate manual pages in HTML format.
|
|
Using the installation date might be misleading and harms
reproducible builds. Omitting the dates completely might
be dangerous because it seems to be a required field:
The only firm requirement of the mdoc prologue is that
the Dd macro comes first: many formatting systems will
read up to the first macro to determine the formatting
language. If Dd is not encountered first, the mdoc format
may not be recognised.
http://manpages.bsd.lv/mdoc.html
|
|
%m is the decimal month value, not the day of the month.
|
|
With a single $, make will try to expand it as a variable.
|
|
|
|
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.
|
|
The shell script should be reviewed for quoting issues, currently
it allows command injections as in:
$ vis-complete "'; rm -f some-file; echo "
However it is intended for interactive usage and from within vis
it is only ever called with a valid completion prefix.
The file name completion logic now supports nested directories.
Close #347
|
|
|
|
|
|
Unlike the existing vis(1) manpage, this uses the `mdoc` macro set
because it's (very slightly) more modern, and OpenBSD only supports
`mdoc` while everybody else supports both.
|
|
|
|
|
|
|
|
This serves as a wrapper around dmenu(1) and slmenu(1), by default
the latter is preferred because it also works without an X server.
The program and its default arguments can be configured by means of
the $VIS_MENU and $VIS_MENU_ARGS environment variables.
Eventually we might decide to inlcude a stripped down version of
slmenu in the vis source tree.
|
|
|
|
The intention is that vis.lua will provide parts of the Lua API not
implemented in the C core.
Please update your existing visrc.lua configuration file accordingly.
|
|
Close #231
|
|
|
|
|
|
The following vi commands have been dropped:
- saveas
- xit
- !
The following commands are only recognized in their short form:
- e (edit)
- q (quit)
- s (substitute)
- w (write)
- r (read)
|
|
|
|
|
|
|
|
|
|
|
|
This should fix `make local` (as used on travis-ci) and `make standalone`
in cases where `configure` was not run successfully due to missing
dependencies.
|
|
We want vis to be rebuilt when configuration changes, so make vis depend
on config.mk.
|
|
|
|
The new build instructions are:
$ ./configure && make && sudo make install
The configure script tries to auto detect support for various libraries
and compiler options. These choices can be overwritten by explicitly
specifing --{en,dis}able-{lua,selinux,acl}. See ./configure --help for
all supported options.
The configure script generates config.mk which should allow portable
(among GNU and BSD make) Makefiles. Manually editing config.mk is
still supported.
|
|
|
|
|
|
Both registers are currently treated identically.
The actual system integration is performed by two shell
scripts vis-copy and vis-paste.
|
|
|
|
This is basically the same as b18acc1.
|
|
|
|
|
|
|
|
Lua support can now be disabled at compile time using:
$ make CONFIG_LUA=0
This commit also adds an initial Lua API and provides a few
default hooks.
We now also require Lua >= 5.2 due to the uservalue constructs.
In principle the same functionality could be implemented using
function environments from Lua 5.1.
|
|
If the current $TERM value indicates 256 color support fall back
to xterm-256color otherwise try xterm.
Improves upon 43605fded457cec954600b688d54242341eedc7c
Closes #105
|
|
|
|
Force ncurses libdir to be /usr/lib not /usr/lib64.
|