aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-04-19vis: restructure register handlingMarc André Tanner8-56/+152
Decouple register content from cursors. Previously each cursor had exactly one corresponding register. Now each register can save a list of values whose lifetime is not tied to the cursor. If multiple cursors exist and a put with a register holding only a single value is performed, then this value is inserted at every cursor location. If there are fewer values available than cursors, then only the matching ones will be used. If a register holding multiple values is inserted in a single cursor context, only the first value will be used. Another option would be to join all existing values. The details of this behavior might be changed in the future. <C-r> in insert mode has not yet been adapted and register handling in general needs to be cleaned up further. Fix #527
2017-04-19array: implement array_resizeMarc André Tanner2-0/+11
2017-04-19array: implement array_truncateMarc André Tanner2-0/+10
2017-04-18buffer: simplify buffer_content0Marc André Tanner1-1/+1
2017-04-18array: implement array_capacityMarc André Tanner2-0/+6
2017-04-18vis: rename vis_register_set to vis_registerMarc André Tanner3-3/+3
2017-04-14build: install miscellaneous documentationDavid B. Lamkins2-1/+18
2017-04-14vis: make certain operations interruptible with <C-c>Marc André Tanner6-10/+19
As currently implemented this will only work for operations which are individually fast, but repeated many times (e.g. `1000000itext<Escape>`).
2017-04-12sam: fix negative count specifiers from visual modeMarc André Tanner1-2/+5
2017-04-12man: document new count specifier for `g` and `v` commandsMarc André Tanner1-4/+36
A few examples: :x g1 selects the first line :x g-1 selects the last line :x g-3, selects the last three lines :x g2,4 selects lines 2, 3 and 4 :x g,5 selects all lines up and including the fifth :x g6, selects all lines starting from the sixth :x g%2 selects all even lines :x v%2 selects all odd lines
2017-04-12sam: support %n count specifier matching every n-th selectionMarc André Tanner1-0/+15
2017-04-12sam: add support for negative count specifierMarc André Tanner1-10/+42
2017-04-12sam: add support for count specifier to `g` and `y` commandsMarc André Tanner2-12/+56
2017-04-12sam: distinguish between empty // and no regexMarc André Tanner1-1/+4
2017-04-12sam: reject command names containing digits or ending with a hyphenMarc André Tanner1-1/+6
The current implementation will also reject consecutive hyphens.
2017-04-11build: update libtermeky to version 0.20Marc André Tanner1-2/+2
Fix #537
2017-04-11build: tweak CFLAGS for profiling targetMarc André Tanner1-1/+1
2017-04-11text: do not redefine _GNU_SOURCEMarc André Tanner1-1/+3
Fix #536
2017-04-09text: use MB_LEN_MAX instead of MB_CUR_MAXMarc André Tanner2-4/+6
2017-04-09vis: reject invalid register name when recording a macroMarc André Tanner1-0/+2
Fix #534
2017-04-09vis: remove handling of \r\n line endingsMarc André Tanner9-94/+15
Use something like dos2unix(1) and unix2dos(1), if you need to edit such files.
2017-04-09text: drop special handling of \r\n line endingsMarc André Tanner5-109/+36
2017-04-09text: add mem{r,}chr(3) based byte search functionsMarc André Tanner5-1/+66
These are generally implemented efficiently in libc. While memrchr(3) is non-standard, it is a common extension. If it is not available, we use a simple C implementation from musl.
2017-04-08text: adjust iterator position when switching to adjacent piecesMarc André Tanner1-2/+4
2017-04-08text: simplify \r\n handlingMarc André Tanner2-27/+23
2017-04-08text: introduce text_char_get which converts \r\n to \nMarc André Tanner2-0/+8
2017-04-08text: fix iterator semantics regarding windows style newlinesMarc André Tanner1-2/+4
At some point we might drop this mess and ask users to rely upon dos2unix(1) and unix2dos(1), respectively.
2017-04-06test: updateMarc André Tanner1-5/+8
2017-04-06vis: fix memory leak in selection rotation codeMarc André Tanner1-0/+1
2017-04-06sam: properly free transcript in error caseMarc André Tanner1-4/+19
2017-04-06Fix formatting in man pageTwoFinger1-2/+2
2017-04-04vis: remove unused struct memberMarc André Tanner2-2/+0
2017-04-04vis: do not remove indentation of non-empty linesMarc André Tanner1-1/+2
Fix #532
2017-04-04vis: add motions to move by codepointsMarc André Tanner6-2/+41
Some people might prefer this for <Backspace> behavior. Except for that and debugging purposes using `ga` and `g8` it is not yet that useful.
2017-04-04vis: automatically dispose invalid cursorsMarc André Tanner1-0/+7
2017-04-04vis: reject multi letter mark and register namesMarc André Tanner1-0/+10
Fix #531
2017-04-02Fix Debian package lintian warningsMarc André Tanner7-10/+8
https://mentors.debian.net/package/vis
2017-03-31text: Add missing va_end() whenRaúl Peñacoba1-1/+3
vsnprintf fails
2017-03-31vis: improve tab completion in command promptMarc André Tanner2-1/+37
At some point it should probably be possible to add command prompt bindings from within Lua. Currently there is no easy/realiable way to detect the prompt window. Should improve #526.
2017-03-31lexers: sync with scintillua changeset 600 rev fdeca0b808bfMarc André Tanner7-23/+184
I think the default value for the cache argument to the lexer load function should be true, not false. Optimize for the common case. This makes the API ugly/harder to use. But for now we follow upstream.
2017-03-31vis: add non-default actions for vi compatible n/N motionsMarc André Tanner4-2/+36
The following key mappings should result in the vi behavior: :map! normal n <vis-motion-search-repeat> :map! normal N <vis-motion-search-repeat-reverse> The default remains unchanged, that is `n` (`N`) always searches towards the end (start) of the file. Fix #470
2017-03-31vis: rename search related constantsMarc André Tanner5-19/+19
2017-03-31Add more wiki references to the READMEMarc André Tanner1-2/+2
2017-03-31Use a minimal POSIX shar implementation for self extracting executableMarc André Tanner3-16/+121
This only requires POSIX shell utilies for extraction. The resulting archive is bigger (it is not gzip compressed) and startup will be slower due to many spawned processes.
2017-03-27Prefer Lua 5.3Klemens Nanni1-1/+1
2017-03-27build: add git based version information backMarc André Tanner1-1/+1
2017-03-25build: set version to 0.3Marc André Tanner1-1/+1
2017-03-25Merge branch 'master' of https://github.com/joshaw/visMarc André Tanner1-1/+10
2017-03-24lexers: fix perl pattern for horrible regex linesS. Gilles1-0/+3
Under presently-not-precise circumstances, regex patterns longer than a screenful can cause first_match_pos to be nil. In this sutation, evaluating `first_match_pos - 1' will be an error, so jump to matchless case.
2017-03-24vis: properly redraw status bar of windows displaying internal filesMarc André Tanner2-4/+4
Currently the only "internal window" with a status bar is the information window used to display Lua stack traces. We do not want to trigger events for it, because that could result in further Lua errors. Nonetheless its status bar should be properly redrawn to avoid display artifacts. That is why we fall back to the built-in default status bar as used by non-Lua builds.