/*
* Menu of macros
* Copyright
* (C) 1992 Joseph H. Allen
*
* This file is part of JOE (Joe's Own Editor)
*/
struct rc_menu_entry {
MACRO *m;
char *name;
};
struct rc_menu {
struct rc_menu *next; /* Next one in list */
char *name; /* Name of this menu */
ptrdiff_t last_position; /* Last cursor position */
ptrdiff_t size; /* Number of entries */
struct rc_menu_entry **entries;
MACRO *backs; /* Macro to execute for backspace */
};
struct menu_instance {
struct rc_menu *menu;
char **s;
};
/* Create a menu */
struct rc_menu *create_menu(char *name, MACRO *bs);
/* Add entry to a menu */
void add_menu_entry(struct rc_menu *menu, char *entry_name, MACRO *m);
/* Menu command */
int umenu(W *w, int k);
extern int menu_flg;