diff options
Diffstat (limited to 'include/lldb/Host/windows/editlinewin.h')
-rw-r--r-- | include/lldb/Host/windows/editlinewin.h | 123 |
1 files changed, 123 insertions, 0 deletions
diff --git a/include/lldb/Host/windows/editlinewin.h b/include/lldb/Host/windows/editlinewin.h new file mode 100644 index 0000000000000..907ef373a3723 --- /dev/null +++ b/include/lldb/Host/windows/editlinewin.h @@ -0,0 +1,123 @@ +//===-- ELWrapper.h ---------------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#pragma once + +#include <stdio.h> + +// EditLine editor function return codes. +// For user-defined function interface +#define CC_NORM 0 +#define CC_NEWLINE 1 +#define CC_EOF 2 +#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_REFRESH_BEEP 9 + +// 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_BIND 4 // , const char *, ..., NULL +#define EL_TELLTC 5 // , const char *, ..., NULL +#define EL_SETTC 6 // , const char *, ..., NULL +#define EL_ECHOTC 7 // , const char *, ..., NULL +#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_EDITMODE 11 // , int +#define EL_RPROMPT 12 // , el_pfunc_t +#define EL_GETCFN 13 // , el_rfunc_t +#define EL_CLIENTDATA 14 // , void * +#define EL_UNBUFFERED 15 // , int +#define EL_PREP_TERM 16 // , int +#define EL_GETTC 17 // , const char *, ..., NULL +#define EL_GETFP 18 // , int, FILE ** +#define EL_SETFP 19 // , int, FILE * +#define EL_REFRESH 20 // , void +#define EL_PROMPT_ESC 21 // , prompt_func, Char); set/get + +#define EL_BUILTIN_GETCFN (NULL) + +// history defines +#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 // , int +#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 +#define H_SETUNIQUE 20 // , int +#define H_GETUNIQUE 21 // , void +#define H_DEL 22 // , int + +struct EditLine +{ +}; + +struct LineInfo +{ + const char *buffer; + const char *cursor; + const char *lastchar; +}; + +struct History +{ +}; + +struct HistEvent +{ + int num; + const char *str; +}; + +extern "C" +{ + // edit line API + EditLine *el_init ( const char *, FILE *, FILE *, FILE * ); + const char *el_gets ( EditLine *, int * ); + int el_set ( EditLine *, int, ... ); + + void el_end ( EditLine * ); + void el_reset ( EditLine * ); + int el_getc ( EditLine *, char * ); + void el_push ( EditLine *, const char * ); + void el_beep ( EditLine * ); + int el_parse ( EditLine *, int, const char ** ); + int el_get ( EditLine *, int, ... ); + int el_source ( EditLine *, const char * ); + void el_resize ( EditLine * ); + const LineInfo *el_line ( EditLine * ); + int el_insertstr( EditLine *, const char * ); + void el_deletestr( EditLine *, int ); + + // history API + History *history_init( void ); + void history_end ( History * ); + int history ( History *, HistEvent *, int, ... ); +};
\ No newline at end of file |