aboutsummaryrefslogtreecommitdiff
path: root/vis.c
AgeCommit message (Collapse)AuthorFilesLines
2015-10-25vis: introduce vis_register_{get,set} APIMarc André Tanner1-6/+21
2015-10-25vis: introduce vis_count_{get,set} APIMarc André Tanner1-9/+19
2015-10-25vis: introduce vis_motion_type APIMarc André Tanner1-1/+5
2015-10-25vis: clean up mark handlingMarc André Tanner1-19/+13
2015-10-25vis: convert jumplist navigation to proper motionsMarc André Tanner1-15/+41
2015-10-25vis: convert changelist navigation to proper motionsMarc André Tanner1-16/+45
2015-10-25vis: introduce vis_repeat APIMarc André Tanner1-5/+9
2015-10-25vis: introduce macro APIMarc André Tanner1-37/+73
2015-10-25vis: introduce vis_keys APIMarc André Tanner1-4/+3
2015-10-25vis: introduce vis_cmd APIMarc André Tanner1-4/+4
2015-10-25vis: introduce vis_textobject APIMarc André Tanner1-32/+8
2015-10-25vis: introduce vis_motion APIMarc André Tanner1-124/+89
2015-10-23vis: introduce vis_mode_switch APIMarc André Tanner1-14/+19
2015-10-23vis: introduce vis_operator APIMarc André Tanner1-23/+27
2015-10-23vis: begin librarization of core vis primitivesMarc André Tanner1-101/+61
2015-10-22vis: refactor startup codeMarc André Tanner1-27/+35
2015-10-22ui: introduce and use ui specific die(...) functionMarc André Tanner1-20/+18
2015-10-22vis: overhaul signal handlingMarc André Tanner1-25/+26
2015-10-22vis: remove config selection based on argv[0]Marc André Tanner1-12/+1
I would still like to experiment with a busybox style editor multiplexer which behaves like vi(m), emacs or nano depending on argv[0].
2015-10-22vis: remove global state from key input handlingMarc André Tanner1-4/+7
2015-10-22vis: remove yet more global stateMarc André Tanner1-53/+55
2015-10-22vis: remove yet more global state from motion functionsMarc André Tanner1-13/+13
2015-10-22vis: rename motion typeMarc André Tanner1-9/+9
2015-10-22vis: remove more global state from motion functionsMarc André Tanner1-39/+41
2015-10-22vis: pass editor instance to keyboard action functionsMarc André Tanner1-165/+165
2015-10-22vis: remove more global stateMarc André Tanner1-23/+23
2015-10-22vis: pass editor instance to command handling funcitonsMarc André Tanner1-57/+57
2015-10-22vis: pass editor instance to mode handling functionsMarc André Tanner1-4/+4
2015-10-22vis: refactor operator implementationMarc André Tanner1-33/+26
Pass editor instance and text to operate on as parameter instead of using global state.
2015-10-22vis: include :-commands in :help outputMarc André Tanner1-0/+4
2015-10-22vis: improve :help text, add separate status mode namesMarc André Tanner1-5/+20
2015-10-15vis: preserve ui options when splitting windowsMarc André Tanner1-2/+8
Closes #72
2015-10-14vis: introduce special keys which allow mappings to editor actionsMarc André Tanner1-1/+32
Key bindings in vis are always recursive, hence mapping ~ to ~l will cause an infinite loop. Instead vis supports special editor "keys" which map to internal editor functions. As an example one can thus map ~ to <vis-operator-case-swap>l or even <vis-operator-case-swap><cursor-char-next> Furthermore this makes it possible to completely unmap core editor features such as operators, the corresponding funtionality is still available via its corresponding special key.
2015-10-14view: cleanup whitespace replacement symbol handlingMarc André Tanner1-5/+5
2015-10-14view: cleanup option handlingMarc André Tanner1-6/+20
2015-10-14ui: refactor syntax style definitionsMarc André Tanner1-1/+1
Styles can now be specified as strings which will make them easier to specify from outside the editor. The following style attributes can be given in a comma separated list: bold italics underlined fore:color back:color where color is either a hex value of the form #aabbcc or one of the predefined colors: black red green yellow blue magenta cyan white
2015-10-11vis: properly ignore tab at command promptMarc André Tanner1-0/+6
Closes #77
2015-10-05vis: add rudimentary :help commandMarc André Tanner1-0/+35
2015-10-05vis: fix key alias implementationMarc André Tanner1-0/+1
2015-10-05vis: introduce keyboard actionsMarc André Tanner1-47/+9
This adds another level of indirection by defining keyboard actions which will likely eventually be used by a :map command.
2015-10-05vis: add rudimentary support for key aliasesMarc André Tanner1-4/+9
This will eventually be exposed via a :map style command.
2015-10-05vis: cleanup keyboard handling implementationMarc André Tanner1-24/+29
2015-10-05vis: convert mark handling to new input handling codeMarc André Tanner1-12/+37
2015-10-05vis: convert insertion of register from insert modeMarc André Tanner1-4/+7
2015-10-05vis: convert register specification to new input handling codeMarc André Tanner1-2/+10
2015-10-05vis: convert macro recording / replay to new input handling codeMarc André Tanner1-16/+19
2015-10-05vis: convert insert verbatim to new input handling codeMarc André Tanner1-18/+19
2015-10-05vis: convert to/till movements to new input handlingMarc André Tanner1-7/+5
2015-10-05vis: adapt r (replace) to new input handlingMarc André Tanner1-6/+7
2015-10-05vis: change key binding function prototypesMarc André Tanner1-189/+252
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.