summaryrefslogtreecommitdiff
path: root/vis.c
AgeCommit message (Collapse)Author
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-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-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-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
2015-04-21Implement ';' and ','Marc André Tanner
This fixes #45
2015-04-21Clean up to/till movementsMarc André Tanner
2015-04-11Eliminate global running variableMarc André Tanner
2015-04-11Remove global mode stateMarc André Tanner
Once again show mode in window status bar.
2015-04-11Move structs to editor.h remove global action{,_prev}Marc André Tanner
2015-04-11Further ui separation, eliminate global stateMarc André Tanner
2015-04-11Eliminate global state for repetition of last modificationMarc André Tanner
2015-04-11Eliminate global state for :set optionsMarc André Tanner
2015-04-11Lazy initialization of :-commandsMarc André Tanner
2015-04-10Make ":set syntax" without any argument display the currently active oneMarc André Tanner
2015-04-05Remove useless duplication of argument to exec_cmdline_commandMarc André Tanner
2015-04-05Introduce new struct VisTextMarc André Tanner
This adds yet another layer of indirection and stores vi related stuff which is associated with a given text but shared among all windows displaying it (e.g. marks). This will also help if one wants to keep texts arround which aren't currently displayed.
2015-04-04Cleanup :set implementationMarc André Tanner
Unique prefixes of options should now be recognized.
2015-04-04Move more curses related stuff to ui-curses.cMarc André Tanner
2015-04-04Change behaviour of 'cw' and 'cW'Matias Linares
from vim's help: cw cW Special case: When the cursor is in a word, "cw" and "cW" do not include the white space after a word, they only change up to the end of the word. This is because Vim interprets "cw" as change-word, and a word does not include the following white space.
2015-04-04Mark some pointers in struct Action as constMarc André Tanner
2015-04-03Add option to display relative line numbersMarc André Tanner
:set rnu Based on a patch by Sebastian Götte.
2015-04-03Preliminary user interface separationMarc André Tanner
In theory only ui-curses.[hc] should depend on curses, however in practice keyboard input is still handled in vis.c. Furthermore the syntax definitions as well as keyboard bindings and selection code in window.c still depends on some curses constants. There is also a slight regression in that the window status bar does not show the current mode name. This and related global state should be eliminated in the future.
2015-03-31Do not modify the argument to exec_commandMarc André Tanner
This fixes a segfault when using the ZQ key binding as reported by Silvan Jegen.
2015-03-24Implement 'o' in visual mode: go to other end of selection.Marcel Rodrigues
2015-03-18Cleanup :-command implementationMarc André Tanner
Everything that is a unique prefix should now be allowed for a given command.
2015-02-03Do not lump together replace actionsWolfgang Corcoran-Mathe
Currently, the replace operator in vis gets lumped with following actions in the {un,re}do tree. Using the 'r' key several times then attempting to undo the last replacement undoes the entire series.
2015-01-18Fix coverity issue 12388jvoisin
close(fd) can't have a negative fd parameter
2015-01-16Always close file descriptor after :read commandMarc André Tanner
2015-01-16In vim, "syntax" can be abbreviated as "syn".jvoisin
2015-01-13Cleanup nn| implementationMarc André Tanner
This command does not really do what it advertises because it operates on bytes not columns.
2015-01-13Add new logical linewise movementsMarc André Tanner
The column position is currently not correctly preserved when there are lines with multibyte characters involved spanning multiple screen lines. In general this might still be a bit fragile.