summaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)Author
2017-07-23build: add git based version information backMarc André Tanner
2017-07-23build: set version to 0.4Marc André Tanner
2017-07-10vis: implement jump list in terms of marksMarc André Tanner
2017-07-08vis: cleanup marks implementationMarc André Tanner
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.
2017-07-04Remove conditional initialization from MakefileGeorge Brown
No longer needed after standalone build target was removed.
2017-06-03build: port self-contained executable to libuntarMarc André Tanner
It is currently not packaged by Alpine which is why we are building it during docker image creation. Also cleanup vis-single.
2017-06-02port self-contained executable to libtarChristian Hesse
libarchive is nice, but adds a lot of bloat we carry around without using it. So port to libtar.
2017-06-01build: produce reproducible self contained executableChristian Hesse
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
2017-06-01Merge branch 'strip' of https://github.com/eworm-de/visMarc André Tanner
2017-06-01build: strip vis-single by defaultChristian Hesse
2017-06-01build: use single threaded compression for reproducible buildsChristian Hesse
2017-06-01build: inject the version into docker imageChristian Hesse
2017-05-31build: try to make docker build reproducibleMarc André Tanner
2017-05-31build: add a make docker targetMarc André Tanner
This should produce a self-contained vis binary for x86_64 Linux.
2017-05-31build: cleanup self contained executableMarc André Tanner
Set $PATH and $TERMINFO_DIRS environment variables, use chdir(2) to simplify extraction logic, improve error handling.
2017-05-31build: allow to build self-contained executableChristian Hesse
2017-04-20vis: start cleaning up register related codeMarc André Tanner
Now that register.h is no longer used by view.h we can move the struct and function declarations to vis-core.h.
2017-04-14build: install miscellaneous documentationDavid B. Lamkins
2017-04-11build: tweak CFLAGS for profiling targetMarc André Tanner
2017-04-09text: add mem{r,}chr(3) based byte search functionsMarc André Tanner
These are generally implemented efficiently in libc. While memrchr(3) is non-standard, it is a common extension. If it is not available, we use a simple C implementation from musl.
2017-03-27build: add git based version information backMarc André Tanner
2017-03-25build: set version to 0.3Marc André Tanner
2017-03-14Add experimental raw vt100 UI backendMarc André Tanner
The intention of this is not to slowly reimplement curses but to provide a minimal working terminal UI backend which can also be used for debugging, fuzzing and in environments where curses is not available. Currently no attempt is made to optimize terminal output. The amount of flickering will depend on the smartness of your terminal emulator.
2017-03-14Restructure display codeMarc André Tanner
Use pull instead of push based model for display code. Previously view.c was calling into the ui frontend code, with the new scheme this switches around: the necessary data is fetched by the ui as necessary. The UI independent display code is moved out of view.c/ui-curses.c into vis.c. The cell styles are now directly embedded into the Cell struct. New UI styles are introduced for: - status bar (focused / non-focused) - info message - window separator - EOF symbol You will have to update your color themes. The terminal output code is further abstracted into a generic ui-terminal.c part which keeps track of the whole in-memory cell matrix and #includes ui-terminal-curses.c for the actual terminal output. This architecture currently assumes that there are no overlapping windows. It will also allow non-curses based terminal user interfaces.
2017-03-05lua: fix more luacheck warningsMarc André Tanner
2017-03-03build: add luacheck make targetMarc André Tanner
2017-02-24vis: make help texts optional to produce a smaller binaryMarc André Tanner
$ ./configure --disable-help shrinks the binary by about 20K on a x86_64 system.
2017-02-17build: more complete cleanup in make cleanMarc André Tanner
2017-01-31build: properly strip elf executablesChristian Hesse
We had several elf executables that were not stripped properly. Move the filenames to a dedicated variable and use that to not miss anything.
2017-01-27vis-digraph: add utility to handle digraphsjosuah
Hook it up via Lua to <C-k> in insert and replace mode. Close #460 #475
2017-01-19text-regex: add regex backend based on libtreMarc André Tanner
While memory consumption should be improved, backward searches will still be slow, because they are implemented in terms of repeated forward searches. It needs to be investigated whether the underlying automaton can have its transitions reversed and essentially run backwards, as is the case in sam.
2017-01-16man: add man page for vis-complete(1)Christian Hesse
Signed-off-by: Christian Hesse <mail@eworm.de>
2017-01-16make: define EXECUTABLES and install in a loopChristian Hesse
Define EXECUTABLES and install in a loop. Also fix uninstalling man pages.
2016-12-27build: pass $CFLAGS_EXTRA through make debug targetMarc André Tanner
2016-12-22build: do not install lua/doc directoryMarc André Tanner
2016-12-22build: also include working tree state in version informationMarc André Tanner
2016-12-15build: move $CFLAGS_DEBUG into config.mkMarc André Tanner
This allows inclusion in other Makefiles (e.g. for C unit tests).
2016-12-13build: add configure options for built-in lpeg supportMarc André Tanner
2016-12-12Allow building lpeg into visMichael Forney
If lpeg is built statically, this allows for a completely static vis binary that still supports syntax highlighting.
2016-12-08Move manual pages to man/ subfolderMarc André Tanner
2016-12-07Move all lua related files to lua/ subfolderMarc André Tanner
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.
2016-12-06vis-lua: more extensive Lua API documentationMarc André Tanner
2016-12-05vis-lua: add preliminary version of LDoc based Lua API documentationMarc André Tanner
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.
2016-12-03build: do not define _FORTIFY_SOURCE for debug buildsMarc André Tanner
This avoids warnings like: "_FORTIFY_SOURCE requires compiling with optimization".
2016-12-02build: simplify manual page installationMarc André Tanner
The version substitution does not seem to work with BSD make because ${VERSION} is expanded to an empty string.
2016-12-02build: add new `make man` targetMarc André Tanner
Uses mandoc(1) to generate manual pages in HTML format.
2016-11-30man: use hard coded dates in manual pagesMarc André Tanner
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
2016-11-18Fix date format string in man pagesMichael Forney
%m is the decimal month value, not the day of the month.
2016-11-18Fix date command in man page installationMichael Forney
With a single $, make will try to expand it as a variable.
2016-11-10build: add Makefile target for code coverage via gcovMarc André Tanner