aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-11-27Heredocs with "-" can have spaces before closingSilas1-3/+11
If a here-doc start delimiter begins with "-", then spaces are allowed to come before the closing delimiter. This patch fixes what would otherwise be parsed incorrectly: <<-EOF .... EOF
2020-11-12build: add -D_NETBSD_SOURCE for NetBSDSilas1-0/+1
memrchr() signature is not exposed by default for NetBSD. If one does not add -D_NETBSD_SOURCE, the compiler uses its own signature for memrchr() that returns a 32-bit integer, leading to misbehaviour in some situations. Defining _BSD_SOURCE doesn't work, so we define _NETBSD_SOURCE.
2020-10-30test: updateMarc André Tanner1-5/+8
2020-10-30text: simplify iterator_initMarc André Tanner1-2/+1
This was added in c240368d5da8208c15e0263034384414d938afb3 to work around a possibly bogus tis-interpreter warning regarding multiple accesses in the same expression.
2020-10-30text: fix invalid pointer comparisonMarc André Tanner1-1/+1
2020-10-30text: avoid invalid pointer arithmeticMarc André Tanner1-2/+2
2020-10-10test: updateMarc André Tanner1-9/+5
2020-10-10text: move higher level utility functions to separate fileMarc André Tanner3-68/+73
The moved functions do not need access to internals of text.c, but instead use the public interfaces. Splitting them out should facilitate experimentation with different core text management data structures.
2020-10-10text: move generic iterator functionality to separate fileMarc André Tanner3-170/+178
2020-10-10text: move I/O related code to separate fileMarc André Tanner4-562/+587
This groups all I/O related code together to make it reusable in different core text data structure implementations.
2020-10-10build: list source files on separate linesMarc André Tanner1-4/+22
2020-10-10text: provide public text_iterator_initMarc André Tanner2-2/+7
It can be used to initialize a (stack allocated) Iterator structure, avoiding the copying of the return value as done by text_iterator_get which depending on the implementation might be problematic.
2020-10-10text: rename internal text_iterator_initMarc André Tanner1-4/+4
This is in preparation for a public function of the same name.
2020-10-10text: mark return value of text_iterator_text as constMarc André Tanner2-5/+5
2020-10-10text: make text_snapshot return whether it succeededMarc André Tanner2-2/+3
Currently this can't fail, but one can imagine implementations which do.
2020-10-10array: mark array_peek argument as constMarc André Tanner2-2/+2
2020-10-10array: mark array_capacity argument as constMarc André Tanner2-2/+2
2020-10-10array: mark array_init_from argument as constMarc André Tanner2-2/+2
2020-10-10text: mark text_delete_range range argument as constMarc André Tanner2-2/+2
2020-10-10text: mark text_save_write_range range argument as constMarc André Tanner2-2/+2
2020-10-10text: mark text_mmaped argument as constMarc André Tanner2-2/+2
2020-10-10array: mark array_get_ptr argument as constMarc André Tanner2-2/+2
2020-10-10array: mark array_get argument as constMarc André Tanner2-2/+2
2020-10-10array: mark array_length argument as constMarc André Tanner2-2/+2
2020-10-10text: mark text_write{,_range} argument as constMarc André Tanner2-4/+4
2020-10-10text: mark text_size argument as constMarc André Tanner2-2/+2
2020-10-10text: mark text_mark_get argument as constMarc André Tanner2-2/+2
2020-10-10text: mark text_iterator_byte_get argument as constMarc André Tanner2-2/+2
2020-10-10text: mark text_bytes_alloc0 argument as constMarc André Tanner2-2/+2
2020-10-10text: mark text_byte(s)_get argument as constMarc André Tanner2-4/+4
2020-10-10text: mark text_iterator_get argument as constMarc André Tanner2-4/+4
2020-10-10text: mark text_state argument as constMarc André Tanner2-2/+2
2020-10-10text: mark text_modified argument as constMarc André Tanner2-2/+2
2020-10-10text: mark text_stat argument as constMarc André Tanner2-2/+2
2020-10-10text: introduce text_iterator_textMarc André Tanner2-3/+11
2020-10-10text: introduce text_iterator_has_{next,prev}Marc André Tanner2-4/+14
Abstract away access to `it->piece` inorder to enable different implementations/backends.
2020-10-10text: add namespace prefix to block type constantsMarc André Tanner1-10/+10
2020-10-10text: avoid direct access to txt->blocks in I/O related codeMarc André Tanner1-3/+10
2020-10-10text: introduce text_savedMarc André Tanner1-10/+11
Utiltiy function to update book keeping data after a successful save, takes an optional struct stat of the new file.
2020-10-10text: use public text_stat interface where possibleMarc André Tanner1-3/+4
2020-10-10text: introduce block_loadMarc André Tanner1-24/+36
2020-10-10text: store blocks in arrayMarc André Tanner1-31/+35
Make block manipulation routines independent of core text data structure, enabling re-usage in different implementations.
2020-10-10text: simplify reading of initial file contentMarc André Tanner1-6/+7
Avoid unnecessary copy and system calls in block_read.
2020-10-10vis: add vis-selection-new-match-allEvan Gates3-10/+32
Add new vis-selection-new-match-all command, default keybinding <C-a> in visual mode. Refactor selections_next_match to find all matches if arg.b is true. This does not affect existing configs as arg.b defaults to false.
2020-10-10vis: refactor selections_match_nextEvan Gates1-35/+8
A lot of code from selections_match_next was duplicated in selections_match_next_literal. Use the new text_object_find_next/prev functions to combine the two match_next functions into one.
2020-10-10text: add text_object_find_next/prevEvan Gates2-0/+17
Add two new text-object functions to search forwards/backwards for a string literal (not a regex) with the same signature as text_object_word_find_next/prev. This allows them to be used interchangeably with the word based variant through function pointers.
2020-10-06filetype: and Node.js module extensionsBen Hormann1-1/+1
Node.js uses .mjs and .cjs extensions, both are regular javascript.
2020-09-20test: updateMarc André Tanner1-5/+9
2020-09-20Merge branch 'ts' of https://github.com/erf/vis into masterMarc André Tanner1-1/+1
2020-09-20Merge branch 'emg-add-ignorecase' of https://github.com/deepcube/vis into masterMarc André Tanner6-2/+16