/* vi.c - You can't spell "evil" without "vi". * * Copyright 2015 Rob Landley <rob@landley.net> * * See http://pubs.opengroup.org/onlinepubs/9699919799/utilities/vi.html USE_VI(NEWTOY(vi, "<1>1", TOYFLAG_USR|TOYFLAG_BIN)) config VI bool "vi" default n help usage: vi FILE Visual text editor. Predates the existence of standardized cursor keys, so the controls are weird and historical. */ #define FOR_vi #include "toys.h" GLOBALS( struct linestack *ls; char *statline; ) struct linestack_show { struct linestack_show *next; long top, left; int x, width, y, height; }; // linestack, what to show, where to show it void linestack_show(struct linestack *ls, struct linestack_show *lss) { return; } void vi_main(void) { int i; if (!(TT.ls = linestack_load(*toys.optargs))) TT.ls = xzalloc(sizeof(struct linestack)); for (i=0; i<TT.ls->len; i++) printf("%.*s\n", (int)TT.ls->idx[i].len, (char *)TT.ls->idx[i].ptr); }