edit.h
1/* $OpenBSD: edit.h,v 1.12 2018/06/18 17:03:58 millert Exp $ */
2
3/* NAME:
4 * edit.h - globals for edit modes
5 *
6 * DESCRIPTION:
7 * This header defines various global edit objects.
8 *
9 * SEE ALSO:
10 *
11 *
12 * RCSid:
13 * $From: edit.h,v 1.2 1994/05/19 18:32:40 michael Exp michael $
14 *
15 */
16
17#define BEL 0x07
18
19/* tty driver characters we are interested in */
20typedef struct {
21 int erase;
22 int kill;
23 int werase;
24 int intr;
25 int quit;
26 int eof;
27} X_chars;
28
29extern X_chars edchars;
30
31/* x_cf_glob() flags */
32#define XCF_COMMAND BIT(0) /* Do command completion */
33#define XCF_FILE BIT(1) /* Do file completion */
34#define XCF_FULLPATH BIT(2) /* command completion: store full path */
35#define XCF_COMMAND_FILE (XCF_COMMAND|XCF_FILE)
36
37/* edit.c */
38int x_getc(void);
39void x_flush(void);
40int x_putc(int);
41void x_puts(const char *);
42bool x_mode(bool);
43int promptlen(const char *, const char **);
44int x_do_comment(char *, int, int *);
45void x_print_expansions(int, char *const *, int);
46int x_cf_glob(int, const char *, int, int, int *, int *, char ***, int *);
47int x_longest_prefix(int , char *const *);
48int x_basename(const char *, const char *);
49void x_free_words(int, char **);
50int x_escape(const char *, size_t, int (*)(const char *, size_t));
51/* emacs.c */
52int x_emacs(char *, size_t);
53void x_init_emacs(void);
54void x_emacs_keys(X_chars *);
55/* vi.c */
56int x_vi(char *, size_t);