4187119d |
1 | /* vi_keymap.c -- the keymap for vi_mode in readline (). */ |
2 | |
3 | /* Copyright (C) 1988,1989 Free Software Foundation, Inc. |
4 | |
5 | This file is part of GNU Readline, a library for reading lines |
6 | of text with interactive input and history editing. |
7 | |
8 | Readline is free software; you can redistribute it and/or modify it |
9 | under the terms of the GNU General Public License as published by the |
10 | Free Software Foundation; either version 1, or (at your option) any |
11 | later version. |
12 | |
13 | Readline is distributed in the hope that it will be useful, but |
14 | WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
16 | General Public License for more details. |
17 | |
18 | You should have received a copy of the GNU General Public License |
19 | along with Readline; see the file COPYING. If not, write to the Free |
20 | Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ |
21 | |
22 | #ifndef FILE |
23 | #include <stdio.h> |
24 | #endif /* FILE */ |
25 | |
26 | #include "readline.h" |
27 | |
28 | extern KEYMAP_ENTRY_ARRAY vi_escape_keymap; |
29 | |
30 | /* The keymap arrays for handling vi mode. */ |
31 | KEYMAP_ENTRY_ARRAY vi_movement_keymap = { |
32 | |
33 | /* The regular control keys come first. */ |
34 | { ISFUNC, (Function *)0x0 }, /* Control-@ */ |
35 | { ISFUNC, (Function *)0x0 }, /* Control-a */ |
36 | { ISFUNC, (Function *)0x0 }, /* Control-b */ |
37 | { ISFUNC, (Function *)0x0 }, /* Control-c */ |
38 | { ISFUNC, rl_vi_eof_maybe }, /* Control-d */ |
39 | { ISFUNC, rl_emacs_editing_mode }, /* Control-e */ |
40 | { ISFUNC, (Function *)0x0 }, /* Control-f */ |
41 | { ISFUNC, rl_abort }, /* Control-g */ |
42 | { ISFUNC, rl_backward }, /* Control-h */ |
43 | { ISFUNC, (Function *)0x0 }, /* Control-i */ |
44 | { ISFUNC, rl_newline }, /* Control-j */ |
45 | { ISFUNC, rl_kill_line }, /* Control-k */ |
46 | { ISFUNC, rl_clear_screen }, /* Control-l */ |
47 | { ISFUNC, rl_newline }, /* Control-m */ |
48 | { ISFUNC, rl_get_next_history }, /* Control-n */ |
49 | { ISFUNC, (Function *)0x0 }, /* Control-o */ |
50 | { ISFUNC, rl_get_previous_history }, /* Control-p */ |
51 | { ISFUNC, rl_quoted_insert }, /* Control-q */ |
52 | { ISFUNC, rl_reverse_search_history }, /* Control-r */ |
53 | { ISFUNC, rl_forward_search_history }, /* Control-s */ |
54 | { ISFUNC, rl_transpose_chars }, /* Control-t */ |
55 | { ISFUNC, rl_unix_line_discard }, /* Control-u */ |
56 | { ISFUNC, rl_quoted_insert }, /* Control-v */ |
57 | { ISFUNC, rl_unix_word_rubout }, /* Control-w */ |
58 | { ISFUNC, (Function *)0x0 }, /* Control-x */ |
59 | { ISFUNC, rl_yank }, /* Control-y */ |
60 | { ISFUNC, (Function *)0x0 }, /* Control-z */ |
61 | |
62 | { ISKMAP, (Function *)vi_escape_keymap }, /* Control-[ */ |
63 | { ISFUNC, (Function *)0x0 }, /* Control-\ */ |
64 | { ISFUNC, (Function *)0x0 }, /* Control-] */ |
65 | { ISFUNC, (Function *)0x0 }, /* Control-^ */ |
66 | { ISFUNC, rl_undo_command }, /* Control-_ */ |
67 | |
68 | /* The start of printing characters. */ |
69 | { ISFUNC, rl_forward }, /* SPACE */ |
70 | { ISFUNC, (Function *)0x0 }, /* ! */ |
71 | { ISFUNC, (Function *)0x0 }, /* " */ |
72 | { ISFUNC, rl_vi_comment }, /* # */ |
73 | { ISFUNC, rl_end_of_line }, /* $ */ |
74 | { ISFUNC, rl_vi_match }, /* % */ |
75 | { ISFUNC, (Function *)0x0 }, /* & */ |
76 | { ISFUNC, (Function *)0x0 }, /* ' */ |
77 | { ISFUNC, (Function *)0x0 }, /* ( */ |
78 | { ISFUNC, (Function *)0x0 }, /* ) */ |
79 | { ISFUNC, rl_vi_complete }, /* * */ |
80 | { ISFUNC, rl_get_previous_history}, /* + */ |
81 | { ISFUNC, rl_vi_char_search }, /* , */ |
82 | { ISFUNC, rl_get_next_history }, /* - */ |
83 | { ISFUNC, (Function *)0x0 }, /* . */ |
84 | { ISFUNC, rl_vi_search }, /* / */ |
85 | |
86 | /* Regular digits. */ |
87 | { ISFUNC, rl_vi_arg_digit }, /* 0 */ |
88 | { ISFUNC, rl_vi_arg_digit }, /* 1 */ |
89 | { ISFUNC, rl_vi_arg_digit }, /* 2 */ |
90 | { ISFUNC, rl_vi_arg_digit }, /* 3 */ |
91 | { ISFUNC, rl_vi_arg_digit }, /* 4 */ |
92 | { ISFUNC, rl_vi_arg_digit }, /* 5 */ |
93 | { ISFUNC, rl_vi_arg_digit }, /* 6 */ |
94 | { ISFUNC, rl_vi_arg_digit }, /* 7 */ |
95 | { ISFUNC, rl_vi_arg_digit }, /* 8 */ |
96 | { ISFUNC, rl_vi_arg_digit }, /* 9 */ |
97 | |
98 | /* A little more punctuation. */ |
99 | { ISFUNC, (Function *)0x0 }, /* : */ |
100 | { ISFUNC, rl_vi_char_search }, /* ; */ |
101 | { ISFUNC, (Function *)0x0 }, /* < */ |
102 | { ISFUNC, (Function *)0x0 }, /* = */ |
103 | { ISFUNC, (Function *)0x0 }, /* > */ |
104 | { ISFUNC, rl_vi_search }, /* ? */ |
105 | { ISFUNC, (Function *)0x0 }, /* @ */ |
106 | |
107 | /* Uppercase alphabet. */ |
108 | { ISFUNC, rl_vi_append_eol }, /* A */ |
109 | { ISFUNC, rl_vi_prev_word}, /* B */ |
110 | { ISFUNC, rl_vi_change_to }, /* C */ |
111 | { ISFUNC, rl_vi_delete_to }, /* D */ |
112 | { ISFUNC, rl_vi_end_word }, /* E */ |
113 | { ISFUNC, rl_vi_char_search }, /* F */ |
114 | { ISFUNC, (Function *)0x0 }, /* G */ |
115 | { ISFUNC, (Function *)0x0 }, /* H */ |
116 | { ISFUNC, rl_vi_insert_beg }, /* I */ |
117 | { ISFUNC, (Function *)0x0 }, /* J */ |
118 | { ISFUNC, (Function *)0x0 }, /* K */ |
119 | { ISFUNC, (Function *)0x0 }, /* L */ |
120 | { ISFUNC, (Function *)0x0 }, /* M */ |
121 | { ISFUNC, rl_vi_search_again }, /* N */ |
122 | { ISFUNC, (Function *)0x0 }, /* O */ |
123 | { ISFUNC, rl_vi_put }, /* P */ |
124 | { ISFUNC, (Function *)0x0 }, /* Q */ |
125 | { ISFUNC, rl_vi_replace }, /* R */ |
126 | { ISFUNC, rl_vi_subst }, /* S */ |
127 | { ISFUNC, rl_vi_char_search }, /* T */ |
128 | { ISFUNC, rl_revert_line }, /* U */ |
129 | { ISFUNC, (Function *)0x0 }, /* V */ |
130 | { ISFUNC, rl_vi_next_word }, /* W */ |
131 | { ISFUNC, rl_rubout }, /* X */ |
132 | { ISFUNC, rl_vi_yank_to }, /* Y */ |
133 | { ISFUNC, (Function *)0x0 }, /* Z */ |
134 | |
135 | /* Some more punctuation. */ |
136 | { ISFUNC, (Function *)0x0 }, /* [ */ |
137 | { ISFUNC, (Function *)0x0 }, /* \ */ |
138 | { ISFUNC, (Function *)0x0 }, /* ] */ |
139 | { ISFUNC, rl_vi_first_print }, /* ^ */ |
140 | { ISFUNC, rl_vi_yank_arg }, /* _ */ |
141 | { ISFUNC, (Function *)0x0 }, /* ` */ |
142 | |
143 | /* Lowercase alphabet. */ |
144 | { ISFUNC, rl_vi_append_mode }, /* a */ |
145 | { ISFUNC, rl_vi_prev_word }, /* b */ |
146 | { ISFUNC, rl_vi_change_to }, /* c */ |
147 | { ISFUNC, rl_vi_delete_to }, /* d */ |
148 | { ISFUNC, rl_vi_end_word }, /* e */ |
149 | { ISFUNC, rl_vi_char_search }, /* f */ |
150 | { ISFUNC, (Function *)0x0 }, /* g */ |
151 | { ISFUNC, rl_backward }, /* h */ |
152 | { ISFUNC, rl_vi_insertion_mode }, /* i */ |
153 | { ISFUNC, rl_get_next_history }, /* j */ |
154 | { ISFUNC, rl_get_previous_history }, /* k */ |
155 | { ISFUNC, rl_forward }, /* l */ |
156 | { ISFUNC, (Function *)0x0 }, /* m */ |
157 | { ISFUNC, rl_vi_search_again }, /* n */ |
158 | { ISFUNC, (Function *)0x0 }, /* o */ |
159 | { ISFUNC, rl_vi_put }, /* p */ |
160 | { ISFUNC, (Function *)0x0 }, /* q */ |
161 | { ISFUNC, rl_vi_change_char }, /* r */ |
162 | { ISFUNC, rl_vi_subst }, /* s */ |
163 | { ISFUNC, rl_vi_char_search }, /* t */ |
164 | { ISFUNC, rl_undo_command }, /* u */ |
165 | { ISFUNC, (Function *)0x0 }, /* v */ |
166 | { ISFUNC, rl_vi_next_word }, /* w */ |
167 | { ISFUNC, rl_vi_delete }, /* x */ |
168 | { ISFUNC, rl_vi_yank_to }, /* y */ |
169 | { ISFUNC, (Function *)0x0 }, /* z */ |
170 | |
171 | /* Final punctuation. */ |
172 | { ISFUNC, (Function *)0x0 }, /* { */ |
173 | { ISFUNC, rl_vi_column }, /* | */ |
174 | { ISFUNC, (Function *)0x0 }, /* } */ |
175 | { ISFUNC, rl_vi_change_case }, /* ~ */ |
176 | { ISFUNC, rl_backward } /* RUBOUT */ |
177 | }; |
178 | |
179 | |
180 | KEYMAP_ENTRY_ARRAY vi_insertion_keymap = { |
181 | |
182 | /* The regular control keys come first. */ |
183 | { ISFUNC, (Function *)0x0 }, /* Control-@ */ |
184 | { ISFUNC, rl_insert }, /* Control-a */ |
185 | { ISFUNC, rl_insert }, /* Control-b */ |
186 | { ISFUNC, rl_insert }, /* Control-c */ |
187 | { ISFUNC, rl_vi_eof_maybe }, /* Control-d */ |
188 | { ISFUNC, rl_insert }, /* Control-e */ |
189 | { ISFUNC, rl_insert }, /* Control-f */ |
190 | { ISFUNC, rl_insert }, /* Control-g */ |
191 | { ISFUNC, rl_insert }, /* Control-h */ |
192 | { ISFUNC, rl_complete }, /* Control-i */ |
193 | { ISFUNC, rl_newline }, /* Control-j */ |
194 | { ISFUNC, rl_insert }, /* Control-k */ |
195 | { ISFUNC, rl_insert }, /* Control-l */ |
196 | { ISFUNC, rl_newline }, /* Control-m */ |
197 | { ISFUNC, rl_insert }, /* Control-n */ |
198 | { ISFUNC, rl_insert }, /* Control-o */ |
199 | { ISFUNC, rl_insert }, /* Control-p */ |
200 | { ISFUNC, rl_insert }, /* Control-q */ |
201 | { ISFUNC, rl_reverse_search_history }, /* Control-r */ |
202 | { ISFUNC, rl_forward_search_history }, /* Control-s */ |
203 | { ISFUNC, rl_transpose_chars }, /* Control-t */ |
204 | { ISFUNC, rl_unix_line_discard }, /* Control-u */ |
205 | { ISFUNC, rl_quoted_insert }, /* Control-v */ |
206 | { ISFUNC, rl_unix_word_rubout }, /* Control-w */ |
207 | { ISFUNC, rl_insert }, /* Control-x */ |
208 | { ISFUNC, rl_yank }, /* Control-y */ |
209 | { ISFUNC, rl_insert }, /* Control-z */ |
210 | |
211 | { ISFUNC, rl_vi_movement_mode }, /* Control-[ */ |
212 | { ISFUNC, rl_insert }, /* Control-\ */ |
213 | { ISFUNC, rl_insert }, /* Control-] */ |
214 | { ISFUNC, rl_insert }, /* Control-^ */ |
215 | { ISFUNC, rl_undo_command }, /* Control-_ */ |
216 | |
217 | /* The start of printing characters. */ |
218 | { ISFUNC, rl_insert }, /* SPACE */ |
219 | { ISFUNC, rl_insert }, /* ! */ |
220 | { ISFUNC, rl_insert }, /* " */ |
221 | { ISFUNC, rl_insert }, /* # */ |
222 | { ISFUNC, rl_insert }, /* $ */ |
223 | { ISFUNC, rl_insert }, /* % */ |
224 | { ISFUNC, rl_insert }, /* & */ |
225 | { ISFUNC, rl_insert }, /* ' */ |
226 | { ISFUNC, rl_insert }, /* ( */ |
227 | { ISFUNC, rl_insert }, /* ) */ |
228 | { ISFUNC, rl_insert }, /* * */ |
229 | { ISFUNC, rl_insert }, /* + */ |
230 | { ISFUNC, rl_insert }, /* , */ |
231 | { ISFUNC, rl_insert }, /* - */ |
232 | { ISFUNC, rl_insert }, /* . */ |
233 | { ISFUNC, rl_insert }, /* / */ |
234 | |
235 | /* Regular digits. */ |
236 | { ISFUNC, rl_insert }, /* 0 */ |
237 | { ISFUNC, rl_insert }, /* 1 */ |
238 | { ISFUNC, rl_insert }, /* 2 */ |
239 | { ISFUNC, rl_insert }, /* 3 */ |
240 | { ISFUNC, rl_insert }, /* 4 */ |
241 | { ISFUNC, rl_insert }, /* 5 */ |
242 | { ISFUNC, rl_insert }, /* 6 */ |
243 | { ISFUNC, rl_insert }, /* 7 */ |
244 | { ISFUNC, rl_insert }, /* 8 */ |
245 | { ISFUNC, rl_insert }, /* 9 */ |
246 | |
247 | /* A little more punctuation. */ |
248 | { ISFUNC, rl_insert }, /* : */ |
249 | { ISFUNC, rl_insert }, /* ; */ |
250 | { ISFUNC, rl_insert }, /* < */ |
251 | { ISFUNC, rl_insert }, /* = */ |
252 | { ISFUNC, rl_insert }, /* > */ |
253 | { ISFUNC, rl_insert }, /* ? */ |
254 | { ISFUNC, rl_insert }, /* @ */ |
255 | |
256 | /* Uppercase alphabet. */ |
257 | { ISFUNC, rl_insert }, /* A */ |
258 | { ISFUNC, rl_insert }, /* B */ |
259 | { ISFUNC, rl_insert }, /* C */ |
260 | { ISFUNC, rl_insert }, /* D */ |
261 | { ISFUNC, rl_insert }, /* E */ |
262 | { ISFUNC, rl_insert }, /* F */ |
263 | { ISFUNC, rl_insert }, /* G */ |
264 | { ISFUNC, rl_insert }, /* H */ |
265 | { ISFUNC, rl_insert }, /* I */ |
266 | { ISFUNC, rl_insert }, /* J */ |
267 | { ISFUNC, rl_insert }, /* K */ |
268 | { ISFUNC, rl_insert }, /* L */ |
269 | { ISFUNC, rl_insert }, /* M */ |
270 | { ISFUNC, rl_insert }, /* N */ |
271 | { ISFUNC, rl_insert }, /* O */ |
272 | { ISFUNC, rl_insert }, /* P */ |
273 | { ISFUNC, rl_insert }, /* Q */ |
274 | { ISFUNC, rl_insert }, /* R */ |
275 | { ISFUNC, rl_insert }, /* S */ |
276 | { ISFUNC, rl_insert }, /* T */ |
277 | { ISFUNC, rl_insert }, /* U */ |
278 | { ISFUNC, rl_insert }, /* V */ |
279 | { ISFUNC, rl_insert }, /* W */ |
280 | { ISFUNC, rl_insert }, /* X */ |
281 | { ISFUNC, rl_insert }, /* Y */ |
282 | { ISFUNC, rl_insert }, /* Z */ |
283 | |
284 | /* Some more punctuation. */ |
285 | { ISFUNC, rl_insert }, /* [ */ |
286 | { ISFUNC, rl_insert }, /* \ */ |
287 | { ISFUNC, rl_insert }, /* ] */ |
288 | { ISFUNC, rl_insert }, /* ^ */ |
289 | { ISFUNC, rl_insert }, /* _ */ |
290 | { ISFUNC, rl_insert }, /* ` */ |
291 | |
292 | /* Lowercase alphabet. */ |
293 | { ISFUNC, rl_insert }, /* a */ |
294 | { ISFUNC, rl_insert }, /* b */ |
295 | { ISFUNC, rl_insert }, /* c */ |
296 | { ISFUNC, rl_insert }, /* d */ |
297 | { ISFUNC, rl_insert }, /* e */ |
298 | { ISFUNC, rl_insert }, /* f */ |
299 | { ISFUNC, rl_insert }, /* g */ |
300 | { ISFUNC, rl_insert }, /* h */ |
301 | { ISFUNC, rl_insert }, /* i */ |
302 | { ISFUNC, rl_insert }, /* j */ |
303 | { ISFUNC, rl_insert }, /* k */ |
304 | { ISFUNC, rl_insert }, /* l */ |
305 | { ISFUNC, rl_insert }, /* m */ |
306 | { ISFUNC, rl_insert }, /* n */ |
307 | { ISFUNC, rl_insert }, /* o */ |
308 | { ISFUNC, rl_insert }, /* p */ |
309 | { ISFUNC, rl_insert }, /* q */ |
310 | { ISFUNC, rl_insert }, /* r */ |
311 | { ISFUNC, rl_insert }, /* s */ |
312 | { ISFUNC, rl_insert }, /* t */ |
313 | { ISFUNC, rl_insert }, /* u */ |
314 | { ISFUNC, rl_insert }, /* v */ |
315 | { ISFUNC, rl_insert }, /* w */ |
316 | { ISFUNC, rl_insert }, /* x */ |
317 | { ISFUNC, rl_insert }, /* y */ |
318 | { ISFUNC, rl_insert }, /* z */ |
319 | |
320 | /* Final punctuation. */ |
321 | { ISFUNC, rl_insert }, /* { */ |
322 | { ISFUNC, rl_insert }, /* | */ |
323 | { ISFUNC, rl_insert }, /* } */ |
324 | { ISFUNC, rl_insert }, /* ~ */ |
325 | { ISFUNC, rl_rubout } /* RUBOUT */ |
326 | }; |
327 | |
328 | KEYMAP_ENTRY_ARRAY vi_escape_keymap = { |
329 | |
330 | /* The regular control keys come first. */ |
331 | { ISFUNC, (Function *)0x0 }, /* Control-@ */ |
332 | { ISFUNC, (Function *)0x0 }, /* Control-a */ |
333 | { ISFUNC, (Function *)0x0 }, /* Control-b */ |
334 | { ISFUNC, (Function *)0x0 }, /* Control-c */ |
335 | { ISFUNC, (Function *)0x0 }, /* Control-d */ |
336 | { ISFUNC, (Function *)0x0 }, /* Control-e */ |
337 | { ISFUNC, (Function *)0x0 }, /* Control-f */ |
338 | { ISFUNC, (Function *)0x0 }, /* Control-g */ |
339 | { ISFUNC, (Function *)0x0 }, /* Control-h */ |
340 | { ISFUNC, rl_tab_insert}, /* Control-i */ |
341 | { ISFUNC, rl_emacs_editing_mode}, /* Control-j */ |
342 | { ISFUNC, rl_kill_line }, /* Control-k */ |
343 | { ISFUNC, (Function *)0x0 }, /* Control-l */ |
344 | { ISFUNC, rl_emacs_editing_mode}, /* Control-m */ |
345 | { ISFUNC, (Function *)0x0 }, /* Control-n */ |
346 | { ISFUNC, (Function *)0x0 }, /* Control-o */ |
347 | { ISFUNC, (Function *)0x0 }, /* Control-p */ |
348 | { ISFUNC, (Function *)0x0 }, /* Control-q */ |
349 | { ISFUNC, (Function *)0x0 }, /* Control-r */ |
350 | { ISFUNC, (Function *)0x0 }, /* Control-s */ |
351 | { ISFUNC, (Function *)0x0 }, /* Control-t */ |
352 | { ISFUNC, (Function *)0x0 }, /* Control-u */ |
353 | { ISFUNC, (Function *)0x0 }, /* Control-v */ |
354 | { ISFUNC, (Function *)0x0 }, /* Control-w */ |
355 | { ISFUNC, (Function *)0x0 }, /* Control-x */ |
356 | { ISFUNC, (Function *)0x0 }, /* Control-y */ |
357 | { ISFUNC, (Function *)0x0 }, /* Control-z */ |
358 | |
359 | { ISFUNC, rl_vi_movement_mode }, /* Control-[ */ |
360 | { ISFUNC, (Function *)0x0 }, /* Control-\ */ |
361 | { ISFUNC, (Function *)0x0 }, /* Control-] */ |
362 | { ISFUNC, (Function *)0x0 }, /* Control-^ */ |
363 | { ISFUNC, rl_undo_command }, /* Control-_ */ |
364 | |
365 | /* The start of printing characters. */ |
366 | { ISFUNC, (Function *)0x0 }, /* SPACE */ |
367 | { ISFUNC, (Function *)0x0 }, /* ! */ |
368 | { ISFUNC, (Function *)0x0 }, /* " */ |
369 | { ISFUNC, (Function *)0x0 }, /* # */ |
370 | { ISFUNC, (Function *)0x0 }, /* $ */ |
371 | { ISFUNC, (Function *)0x0 }, /* % */ |
372 | { ISFUNC, (Function *)0x0 }, /* & */ |
373 | { ISFUNC, (Function *)0x0 }, /* ' */ |
374 | { ISFUNC, (Function *)0x0 }, /* ( */ |
375 | { ISFUNC, (Function *)0x0 }, /* ) */ |
376 | { ISFUNC, (Function *)0x0 }, /* * */ |
377 | { ISFUNC, (Function *)0x0 }, /* + */ |
378 | { ISFUNC, (Function *)0x0 }, /* , */ |
379 | { ISFUNC, (Function *)0x0 }, /* - */ |
380 | { ISFUNC, (Function *)0x0 }, /* . */ |
381 | { ISFUNC, (Function *)0x0 }, /* / */ |
382 | |
383 | /* Regular digits. */ |
384 | { ISFUNC, rl_vi_arg_digit }, /* 0 */ |
385 | { ISFUNC, rl_vi_arg_digit }, /* 1 */ |
386 | { ISFUNC, rl_vi_arg_digit }, /* 2 */ |
387 | { ISFUNC, rl_vi_arg_digit }, /* 3 */ |
388 | { ISFUNC, rl_vi_arg_digit }, /* 4 */ |
389 | { ISFUNC, rl_vi_arg_digit }, /* 5 */ |
390 | { ISFUNC, rl_vi_arg_digit }, /* 6 */ |
391 | { ISFUNC, rl_vi_arg_digit }, /* 7 */ |
392 | { ISFUNC, rl_vi_arg_digit }, /* 8 */ |
393 | { ISFUNC, rl_vi_arg_digit }, /* 9 */ |
394 | |
395 | /* A little more punctuation. */ |
396 | { ISFUNC, (Function *)0x0 }, /* : */ |
397 | { ISFUNC, (Function *)0x0 }, /* ; */ |
398 | { ISFUNC, (Function *)0x0 }, /* < */ |
399 | { ISFUNC, (Function *)0x0 }, /* = */ |
400 | { ISFUNC, (Function *)0x0 }, /* > */ |
401 | { ISFUNC, (Function *)0x0 }, /* ? */ |
402 | { ISFUNC, (Function *)0x0 }, /* @ */ |
403 | |
404 | /* Uppercase alphabet. */ |
405 | { ISFUNC, rl_do_lowercase_version }, /* A */ |
406 | { ISFUNC, rl_do_lowercase_version }, /* B */ |
407 | { ISFUNC, rl_do_lowercase_version }, /* C */ |
408 | { ISFUNC, rl_do_lowercase_version }, /* D */ |
409 | { ISFUNC, rl_do_lowercase_version }, /* E */ |
410 | { ISFUNC, rl_do_lowercase_version }, /* F */ |
411 | { ISFUNC, rl_do_lowercase_version }, /* G */ |
412 | { ISFUNC, rl_do_lowercase_version }, /* H */ |
413 | { ISFUNC, rl_do_lowercase_version }, /* I */ |
414 | { ISFUNC, rl_do_lowercase_version }, /* J */ |
415 | { ISFUNC, rl_do_lowercase_version }, /* K */ |
416 | { ISFUNC, rl_do_lowercase_version }, /* L */ |
417 | { ISFUNC, rl_do_lowercase_version }, /* M */ |
418 | { ISFUNC, rl_do_lowercase_version }, /* N */ |
419 | { ISFUNC, rl_do_lowercase_version }, /* O */ |
420 | { ISFUNC, rl_do_lowercase_version }, /* P */ |
421 | { ISFUNC, rl_do_lowercase_version }, /* Q */ |
422 | { ISFUNC, rl_do_lowercase_version }, /* R */ |
423 | { ISFUNC, rl_do_lowercase_version }, /* S */ |
424 | { ISFUNC, rl_do_lowercase_version }, /* T */ |
425 | { ISFUNC, rl_do_lowercase_version }, /* U */ |
426 | { ISFUNC, rl_do_lowercase_version }, /* V */ |
427 | { ISFUNC, rl_do_lowercase_version }, /* W */ |
428 | { ISFUNC, rl_do_lowercase_version }, /* X */ |
429 | { ISFUNC, rl_do_lowercase_version }, /* Y */ |
430 | { ISFUNC, rl_do_lowercase_version }, /* Z */ |
431 | |
432 | /* Some more punctuation. */ |
433 | { ISFUNC, (Function *)0x0 }, /* [ */ |
434 | { ISFUNC, (Function *)0x0 }, /* \ */ |
435 | { ISFUNC, (Function *)0x0 }, /* ] */ |
436 | { ISFUNC, (Function *)0x0 }, /* ^ */ |
437 | { ISFUNC, (Function *)0x0 }, /* _ */ |
438 | { ISFUNC, (Function *)0x0 }, /* ` */ |
439 | |
440 | /* Lowercase alphabet. */ |
441 | { ISFUNC, (Function *)0x0 }, /* a */ |
442 | { ISFUNC, (Function *)0x0 }, /* b */ |
443 | { ISFUNC, (Function *)0x0 }, /* c */ |
444 | { ISFUNC, (Function *)0x0 }, /* d */ |
445 | { ISFUNC, (Function *)0x0 }, /* e */ |
446 | { ISFUNC, (Function *)0x0 }, /* f */ |
447 | { ISFUNC, (Function *)0x0 }, /* g */ |
448 | { ISFUNC, (Function *)0x0 }, /* h */ |
449 | { ISFUNC, (Function *)0x0 }, /* i */ |
450 | { ISFUNC, (Function *)0x0 }, /* j */ |
451 | { ISFUNC, (Function *)0x0 }, /* k */ |
452 | { ISFUNC, (Function *)0x0 }, /* l */ |
453 | { ISFUNC, (Function *)0x0 }, /* m */ |
454 | { ISFUNC, (Function *)0x0 }, /* n */ |
455 | { ISFUNC, (Function *)0x0 }, /* o */ |
456 | { ISFUNC, (Function *)0x0 }, /* p */ |
457 | { ISFUNC, (Function *)0x0 }, /* q */ |
458 | { ISFUNC, (Function *)0x0 }, /* r */ |
459 | { ISFUNC, (Function *)0x0 }, /* s */ |
460 | { ISFUNC, (Function *)0x0 }, /* t */ |
461 | { ISFUNC, (Function *)0x0 }, /* u */ |
462 | { ISFUNC, (Function *)0x0 }, /* v */ |
463 | { ISFUNC, (Function *)0x0 }, /* w */ |
464 | { ISFUNC, (Function *)0x0 }, /* x */ |
465 | { ISFUNC, (Function *)0x0 }, /* y */ |
466 | { ISFUNC, (Function *)0x0 }, /* z */ |
467 | |
468 | /* Final punctuation. */ |
469 | { ISFUNC, (Function *)0x0 }, /* { */ |
470 | { ISFUNC, (Function *)0x0 }, /* | */ |
471 | { ISFUNC, (Function *)0x0 }, /* } */ |
472 | { ISFUNC, (Function *)0x0 }, /* ~ */ |
473 | { ISFUNC, rl_backward_kill_word } /* RUBOUT */ |
474 | }; |