00001
00008 #ifndef FISH_INPUT_H
00009 #define FISH_INPUT_H
00010
00011 #include <wchar.h>
00012 #include "input_common.h"
00013
00018 enum
00019 {
00020 R_BEGINNING_OF_LINE = R_NULL+10,
00021 R_END_OF_LINE,
00022 R_FORWARD_CHAR,
00023 R_BACKWARD_CHAR,
00024 R_FORWARD_WORD,
00025 R_BACKWARD_WORD,
00026 R_HISTORY_SEARCH_BACKWARD,
00027 R_HISTORY_SEARCH_FORWARD,
00028 R_DELETE_CHAR,
00029 R_BACKWARD_DELETE_CHAR,
00030 R_KILL_LINE,
00031 R_YANK,
00032 R_YANK_POP,
00033 R_COMPLETE,
00034 R_BEGINNING_OF_HISTORY,
00035 R_END_OF_HISTORY,
00036 R_BACKWARD_KILL_LINE,
00037 R_KILL_WHOLE_LINE,
00038 R_KILL_WORD,
00039 R_BACKWARD_KILL_WORD,
00040 R_DUMP_FUNCTIONS,
00041 R_HISTORY_TOKEN_SEARCH_BACKWARD,
00042 R_HISTORY_TOKEN_SEARCH_FORWARD,
00043 R_SELF_INSERT,
00044 R_VI_ARG_DIGIT,
00045 R_VI_DELETE_TO,
00046 R_EXECUTE,
00047 R_BEGINNING_OF_BUFFER,
00048 R_END_OF_BUFFER,
00049 R_REPAINT,
00050 R_UP_LINE,
00051 R_DOWN_LINE,
00052 }
00053 ;
00054
00061 int input_init();
00062
00066 void input_destroy();
00067
00081 wint_t input_readch();
00082
00088 void input_unreadch( wint_t ch );
00089
00090
00099 void input_mapping_add( const wchar_t *sequence, const wchar_t *cmd );
00100
00101 void input_mapping_get_names( array_list_t *list );
00102
00103 int input_mapping_erase( const wchar_t *sequence );
00104
00105 const wchar_t *input_mapping_get( const wchar_t *sequence );
00106
00113 const wchar_t *input_terminfo_get_sequence( const wchar_t *name );
00114
00118 const wchar_t *input_terminfo_get_name( const wchar_t *seq );
00119
00123 void input_terminfo_get_names( array_list_t *lst, int skip_null );
00124
00125
00129 wchar_t input_function_get_code( const wchar_t *name );
00130
00134 void input_function_get_names( array_list_t *lst );
00135
00136
00137 #endif