142660Smarkm/* echo-area.h -- Functions used in reading information from the echo area.
2146515Sru   $Id: echo-area.h,v 1.4 2004/08/07 22:03:08 karl Exp $
342660Smarkm
442660Smarkm   This file is part of GNU Info, a program for reading online documentation
542660Smarkm   stored in Info format.
642660Smarkm
7146515Sru   Copyright (C) 1993, 1997, 2004 Free Software Foundation, Inc.
842660Smarkm
942660Smarkm   This program is free software; you can redistribute it and/or modify
1042660Smarkm   it under the terms of the GNU General Public License as published by
1142660Smarkm   the Free Software Foundation; either version 2, or (at your option)
1242660Smarkm   any later version.
1342660Smarkm
1442660Smarkm   This program is distributed in the hope that it will be useful,
1542660Smarkm   but WITHOUT ANY WARRANTY; without even the implied warranty of
1642660Smarkm   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1742660Smarkm   GNU General Public License for more details.
1842660Smarkm
1942660Smarkm   You should have received a copy of the GNU General Public License
2042660Smarkm   along with this program; if not, write to the Free Software
2142660Smarkm   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
2242660Smarkm
2342660Smarkm   Written by Brian Fox (bfox@ai.mit.edu). */
2442660Smarkm
2542660Smarkm#ifndef INFO_ECHO_AREA_H
2642660Smarkm#define INFO_ECHO_AREA_H
2742660Smarkm
2842660Smarkm#define EA_MAX_INPUT 256
2942660Smarkm
3042660Smarkmextern int echo_area_is_active, info_aborted_echo_area;
3142660Smarkm
3242660Smarkm/* Non-zero means that the last command executed while reading input
3342660Smarkm   killed some text. */
3442660Smarkmextern int echo_area_last_command_was_kill;
3542660Smarkm
36146515Sruextern void inform_in_echo_area (const char *message);
37146515Sruextern void echo_area_inform_of_deleted_window (WINDOW *window);
38146515Sruextern void echo_area_prep_read (void);
3942660Smarkmextern VFunction *ea_last_executed_command;
40146515Sruextern char * info_read_completing_internal (WINDOW *window, char *prompt,
41146515Sru    REFERENCE **completions, int force);
4242660Smarkm
4342660Smarkm/* Read a line of text in the echo area.  Return a malloc ()'ed string,
4442660Smarkm   or NULL if the user aborted out of this read.  WINDOW is the currently
4542660Smarkm   active window, so that we can restore it when we need to.  PROMPT, if
4642660Smarkm   non-null, is a prompt to print before reading the line. */
47146515Sruextern char *info_read_in_echo_area (WINDOW *window, char *prompt);
4842660Smarkm
4942660Smarkm/* Read a line in the echo area with completion over COMPLETIONS.
5042660Smarkm   Takes arguments of WINDOW, PROMPT, and COMPLETIONS, a REFERENCE **. */
51146515Sruchar *info_read_completing_in_echo_area (WINDOW *window,
52146515Sru    char *prompt, REFERENCE **completions);
5342660Smarkm
5442660Smarkm/* Read a line in the echo area allowing completion over COMPLETIONS, but
5542660Smarkm   not requiring it.  Takes arguments of WINDOW, PROMPT, and COMPLETIONS,
5642660Smarkm   a REFERENCE **. */
57146515Sruextern char *info_read_maybe_completing (WINDOW *window,
58146515Sru    char *prompt, REFERENCE **completions);
5942660Smarkm
60146515Sruextern void ea_insert (WINDOW *window, int count, unsigned char key);
61146515Sruextern void ea_quoted_insert (WINDOW *window, int count, unsigned char key);
62146515Sruextern void ea_beg_of_line (WINDOW *window, int count, unsigned char key);
63146515Sruextern void ea_backward (WINDOW *window, int count, unsigned char key);
64146515Sruextern void ea_delete (WINDOW *window, int count, unsigned char key);
65146515Sruextern void ea_end_of_line (WINDOW *window, int count, unsigned char key);
66146515Sruextern void ea_forward (WINDOW *window, int count, unsigned char key);
67146515Sruextern void ea_abort (WINDOW *window, int count, unsigned char key);
68146515Sruextern void ea_rubout (WINDOW *window, int count, unsigned char key);
69146515Sruextern void ea_complete (WINDOW *window, int count, unsigned char key);
70146515Sruextern void ea_newline (WINDOW *window, int count, unsigned char key);
71146515Sruextern void ea_kill_line (WINDOW *window, int count, unsigned char key);
72146515Sruextern void ea_backward_kill_line (WINDOW *window, int count, unsigned char key);
73146515Sruextern void ea_transpose_chars (WINDOW *window, int count, unsigned char key);
74146515Sruextern void ea_yank (WINDOW *window, int count, unsigned char key);
75146515Sruextern void ea_tab_insert (WINDOW *window, int count, unsigned char key);
76146515Sruextern void ea_possible_completions (WINDOW *window, int count, unsigned char key);
77146515Sruextern void ea_backward_word (WINDOW *window, int count, unsigned char key);
78146515Sruextern void ea_kill_word (WINDOW *window, int count, unsigned char key);
79146515Sruextern void ea_forward_word (WINDOW *window, int count, unsigned char key);
80146515Sruextern void ea_yank_pop (WINDOW *window, int count, unsigned char key);
81146515Sruextern void ea_backward_kill_word (WINDOW *window, int count, unsigned char key);
82146515Sruextern void ea_scroll_completions_window (WINDOW *window, int count,
83146515Sru    unsigned char key);
8442660Smarkm
8542660Smarkm#endif /* not INFO_ECHO_AREA_H */
86