2005-09-20 21:26:39 +08:00
|
|
|
/** \file history.h
|
|
|
|
Prototypes for history functions, part of the user interface.
|
|
|
|
*/
|
|
|
|
|
2005-10-04 23:11:39 +08:00
|
|
|
#ifndef FISH_HISTORY_H
|
|
|
|
#define FISH_HISTORY_H
|
|
|
|
|
|
|
|
#include <wchar.h>
|
|
|
|
|
2005-09-20 21:26:39 +08:00
|
|
|
/**
|
2006-02-06 23:08:10 +08:00
|
|
|
Init history library. The history file won't actually be loaded
|
|
|
|
until the first time a history search is performed.
|
2005-09-20 21:26:39 +08: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 06:36:49 +08:00
|
|
|
Make current point to last history item
|
2005-09-20 21:26:39 +08: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 06:36:49 +08:00
|
|
|
void history_set_mode( const wchar_t *name );
|
2005-09-20 21:26:39 +08:00
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
Perform sanity checks
|
|
|
|
*/
|
|
|
|
void history_sanity_check();
|
|
|
|
|
2005-10-04 23:11:39 +08:00
|
|
|
#endif
|