2005-09-20 23:26:39 +10:00
/** \file history.h
Prototypes for history functions , part of the user interface .
*/
2005-10-05 01:11:39 +10:00
# ifndef FISH_HISTORY_H
# define FISH_HISTORY_H
# include <wchar.h>
2005-09-20 23:26:39 +10:00
/**
2006-02-07 01:08:10 +10:00
Init history library . The history file won ' t actually be loaded
until the first time a history search is performed .
2005-09-20 23:26:39 +10:00
*/
void history_init ( ) ;
/**
Saves the new history to disc and frees all memory used by the history .
*/
void history_destroy ( ) ;
/**
Add a new history item to the bottom of the history , containing a
copy of str . Remove any duplicates . Moves the current item past the
end of the history list .
*/
void history_add ( const wchar_t * str ) ;
/**
Find previous history item starting with str . If this moves before
the start of the history , str is returned .
*/
const wchar_t * history_prev_match ( const wchar_t * str ) ;
/**
Return the specified history at the specified index , or 0 if out of bounds . 0 is the index of the current commandline .
*/
wchar_t * history_get ( int idx ) ;
/**
Move to first history item
*/
void history_first ( ) ;
/**
2006-10-21 08:36:49 +10:00
Make current point to last history item
2005-09-20 23:26:39 +10:00
*/
void history_reset ( ) ;
/**
Find next history item starting with str . If this moves past
the end of the history , str is returned .
*/
const wchar_t * history_next_match ( const wchar_t * str ) ;
/**
Set the current mode name for history . Each application that uses
the history has it ' s own mode . This must be called prior to any use
of the history .
*/
2006-10-21 08:36:49 +10:00
void history_set_mode ( const wchar_t * name ) ;
2005-09-20 23:26:39 +10:00
/**
Perform sanity checks
*/
void history_sanity_check ( ) ;
2005-10-05 01:11:39 +10:00
# endif