diff options
Diffstat (limited to 'histedit.h')
-rw-r--r-- | histedit.h | 125 |
1 files changed, 70 insertions, 55 deletions
diff --git a/histedit.h b/histedit.h index 3e138d6953f40..9c3a2dc240149 100644 --- a/histedit.h +++ b/histedit.h @@ -1,4 +1,4 @@ -/* $NetBSD: histedit.h,v 1.5 1997/04/11 17:52:45 christos Exp $ */ +/* $NetBSD: histedit.h,v 1.17 2001/09/27 19:29:50 christos Exp $ */ /*- * Copyright (c) 1992, 1993 @@ -41,8 +41,8 @@ /* * histedit.h: Line editor and history interface. */ -#ifndef _h_editline -#define _h_editline +#ifndef _HISTEDIT_H_ +#define _HISTEDIT_H_ #include <sys/types.h> #include <stdio.h> @@ -56,9 +56,9 @@ typedef struct editline EditLine; * For user-defined function interface */ typedef struct lineinfo { - const char *buffer; - const char *cursor; - const char *lastchar; + const char *buffer; + const char *cursor; + const char *lastchar; } LineInfo; @@ -69,46 +69,53 @@ typedef struct lineinfo { #define CC_NORM 0 #define CC_NEWLINE 1 #define CC_EOF 2 -#define CC_ARGHACK 3 -#define CC_REFRESH 4 +#define CC_ARGHACK 3 +#define CC_REFRESH 4 #define CC_CURSOR 5 #define CC_ERROR 6 -#define CC_FATAL 7 -#define CC_REDISPLAY 8 +#define CC_FATAL 7 +#define CC_REDISPLAY 8 +#define CC_REFRESH_BEEP 9 /* * Initialization, cleanup, and resetting */ -EditLine *el_init __P((const char *, FILE *, FILE *)); -void el_reset __P((EditLine *)); -void el_end __P((EditLine *)); +EditLine *el_init(const char *, FILE *, FILE *, FILE *); +void el_reset(EditLine *); +void el_end(EditLine *); /* * Get a line, a character or push a string back in the input queue */ -const char *el_gets __P((EditLine *, int *)); -int el_getc __P((EditLine *, char *)); -void el_push __P((EditLine *, const char *)); +const char *el_gets(EditLine *, int *); +int el_getc(EditLine *, char *); +void el_push(EditLine *, const char *); + +/* + * Beep! + */ +void el_beep(EditLine *); /* * High level function internals control * Parses argc, argv array and executes builtin editline commands */ -int el_parse __P((EditLine *, int, char **)); +int el_parse(EditLine *, int, char **); /* - * Low level editline access function + * Low level editline access functions */ -int el_set __P((EditLine *, int, ...)); +int el_set(EditLine *, int, ...); +int el_get(EditLine *, int, void *); /* * el_set/el_get parameters */ -#define EL_PROMPT 0 /* , el_pfunc_t); */ -#define EL_TERMINAL 1 /* , const char *); */ -#define EL_EDITOR 2 /* , const char *); */ -#define EL_SIGNAL 3 /* , int); */ +#define EL_PROMPT 0 /* , el_pfunc_t); */ +#define EL_TERMINAL 1 /* , const char *); */ +#define EL_EDITOR 2 /* , const char *); */ +#define EL_SIGNAL 3 /* , int); */ #define EL_BIND 4 /* , const char *, ..., NULL); */ #define EL_TELLTC 5 /* , const char *, ..., NULL); */ #define EL_SETTC 6 /* , const char *, ..., NULL); */ @@ -116,27 +123,32 @@ int el_set __P((EditLine *, int, ...)); #define EL_SETTY 8 /* , const char *, ..., NULL); */ #define EL_ADDFN 9 /* , const char *, const char * */ /* , el_func_t); */ -#define EL_HIST 10 /* , hist_fun_t, const char *); */ +#define EL_HIST 10 /* , hist_fun_t, const char *); */ +#define EL_EDITMODE 11 /* , int); */ +#define EL_RPROMPT 12 /* , el_pfunc_t); */ +#define EL_GETCFN 13 /* , el_rfunc_t); */ + +#define EL_BUILTIN_GETCFN (NULL) /* * Source named file or $PWD/.editrc or $HOME/.editrc */ -int el_source __P((EditLine *, const char *)); +int el_source(EditLine *, const char *); /* * Must be called when the terminal changes size; If EL_SIGNAL * is set this is done automatically otherwise it is the responsibility * of the application */ -void el_resize __P((EditLine *)); +void el_resize(EditLine *); /* * User-defined function interface. */ -const LineInfo *el_line __P((EditLine *)); -int el_insertstr __P((EditLine *, char *)); -void el_deletestr __P((EditLine *, int)); +const LineInfo *el_line(EditLine *); +int el_insertstr(EditLine *, const char *); +void el_deletestr(EditLine *, int); /* * ==== History ==== @@ -145,34 +157,37 @@ void el_deletestr __P((EditLine *, int)); typedef struct history History; typedef struct HistEvent { - int num; - const char *str; + int num; + const char *str; } HistEvent; /* * History access functions. */ -History * history_init __P((void)); -void history_end __P((History *)); - -const HistEvent * history __P((History *, int, ...)); - -#define H_FUNC 0 /* , UTSL */ -#define H_EVENT 1 /* , const int); */ -#define H_FIRST 2 /* , void); */ -#define H_LAST 3 /* , void); */ -#define H_PREV 4 /* , void); */ -#define H_NEXT 5 /* , void); */ -#define H_CURR 6 /* , void); */ -#define H_ADD 7 /* , const char*); */ -#define H_ENTER 8 /* , const char*); */ -#define H_END 9 /* , void); */ -#define H_NEXT_STR 10 /* , const char*); */ -#define H_PREV_STR 11 /* , const char*); */ -#define H_NEXT_EVENT 12 /* , const int); */ -#define H_PREV_EVENT 13 /* , const int); */ -#define H_LOAD 14 /* , const char *); */ -#define H_SAVE 15 /* , const char *); */ -#define H_CLEAR 16 /* , void); */ - -#endif /* _h_editline */ +History * history_init(void); +void history_end(History *); + +int history(History *, HistEvent *, int, ...); + +#define H_FUNC 0 /* , UTSL */ +#define H_SETSIZE 1 /* , const int); */ +#define H_GETSIZE 2 /* , void); */ +#define H_FIRST 3 /* , void); */ +#define H_LAST 4 /* , void); */ +#define H_PREV 5 /* , void); */ +#define H_NEXT 6 /* , void); */ +#define H_CURR 8 /* , const int); */ +#define H_SET 7 /* , void); */ +#define H_ADD 9 /* , const char *); */ +#define H_ENTER 10 /* , const char *); */ +#define H_APPEND 11 /* , const char *); */ +#define H_END 12 /* , void); */ +#define H_NEXT_STR 13 /* , const char *); */ +#define H_PREV_STR 14 /* , const char *); */ +#define H_NEXT_EVENT 15 /* , const int); */ +#define H_PREV_EVENT 16 /* , const int); */ +#define H_LOAD 17 /* , const char *); */ +#define H_SAVE 18 /* , const char *); */ +#define H_CLEAR 19 /* , void); */ + +#endif /* _HISTEDIT_H_ */ |