aboutsummaryrefslogtreecommitdiff
path: root/text-motions.h
AgeCommit message (Collapse)AuthorFilesLines
2025-12-22move all standard library includes into util.hRandy Palamar1-1/+0
2025-12-16delete functions which were exposed as unusedRandy Palamar1-8/+0
2025-12-16mark all functions in headers with VIS_EXPORT or VIS_INTERNALRandy Palamar1-58/+58
if vis actually wants to be a library exported symbols may need mark up depending on the platform (eg. __declspec(dllexport)). This needs to be hidden behind a macro because the way you export is not the same on every platform. I did this based on the assumption that vis.h was supposed to be the only interface to the "vis" library. Since nobody actually uses vis as a library I have no idea if this is actually correct. Anyway marking up all prototypes like this allows for one to convert all functions to static if a single translation unit is used by inserting at the start: #define VIS_INTERNAL static #define VIS_EXPORT static
2022-11-29fix miscellaneous spelling mistakesNick Hanley1-1/+1
2020-12-10fix typos in commentsMoesasji1-7/+7
2020-01-26vis: don't search off screen when highlighting matchesGeorgi Kirilov1-2/+2
2018-04-08Fix "parenthese" in identifiersTwoFinger1-2/+2
2018-02-27text-motion: implement text_line_blank_{prev,next}Marc André Tanner1-0/+3
2017-04-09text: drop special handling of \r\n line endingsMarc André Tanner1-5/+5
2017-04-04vis: add motions to move by codepointsMarc André Tanner1-0/+3
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é Tanner1-5/+0
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é Tanner1-3/+2
2016-04-12Add "[(" and "])" motions for jumping to a parenthese pair's start/endRob Pilling1-0/+2
2016-04-12Add "[{" and "]}" motions to jump to a block's start/endRob Pilling1-0/+2
2016-04-11text-motions: fix misspelled function name "is_word_boundry"Steven Noonan1-1/+1
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é Tanner1-0/+4
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é Tanner1-4/+4
2016-02-03text-motion: export custom word motion functionsMarc André Tanner1-0/+7
2016-01-27text-motion: change text_bracket_match APIMarc André Tanner1-2/+2
2015-11-23text: introduce functions to iterate over graphemesMarc André Tanner1-4/+4
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é Tanner1-0/+3
2015-08-02vis: add motions [[, [], ][, ]]Marc André Tanner1-0/+8
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é Tanner1-0/+4
2015-07-28text-motion: add functions to iterate over lines of a rangeMarc André Tanner1-0/+5
2015-07-24text-motion: introduce text_line_{up,down}Marc André Tanner1-0/+3
2015-07-19text: move regex related functions to separate fileMarc André Tanner1-0/+1
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é Tanner1-0/+3
These movements always keep the cursor on the same line and do not move over newlines.
2015-04-21Clean up to/till movementsMarc André Tanner1-2/+2
2015-04-10Highlight matching cursor symbolMarc André Tanner1-0/+2
2015-01-13Add new logical linewise movementsMarc André Tanner1-0/+1
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é Tanner1-0/+3
2014-09-25Add infrastructure for word (lowercase) motionsMarc André Tanner1-9/+10
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é Tanner1-4/+4
2014-09-25Introduce text_line_lastcharMarc André Tanner1-4/+5
2014-09-25Revert "Change semantics of text_line_end"Marc André Tanner1-2/+2
This reverts commit 3a24e6a5562e4b1ea456fbe36607bd8a9c92744d.
2014-09-24Change semantics of text_line_endMarc André Tanner1-2/+2
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é Tanner1-1/+1
This is fiddely stuff, hopefully it doesn't break too much
2014-09-10text-motions: add text_line_prev functionMarc André Tanner1-2/+3
2014-09-10text-motions: fix no match case of text_find_char_{next,prev}Marc André Tanner1-1/+2
These functions should return the original position in case no match was found.
2014-09-10Add comments where appropriateMarc André Tanner1-5/+14
2014-09-09Remove trailing whitespaces (sed 's/[ \t]*$//')Marc André Tanner1-3/+3
2014-09-08Hook up search as a movementMarc André Tanner1-0/+3
2014-09-05Add helper function which finds the start of the next lineMarc André Tanner1-2/+3
2014-08-30Add trivial text motions to start and end of fileMarc André Tanner1-0/+3
2014-08-28motion: add character wise motionMarc André Tanner1-0/+3
2014-08-28Improve text motionsMarc André Tanner1-5/+8
2014-08-25Move motion related stuff into own fileMarc André Tanner1-0/+58