void view_undo(View* view);
void view_redo(View* view);
void view_putstr(View* view, char* str);
+void view_append(View* view, char* str);
char* view_getstr(View* view, Sel* sel);
void view_scroll(View* view, int move);
void view_scrollpage(View* view, int move);
buf_loglock(&(view->buffer));
}
+void view_append(View* view, char* str) {
+ size_t end = buf_end(&(view->buffer));
+ if (view->selection.end != end)
+ view->selection = (Sel){ .beg = end, .end = end };
+ view_putstr(view, str);
+ view_selprev(view);
+}
+
char* view_getstr(View* view, Sel* range) {
Buf* buf = &(view->buffer);
Sel sel = (range ? *range : view->selection);
prevtime = now;
if (!getbuf(EDIT)->modified || num_clicks >= 2)
exit(0);
+ else
+ view_append(getview(TAGS),
+ "File is modified. Double click Quit tag or press Ctrl+Q twice to discard changes.");
}
static void save(void) {