aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-11-08Delete now obsolete syntax.hMarc André Tanner5-22/+14
2015-11-08vis: map <F1> to :helpMarc André Tanner1-0/+1
2015-11-08vis: reindent config.def.h (no functional changes)Marc André Tanner2-283/+285
2015-11-08Tweak manual pageMarc André Tanner1-2/+24
2015-11-08view: do not highlight matching symbols if selection is activeMarc André Tanner1-1/+1
2015-11-08ui: try to make sure that selected text is still visibleMarc André Tanner1-1/+1
2015-11-08theme: updated low color themeMarc André Tanner1-9/+7
2015-11-08theme: add default low color themeMarc André Tanner2-0/+33
The theme was contributed by David B. Lamkins
2015-11-08ui: load syntax theme based on the number of supported colorsMarc André Tanner3-1/+3
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é Tanner3-11/+15
For now the vis table has only one member "lexers".
2015-11-08build: add VIS_PATH=. to suggested execution after make localMarc André Tanner1-1/+1
2015-11-08build: explicitly link againgst dlMarc André Tanner1-1/+1
For musl this is a nop, it contains the relevant code in libc and provides and empty libdl archive for compatibility. However certain glibc based system need it.
2015-11-08lexer: add ledger lexerCharles Lehner2-0/+58
2015-11-08theme: increase contrast by setting background color to blackMarc André Tanner1-1/+1
2015-11-08lexer: new lexer for man/roff formatDavid B. Lamkins2-0/+36
2015-11-08lexer: new APL lexerDavid B. Lamkins2-0/+69
2015-11-08vis: try to support all lua versions >= 5.1Marc André Tanner4-7/+7
Make lpeg module table explicitly global, which should work with the different module loading semantics.
2015-11-08vis: implement :set colorcolumnMarc André Tanner7-0/+36
2015-11-08ui: make default selection visibleMarc André Tanner1-1/+4
2015-11-08Add lexer specific README fileMarc André Tanner1-0/+48
2015-11-08travis: try to fix build by using local built dependenciesMarc André Tanner1-2/+2
2015-11-08ui: redo syntax coloring after resizeMarc André Tanner1-0/+1
2015-11-08Update READMEMarc André Tanner1-1/+30
2015-11-08vis: factor out syntax highlighting codeMarc André Tanner3-47/+62
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é Tanner3-3/+36
2015-11-08vis: implement :set cursorlineMarc André Tanner5-0/+30
2015-11-08vis: experimental support for lua/lpeg based syntax highlightingMarc André Tanner11-48/+499
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-08Overhaul build systemMarc André Tanner2-6/+122
Add separate per library {C,LD}FLAGS and use default values from pkg-config to allow for finer control. Disable pkg-config by setting PKG_CONFIG_PATH= PKG_CONFIG_LIBDIR= Override flags completely by specifying them as arguments to make: $ make CFLAGS_CURSES="your custom flags for curses" Also introduce a new, experimental Makefile target standalone. It tries to build a self contained statically linked vis binary. All dependencies (musl, ncurses, termkey, lua, lpeg) are build from source. Lua is patched to include lpeg as a statically built module.
2015-11-08Import LPeg based lexers from Scintillua 3.6.1-1Marc André Tanner108-0/+11252
These are Copyright (c) 2007-2015 Mitchell and released under the MIT license.
2015-11-08vis: remove regex based syntax highlightingMarc André Tanner10-792/+17
2015-11-08vis: more comments and cleanupsMarc André Tanner4-96/+84
2015-11-07text-motion: do not treat ' as string delimiter in match bracketMarc André Tanner1-2/+2
Currently symbols inside a string are ignored. This means that if the opening (closing) symbol is inside (outside) the string while the closing (opening) one is outside (inside), it will not be matched. It is not yet clear whether this "optimization" is useful. Closes #97
2015-11-07vis: shadow default register while in prompt modeMarc André Tanner2-2/+12
Editing operation in prompt mode should not affect the default register.
2015-11-07vis: prefix enum VisMotion values with VIS_Marc André Tanner6-264/+225
2015-11-07vis: tweak enum VisTextObject namesMarc André Tanner3-78/+78
2015-11-07vis: prefix enum VisOperator values with VIS_Marc André Tanner6-101/+88
2015-11-07vis: API documentation and cleanupMarc André Tanner7-99/+151
2015-11-07vis: introduce vis_cancel APIMarc André Tanner4-8/+13
2015-11-07vis: move modes into separate fileMarc André Tanner3-282/+287
2015-11-07vis: move operators to separate fileMarc André Tanner4-238/+247
2015-11-07vis: move motions to separate fileMarc André Tanner4-262/+272
2015-11-07vis: move :-commands into their own fileMarc André Tanner4-1206/+1230
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-04vis: fix definition of space motionMarc André Tanner1-1/+1
We do not instruct libtermkey to specially report the space key. Hence it is not reported as <Space> but simply as a " " (0x20). Closes #89
2015-11-03vis: make open line commands (o and O) repeatableMarc André Tanner1-7/+6
The implementation of O is a bit of a hack and has a few issues: - does not respect auto indentation settings - does not meaningfully repeat when given a count
2015-11-03vis: make single character replace (r command) repeatableMarc André Tanner1-7/+9
2015-11-03vis: add vis_keys_inject to place keys into the input queueMarc André Tanner2-6/+25
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-03buffer: add buffer_insert to insert data at an arbitrary positionMarc André Tanner2-10/+23
Use it to implement buffer_{pre,ap}pend.