summaryrefslogtreecommitdiff
path: root/vis-operators.c
AgeCommit message (Collapse)Author
2016-11-19vis: keep track of whether "0 stores line wise dataMarc André Tanner
2016-11-09vis: add replace operator VIS_OP_REPLACEMarc André Tanner
Delete the given range and insert the same number of replacement characters.
2016-11-09vis: unify VIS_OP_{INSERT,REPLACE} implementationMarc André Tanner
They both perform a motion before changing mode.
2016-10-28vis: tweak join behaviorMarc André Tanner
We only remove leading but not trailing white space of the lines to be joined. Not completely sure whether that is an improvement, but it matches vim behavior. Do not insert a space when joining empty lines.
2016-10-09vis: fix join operator to work on lines ending with white spacesMarc André Tanner
Extend the operator range to cover white spaces to the left of the cursor position on the same line. Close #400
2016-08-24vis: implement gJ like behaviorMarc André Tanner
The behavior is not exactly the same because vim preserves any existing white spaces wihle we remove existing ones but do not insert additional ones. The vim behavior (essentially only deleating new lines) can be achived using something like: :x/\n/d Close #374
2016-08-24vis: improve dot (repeat) command implmentationMarc André Tanner
Do not override implicit operator macro in command mode. Fix #334
2016-04-29vis: improve cursor placement after join operatorMarc André Tanner
Close #299
2016-04-27vis: adapt charwise put operator to not move across linesMarc André Tanner
This should let `$p` work as before the changes to `$`.
2016-04-13Use view_cursors_new_force where appropriateMarc André Tanner
Close #263
2016-04-09vis: make sure linewise put operations insert necessary new linesMarc André Tanner
Given the following text with no trailing new line at the end of line2, where # denotes the cursor position: line1 of text line2 #f text the command yykp should produce line1 of text #ine2 of text line2 of text where previously it would wrongly result in line1 of text #ine1 of textline2 of text
2016-03-28view: change cursor creation API to take an initial positionMarc André Tanner
2016-03-12register: rename register put related functionsMarc André Tanner
2016-02-21vis: only move to start of yanked range if it is not line wiseMarc André Tanner
Otherwise this completely breaks the common case of yanking a whole line with yy. This also means that the beavior in visual line mode is different than in vim. Partially reverts ff57c0b8598a60617983ebe25d34c79a9c6bc511.
2016-02-21vis: insert missing new line when putting at the end of fileMarc André Tanner
Something like ifoo<Escape>yyp should produce foo foo not foofoo as was the case before.
2016-02-18vis: move cursor to start of yanked rangeMarc André Tanner
Close #176
2016-02-12Mark some tables as constMarc André Tanner
This allows them to be placed into the read only ELF section.
2016-02-10vis: implement yank register "0Marc André Tanner
2016-01-30Implement system clipboard registers "* and "+Marc André Tanner
Both registers are currently treated identically. The actual system integration is performed by two shell scripts vis-copy and vis-paste.
2016-01-30Cleanup register implementationMarc André Tanner
2016-01-19vis: improve cursor placement after shift operatorsMarc André Tanner
2016-01-14vis: s/ops/vis_operators/gMarc André Tanner
2016-01-14vis: move vis_operator(..) to corresponding fileMarc André Tanner
2016-01-14vis: inline expand_tabMarc André Tanner
2015-11-28vis: add cmd argument to VIS_OP_FILTERMarc André Tanner
2015-11-27vis: implement filter operator !Marc André Tanner
It currently works by switching to visual mode and then opening the command prompt with a default range which refers to the currently active selection.
2015-11-17vis: put in visual mode should replace the current selectionMarc André Tanner
There are some combinations (e.g. line wise selection / character wise register content) which should probably be improved further. Also since vis currently neither supports the numbered registers "0 - "9 nor the small delete register "- the deleted text is not stored in any register. Notice that we can't call op_delete in the implementation because it would overwrite the register content we want to paste. Closes #113
2015-11-07vis: prefix enum VisOperator values with VIS_Marc André Tanner
2015-11-07vis: move operators to separate fileMarc André Tanner