| Age | Commit message (Collapse) | Author | Files | Lines |
|
The amount of code we need to detect if this is present and handle
the fallback is more than if we just provide it ourselves.
Also we are passing in a difference of pointers so the argument
type should be ptrdiff_t. This avoids a C brain damage of having
unsigned size type which can wrap around if the caller is careful.
|
|
|
|
This removes the function pointer interface which was adding
needless complexity and making it difficult to add new events. Now
if new events are only meant for lua they only need to be added to
the lua interface. This will also have a minor reduction in
runtime memory usage and produce a smaller binary.
The only runtime difference is that QUIT happens after all windows
have been closed and their files freed.
|
|
|
|
|
|
|
|
Rationale
A modern text editor usually includes tools for helping user
to avoid mistakes in texts. Those tools include spell checkers and
programming language integrations. Though vis explicitly states
that the full featured IDE is not a goal, implementing some of
the tools might be achieved using its Lua API. Unfortunatelly
the API misses the ability to start a process and to perform
a communication with it without completely blocking the editor UI,
which is crucial for any tool that performs background tracking of
the inserted text (e. g. language servers).
Implementation details
New feature introduces new API method: communicate. The method
start a new process and returns a handle to communicate with
the process instantly. The patch inserts stderr and stdout
file descriptors of the process to the pselect call of the main loop
used for reading user input to track the process state without
blocking the main loop until the process is finished.
Any changes in the process state cause the iteration of the main loop
and are being exposed to the Lua API as new event: PROCESS_RESPONSE.
|
|
|
|
some users were (rightfully) annoyed by this
|
|
from feature_test_macros(7):
> Defining _XOPEN_SOURCE with a value of 700 or greater produces the
> same effects as defining _POSIX_C_SOURCE with a value of 200809L or
> greater.
Depending on the configuration and system pkg-conf files there can be
redefinition warnings. Rather than patching with a -U_POSIX_C_SOURCE
it can just be dropped instead.
|
|
|
|
We can make `od` skip the address radix, so `sed` does not
need to remove it.
|
|
|
|
|
|
|
|
The moved functions do not need access to internals of text.c, but
instead use the public interfaces. Splitting them out should facilitate
experimentation with different core text management data structures.
|
|
|
|
This groups all I/O related code together to make it reusable in different
core text data structure implementations.
|
|
|
|
|
|
The target calls `make clean` in the test submodule, if present.
The target is called by the `distclean` target.
|
|
|
|
|
|
|
|
Do not strip executables by default.
Fix #811
|
|
We keep a running docker container in the background. If the build
process fails this becomes dangling. Make sure the container is properly
killed.
|
|
Otherwise the config.mk file generated by ./configure does not end up
in the source tree and has no effect. Our Makefile does currently not
support out of tree builds. Previously this worked because the WORKDIR
within the Dockerfile was set to the vis source (and build) directory.
|
|
This should catch Alpine package changes such as the one fixed in
0ba252f08e9ef7b62c442eb91b36822d654f5b04.
|
|
This allows to build with docker-compatible container engine:
make DOCKER=podman docker
|
|
This removes the docker image and volume `vis` and thus purges everything
we added in docker.
|
|
|
|
Starting with mandoc version 1.14.2 the xhtml format is no longer an
alias for html.
|
|
This makes sure the feature is enabled as expected.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
No longer needed after standalone build target was removed.
|
|
It is currently not packaged by Alpine which is why we are building it
during docker image creation.
Also cleanup vis-single.
|
|
libarchive is nice, but adds a lot of bloat we carry around without
using it. So port to libtar.
|
|
Giving tar the parameter '--sort=name' sorts direcory entries, but keeps
single files as-is. So instead sort the list retrieved by find.
Also set the file mode...
Works for me. [TM] :D
|
|
|
|
|
|
|
|
|
|
|