loksh-noxz

[fork] a Linux port of OpenBSD's ksh
git clone https://noxz.tech/git/loksh-noxz.git
Log | Files | README

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);