| Age | Commit message (Collapse) | Author | Files | Lines | |
|---|---|---|---|---|---|
| 2015-10-05 | vis: change key binding function prototypes | Marc André Tanner | 3 | -191/+256 | |
| 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-05 | vis: rework input handling using libtermkey | Marc André Tanner | 9 | -577/+585 | |
| 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-15 | Add utfnext utility function | Marc André Tanner | 2 | -0/+9 | |
| 2015-09-15 | buffer: add buffer_put0 to store a NUL terminated string | Marc André Tanner | 2 | -1/+7 | |
| 2015-09-15 | buffer: add buffer_append0 to append NUL terminated strings | Marc André Tanner | 2 | -0/+8 | |
| 2015-09-13 | map: introduce map_contains utility function | Marc André Tanner | 2 | -0/+8 | |
| 2015-09-06 | ui: differentiate between Ctrl-J and enter | Marc André Tanner | 3 | -3/+5 | |
| Thus enter no longer creates new cursors, use CTRL-j instead. Closes #69 | |||||
| 2015-08-18 | ui: remove translation of ^b to backspace | Marc André Tanner | 1 | -1/+0 | |
| Closes #67 | |||||
| 2015-08-15 | Improve shell highlighting | Dmitry Bogatov | 1 | -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-12 | ui: query terminal size on stderr | Marc André Tanner | 1 | -1/+2 | |
| 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-09 | ui: make cursor visible when executing external programs | Marc André Tanner | 1 | -0/+2 | |
| This also affects the file open dialog. | |||||
| 2015-08-09 | vis: fix :edit! command | Marc André Tanner | 2 | -6/+10 | |
| It now correctly re-edits the file (i.e reloads it from disk). | |||||
| 2015-08-09 | vis: fix repeated use of file open dialog | Marc André Tanner | 1 | -1/+1 | |
| 2015-08-09 | vis: cancelling wildcard open causes crash | David B. Lamkins | 1 | -1/+1 | |
| Closes #65 | |||||
| 2015-08-08 | text: rename some functions to improve consistency | Marc André Tanner | 3 | -13/+13 | |
| 2015-08-08 | text: introduce helper function text_delete_range | Marc André Tanner | 3 | -5/+11 | |
| 2015-08-07 | vis: limit to/till movements to current line | Marc André Tanner | 3 | -4/+27 | |
| 2015-08-06 | Add APL syntax highlighting. | David B. Lamkins | 1 | -0/+35 | |
| 2015-08-06 | vis: implement gv to restore last selection | Marc André Tanner | 4 | -2/+35 | |
| 2015-08-06 | vis: implement al and il text objects | Marc André Tanner | 5 | -4/+35 | |
| 2015-08-06 | vis: implement gp and gP add count support to put operations | Marc André Tanner | 2 | -15/+46 | |
| 2015-08-02 | Add short demo screencast to README | Marc André Tanner | 1 | -0/+2 | |
| 2015-08-02 | vis: use file open dialog also for :edit | Marc André Tanner | 1 | -1/+1 | |
| 2015-08-02 | Update README | Marc André Tanner | 1 | -185/+141 | |
| 2015-08-02 | vis: use I and A instead of CTRL-O for new cursors in visual mode | Marc André Tanner | 2 | -3/+18 | |
| I and A creates a new cursor at start/end of every selected line. | |||||
| 2015-08-02 | text-motion: make text_bracket_match more robust | Marc André Tanner | 1 | -8/+17 | |
| Brackets which occur inside strings are ignored. | |||||
| 2015-08-02 | vis: add text objects `af` and `if` | Marc André Tanner | 4 | -0/+29 | |
| They try to match C-like function definitions. The inner variant only contains the function body. | |||||
| 2015-08-02 | vis: add motions [[, [], ][, ]] | Marc André Tanner | 4 | -0/+127 | |
| 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-01 | text-motion: fix text_find_{next,prev} | Marc André Tanner | 1 | -5/+12 | |
| 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-01 | vis: support `ae` and `ie` text objects | Marc André Tanner | 5 | -0/+30 | |
| 2015-08-01 | view: hide API to free main cursor | Marc André Tanner | 3 | -4/+3 | |
| 2015-07-31 | vis: cleanup handling of charwise/linewise motions | Marc André Tanner | 5 | -91/+73 | |
| Also text objects in visual mode should now work better. | |||||
| 2015-07-28 | vis: fix one more coverity scan warning | Marc André Tanner | 1 | -2/+2 | |
| 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. | |||||
| 2015-07-28 | vis: fix bugs uncovered by coverity scan | Marc André Tanner | 1 | -2/+4 | |
| 2015-07-28 | vis: fix join operator | Marc André Tanner | 1 | -6/+9 | |
| Only skip last line break if range comes from linewise visual mode. | |||||
| 2015-07-28 | vis: pass cursor to operator implementations | Marc André Tanner | 2 | -0/+2 | |
| 2015-07-28 | text-util: introduce text_range_equal | Marc André Tanner | 2 | -0/+8 | |
| 2015-07-28 | text-object: introduce utility function text_range_is_linewise | Marc André Tanner | 3 | -1/+9 | |
| 2015-07-28 | vis: use multiple cursor/selection infrastructure | Marc André Tanner | 4 | -1/+81 | |
| 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-28 | vis: do not move cursor in multicursor mode after undo/redo | Marc André Tanner | 1 | -2/+6 | |
| 2015-07-28 | vis: try to align cursors on the same column with CTRL-A | Marc André Tanner | 2 | -0/+20 | |
| 2015-07-28 | text-motion: introduce text_line_char_{get,set} | Marc André Tanner | 2 | -6/+31 | |
| 2015-07-28 | vis: CTRL+J and CTRL+K creates a new cursor on the line below/above | Marc André Tanner | 2 | -0/+17 | |
| 2015-07-28 | vis: ESC in normal mode clears all cursors | Marc André Tanner | 4 | -5/+25 | |
| 2015-07-28 | vis: add per cursor registers | Marc André Tanner | 3 | -2/+17 | |
| 2015-07-28 | vis: add an operator to create new cursors | Marc André Tanner | 2 | -0/+16 | |
| 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-28 | text-motion: add functions to iterate over lines of a range | Marc André Tanner | 2 | -0/+38 | |
| 2015-07-28 | text-util: add text_range_contains | Marc André Tanner | 2 | -1/+7 | |
| 2015-07-28 | text: move utility functions to separate file | Marc André Tanner | 8 | -50/+64 | |
| 2015-07-28 | ui: try to fixup unicode display issues | Marc André Tanner | 1 | -0/+7 | |
| The handling of combining characters needs to be reviewed there are still strange things going on. This only covers up some of the artifacts. | |||||
