CLISH  0.7.3
tinyrl.h
1 
10 #ifndef _tinyrl_tinyrl_h
11 #define _tinyrl_tinyrl_h
12 
13 #include <stdio.h>
14 #include "lub/types.h"
15 #include "lub/c_decl.h"
16 #include "tinyrl/history.h"
17 
18 _BEGIN_C_DECL
19 
20 typedef struct _tinyrl tinyrl_t;
21 typedef enum
22 {
53 
54 /* virtual methods */
55 typedef char *
56  tinyrl_compentry_func_t(tinyrl_t *instance,
57  const char *text,
58  unsigned offset,
59  unsigned state);
60 typedef int
61  tinyrl_hook_func_t(tinyrl_t *instance);
62 
63 typedef char **
64  tinyrl_completion_func_t(tinyrl_t *instance,
65  const char *text,
66  unsigned start,
67  unsigned end);
74 typedef bool_t
75  tinyrl_key_func_t(tinyrl_t *instance,
76  int key);
77 
78 
79 /* exported functions */
80 extern tinyrl_t *
81  tinyrl_new(FILE *instream,
82  FILE *outstream,
83  unsigned stifle,
84  tinyrl_completion_func_t *complete_fn);
85 
86 /*lint -esym(534,tinyrl_printf) Ignoring return value of function */
87 extern int
88  tinyrl_printf(const tinyrl_t *instance,
89  const char *fmt,
90  ...);
91 
92 extern void
93  tinyrl_delete(tinyrl_t *instance);
94 
95 extern tinyrl_history_t *
96  tinyrl__get_history(const tinyrl_t *instance);
97 
98 extern const char *
99  tinyrl__get_prompt(const tinyrl_t *instance);
100 
101 extern void
102  tinyrl_done(tinyrl_t *instance);
103 
104 extern void
105  tinyrl_completion_over(tinyrl_t *instance);
106 
107 extern void
108  tinyrl_completion_error_over(tinyrl_t *instance);
109 
110 extern bool_t
111  tinyrl_is_completion_error_over(const tinyrl_t *instance);
112 
113 extern void *
114  tinyrl__get_context(const tinyrl_t *instance);
115 
121 extern const char *
122  tinyrl__get_line(const tinyrl_t *instance);
123 
124 extern void
125  tinyrl__set_istream(tinyrl_t *instance,
126  FILE *istream);
127 
128 extern bool_t
129  tinyrl__get_isatty(const tinyrl_t *instance);
130 
131 extern FILE *
132  tinyrl__get_istream(const tinyrl_t *instance);
133 
134 extern FILE *
135  tinyrl__get_ostream(const tinyrl_t *instance);
136 
137 extern char *
138  tinyrl_readline(tinyrl_t *instance,
139  const char *prompt,
140  void *context);
141 extern bool_t
142  tinyrl_bind_key(tinyrl_t *instance,
143  int key,
144  tinyrl_key_func_t *fn);
145 extern void
146  tinyrl_delete_matches(char **instance);
147 extern char **
148  tinyrl_completion(tinyrl_t *instance,
149  const char *line,
150  unsigned start,
151  unsigned end,
152  tinyrl_compentry_func_t *generator);
153 extern void
154  tinyrl_crlf(const tinyrl_t *instance);
155 extern void
156  tinyrl_ding(const tinyrl_t *instance);
157 
158 extern void
159  tinyrl_reset_line_state(tinyrl_t *instance);
160 
161 extern bool_t
162  tinyrl_insert_text(tinyrl_t *instance,
163  const char *text);
164 extern void
165  tinyrl_delete_text(tinyrl_t *instance,
166  unsigned start,
167  unsigned end);
168 extern void
169  tinyrl_redisplay(tinyrl_t *instance);
170 
171 extern void
172  tinyrl_replace_line(tinyrl_t *instance,
173  const char *text,
174  int clear_undo);
175 
186 extern tinyrl_match_e
187  tinyrl_complete(tinyrl_t *instance);
188 
202 extern tinyrl_match_e
203  tinyrl_complete_with_extensions(tinyrl_t *instance);
204 
209 extern void
214  tinyrl_t *instance,
221  char echo_char
222  );
226 extern void
231  tinyrl_t *instance
232  );
236 extern bool_t
241  const tinyrl_t *instance
242  );
246 extern void
251  tinyrl_t *instance,
255  unsigned length
256  );
257 
258 _END_C_DECL
259 
260 #endif /* _tinyrl_tinyrl_h */
261 
tinyrl_match_e tinyrl_complete_with_extensions(tinyrl_t *instance)
Definition: tinyrl.h:45
void tinyrl_disable_echo(tinyrl_t *instance, char echo_char)
tinyrl_match_e tinyrl_complete(tinyrl_t *instance)
Definition: tinyrl.h:40
Definition: tinyrl.h:26
Definition: tinyrl.h:30
void tinyrl_enable_echo(tinyrl_t *instance)
bool_t
Definition: types.h:18
Definition: tinyrl.h:51
Definition: tinyrl.h:35
bool_t tinyrl_is_quoting(const tinyrl_t *instance)
const char * tinyrl__get_line(const tinyrl_t *instance)
tinyrl_match_e
Definition: tinyrl.h:21
bool_t tinyrl_key_func_t(tinyrl_t *instance, int key)
Definition: tinyrl.h:75
void tinyrl_limit_line_length(tinyrl_t *instance, unsigned length)