prepare for release
[alioth/jupp.git] / macro.h
1 /*
2  *      Keyboard macros
3  *      Copyright
4  *              (C) 1992 Joseph H. Allen
5  *
6  *      This file is part of JOE (Joe's Own Editor)
7  */
8 #ifndef JUPP_MACRO_H
9 #define JUPP_MACRO_H
10
11 #ifdef EXTERN
12 __IDSTRING(rcsid_macro_h, "$MirOS: contrib/code/jupp/macro.h,v 1.6 2020/03/27 06:38:57 tg Exp $");
13 #endif
14
15 /* Set when macro is recording: for status line */
16 extern struct recmac *recmac;
17
18 /* Macro construction functions */
19 MACRO *mkmacro(int k, int arg, int n, CMD *cmd);
20 void addmacro(MACRO *macro, MACRO *m);
21 MACRO *dupmacro(MACRO *mac);
22 void rmmacro(MACRO *macro);
23 MACRO *macstk(MACRO *m, int k);
24 MACRO *macsta(MACRO *m, int a);
25
26 void chmac(void);
27
28 /* Text to macro / Macro to text */
29 MACRO *mparse(MACRO *m, unsigned char *buf, int *sta);
30 unsigned char *mtext(unsigned char *s, MACRO *m);
31
32 /* Execute a macro */
33 extern MACRO *curmacro;
34 int exemac(MACRO *m);
35 int exmacro(MACRO *m, int u);
36
37 /* Keyboard macros user interface */
38 int uplay(BW *bw, int c);
39 int ustop(void);
40 int urecord(BW *bw, int c);
41 int uquery(BW *bw);
42 int umacros(BW *bw);
43
44 /* Repeat prefix user command */
45 int uarg(BW *bw);
46 int uuarg(BW *bw, int c);
47
48 #endif