aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-03-23Make vis-clipboard executableMarc André Tanner1-0/+0
2016-03-23configure: fix detection of libtermkeyMarc André Tanner1-1/+1
On Cygwin the configure check for libtermkey fails due to unresolved symbols from libcurses. The pkg-config file of libtermkey lacks a reference to its dependencies (either curses or unibilium). Since we depend on curses anyway we can fix this by adding $LDFLAGS_CURSES to the configure check.
2016-03-23configure: use temporary file instead of /dev/null for compiler outputMarc André Tanner1-12/+13
This should fix configure checks on Cygwin whereas before gcc would attempt (and fail) to write to /dev/null.exe
2016-03-23Add missing wordMarc André Tanner1-1/+1
2016-03-23Remove identically replicated copyright comments from source filesMarc André Tanner7-103/+34
2016-03-23vis: use vis-clipboard instead of vis-{copy,paste} scriptsMarc André Tanner5-29/+6
2016-03-23Add vis-clipboard scriptRichard Burke1-0/+104
Originally written for the wed editor by Richard Burke, released under the ISC license for vis.
2016-03-22configure: clear ${C,LD}FLAGS_LUA in error caseMarc André Tanner1-0/+2
2016-03-22configure: exchange _{BSD,DARWIN_C}_SOURCE definesMarc André Tanner1-2/+2
2016-03-21Remove bashisms from configure script.Richard Burke1-4/+7
2016-03-21vis: also lookup Lua support files relative to the binary locationMarc André Tanner5-5/+23
This simplifies deployment of vis on remote systems without root access. The idea is to extract a statically linked binary together with the lexer syntax files into some directory, adjust $PATH to include it and have everything just work. For now this uses /proc/self/exe and thus only works on Linux based systems.
2016-03-21configure: probe for hardening flagsMarc André Tanner1-1/+8
2016-03-21configure: probe for size optimizing flags (disabled for now)Marc André Tanner1-0/+3
2016-03-21build: reorder some variablesMarc André Tanner2-6/+8
2016-03-21build: create empty config.mk if it does not existMarc André Tanner1-0/+3
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.
2016-03-21configure: make vis depend on config.mkChristian Hesse1-1/+1
We want vis to be rebuilt when configuration changes, so make vis depend on config.mk.
2016-03-21build: add vis subdirectory to $SHAREPREFIXMarc André Tanner1-5/+5
2016-03-21configure: make man and share directories configurableChristian Hesse1-2/+8
2016-03-21configure: fix install prefix for man and share directoriesChristian Hesse1-0/+2
2016-03-21configure: fix condition for libselinuxChristian Hesse1-2/+2
2016-03-21configure: fix condition for libaclChristian Hesse1-2/+2
2016-03-21configure: fix condition for libluaChristian Hesse1-4/+4
2016-03-21configure: fix condition for libtermkeyChristian Hesse1-2/+2
2016-03-21configure: fix condition for ncursesChristian Hesse1-4/+4
2016-03-21build: overhaul build system auto detect stuff using a configure scriptMarc André Tanner6-254/+663
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.
2016-03-15vis: do not segfault when given a NULL command to processMarc André Tanner1-0/+2
2016-03-15vis: do properly replay ": and "/ registersMarc André Tanner2-1/+9
This makes @: (and @/) work.
2016-03-15vis: slightly cleanup register related codeMarc André Tanner4-7/+12
2016-03-15vis: add support for command register ":Marc André Tanner4-0/+5
2016-03-15text: improve ENOSPC handling when savingMarc André Tanner1-0/+3
The default atomic save method using rename(2) would correctly fail, but the calling code would wrongly assume it was because of dealing with a special (e.g. hard or symlink) file or that some other properties (e.g. POSIX ACL, SELinux labels, permissions etc) could not be restored. It would then go on to ftruncate(2) the file, if the following writes then fail (which is likely if the new file content is bigger or some other process has used up disk space in the mean time) we lose data. This should fix it for the common case i.e. regular file where the rename(2) based method is used. The problem persits when directly overwriting a file. It is unclear whether this could be improved/fixed by: 1) first appending the new file content to the old one 2) fsync the data (old||new) 3) deleteing the original file content by overwritting it with the previously appended new file content. That is essentially moving the new file content from the end of the file to the start. 4) ftruncate to the new file size 5) fsync the data (new) if during 1) or 2) an error would occur we could revert the operation by doing a ftruncate to the original file size. An error in steps 3-5 would still be fatal. Another option would be to first write a backup file somewhere.
2016-03-14text-regex: fix possible infinite loop when searching backwardsMarc André Tanner1-1/+11
2016-03-13Update README to include recent changes to supported registersMarc André Tanner1-3/+2
2016-03-13vis: convert gn and gN text objects to use "/ register contentMarc André Tanner4-7/+13
2016-03-12ui/view: general code cleanupMarc André Tanner3-14/+19
2016-03-12ui: use correct default cell styleMarc André Tanner1-1/+4
This is important for files without associated syntax highlighting. The selections should now again be visible.
2016-03-12view: cleanup default ui style handlingMarc André Tanner1-28/+25
2016-03-12vis-lua: allow to set window.syntax = nilMarc André Tanner2-1/+6
This will load the default lua color theme.
2016-03-12view: also load lua theme for windows without syntax highlightingMarc André Tanner1-7/+7
This for example affects the default background color and cursor related settings.
2016-03-12ui: make primary cursor blink even if no lua theme has been loadedMarc André Tanner1-4/+4
2016-03-12vis: overhaul search related code, support "/ registerMarc André Tanner5-19/+51
2016-03-12register: add function to set register content to arbitrary dataMarc André Tanner2-0/+5
2016-03-12register: make sure returned register content is always NUL terminatedMarc André Tanner1-1/+4
2016-03-12register: rename register put related functionsMarc André Tanner3-8/+8
2016-03-11Update README to reflect changes in multiple cursor supportMarc André Tanner1-3/+8
2016-03-11ui: also blink primary cursor if it is on a blank cellMarc André Tanner2-1/+5
2016-03-11vis: respect count for <C-d> and <C-u>Marc André Tanner1-10/+13
2016-03-10view: add query function for multiple cursorsMarc André Tanner4-6/+11
2016-03-10ui: make primary cursor blinkMarc André Tanner5-1/+12
2016-03-10ui: add support for blink style attributeMarc André Tanner1-0/+4
2016-03-10vis: let <C-u> and <C-d> in visual mode move to prev/next cursorMarc André Tanner2-4/+40
We do currently not enforce a strict ordering among cursors. Hence these key bindings can move you to an arbitray position. In practice it somewhat works because most of the time cursors are created in "top-down" i.e from the start of the file towards the end.