aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-02-25build: try to enable compiler flags to minimize binary sizeMarc André Tanner1-3/+3
2017-02-25vis: tweak handling of end inclusivenessMarc André Tanner1-2/+3
Only extend end of range when the motion did so too. As an example this prevents motions like `$dg_` from deleting the newline which was the starting position.
2017-02-25vis: mark 0, ^, g_ and $ as idempotentMarc André Tanner1-1/+4
2017-02-25vis: fix $ motion for lines containing \rMarc André Tanner1-2/+2
2017-02-25text: add iterator accessor function which translates \r\n to \nMarc André Tanner2-0/+14
2017-02-25vis: make ^ and g_ only skip blank (spaces+tabs) charactersMarc André Tanner1-2/+3
2017-02-25vis: add vis- prefix to pseudo editor keysMarc André Tanner2-166/+166
2017-02-24vis: remove unused struct memberMarc André Tanner2-5/+3
The macro replay code has since been refactored, making this obsolete. There is only ever one input queue from which keys are interpreted.
2017-02-24vis: make help texts optional to produce a smaller binaryMarc André Tanner9-275/+311
$ ./configure --disable-help shrinks the binary by about 20K on a x86_64 system.
2017-02-24vis: fix ^ motion for blank lines terminated by \r\nMarc André Tanner1-1/+1
2017-02-24vis: fix display after newline insertion at the start of viewportMarc André Tanner1-2/+8
Previously the window content would not be scrolled down when inserting a newline exactly at the start of the display area as in the case when a file starts with an empty line and the following is performed: <PageDown><PageUp><PageUp>o
2017-02-23vis: improve handling of \r\n line endingsMarc André Tanner1-6/+21
Change the text_iterator_char_{prev,next} functions to treat them as a single character, meaning cursor motions will skip both bytes at the same time.
2017-02-23view: make sure viewport remains valid when scrolling upMarc André Tanner1-1/+1
In a file with windows style \r\n line endings scrolling up would wrap around to the end of the file.
2017-02-23vis: unify error path of command registration functionsMarc André Tanner1-6/+10
2017-02-23test: updateMarc André Tanner1-5/+11
2017-02-23build: skip configure check for built-in lpeg if lua is not foundMarc André Tanner1-1/+1
$ ./configure --disable-lua will no longer look for liblpeg.
2017-02-23vis: remove `gf` and `<C-w>gf` functionalityMarc André Tanner2-38/+0
This can also be implemented using Lua, if desired.
2017-02-23text-object: remove text_object_numberMarc André Tanner2-25/+0
This was only used by the number increment/decrement action. The same functionality (and more) can be implemented in lua using something like: vis:textobject_new("in", function(win, pos) return win.file:match_at(vis.lexers.integer + vis.lexers.float, pos, 64) end, "Number text object")
2017-02-23vis: remove number increment/decrement functionalityMarc André Tanner2-61/+0
By now we should have the necessary Lua API to implement this as an extension.
2017-02-23vis-lua: use shorter type namesMarc André Tanner2-11/+11
2017-02-23vis-lua: cleanup type checks by using #define'sMarc André Tanner1-68/+80
2017-02-23vis-lua: make vis:count assignableMarc André Tanner1-0/+10
2017-02-22vis-lua: expose current count specifier as vis:countMarc André Tanner1-0/+13
2017-02-22lua: add file:match_at method to match LPeg pattern around a positionMarc André Tanner1-0/+31
2017-02-22vis-lua: expose type meta tables through vis.typesMarc André Tanner1-5/+25
This should allow the Lua code to add new methods even if it has no existing object references.
2017-02-22lua: expose vis:module_exist method, load lexer and lpeg module during startupMarc André Tanner3-25/+31
2017-02-22vis-lua: check for nil return value of text object callbackMarc André Tanner1-1/+1
2017-02-22test: updateMarc André Tanner1-5/+5
2017-02-22vis: simplify `r` implementation and fix cursor positioningMarc André Tanner2-11/+3
2017-02-22vis: add exact count motion flagMarc André Tanner3-3/+14
Some motions should fail (i.e. keep the initial position) when the specified count can not be satisfied exactly. Examples include t, f, T, and F. Fix #497
2017-02-21Tweak READMEMarc André Tanner1-59/+27
2017-02-21sam: make sure all commands can be undoneMarc André Tanner1-0/+2
Take a snapshot before and after processing the transcript.
2017-02-21sam: reformat code to avoid one level of indentationMarc André Tanner1-34/+34
2017-02-20test: updateMarc André Tanner1-8/+5
2017-02-20buffer: fix integer overflow issueMarc André Tanner1-1/+2
2017-02-20buffer: add buffer_growMarc André Tanner3-4/+13
2017-02-20buffer: rename buffer_grow to buffer_reserveMarc André Tanner3-7/+7
2017-02-20text: fix some integer overflow issuesMarc André Tanner1-3/+6
2017-02-20util: add overflow safe unsigned addition functionMarc André Tanner1-0/+14
2017-02-18appveyor: let Cygwin handle the environment variableMarc André Tanner1-1/+1
That way the path translation logic kicks in.
2017-02-18appveyor: try to fix yaml multiline syntaxMarc André Tanner1-15/+14
2017-02-18test: updateMarc André Tanner1-5/+8
2017-02-18appveyor: fix symlinks for Cygwin buildsMarc André Tanner1-0/+18
Git for windows is used to checkout the repository and it creates broken symlinks (files containing the target) which break the tests because e.g. the lexer.lua module can not be loaded. We use a bash script to convert these pseudo symlinks: http://stackoverflow.com/questions/38140373 and invoke it via powershell because that seems to be the only way to execute multiline commands from within the AppVeyor YAML configuration file.
2017-02-17test: updateMarc André Tanner1-5/+5
2017-02-17vis: cleanup error paths in key action handling codeMarc André Tanner1-6/+10
2017-02-17build: more complete cleanup in make cleanMarc André Tanner1-1/+1
2017-02-16test: updateMarc André Tanner1-7/+5
2017-02-16build: enable RDP access to AppVeyor build workersMarc André Tanner1-1/+3
Also include all *.exe files into the bulid artifact.
2017-02-16travis: fix yaml syntaxMarc André Tanner1-4/+4
2017-02-16test: updateMarc André Tanner1-5/+7