-c flag, incmd, setcmd(), setterse() added
[unix-history] / usr / src / usr.bin / window / lcmd.c
... / ...
CommitLineData
1#ifndef lint
2static char *sccsid = "@(#)lcmd.c 3.13 84/03/29";
3#endif
4
5#include "defs.h"
6#include "value.h"
7#include "lcmd.h"
8
9int l_background();
10int l_buffer();
11int l_close();
12int l_cursormodes();
13int l_debug();
14int l_escape();
15int l_foreground();
16int l_label();
17int l_select();
18int l_source();
19int l_terse();
20int l_unset();
21int l_window();
22int l_write();
23
24struct lcmd_arg arg_background[];
25struct lcmd_arg arg_buffer[];
26struct lcmd_arg arg_close[];
27struct lcmd_arg arg_cursormodes[];
28struct lcmd_arg arg_debug[];
29struct lcmd_arg arg_escape[];
30struct lcmd_arg arg_foreground[];
31struct lcmd_arg arg_label[];
32struct lcmd_arg arg_select[];
33struct lcmd_arg arg_source[];
34struct lcmd_arg arg_terse[];
35struct lcmd_arg arg_unset[];
36struct lcmd_arg arg_window[];
37struct lcmd_arg arg_write[];
38
39struct lcmd_tab lcmd_tab[] = {
40 "%", 1, l_select, arg_select,
41 "background", 2, l_background, arg_background,
42 "buffer", 2, l_buffer, arg_buffer,
43 "close", 2, l_close, arg_close,
44 "cursormodes", 2, l_cursormodes, arg_cursormodes,
45 "debug", 1, l_debug, arg_debug,
46 "escape", 1, l_escape, arg_escape,
47 "foreground", 1, l_foreground, arg_foreground,
48 "label", 1, l_label, arg_label,
49 "select", 2, l_select, arg_select,
50 "source", 2, l_source, arg_source,
51 "terse", 1, l_terse, arg_terse,
52 "unset", 1, l_unset, arg_unset,
53 "window", 2, l_window, arg_window,
54 "write", 2, l_write, arg_write,
55 0
56};
57
58struct lcmd_tab *
59lcmd_lookup(name)
60char *name;
61{
62 register struct lcmd_tab *p;
63
64 for (p = lcmd_tab; p->lc_name != 0; p++)
65 if (str_match(name, p->lc_name, p->lc_minlen))
66 return p;
67 return 0;
68}
69
70dosource(filename)
71char *filename;
72{
73 if (cx_beginfile(filename) < 0)
74 return -1;
75 p_start();
76 err_end();
77 cx_end();
78 return 0;
79}
80
81dolongcmd(buffer)
82char *buffer;
83{
84 if (cx_beginbuf(buffer) < 0)
85 return -1;
86 p_start();
87 err_end();
88 cx_end();
89 return 0;
90}