summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-07-03Fix handling of multibyte characters (at start of display area)David B. Lamkins
Previously a sequence of Unicode REPLACEMENT CHARACTER was displayed. Use an explicitly initialized mbstate_t object in the call to mbrtowc(). While this should not strictly be necessary, it works around a bug in certain implementations. Closes #56.
2015-07-03Add :show command to display special symbols for whitespacesMarc André Tanner
Enable/disable by setting to 0/1 respectively: :set show spaces=0 tabs=0 newlines=1
2015-06-30Fix segfault in cmd_filterMarc André Tanner
Using FD_ISSET on negative file descriptors results in breakage. Closes #55.
2015-06-30Perform character prev/next movements based on Text not ViewMarc André Tanner
While it is slower, it allows to move to characters which are currently not visible. This will be handy when experimenting with multiple cursors.
2015-06-30Cleanup insert/replace mode input handlingMarc André Tanner
View should only display the file content, but not modify it.
2015-06-28Do not take address of variables which go out of scopeMarc André Tanner
This is a bit of a hack, since now the callers range is modified. The various cmd_* functions should probably take a const Filerange pointer as argument and modify a local Filerange variable if needed.
2015-06-28Mark intentional case statement fall throughMarc André Tanner
2015-06-28Fix copy/paste error in text_restoreMarc André Tanner
This really needs some unit tests.
2015-06-28Replace a->time with a->seq in history_traverse_toRyan Chipman
2015-06-28Add seq field to Action structRyan Chipman
2015-06-27Add more thorough description of history to READMERyan Chipman
2015-06-27Make :earlier and :later accept arguments similar to vimMarc André Tanner
Currently the following arguments are accepted: {count} Go to older text state {count} times. {N}s Go to older text state about {N} seconds before. {N}m Go to older text state about {N} minutes before. {N}h Go to older text state about {N} hours before. {N}d Go to older text state about {N} days before
2015-06-27Mark internal undo tree functions as staticMarc André Tanner
2015-06-27Edit README to reflect new history implementationRyan Chipman
2015-06-27Hook up :-commands & keybindings for earlier/laterRyan Chipman
2015-06-27Core undo tree changesRyan Chipman
2015-06-24fixed some typos in commentsRyan Chipman
2015-06-04Use $(MAKE) instead of directly calling `make`Michael Reed
This fixes `make debug` on OpenBSD (and possibly other systems) where /usr/bin/make isn't GNU make.
2015-05-17Implement :substitute by invoking sed as a filterMarc André Tanner
2015-05-17Implement :r and :r! in terms of filter commandsMarc André Tanner
2015-05-17Filter command :!Marc André Tanner
If no range is given then stdin is passed through which allows interactive usage as in :!ls -1 *.c | slmenu For this to work the command needs to use stderr for its user interface and write any data for vis to stdout.
2015-05-16Release macro dataMarc André Tanner
2015-05-16Cleanup general purpose buffer APIMarc André Tanner
Introduce buffer_init to initialize a stack allocated buffer. Rename buffer_{alloc,free} functions because they do something different than the usual convention. They operate on the underlying buffer data but do not allocate/free an actual Buffer struct.
2015-05-16Let each :-command decide what to do if no range is specifiedMarc André Tanner
2015-05-16Improve parsing of :-command name and parametersSilvan Jegen
2015-05-14In command mode make the '.' range specifier match the current lineMarc André Tanner
2015-05-07Add '--' as end of optionsMatias Linares
Now it works properly, `vis -- -v` edit a file named `-v`. Also added the proper info to the man page.
2015-05-06Use the command name without the Filerange in argvSilvan Jegen
Signed-off-by: Silvan Jegen <s.jegen@gmail.com>
2015-04-29Move redrawing out of operator implementationsMarc André Tanner
Note that currently all windows are redrawn, this could be further optimized to only redraw the affected windows.
2015-04-29Make operators return new cursor positionMarc André Tanner
2015-04-23Update header include guard to match file nameMarc André Tanner
2015-04-22Cleanup line ending type detection and insertionMarc André Tanner
2015-04-22Fix echo foo | vis -Marc André Tanner
A single '-' indicates read from stdin. Also adjust coding style.
2015-04-22for editor command compare string, not just first characterChristian Hesse
Signed-off-by: Christian Hesse <mail@eworm.de>
2015-04-22make vis print version with command option -vChristian Hesse
The man page states this is possible, so add the code. Signed-off-by: Christian Hesse <mail@eworm.de>
2015-04-22get version from gitChristian Hesse
Signed-off-by: Christian Hesse <mail@eworm.de>
2015-04-22Rename window.[ch] to view.[ch]Marc André Tanner
2015-04-22Yet more renames (EditorWin -> Win)Marc André Tanner
2015-04-22More renames, no functional changesMarc André Tanner
Win -> View, window_* -> view_*
2015-04-22More renaming vis->win->view instead of vis->win->winMarc André Tanner
2015-04-22Better variable naming (VisText -> File)Marc André Tanner
Therefore vis->win->text->data becomes vis->win->file->text.
2015-04-21Remove redundant RegexMatch definitionMarc André Tanner
2015-04-21Improve loading of filesMarc André Tanner
This fixes a segmentation fault when opening a directory. Also, opening a file you are not permitted to read, will now give an error, instead of showing the file as empty. Based on a patch by Willem van de Krol.
2015-04-21Make '.' respect countMarc André Tanner
2015-04-21Mark some movements as idempotentMarc André Tanner
2015-04-21Make 'n', 'N', '*', '#' respect countMarc André Tanner
2015-04-21Handle failure of a movement gracefullyMarc André Tanner
This for example fixes movements to unset marks.
2015-04-21Cleanup implementation of movements to marksMarc André Tanner
2015-04-21Further clean up to/till movementsMarc André Tanner
This makes them respect count i.e. something like 3f{char} should work.
2015-04-21Cleanup implmentation of line and column movementsMarc André Tanner