diff options
| author | Marc André Tanner <mat@brain-dump.org> | 2014-10-17 15:43:48 +0200 |
|---|---|---|
| committer | Marc André Tanner <mat@brain-dump.org> | 2014-10-17 15:43:48 +0200 |
| commit | e9180cf83ade29192d8407337f614e5a024017a9 (patch) | |
| tree | 0aa207c91d5bdb999a260ba54de015916dfbea5b /text.h | |
| parent | 6be820495d70e6f10a92fbdaf6a1e4a278b02ab6 (diff) | |
| download | vis-e9180cf83ade29192d8407337f614e5a024017a9.tar.gz vis-e9180cf83ade29192d8407337f614e5a024017a9.tar.xz | |
Make editor usable as a filter: echo foo | vis - | cat
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.
Diffstat (limited to 'text.h')
| -rw-r--r-- | text.h | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -2,7 +2,7 @@ #define TEXT_H #include <stdbool.h> -#include <stddef.h> +#include <sys/types.h> #define EPOS ((size_t)-1) /* invalid position */ @@ -34,6 +34,9 @@ typedef struct { Text *text_load(const char *file); Text *text_load_fd(int fd); +/* return the fd from which this text was loaded or -1 if it was + * loaded from a filename */ +int text_fd_get(Text*); /* the filename from which this text was loaded or first saved to */ const char *text_filename_get(Text*); /* associate a filename with the yet unnamed buffer */ @@ -82,6 +85,7 @@ bool text_modified(Text*); /* test whether the underlying file uses UNIX style \n or Windows style \r\n newlines */ bool text_newlines_crnl(Text*); int text_save(Text*, const char *file); +ssize_t text_write(Text*, int fd); void text_free(Text*); typedef struct Regex Regex; |
