summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-08-18ui: remove translation of ^b to backspaceMarc André Tanner
Closes #67
2015-08-15Improve shell highlightingDmitry Bogatov
* 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-12ui: query terminal size on stderrMarc André Tanner
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-09ui: make cursor visible when executing external programsMarc André Tanner
This also affects the file open dialog.
2015-08-09vis: fix :edit! commandMarc André Tanner
It now correctly re-edits the file (i.e reloads it from disk).
2015-08-09vis: fix repeated use of file open dialogMarc André Tanner
2015-08-09vis: cancelling wildcard open causes crashDavid B. Lamkins
Closes #65
2015-08-08text: rename some functions to improve consistencyMarc André Tanner
2015-08-08text: introduce helper function text_delete_rangeMarc André Tanner
2015-08-07vis: limit to/till movements to current lineMarc André Tanner
2015-08-06Add APL syntax highlighting.David B. Lamkins
2015-08-06vis: implement gv to restore last selectionMarc André Tanner
2015-08-06vis: implement al and il text objectsMarc André Tanner
2015-08-06vis: implement gp and gP add count support to put operationsMarc André Tanner
2015-08-02Add short demo screencast to READMEMarc André Tanner
2015-08-02vis: use file open dialog also for :editMarc André Tanner
2015-08-02Update READMEMarc André Tanner
2015-08-02vis: use I and A instead of CTRL-O for new cursors in visual modeMarc André Tanner
I and A creates a new cursor at start/end of every selected line.
2015-08-02text-motion: make text_bracket_match more robustMarc André Tanner
Brackets which occur inside strings are ignored.
2015-08-02vis: add text objects `af` and `if`Marc André Tanner
They try to match C-like function definitions. The inner variant only contains the function body.
2015-08-02vis: add motions [[, [], ][, ]]Marc André Tanner
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-01text-motion: fix text_find_{next,prev}Marc André Tanner
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-01vis: support `ae` and `ie` text objectsMarc André Tanner
2015-08-01view: hide API to free main cursorMarc André Tanner
2015-07-31vis: cleanup handling of charwise/linewise motionsMarc André Tanner
Also text objects in visual mode should now work better.
2015-07-28vis: fix one more coverity scan warningMarc André Tanner
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-28vis: fix bugs uncovered by coverity scanMarc André Tanner
2015-07-28vis: fix join operatorMarc André Tanner
Only skip last line break if range comes from linewise visual mode.
2015-07-28vis: pass cursor to operator implementationsMarc André Tanner
2015-07-28text-util: introduce text_range_equalMarc André Tanner
2015-07-28text-object: introduce utility function text_range_is_linewiseMarc André Tanner
2015-07-28vis: use multiple cursor/selection infrastructureMarc André Tanner
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: do not move cursor in multicursor mode after undo/redoMarc André Tanner
2015-07-28vis: try to align cursors on the same column with CTRL-AMarc André Tanner
2015-07-28text-motion: introduce text_line_char_{get,set}Marc André Tanner
2015-07-28vis: CTRL+J and CTRL+K creates a new cursor on the line below/aboveMarc André Tanner
2015-07-28vis: ESC in normal mode clears all cursorsMarc André Tanner
2015-07-28vis: add per cursor registersMarc André Tanner
2015-07-28vis: add an operator to create new cursorsMarc André Tanner
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-28text-motion: add functions to iterate over lines of a rangeMarc André Tanner
2015-07-28text-util: add text_range_containsMarc André Tanner
2015-07-28text: move utility functions to separate fileMarc André Tanner
2015-07-28ui: try to fixup unicode display issuesMarc André Tanner
The handling of combining characters needs to be reviewed there are still strange things going on. This only covers up some of the artifacts.
2015-07-26view: use a mark to keep track of the visible areaMarc André Tanner
This should fix "corruptions" caused by wrong offsets when editing the same file in multiple windows.
2015-07-26view: do not set cursor position after resizeMarc André Tanner
The problem is that a cursor movement might cause a redraw which in turn causes the sidebar width to change thus the view to be resized which will override the cursor position.
2015-07-26view: always fill out complete cell matrixMarc André Tanner
2015-07-26vis: add infrastructure to support multiple cursors/selectionsMarc André Tanner
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-26text-object: add new functions to search for wordsMarc André Tanner
2015-07-25text: handle marks set to 0 and text_size(...)Marc André Tanner
2015-07-25text: add text_range_overlapMarc André Tanner