aboutsummaryrefslogtreecommitdiff
path: root/text.c
AgeCommit message (Collapse)AuthorFilesLines
2014-10-25Change return type of text_saveMarc André Tanner1-4/+4
2014-10-24Do not crash when given an invalid search patternMarc André Tanner1-1/+4
2014-10-23Move feature test macros to config.mkMarc André Tanner1-2/+0
2014-10-19Preserve file permissions when savingStephen Paul Weber1-3/+10
2014-10-17Make editor usable as a filter: echo foo | vis - | catMarc André Tanner1-1/+31
The terminal output is by default redirected to stderr, making stdout available for communications purposes. If a file is "opened" from stdin (i.e. vis is given '-' as argument) and a subsequent write without a filename is performed as in ":wq" the output is written to stdout.
2014-10-17Read stdin when given - as filenameMarc André Tanner1-0/+12
2014-09-28More helpful error when trying to open a non fileMarc André Tanner1-1/+3
This is not really correct e.g. vis /dev/zero will print a misleading error.
2014-09-28Make '.' repeat last insertionMarc André Tanner1-0/+13
2014-09-28Fix typo in piece table caching layerMarc André Tanner1-1/+1
This resulted in uneccesary pieces of size 1.
2014-09-28Improve argument validation in text_insertMarc André Tanner1-0/+2
2014-09-22Add support for the '<', '>' marksMarc André Tanner1-1/+1
2014-09-19This fixes warning with latest glibc (>= 2.19.90), which deprecated _BSD_SOURCEChristian Hesse1-0/+1
warning: _BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE Commit 4f537d8e4bd9707a0048289f296510b76ce6d642 just fixed one of three cases. Fix the remaining.
2014-09-19Remove some TODO itemsMarc André Tanner1-3/+0
2014-09-19Support files with Windows style newlines \r\nMarc André Tanner1-0/+15
2014-09-19Windows style newlines are actually \r\n not \n\rMarc André Tanner1-4/+1
This is fiddely stuff, hopefully it doesn't break too much
2014-09-16Fix editing of files with length 0Gregor Best1-3/+5
Signed-off-by: Gregor Best <gbe@unobtanium.de>
2014-09-14Fix save to absolute pathsMarc André Tanner1-9/+14
The save logic still needs changes to restore file permissions, ownership (if run as root) etc.
2014-09-14Make byte based iterator API handle the whole range [0, size]Marc André Tanner1-5/+28
Before this commit the valid range was [0, size) which represents the file content. For the position at EOF (=size) a NUL byte is returned which is not actually part of the underlying file. This should fix various movements / editing operations at the end of the file. For example Ctrl+w at the end of the command prompt.
2014-09-14Use EPOS where appropriateMarc André Tanner1-4/+4
2014-09-14All *_free(...) functions should accept a NULL argumentMarc André Tanner1-0/+2
2014-09-14Fix clang static analyzer warningsMarc André Tanner1-0/+8
2014-09-13Introduce some helper functions dealing with FilerangeMarc André Tanner1-0/+19
2014-09-13Rename text_insert_raw to text_insertMarc André Tanner1-5/+1
2014-09-13Introduce and use EPOS instead of (size_t)-1Marc André Tanner1-4/+4
2014-09-12Make sure that the state is consistent after an undo operationMarc André Tanner1-0/+2
When performing an undo operation, further changes should not be accounted to the then active action. Therefore take a snapshot which resets txt->current_action to NULL.
2014-09-12Remove outdated commentsMarc André Tanner1-2/+0
2014-09-12Introduce text_filename_setMarc André Tanner1-2/+6
This can be used to associate a given filename to a currently unnamed text.
2014-09-12Rename text_filename to text_filename_getMarc André Tanner1-1/+1
2014-09-12Restore cursor position after an undo/redoMarc André Tanner1-11/+17
2014-09-11Avoid segfault if no previous search has been performedMarc André Tanner1-1/+5
2014-09-10If text has been created from an empty file, store filename upon first saveMarc André Tanner1-0/+2
2014-09-10Add comments where appropriateMarc André Tanner1-2/+2
2014-09-09Fix a few memory leaksMarc André Tanner1-0/+1
2014-09-08Hook up search as a movementMarc André Tanner1-2/+4
2014-09-08Unify variable namingMarc André Tanner1-195/+195
Only textual substitution no functional changes.
2014-09-08Use named struct initializers where appropriateMarc André Tanner1-14/+6
2014-08-28text: fix iterator_char{prev,next} to accept NULL argumentMarc André Tanner1-2/+4
2014-08-25Move motion related stuff into own fileMarc André Tanner1-0/+4
2014-08-24Add license headerMarc André Tanner1-0/+15
2014-08-23Share common macros in util.hMarc André Tanner1-7/+1
2014-08-23text: invalidate line <-> pos mapping upon undo/redoMarc André Tanner1-0/+2
2014-08-23text: redesing mark implementationMarc André Tanner1-20/+16
Previously a mark was a byte offset from the start of the file which required updates whenever a text modification happened before it. Now it is simply a pointer into the underlying (mostly) append only buffer which remains valid throughout the whole life cycle.
2014-08-23text: refactor piece_getMarc André Tanner1-20/+29
2014-08-14Remove useless replace APIMarc André Tanner1-10/+0
The removed junk might not have the same length as the newly inserted one.
2014-08-14Rename files editor.[ch] -> text.[ch]Marc André Tanner1-0/+1094