summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-10-05Add a profile Makefile targetMarc André Tanner
2015-10-05text: add text_{v,}printf functionMarc André Tanner
Convenient way to insert formated data into a Text.
2015-10-05vis: fix key alias implementationMarc André Tanner
2015-10-05vis: introduce keyboard actionsMarc André Tanner
This adds another level of indirection by defining keyboard actions which will likely eventually be used by a :map command.
2015-10-05vis: remove now unused common_prefix mode attributeMarc André Tanner
2015-10-05vis: consolidate all text objects into one modeMarc André Tanner
2015-10-05vis: add rudimentary support for key aliasesMarc André Tanner
This will eventually be exposed via a :map style command.
2015-10-05buffer: add functions to prepend data to an existing bufferMarc André Tanner
2015-10-05vis: cleanup keyboard handling implementationMarc André Tanner
2015-10-05vis: update mode diagram in config.def.h to be closer to realityMarc André Tanner
2015-10-05vis: convert mark handling to new input handling codeMarc André Tanner
2015-10-05vis: convert insertion of register from insert modeMarc André Tanner
2015-10-05vis: convert register specification to new input handling codeMarc André Tanner
2015-10-05vis: convert macro recording / replay to new input handling codeMarc André Tanner
2015-10-05vis: convert insert verbatim to new input handling codeMarc André Tanner
2015-10-05vis: convert to/till movements to new input handlingMarc André Tanner
2015-10-05vis: adapt r (replace) to new input handlingMarc André Tanner
2015-10-05vis: change key binding function prototypesMarc André Tanner
The idea is to work more like a finite state machine. Every function gets an additional argument keys which holds the already read keyboard input. The return value of the functions should point to the first not consumed key. A return value of NULL indicates that more input is needed. The function will be called again from the editor core when more input is available. These changes are mostly mechanical and in many cases not optimal, they will be cleaned up in further commits.
2015-10-05vis: rework input handling using libtermkeyMarc André Tanner
Key bindings are now specified as symbolic key strings, this will eventually allow run time configurable key mappings. This introduces a bulid time dependency on libtermkey which can be found at: http://www.leonerd.org.uk/code/libtermkey/
2015-09-15Add utfnext utility functionMarc André Tanner
2015-09-15buffer: add buffer_put0 to store a NUL terminated stringMarc André Tanner
2015-09-15buffer: add buffer_append0 to append NUL terminated stringsMarc André Tanner
2015-09-13map: introduce map_contains utility functionMarc André Tanner
2015-09-06ui: differentiate between Ctrl-J and enterMarc André Tanner
Thus enter no longer creates new cursors, use CTRL-j instead. Closes #69
2015-08-18ui: remove translation of ^b to backspaceMarc André Tanner
Closes #67
2015-08-15Improve shell highlightingDmitry Bogatov
* lower case variables names are now recognized * special variables ($?, $*, etc) are treated specially * non-sense, like ${foo is not treated as variable reference anymore
2015-08-12ui: query terminal size on stderrMarc André Tanner
We always draw the editor user interface to stderr in order to allow usage as a filter e.g. $ echo Hello | vis - | grep World > out hence stdin might be redirected and we should always read the terminal size from stderr. Closes #66
2015-08-09ui: make cursor visible when executing external programsMarc André Tanner
This also affects the file open dialog.
2015-08-09vis: fix :edit! commandMarc André Tanner
It now correctly re-edits the file (i.e reloads it from disk).
2015-08-09vis: fix repeated use of file open dialogMarc André Tanner
2015-08-09vis: cancelling wildcard open causes crashDavid B. Lamkins
Closes #65
2015-08-08text: rename some functions to improve consistencyMarc André Tanner
2015-08-08text: introduce helper function text_delete_rangeMarc André Tanner
2015-08-07vis: limit to/till movements to current lineMarc André Tanner
2015-08-06Add APL syntax highlighting.David B. Lamkins
2015-08-06vis: implement gv to restore last selectionMarc André Tanner
2015-08-06vis: implement al and il text objectsMarc André Tanner
2015-08-06vis: implement gp and gP add count support to put operationsMarc André Tanner
2015-08-02Add short demo screencast to READMEMarc André Tanner
2015-08-02vis: use file open dialog also for :editMarc André Tanner
2015-08-02Update READMEMarc André Tanner
2015-08-02vis: use I and A instead of CTRL-O for new cursors in visual modeMarc André Tanner
I and A creates a new cursor at start/end of every selected line.
2015-08-02text-motion: make text_bracket_match more robustMarc André Tanner
Brackets which occur inside strings are ignored.
2015-08-02vis: add text objects `af` and `if`Marc André Tanner
They try to match C-like function definitions. The inner variant only contains the function body.
2015-08-02vis: add motions [[, [], ][, ]]Marc André Tanner
They behave not like in vim, but instead try to find the start/end of C-like function definitions. The first character stands for the direction [ for backwards, ] for forwards. The second character denotes the start [ or end ] respectively.
2015-08-01text-motion: fix text_find_{next,prev}Marc André Tanner
It is after all a stupid O(n*m) algorithm, hence restart after a failed partial match. Code like this would benefit from a proper test suite ...
2015-08-01vis: support `ae` and `ie` text objectsMarc André Tanner
2015-08-01view: hide API to free main cursorMarc André Tanner
2015-07-31vis: cleanup handling of charwise/linewise motionsMarc André Tanner
Also text objects in visual mode should now work better.
2015-07-28vis: fix one more coverity scan warningMarc André Tanner
With the current code this will never cause a NULL dereference since it is checked at the call site. However it makes sense to check it anyway.