Home | History | Annotate | Download | only in pending
      1 /* vi.c - You can't spell "evil" without "vi".
      2  *
      3  * Copyright 2015 Rob Landley <rob (at) landley.net>
      4  *
      5  * See http://pubs.opengroup.org/onlinepubs/9699919799/utilities/vi.html
      6 
      7 USE_VI(NEWTOY(vi, "<1>1", TOYFLAG_USR|TOYFLAG_BIN))
      8 
      9 config VI
     10   bool "vi"
     11   default n
     12   help
     13     usage: vi FILE
     14 
     15     Visual text editor. Predates the existence of standardized cursor keys,
     16     so the controls are weird and historical.
     17 */
     18 
     19 #define FOR_vi
     20 #include "toys.h"
     21 
     22 GLOBALS(
     23   struct linestack *ls;
     24   char *statline;
     25 )
     26 
     27 struct linestack_show {
     28   struct linestack_show *next;
     29   long top, left;
     30   int x, width, y, height;
     31 };
     32 
     33 // linestack, what to show, where to show it
     34 void linestack_show(struct linestack *ls, struct linestack_show *lss)
     35 {
     36   return;
     37 }
     38 
     39 void vi_main(void)
     40 {
     41   int i;
     42 
     43   if (!(TT.ls = linestack_load(*toys.optargs)))
     44     TT.ls = xzalloc(sizeof(struct linestack));
     45 
     46   for (i=0; i<TT.ls->len; i++)
     47     printf("%.*s\n", (int)TT.ls->idx[i].len, (char *)TT.ls->idx[i].ptr);
     48 }
     49