aboutsummaryrefslogtreecommitdiff
path: root/config.def.h
AgeCommit message (Collapse)AuthorFilesLines
2015-10-22vis: pass editor instance to mode handling functionsMarc André Tanner1-15/+15
2015-10-22vis: improve :help text, add separate status mode namesMarc André Tanner1-4/+15
2015-10-22vis: correct typos in help textDavid B. Lamkins1-18/+18
2015-10-15vis: alias <C-h> to <Backspace>Marc André Tanner1-0/+4
libtermkey-0.18 does no longer treat them as equal.
2015-10-14vis: fix name clash of keyboard actionsMarc André Tanner1-2/+2
2015-10-14ui: refactor syntax style definitionsMarc André Tanner1-142/+158
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-1/+7
Closes #77
2015-10-05vis: add rudimentary :help commandMarc André Tanner1-0/+1
2015-10-05vis: introduce keyboard actionsMarc André Tanner1-262/+1172
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é Tanner1-1/+0
2015-10-05vis: consolidate all text objects into one modeMarc André Tanner1-13/+2
2015-10-05vis: update mode diagram in config.def.h to be closer to realityMarc André Tanner1-25/+17
2015-10-05vis: convert mark handling to new input handling codeMarc André Tanner1-117/+5
2015-10-05vis: convert insertion of register from insert modeMarc André Tanner1-38/+2
2015-10-05vis: convert register specification to new input handling codeMarc André Tanner1-39/+3
2015-10-05vis: change key binding function prototypesMarc André Tanner1-1/+1
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é Tanner1-420/+414
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-06ui: differentiate between Ctrl-J and enterMarc André Tanner1-2/+4
Thus enter no longer creates new cursors, use CTRL-j instead. Closes #69
2015-08-15Improve shell highlightingDmitry Bogatov1-1/+7
* 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-06Add APL syntax highlighting.David B. Lamkins1-0/+35
2015-08-06vis: implement gv to restore last selectionMarc André Tanner1-0/+1
2015-08-06vis: implement al and il text objectsMarc André Tanner1-0/+2
2015-08-06vis: implement gp and gP add count support to put operationsMarc André Tanner1-2/+4
2015-08-02vis: use I and A instead of CTRL-O for new cursors in visual modeMarc André Tanner1-1/+2
I and A creates a new cursor at start/end of every selected line.
2015-08-02vis: add text objects `af` and `if`Marc André Tanner1-0/+2
They try to match C-like function definitions. The inner variant only contains the function body.
2015-08-02vis: add motions [[, [], ][, ]]Marc André Tanner1-0/+4
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-01vis: support `ae` and `ie` text objectsMarc André Tanner1-0/+2
2015-07-31vis: cleanup handling of charwise/linewise motionsMarc André Tanner1-2/+2
Also text objects in visual mode should now work better.
2015-07-28vis: use multiple cursor/selection infrastructureMarc André Tanner1-0/+5
This commits introduces the following keybindings, in normal mode: CTRL-N select word the cursor is currently over, switch to visual mode CTRL-P remove least recently added cursor ESC if a selection is active, clear it. Otherwise dispose all but the primary cursor. In visual mode: CTRL-N create new cursor and select next word matching current selection CTRL-X clear (skip) current selection, but select next matching word CTRL-P remove least recently added cursor
2015-07-28vis: try to align cursors on the same column with CTRL-AMarc André Tanner1-0/+1
2015-07-28vis: CTRL+J and CTRL+K creates a new cursor on the line below/aboveMarc André Tanner1-0/+2
2015-07-28vis: ESC in normal mode clears all cursorsMarc André Tanner1-0/+1
2015-07-28vis: add an operator to create new cursorsMarc André Tanner1-0/+1
The operator creates a new cursor at the start of every line covered by the given range. It is currently only available as CTRL+O in visual mode.
2015-07-26vis: add infrastructure to support multiple cursors/selectionsMarc André Tanner1-7/+7
This cleans up the existing selection handling code and adds the necessary bits to eventually support multiple cursors/selections. The cursor position is kept track of using marks, which means retrieving the cursor position is no longer a constant time operation. Furthermore the terminal cursor is no longer used, instead the whole window is redrawn after every cursor movement.
2015-07-21ui: further separate curses related user interface codeMarc André Tanner1-12/+12
By now ui-curses.[hc] are the only files dealing directly with curses related functions. Integration of a proper mainloop is still pending.
2015-07-09ui: abstract curses related special keys awayMarc André Tanner1-6/+6
2015-07-09ui: unify backspace handlingMarc André Tanner1-9/+4
2015-07-03Add :show command to display special symbols for whitespacesMarc André Tanner1-0/+19
Enable/disable by setting to 0/1 respectively: :set show spaces=0 tabs=0 newlines=1
2015-06-30Cleanup insert/replace mode input handlingMarc André Tanner1-1/+1
View should only display the file content, but not modify it.
2015-06-27Make :earlier and :later accept arguments similar to vimMarc André Tanner1-2/+2
Currently the following arguments are accepted: {count} Go to older text state {count} times. {N}s Go to older text state about {N} seconds before. {N}m Go to older text state about {N} minutes before. {N}h Go to older text state about {N} hours before. {N}d Go to older text state about {N} days before
2015-06-27Hook up :-commands & keybindings for earlier/laterRyan Chipman1-0/+4
2015-05-17Implement :r and :r! in terms of filter commandsMarc André Tanner1-1/+1
2015-05-17Filter command :!Marc André Tanner1-0/+1
If no range is given then stdin is passed through which allows interactive usage as in :!ls -1 *.c | slmenu For this to work the command needs to use stderr for its user interface and write any data for vis to stdout.
2015-04-22More renames, no functional changesMarc André Tanner1-12/+12
Win -> View, window_* -> view_*
2015-04-22More renaming vis->win->view instead of vis->win->winMarc André Tanner1-8/+8
2015-04-22Better variable naming (VisText -> File)Marc André Tanner1-4/+4
Therefore vis->win->text->data becomes vis->win->file->text.
2015-04-21Implement ';' and ','Marc André Tanner1-0/+2
This fixes #45
2015-04-15Highlight null directive.noname1-1/+1
2015-04-12Add javascript syntax highlightingJohn W. Trengrove1-0/+27
2015-04-11Recognize g~ as case swap operatorMarc André Tanner1-0/+1