aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-02-12vis: remove trailing new line before executing prompt commandMarc André Tanner1-1/+5
This should actually make the search history functionality work. The :-commands already worked because of commit e745b5ef. Removing all trailing white spaces would be the wrong thing to do for the search, because they might be part of the desired search string.
2016-02-12text-object: simplify text_object_range implementationMarc André Tanner1-6/+5
We can copy the initial iterator and use it in reverse direction.
2016-02-12vis: fix printf format string used in number_increment_decrementMarc André Tanner1-2/+2
The field width specifier '*' expects an int. be fine here since we are expecting a small positive number and the result is
2016-02-12Update README to reflect recent developmentMarc André Tanner1-32/+88
Also fix a few spelling mistakes.
2016-02-12Mark some tables as constMarc André Tanner9-21/+21
This allows them to be placed into the read only ELF section.
2016-02-12Improve large file supportMarc André Tanner4-8/+31
Disable absolute line numbers for large files (currently anything bigger than 32MiB). This speeds up moving around with for example nn% since no new lines need to be calculated. Of course movements like :nn will be unaffected. The optimizations can be disabled by explicitly enabling absolute line numbers as in :set number
2016-02-11vis: try to make * and # motions work on more systemsMarc André Tanner1-2/+7
The used regular expression \<%s\> where %s refers to the search term/word under cursor is not POSIX compliant but happens to work on both musl and glibc. First try the alternate syntax [[:<:]]%s[[:>:]] which works on Mac OS X. The reason it is done in this order is that musl/glibc will reject it as invalid pattern when compiling while the Mac OS X libc will accept \<%s\> but not match anything. Based on a patch by Erlend Fagerheim.
2016-02-11vis: implement gn and gN text objectsMarc André Tanner6-0/+51
The behaviour when no match is found is not yet optimal.
2016-02-11vis: add support for different kind of text objectsMarc André Tanner3-33/+42
Up until now text objects would only ever grow/expand if applied multiple times. The new SPLIT type allows text objects which cover a completely different range when applied with a count.
2016-02-10vis: tweak <F1> help text list all available key actionsMarc André Tanner1-3/+12
2016-02-10vis: simplify modes implementationMarc André Tanner4-10/+4
Make replace mode a child of insert mode and visual line a child of visual mode. This means any key binding for the former is automatically available in the latter. Also keys can not be unmapped solely from the child modes.
2016-02-10vis: implement yank register "0Marc André Tanner3-0/+5
2016-02-10vis: implement gf and <C-w>gf to open filename under cursorMarc André Tanner2-0/+57
Based on a patch by Silvan Jegen.
2016-02-07vis: export vis_window_closableMarc André Tanner3-8/+15
2016-02-07vis: mark output of pipe command as savedMarc André Tanner1-0/+3
2016-02-07text-object: introduce text_object_filenameMarc André Tanner2-0/+16
2016-02-07vis: implement number increment <C-a> and decrement <C-x> functionalityMarc André Tanner1-0/+59
The default key bindings are not changed for now, because <C-a> conflicts with multiple cursor alignment.
2016-02-07text-object: introduce text_object_numberMarc André Tanner2-0/+27
2016-02-03text-object: add utility function for abitrarily delimited text objectsMarc André Tanner2-0/+15
2016-02-03text-object: hide ugly casts for isboundary behind a #defineMarc André Tanner1-29/+29
2016-02-03text-object: hide ugly casts for isspace behind a #defineMarc André Tanner1-4/+5
2016-02-03text-motion: hide ugly casts for isboundary behind a #defineMarc André Tanner2-20/+21
2016-02-03text-motion: hide ugly casts for isspace behind a #defineMarc André Tanner1-17/+19
2016-02-03text-object: merge word/WORD implementationsMarc André Tanner1-89/+37
2016-02-03text-motion: export custom word motion functionsMarc André Tanner2-4/+11
2016-02-03text-object: fix bugs in outer word `aw` implementationMarc André Tanner1-2/+2
2016-02-03fix {, }, (, ) movementsMarkus Teich1-70/+44
- split the functions, so the algorithms are more clear - paragraph movements work backwards - paragraph movements work consistently with \r\n line breaks always placing the cursor on the first character of the first empty line before/after the paragraph - sentence movements now work better at BOF/EOF - save a few lines of code
2016-02-01Change vis-{copy,paste} to use X clipboard xsel -bMarc André Tanner2-2/+2
2016-02-01Improve cursor position after :substitute commandMarc André Tanner1-5/+5
2016-01-31Rename stderr field to errMarkus Teich1-10/+10
The name `stderr` was confused by the compiler with the following defines: $ grep -r "define stderr" ./dependency/install/usr/include/stdio.h:#define stderr (stderr) ./dependency/sources/musl-1.1.12/include/stdio.h:#define stderr (stderr)
2016-01-30Implement "A - "Z registersMarc André Tanner5-2/+20
2016-01-30Implement system clipboard registers "* and "+Marc André Tanner12-11/+104
Both registers are currently treated identically. The actual system integration is performed by two shell scripts vis-copy and vis-paste.
2016-01-30Implement blackhole register "_Marc André Tanner5-10/+41
2016-01-30Cleanup register implementationMarc André Tanner7-21/+29
2016-01-30Improve Lua error reportingMarc André Tanner7-10/+70
Display Lua errors in a dedicated window/file. A typo or missing dependency (e.g. lpeg) in visrc.lua will no longer silently fail without any indication. The Lua integration in view.h is not yet converted.
2016-01-29vis: implement new pipe/write out command :| or :w !Marc André Tanner1-1/+52
2016-01-29vis: factor out filter command implementationMarc André Tanner2-50/+97
2016-01-28vis: factor out common code to create internal fileMarc André Tanner1-6/+11
2016-01-28lexer: snyc with upstream scintillua 3.6.3-1Marc André Tanner6-8/+292
2016-01-28vis: implement nn%Marc André Tanner4-6/+25
Moves to the given percentage of the file in bytes (not lines). This is useful when dealing with huge files because it is a constant time operation. Performance could still be improved by adapting the display code not to rely on line numbers at all.
2016-01-28vis: clean up count handlingMarc André Tanner4-23/+32
There are cases where zero can also be a legitimate count.
2016-01-27text-motion: change text_bracket_match APIMarc André Tanner4-7/+7
2016-01-27vis: let % move to next special char if not already thereMarc André Tanner1-1/+22
2016-01-27vis: apply insert register <C-r> to all cursorsMarc André Tanner1-5/+2
Note that cursors currently have only one default register.
2016-01-27vis: remove unused struct Mode member 'is_user'Marc André Tanner2-8/+1
2016-01-20vis: make <End> in insert/replace mode move to the end of lineMarc André Tanner2-1/+8
The behaviour of <End> vs $ in various modes may still be inconsistent, but at least it can now be configured via key bindings.
2016-01-20vis: further improve selection restore codeMarc André Tanner1-0/+6
This is still not 100% correct for all possible cases, but should work for those currently used by vis e.g. the shift left operator.
2016-01-20Fix to/till movementsMarkus Teich2-7/+12
Some corner cases allowed to move between lines with the to/till movements. The change in find_prev serves two purposes. When searching for a string which the cursor is already above the match, this match is returned (pos += len). Secondly there was a failure when searching for strings with len == 1 which lead to `matched == 0` which was always true, even if the string was not found, therefore leading to a wrong return value.
2016-01-19Add usage example for file open dialog to READMESilvan Jegen1-2/+10
2016-01-19vis: fix # and * motions to only match wordsMarc André Tanner1-9/+12
Word matching is currently implemented by using the \< and \> anchors of the regex(3) library part of libc. Another option would have been to use the text_object_word_find_{next,prev} functions from text-objects.c. The used search term is currently not added to the search history. Based on a patch by Markus Teich.