aboutsummaryrefslogtreecommitdiff
path: root/vis.c
AgeCommit message (Collapse)AuthorFilesLines
2015-11-08Update year numbers in Copyright clauseMarc André Tanner1-1/+1
2015-11-08Remove trailing white space from source filesMarc André Tanner1-4/+4
2015-11-08ui: load syntax theme based on the number of supported colorsMarc André Tanner1-1/+0
The theme to use can be overriden via the $VIS_THEME environment variable. $ VIS_THEME=solarized vis
2015-11-08vis: introduce vis namespace for lua objectsMarc André Tanner1-2/+6
For now the vis table has only one member "lexers".
2015-11-08vis: try to support all lua versions >= 5.1Marc André Tanner1-1/+1
Make lpeg module table explicitly global, which should work with the different module loading semantics.
2015-11-08vis: factor out syntax highlighting codeMarc André Tanner1-0/+3
The view_draw function renders the text into the cells array and resyncs the cursor position. The syntax highlighting is applied in view_update, which also instructs the ui to update.
2015-11-08vis: implement :set themeMarc André Tanner1-3/+25
2015-11-08vis: experimental support for lua/lpeg based syntax highlightingMarc André Tanner1-3/+81
The lua based lexers are searched in the following order: $VIS_PATH/lexers $HOME/.vis/lexers /usr/share/vis/lexers followed by the standard lua package.path
2015-11-08vis: remove regex based syntax highlightingMarc André Tanner1-49/+1
2015-11-08vis: more comments and cleanupsMarc André Tanner1-19/+13
2015-11-07vis: prefix enum VisMotion values with VIS_Marc André Tanner1-30/+30
2015-11-07vis: tweak enum VisTextObject namesMarc André Tanner1-26/+26
2015-11-07vis: prefix enum VisOperator values with VIS_Marc André Tanner1-19/+19
2015-11-07vis: API documentation and cleanupMarc André Tanner1-11/+8
2015-11-07vis: introduce vis_cancel APIMarc André Tanner1-4/+8
2015-11-07vis: move modes into separate fileMarc André Tanner1-282/+1
2015-11-07vis: move operators to separate fileMarc André Tanner1-238/+13
2015-11-07vis: move motions to separate fileMarc André Tanner1-262/+0
2015-11-07vis: move :-commands into their own fileMarc André Tanner1-1206/+4
2015-11-06vis: fix cursor position after charwise pasteMarc André Tanner1-0/+7
p and P should leave the cursor on the last inserted character to ease repetition. Closes #92
2015-11-06vis: do something reasonable upon visual repeatMarc André Tanner1-0/+4
We do currently deliberately not support visual repeat. However when there exist multiple cursors, repeating an operator, which acted on a previous visual selection, should not collapse the cursors.
2015-11-06vis: fix operators to correctly handle multiple selectionsMarc André Tanner1-4/+8
Operators must not switch modes, they might be called multiple times (once for every cursor/selection). Closes #91. The concrete problem was that op_change for the first cursor switched to insert mode, which cleared all the remaining selections. Hence the other cursors had nothing to operate on. Reverts parts of d395687b.
2015-11-03vis: add vis_keys_inject to place keys into the input queueMarc André Tanner1-6/+24
This function can only be used from within key handlers. The position argument has to point to a valid key from within the same input buffer after which the new input will be inserted.
2015-11-02vis: free input_queue at exitVirgile Andreani1-0/+1
2015-11-02vis: let keys entered via API affect macro recordingMarc André Tanner1-4/+5
2015-11-02vis: make append (a and A) commands repeatableMarc André Tanner1-2/+10
2015-11-02vis: improve count handling for dot commandMarc André Tanner1-2/+12
2015-11-02vis: improve dot commandMarc André Tanner1-53/+88
Use an implicit macro to make changes in insert/replace mode repeatable.
2015-10-27vis: make Vis an opaque type, hide implementaton detailsMarc André Tanner1-11/+108
2015-10-27vis: introduce vis_macro_recording APIMarc André Tanner1-0/+4
2015-10-27vis: introduce vis_prompt_enter APIMarc André Tanner1-4/+19
This is a really bad API/abtraction but at least it allows us to hide some implementation details.
2015-10-27vis: clean up tab/newline insertion codeMarc André Tanner1-2/+42
2015-10-27vis: introduce pseudo operators for putMarc André Tanner1-9/+21
In principle put is not really an operator, however it still should be repeatable and respect count.
2015-10-26vis: introduce explicit operators for cursor creationMarc André Tanner1-2/+7
2015-10-26vis: introduce explicit operators for case changesMarc André Tanner1-6/+19
2015-10-26vis: move key handling functions to main.cMarc André Tanner1-747/+348
2015-10-26vis: merge editor.c into vis.cMarc André Tanner1-101/+589
2015-10-25vis: introduce vis_key_next APIMarc André Tanner1-5/+4
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