blob: 615f5d25692bd5569eeadfa7f494164687668b81 [file] [log] [blame]
Jari Aalto726f6381996-08-26 18:22:31 +00001/* bashhist.h -- interface to the bash history functions in bashhist.c. */
2
Chet Ramey8868eda2020-12-06 15:51:17 -05003/* Copyright (C) 1993-2020 Free Software Foundation, Inc.
Jari Aalto726f6381996-08-26 18:22:31 +00004
5 This file is part of GNU Bash, the Bourne Again SHell.
6
Jari Aalto31859422009-01-12 13:36:28 +00007 Bash 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.
Jari Aalto726f6381996-08-26 18:22:31 +000011
Jari Aalto31859422009-01-12 13:36:28 +000012 Bash 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.
Jari Aalto726f6381996-08-26 18:22:31 +000016
Jari Aalto31859422009-01-12 13:36:28 +000017 You should have received a copy of the GNU General Public License
18 along with Bash. If not, see <http://www.gnu.org/licenses/>.
19*/
Jari Aalto726f6381996-08-26 18:22:31 +000020
Jari Aaltoccc6cda1996-12-23 17:02:34 +000021#if !defined (_BASHHIST_H_)
22#define _BASHHIST_H_
Jari Aalto726f6381996-08-26 18:22:31 +000023
Jari Aaltof73dda02001-11-13 17:56:06 +000024#include "stdc.h"
25
Jari Aaltob80f6442004-07-27 13:29:18 +000026/* Flag values for history_control */
27#define HC_IGNSPACE 0x01
28#define HC_IGNDUPS 0x02
29#define HC_ERASEDUPS 0x04
30
31#define HC_IGNBOTH (HC_IGNSPACE|HC_IGNDUPS)
32
Chet Rameyd233b482019-01-07 09:27:52 -050033#if defined (STRICT_POSIX)
34# undef HISTEXPAND_DEFAULT
35# define HISTEXPAND_DEFAULT 0
36#else
37# if !defined (HISTEXPAND_DEFAULT)
38# define HISTEXPAND_DEFAULT 1
39# endif /* !HISTEXPAND_DEFAULT */
40#endif
41
Jari Aalto726f6381996-08-26 18:22:31 +000042extern int remember_on_history;
Jari Aaltof1be6662008-11-18 13:15:12 +000043extern int enable_history_list; /* value for `set -o history' */
44extern int literal_history; /* controlled by `shopt lithist' */
45extern int force_append_history;
Jari Aalto726f6381996-08-26 18:22:31 +000046extern int history_lines_this_session;
47extern int history_lines_in_file;
48extern int history_expansion;
49extern int history_control;
50extern int command_oriented_history;
Jari Aalto7117c2d2002-07-17 14:10:11 +000051extern int current_command_first_line_saved;
Chet Rameyd233b482019-01-07 09:27:52 -050052extern int current_command_first_line_comment;
Jari Aaltod166f041997-06-05 14:59:13 +000053extern int hist_last_line_added;
Jari Aalto95732b42005-12-07 14:08:12 +000054extern int hist_last_line_pushed;
Jari Aalto726f6381996-08-26 18:22:31 +000055
Chet Rameyd233b482019-01-07 09:27:52 -050056extern int dont_save_function_defs;
57
58# if defined (READLINE)
59extern int hist_verify;
60# endif
61
Jari Aalto726f6381996-08-26 18:22:31 +000062# if defined (BANG_HISTORY)
63extern int history_expansion_inhibited;
Chet Rameyd233b482019-01-07 09:27:52 -050064extern int double_quotes_inhibit_history_expansion;
Jari Aalto726f6381996-08-26 18:22:31 +000065# endif /* BANG_HISTORY */
66
Chet Ramey8868eda2020-12-06 15:51:17 -050067extern void bash_initialize_history PARAMS((void));
68extern void bash_history_reinit PARAMS((int));
69extern void bash_history_disable PARAMS((void));
70extern void bash_history_enable PARAMS((void));
71extern void bash_clear_history PARAMS((void));
72extern int bash_delete_histent PARAMS((int));
73extern int bash_delete_history_range PARAMS((int, int));
74extern int bash_delete_last_history PARAMS((void));
75extern void load_history PARAMS((void));
76extern void save_history PARAMS((void));
77extern int maybe_append_history PARAMS((char *));
78extern int maybe_save_shell_history PARAMS((void));
79extern char *pre_process_line PARAMS((char *, int, int));
80extern void maybe_add_history PARAMS((char *));
81extern void bash_add_history PARAMS((char *));
82extern int check_add_history PARAMS((char *, int));
83extern int history_number PARAMS((void));
Jari Aalto726f6381996-08-26 18:22:31 +000084
Chet Ramey8868eda2020-12-06 15:51:17 -050085extern void setup_history_ignore PARAMS((char *));
Jari Aaltoccc6cda1996-12-23 17:02:34 +000086
Chet Ramey8868eda2020-12-06 15:51:17 -050087extern char *last_history_line PARAMS((void));
Jari Aaltoccc6cda1996-12-23 17:02:34 +000088
89#endif /* _BASHHIST_H_ */