diff options
author | unknown <vva@eagle.mysql.r18.ru> | 2003-01-18 20:53:46 +0400 |
---|---|---|
committer | unknown <vva@eagle.mysql.r18.ru> | 2003-01-18 20:53:46 +0400 |
commit | ced07d7f6551d28df5c82c39bda63c711b78d815 (patch) | |
tree | b7bd5d680489b53e3078fbc3f102260170be04e5 /cmd-line-utils/readline/keymaps.h | |
parent | 316029ab011dd51d2a652a76a4a72a633b9eb938 (diff) | |
download | mariadb-git-ced07d7f6551d28df5c82c39bda63c711b78d815.tar.gz |
move readline to cmd-line-utils
cmd-line-utils/readline/.cvsignore:
mvdir
cmd-line-utils/readline/COPYING:
mvdir
cmd-line-utils/readline/INSTALL:
mvdir
cmd-line-utils/readline/Makefile.am:
mvdir
cmd-line-utils/readline/README:
mvdir
cmd-line-utils/readline/ansi_stdlib.h:
mvdir
cmd-line-utils/readline/bind.c:
mvdir
cmd-line-utils/readline/callback.c:
mvdir
cmd-line-utils/readline/chardefs.h:
mvdir
cmd-line-utils/readline/complete.c:
mvdir
cmd-line-utils/readline/configure.in:
mvdir
cmd-line-utils/readline/display.c:
mvdir
cmd-line-utils/readline/emacs_keymap.c:
mvdir
cmd-line-utils/readline/funmap.c:
mvdir
cmd-line-utils/readline/histexpand.c:
mvdir
cmd-line-utils/readline/histfile.c:
mvdir
cmd-line-utils/readline/histlib.h:
mvdir
cmd-line-utils/readline/history.c:
mvdir
cmd-line-utils/readline/history.h:
mvdir
cmd-line-utils/readline/histsearch.c:
mvdir
cmd-line-utils/readline/input.c:
mvdir
cmd-line-utils/readline/isearch.c:
mvdir
cmd-line-utils/readline/keymaps.c:
mvdir
cmd-line-utils/readline/keymaps.h:
mvdir
cmd-line-utils/readline/kill.c:
mvdir
cmd-line-utils/readline/macro.c:
mvdir
cmd-line-utils/readline/mbutil.c:
mvdir
cmd-line-utils/readline/misc.c:
mvdir
cmd-line-utils/readline/nls.c:
mvdir
cmd-line-utils/readline/parens.c:
mvdir
cmd-line-utils/readline/posixdir.h:
mvdir
cmd-line-utils/readline/posixjmp.h:
mvdir
cmd-line-utils/readline/posixstat.h:
mvdir
cmd-line-utils/readline/readline.c:
mvdir
cmd-line-utils/readline/readline.h:
mvdir
cmd-line-utils/readline/rlconf.h:
mvdir
cmd-line-utils/readline/rldefs.h:
mvdir
cmd-line-utils/readline/rlmbutil.h:
mvdir
cmd-line-utils/readline/rlprivate.h:
mvdir
cmd-line-utils/readline/rlshell.h:
mvdir
cmd-line-utils/readline/rlstdc.h:
mvdir
cmd-line-utils/readline/rltty.c:
mvdir
cmd-line-utils/readline/rltty.h:
mvdir
cmd-line-utils/readline/rltypedefs.h:
mvdir
cmd-line-utils/readline/rlwinsize.h:
mvdir
cmd-line-utils/readline/search.c:
mvdir
cmd-line-utils/readline/shell.c:
mvdir
cmd-line-utils/readline/signals.c:
mvdir
cmd-line-utils/readline/tcap.h:
mvdir
cmd-line-utils/readline/terminal.c:
mvdir
cmd-line-utils/readline/text.c:
mvdir
cmd-line-utils/readline/tilde.c:
mvdir
cmd-line-utils/readline/tilde.h:
mvdir
cmd-line-utils/readline/undo.c:
mvdir
cmd-line-utils/readline/util.c:
mvdir
cmd-line-utils/readline/vi_keymap.c:
mvdir
cmd-line-utils/readline/vi_mode.c:
mvdir
cmd-line-utils/readline/xmalloc.c:
mvdir
cmd-line-utils/readline/xmalloc.h:
mvdir
Diffstat (limited to 'cmd-line-utils/readline/keymaps.h')
-rw-r--r-- | cmd-line-utils/readline/keymaps.h | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/cmd-line-utils/readline/keymaps.h b/cmd-line-utils/readline/keymaps.h new file mode 100644 index 00000000000..66fa2a5ec14 --- /dev/null +++ b/cmd-line-utils/readline/keymaps.h @@ -0,0 +1,103 @@ +/* keymaps.h -- Manipulation of readline keymaps. */ + +/* Copyright (C) 1987, 1989, 1992 Free Software Foundation, Inc. + + This file is part of the GNU Readline Library, a library for + reading lines of text with interactive input and history editing. + + The GNU Readline Library is free software; you can redistribute it + and/or modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2, or + (at your option) any later version. + + The GNU Readline Library is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the implied warranty + of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + The GNU General Public License is often shipped with GNU software, and + is generally kept in a file called COPYING or LICENSE. If you do not + have a copy of the license, write to the Free Software Foundation, + 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ + +#ifndef _KEYMAPS_H_ +#define _KEYMAPS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined (READLINE_LIBRARY) +# include "rlstdc.h" +# include "chardefs.h" +# include "rltypedefs.h" +#else +# include <readline/rlstdc.h> +# include <readline/chardefs.h> +# include <readline/rltypedefs.h> +#endif + +/* A keymap contains one entry for each key in the ASCII set. + Each entry consists of a type and a pointer. + FUNCTION is the address of a function to run, or the + address of a keymap to indirect through. + TYPE says which kind of thing FUNCTION is. */ +typedef struct _keymap_entry { + char type; + rl_command_func_t *function; +} KEYMAP_ENTRY; + +/* This must be large enough to hold bindings for all of the characters + in a desired character set (e.g, 128 for ASCII, 256 for ISO Latin-x, + and so on) plus one for subsequence matching. */ +#define KEYMAP_SIZE 257 +#define ANYOTHERKEY KEYMAP_SIZE-1 + +/* I wanted to make the above structure contain a union of: + union { rl_command_func_t *function; struct _keymap_entry *keymap; } value; + but this made it impossible for me to create a static array. + Maybe I need C lessons. */ + +typedef KEYMAP_ENTRY KEYMAP_ENTRY_ARRAY[KEYMAP_SIZE]; +typedef KEYMAP_ENTRY *Keymap; + +/* The values that TYPE can have in a keymap entry. */ +#define ISFUNC 0 +#define ISKMAP 1 +#define ISMACR 2 + +extern KEYMAP_ENTRY_ARRAY emacs_standard_keymap, emacs_meta_keymap, emacs_ctlx_keymap; +extern KEYMAP_ENTRY_ARRAY vi_insertion_keymap, vi_movement_keymap; + +/* Return a new, empty keymap. + Free it with free() when you are done. */ +extern Keymap rl_make_bare_keymap PARAMS((void)); + +/* Return a new keymap which is a copy of MAP. */ +extern Keymap rl_copy_keymap PARAMS((Keymap)); + +/* Return a new keymap with the printing characters bound to rl_insert, + the lowercase Meta characters bound to run their equivalents, and + the Meta digits bound to produce numeric arguments. */ +extern Keymap rl_make_keymap PARAMS((void)); + +/* Free the storage associated with a keymap. */ +extern void rl_discard_keymap PARAMS((Keymap)); + +/* These functions actually appear in bind.c */ + +/* Return the keymap corresponding to a given name. Names look like + `emacs' or `emacs-meta' or `vi-insert'. */ +extern Keymap rl_get_keymap_by_name PARAMS((const char *)); + +/* Return the current keymap. */ +extern Keymap rl_get_keymap PARAMS((void)); + +/* Set the current keymap to MAP. */ +extern void rl_set_keymap PARAMS((Keymap)); + +#ifdef __cplusplus +} +#endif + +#endif /* _KEYMAPS_H_ */ |