summaryrefslogtreecommitdiff
path: root/src/normal.cc
AgeCommit message (Collapse)Author
2014-08-28Fix spaces_to_tabs when tabs follow spacesMaxime Coste
2014-08-14Add support for running kakoune as a filter, using -f 'keys'Maxime Coste
It will cycle on every given files, apply the keys and write to <filename>.kak-out. Only normal/insert mode is available, kakrc are not read.
2014-07-30Only change search register when prompt are validatedMaxime Coste
Fixes #160
2014-07-30Stop macro recording on esc in normal modeMaxime Coste
Fixes #221
2014-07-22fix align with multiple columnsMaxime Coste
2014-07-11Rename ColorPair to Face and ColorRegistry to FaceRegistryMaxime Coste
Face also stores the attributes
2014-07-10Add docstring for normal mode commands and display them if autoinfo >= 2Maxime Coste
2014-07-10Change autoinfo option to be an integer, allowing different levelsMaxime Coste
2014-07-05Remove 'ReplaceMain' select modeMaxime Coste
2014-07-05Merge remote-tracking branch 'alexherbo2/previous-match'Maxime Coste
2014-07-05More consistent <space> and <a-space> behaviourMaxime Coste
<space> and <a-space> without count now remove all except/keep main selection. Without reducing main selection to cursor. Reduce to cursor is moved to ';' and flip selections to <a-;>
2014-07-05Add support for paste all (on <a-[pP]>)Maxime Coste
Paste all pastes all yanked text at all selections, selecting each pasted text. Replace paste moves to R, and concat yank/concat delete (Y and D) are removed. Fixes #161
2014-07-05Minor style cleanupMaxime Coste
2014-07-05utf8: use end of sequence iterators for more securityMaxime Coste
2014-07-03add alt-n commands to (replace|append) previous matchAlex Leferry 2
Note: alt-n command were used to replace main selection with next match (preserving the others)
2014-07-01Accept upper case macro names, convert them to lower caseMaxime Coste
2014-06-24Rename utf8::utf8_iterator to utf8::iteratorMaxime Coste
2014-06-21Use main selection index as default when accessing only one register valueMaxime Coste
Fixes #117
2014-06-11add ' ' for whitespaces objectAlex Leferry 2
2014-06-10Fix tabs-to-spaces an spaces-to-tabs with the selection refactorMaxime Coste
2014-06-09Merge branch 'master' into remove-buffer-change-listenerMaxime Coste
2014-06-09Do not touch the reference line in copy_indentMaxime Coste
2014-06-06Merge branch 'master' into remove-buffer-change-listenerMaxime Coste
2014-06-02Move compute_modified_ranges to selection.cc and use an optimized approachMaxime Coste
2014-06-01Add Context::set_selections(std::vector<Selection>)Maxime Coste
This methods avoids updating the context selection needlessly as they are going to get replaced anyway.
2014-06-01Extract merge_overlapping as a free function templateMaxime Coste
2014-05-29Use forward iteration on selections, and take advantage of it when updatingMaxime Coste
SelectionList::update now is optimized for the common case where changes are sorted, the algorithm is O(m*n) with m the number of sorted ranges in the changes. In the common case, m should be very small.
2014-05-27Add 'n' for number object (inner number does not recognise '.')Maxime Coste
2014-05-27Merge branch 'master' into remove-buffer-change-listenerMaxime Coste
Conflicts: src/normal.cc src/selectors.cc src/selectors.hh
2014-05-26Rename select_whole_.* to just select_.*Maxime Coste
2014-05-26Remove ModificationMaxime Coste
Lets consider that as a failed experiment. You see, I learned something today, for a complicated problem, it is important to keep as much knowledge of the exact problem as possible. the Modification approach failed because it tried to solve the general problem, which is quite complex. The new approach, which keeps the knowledge that selections are sorted is much simpler and faster (see f49bec802157fc592bc6e35755807c6c3a531e78).
2014-05-26Go back to Buffer::Change based implementation for SelectionList::updateMaxime Coste
However take into account the ordering of selections in insert and erase methods, so that we update selection position cheaply.
2014-05-25Move insert/erase methods from normal.cc to member functions in SelectionListMaxime Coste
It does look like the Editor class is attempting a sneaky comeback...
2014-05-24Fix selection update in when doing a 'replace' insertMaxime Coste
2014-05-19Remove duplicated logic and fix insert in Replace modeMaxime Coste
2014-05-17Minor cleanup in SelectionList methodsMaxime Coste
2014-05-14Iterate in reversed order on selections when modifing bufferMaxime Coste
This way, update only needs to be called once everything is done as we always modify after the next selection to be used.
2014-05-14Use a plain SelectionList for Context, remove DynamicSelectionListMaxime Coste
2014-05-14use plain SelectionList for regex_promptMaxime Coste
2014-05-13Make it harder to have an invalid SelectionListMaxime Coste
2014-05-13SelectionList know its buffer and timestampMaxime Coste
2014-05-13Use a Buffer::changes_since based implementation for undo/redoMaxime Coste
2014-05-13Pass a at_end param to BufferChangeListener::on_{insert,erase}Maxime Coste
2014-05-12SelectionList no longer inherit from std::vectorMaxime Coste
2014-05-08Catch std::runtime_errors that can be thrown by regex_searchMaxime Coste
This handle the case where a regex matching gets too complex.
2014-05-08fix tabs_to_space on consecutive tabsMaxime Coste
2014-05-07Refactor LineAndColumn coordinatesMaxime Coste
BufferCoord -> ByteCoord DisplayCoord -> CharCoord Moved their definition along with LineAndColumn into coord.hh
2014-05-05Add '$' for keeping selections that passes a shell commandMaxime Coste
'$' pipes each selections through a given shell command, and only keeps the one that have an exit code of 0 Fixes #36
2014-05-05Use c++ code for 'gf' command rather than running a user :edit commandMaxime Coste
2014-04-28Move some buffer related utility functions to buffer_utils.{cc,hh}Maxime Coste