aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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.
2016-03-10view: clean up API functions related to primary cursor handlingMarc André Tanner4-10/+23
The currently visible display port is always adjusted in a way that the primary cursor is visible.
2016-03-10vis: let /^pattern match at the start of the lineMarc André Tanner1-1/+1
2016-03-08Merge branch 'master' of https://github.com/xomachine/visMarc André Tanner1-2/+2
2016-03-08Add missing angle brackets around broken C-p key bindingMarc André Tanner1-1/+1
2016-03-08Workaround for #199xomachine1-2/+2
2016-03-08Added page up and down keys for visual modeErlend Fagerheim1-0/+4
2016-03-08vis: handle lexer module load failure even more gracefullyMarc André Tanner1-2/+3
Close #197
2016-03-06vis: gracefully handle lpeg module load failureMarc André Tanner1-1/+7
2016-03-06build: remove hardening compiler flags for nowMarc André Tanner1-9/+0
They do not seem to be supported on all platforms (e.g. FreeBSD). Users who know what they are doing can still provide them via the regular $CFLAGS mechanism. Eventually these should be tested by a handwritten configure script and added to config.mk iff they are supported by the toolchain.
2016-02-28build: do not modify $CFLAGS directlyMarc André Tanner1-5/+10
These are picked-up by configure when building dependencies during make standalone.
2016-02-28build: update make standalone to use musl-1.1.14Marc André Tanner1-2/+2
2016-02-25vis: ignore trailing NUL byte of register content by defaultMarc André Tanner3-1/+10
This is handy when editing registers used for macros.
2016-02-25vis: use standard registers for macro recordingsMarc André Tanner5-69/+52
Also support upper case register to append to an existing macro.
2016-02-23Make f, F, t, T motion work when replaying a macroMarc André Tanner1-6/+9
2016-02-23Merge branch 'line-motions' of https://github.com/rgburke/visMarc André Tanner1-0/+2
2016-02-22Added + and - motionsRichard Burke1-0/+2
2016-02-22initized variablesChristian Hesse1-2/+2
2016-02-22remove unused function cmd()Christian Hesse1-7/+0
2016-02-21vis: only move to start of yanked range if it is not line wiseMarc André Tanner1-1/+1
Otherwise this completely breaks the common case of yanking a whole line with yy. This also means that the beavior in visual line mode is different than in vim. Partially reverts ff57c0b8598a60617983ebe25d34c79a9c6bc511.
2016-02-21vis: insert missing new line when putting at the end of fileMarc André Tanner1-0/+3
Something like ifoo<Escape>yyp should produce foo foo not foofoo as was the case before.
2016-02-21Cleanup new line insertion codeMarc André Tanner3-20/+15
2016-02-20vis: move cursor to next char after ~ in normal modeMarc André Tanner1-1/+1
This will not work as expected when given a count. Close #181
2016-02-20vis: reject obviously recursive key bindingsMarc André Tanner1-0/+3
This does only detect the simplest cases.