summaryrefslogtreecommitdiff
path: root/text-motions.h
AgeCommit message (Collapse)Author
2022-11-29fix miscellaneous spelling mistakesNick Hanley
2020-12-10fix typos in commentsMoesasji
2020-01-26vis: don't search off screen when highlighting matchesGeorgi Kirilov
2018-04-08Fix "parenthese" in identifiersTwoFinger
2018-02-27text-motion: implement text_line_blank_{prev,next}Marc André Tanner
2017-04-09text: drop special handling of \r\n line endingsMarc André Tanner
2017-04-04vis: add motions to move by codepointsMarc André Tanner
Some people might prefer this for <Backspace> behavior. Except for that and debugging purposes using `ga` and `g8` it is not yet that useful.
2017-02-15vis: remove motion and text objects related to C functionsMarc André Tanner
These do not really belong into the editor core. If desired they could be implemented in Lua instead.
2017-02-15text-motions: remove unused text_line_lastcharMarc André Tanner
2016-04-12Add "[(" and "])" motions for jumping to a parenthese pair's start/endRob Pilling
2016-04-12Add "[{" and "]}" motions to jump to a block's start/endRob Pilling
2016-04-11text-motions: fix misspelled function name "is_word_boundry"Steven Noonan
Should be "is_word_boundary" Signed-off-by: Steven Noonan <steven@uplinklabs.net>
2016-02-13text-motion: add functions to get/set position based on display widthMarc André Tanner
This is inherently a tricky thing to do because we cannot rely on the current display state. The reason being that the position/cursor which is modified might not currently be in the visible area. Tabs are a particular problem because they have a variable display width. However this new code is certainly not worse than the current behaviour which relies on text_line_char_{get,set} and thus simply counts graphemes. Not yet completely convinced that this is the right approach.
2016-02-03text-motion: hide ugly casts for isboundary behind a #defineMarc André Tanner
2016-02-03text-motion: export custom word motion functionsMarc André Tanner
2016-01-27text-motion: change text_bracket_match APIMarc André Tanner
2015-11-23text: introduce functions to iterate over graphemesMarc André Tanner
They currently consider any character for which wcwidth(3) return 0 as a combining character.
2015-08-07vis: limit to/till movements to current lineMarc André Tanner
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-07-28text-motion: introduce text_line_char_{get,set}Marc André Tanner
2015-07-28text-motion: add functions to iterate over lines of a rangeMarc André Tanner
2015-07-24text-motion: introduce text_line_{up,down}Marc André Tanner
2015-07-19text: move regex related functions to separate fileMarc André Tanner
Eventually this should probably be rewritten to use an iternal regex engine, currently it has unacceptable memory usage, it copies the whole text.
2015-07-03Add movements to next/previous character within same lineMarc André Tanner
These movements always keep the cursor on the same line and do not move over newlines.
2015-04-21Clean up to/till movementsMarc André Tanner
2015-04-10Highlight matching cursor symbolMarc André Tanner
2015-01-13Add new logical linewise movementsMarc André Tanner
The column position is currently not correctly preserved when there are lines with multibyte characters involved spanning multiple screen lines. In general this might still be a bit fragile.
2014-09-27Add text objects for word (lowercase) variantMarc André Tanner
2014-09-25Add infrastructure for word (lowercase) motionsMarc André Tanner
This unfortunately doesn't work as is which is why it is not actually hooked up to key bindings.
2014-09-25Perform some renames in preparation for different word typesMarc André Tanner
2014-09-25Introduce text_line_lastcharMarc André Tanner
2014-09-25Revert "Change semantics of text_line_end"Marc André Tanner
This reverts commit 3a24e6a5562e4b1ea456fbe36607bd8a9c92744d.
2014-09-24Change semantics of text_line_endMarc André Tanner
Also make movement to end of line inclusive. This has the effect that $ moves to the last character on a line but d$ still deletes said character.
2014-09-19Windows style newlines are actually \r\n not \n\rMarc André Tanner
This is fiddely stuff, hopefully it doesn't break too much
2014-09-10text-motions: add text_line_prev functionMarc André Tanner
2014-09-10text-motions: fix no match case of text_find_char_{next,prev}Marc André Tanner
These functions should return the original position in case no match was found.
2014-09-10Add comments where appropriateMarc André Tanner
2014-09-09Remove trailing whitespaces (sed 's/[ \t]*$//')Marc André Tanner
2014-09-08Hook up search as a movementMarc André Tanner
2014-09-05Add helper function which finds the start of the next lineMarc André Tanner
2014-08-30Add trivial text motions to start and end of fileMarc André Tanner
2014-08-28motion: add character wise motionMarc André Tanner
2014-08-28Improve text motionsMarc André Tanner
2014-08-25Move motion related stuff into own fileMarc André Tanner