1 /* bushhist.h -- interface to the bush history functions in bushhist.c. */
3 /* Copyright (C) 1993-2020 Free Software Foundation, Inc.
5 This file is part of GNU Bush, the Bourne Again SHell.
7 Bush is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
12 Bush is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with Bush. If not, see <http://www.gnu.org/licenses/>.
21 #if !defined (_BUSHHIST_H_)
26 /* Flag values for history_control */
27 #define HC_IGNSPACE 0x01
28 #define HC_IGNDUPS 0x02
29 #define HC_ERASEDUPS 0x04
31 #define HC_IGNBOTH (HC_IGNSPACE|HC_IGNDUPS)
33 #if defined (STRICT_POSIX)
34 # undef HISTEXPAND_DEFAULT
35 # define HISTEXPAND_DEFAULT 0
37 # if !defined (HISTEXPAND_DEFAULT)
38 # define HISTEXPAND_DEFAULT 1
39 # endif /* !HISTEXPAND_DEFAULT */
42 extern int remember_on_history
;
43 extern int enable_history_list
; /* value for `set -o history' */
44 extern int literal_history
; /* controlled by `shopt lithist' */
45 extern int force_append_history
;
46 extern int history_lines_this_session
;
47 extern int history_lines_in_file
;
48 extern int history_expansion
;
49 extern int history_control
;
50 extern int command_oriented_history
;
51 extern int current_command_first_line_saved
;
52 extern int current_command_first_line_comment
;
53 extern int hist_last_line_added
;
54 extern int hist_last_line_pushed
;
56 extern int dont_save_function_defs
;
58 # if defined (READLINE)
59 extern int hist_verify
;
62 # if defined (BANG_HISTORY)
63 extern int history_expansion_inhibited
;
64 extern int double_quotes_inhibit_history_expansion
;
65 # endif /* BANG_HISTORY */
67 extern void bush_initialize_history
PARAMS((void));
68 extern void bush_history_reinit
PARAMS((int));
69 extern void bush_history_disable
PARAMS((void));
70 extern void bush_history_enable
PARAMS((void));
71 extern void bush_clear_history
PARAMS((void));
72 extern int bush_delete_histent
PARAMS((int));
73 extern int bush_delete_history_range
PARAMS((int, int));
74 extern int bush_delete_last_history
PARAMS((void));
75 extern void load_history
PARAMS((void));
76 extern void save_history
PARAMS((void));
77 extern int maybe_append_history
PARAMS((char *));
78 extern int maybe_save_shell_history
PARAMS((void));
79 extern char *pre_process_line
PARAMS((char *, int, int));
80 extern void maybe_add_history
PARAMS((char *));
81 extern void bush_add_history
PARAMS((char *));
82 extern int check_add_history
PARAMS((char *, int));
83 extern int history_number
PARAMS((void));
85 extern void setup_history_ignore
PARAMS((char *));
87 extern char *last_history_line
PARAMS((void));
89 #endif /* _BUSHHIST_H_ */