aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-08-09ui: make cursor visible when executing external programsMarc André Tanner1-0/+2
This also affects the file open dialog.
2015-08-09vis: fix :edit! commandMarc André Tanner2-6/+10
It now correctly re-edits the file (i.e reloads it from disk).
2015-08-09vis: fix repeated use of file open dialogMarc André Tanner1-1/+1
2015-08-09vis: cancelling wildcard open causes crashDavid B. Lamkins1-1/+1
Closes #65
2015-08-08text: rename some functions to improve consistencyMarc André Tanner3-13/+13
2015-08-08text: introduce helper function text_delete_rangeMarc André Tanner3-5/+11
2015-08-07vis: limit to/till movements to current lineMarc André Tanner3-4/+27
2015-08-06Add APL syntax highlighting.David B. Lamkins1-0/+35
2015-08-06vis: implement gv to restore last selectionMarc André Tanner4-2/+35
2015-08-06vis: implement al and il text objectsMarc André Tanner5-4/+35
2015-08-06vis: implement gp and gP add count support to put operationsMarc André Tanner2-15/+46
2015-08-02Add short demo screencast to READMEMarc André Tanner1-0/+2
2015-08-02vis: use file open dialog also for :editMarc André Tanner1-1/+1
2015-08-02Update READMEMarc André Tanner1-185/+141
2015-08-02vis: use I and A instead of CTRL-O for new cursors in visual modeMarc André Tanner2-3/+18
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é Tanner1-8/+17
Brackets which occur inside strings are ignored.
2015-08-02vis: add text objects `af` and `if`Marc André Tanner4-0/+29
They try to match C-like function definitions. The inner variant only contains the function body.
2015-08-02vis: add motions [[, [], ][, ]]Marc André Tanner4-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-01text-motion: fix text_find_{next,prev}Marc André Tanner1-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-01vis: support `ae` and `ie` text objectsMarc André Tanner5-0/+30
2015-08-01view: hide API to free main cursorMarc André Tanner3-4/+3
2015-07-31vis: cleanup handling of charwise/linewise motionsMarc André Tanner5-91/+73
Also text objects in visual mode should now work better.
2015-07-28vis: fix one more coverity scan warningMarc André Tanner1-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-28vis: fix bugs uncovered by coverity scanMarc André Tanner1-2/+4
2015-07-28vis: fix join operatorMarc André Tanner1-6/+9
Only skip last line break if range comes from linewise visual mode.
2015-07-28vis: pass cursor to operator implementationsMarc André Tanner2-0/+2
2015-07-28text-util: introduce text_range_equalMarc André Tanner2-0/+8
2015-07-28text-object: introduce utility function text_range_is_linewiseMarc André Tanner3-1/+9
2015-07-28vis: use multiple cursor/selection infrastructureMarc André Tanner4-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-28vis: do not move cursor in multicursor mode after undo/redoMarc André Tanner1-2/+6
2015-07-28vis: try to align cursors on the same column with CTRL-AMarc André Tanner2-0/+20
2015-07-28text-motion: introduce text_line_char_{get,set}Marc André Tanner2-6/+31
2015-07-28vis: CTRL+J and CTRL+K creates a new cursor on the line below/aboveMarc André Tanner2-0/+17
2015-07-28vis: ESC in normal mode clears all cursorsMarc André Tanner4-5/+25
2015-07-28vis: add per cursor registersMarc André Tanner3-2/+17
2015-07-28vis: add an operator to create new cursorsMarc André Tanner2-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-28text-motion: add functions to iterate over lines of a rangeMarc André Tanner2-0/+38
2015-07-28text-util: add text_range_containsMarc André Tanner2-1/+7
2015-07-28text: move utility functions to separate fileMarc André Tanner8-50/+64
2015-07-28ui: try to fixup unicode display issuesMarc André Tanner1-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.
2015-07-26view: use a mark to keep track of the visible areaMarc André Tanner1-2/+10
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é Tanner1-1/+0
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é Tanner3-34/+26
2015-07-26vis: add infrastructure to support multiple cursors/selectionsMarc André Tanner8-370/+607
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é Tanner2-0/+34
2015-07-25text: handle marks set to 0 and text_size(...)Marc André Tanner1-0/+8
2015-07-25text: add text_range_overlapMarc André Tanner2-0/+8
2015-07-24text-motion: introduce text_line_{up,down}Marc André Tanner2-0/+15
2015-07-23text-object: add text_range_linewiseMarc André Tanner2-0/+11
Takes a range and extends both ends to cover the remaining part of the line.
2015-07-22text: introduce text_range_newMarc André Tanner2-0/+10