Files
bshell/bshell.runtime/include/bshell/line-editor/history.h
T
wash ad8b284869 runtime: implement an extensible line editor
the line editor supports custom keybinds and data storage, allowing for
a wide range of functionality to be implemented via plugins.

included plugins include:
* core: basic input and cursor movement.
* history: input history storage and retrieval (unfinished)
* highlight: support for colour-highlighting the line buffer (unfinished)
* syntax: parses the line buffer and uses `highlight` to apply syntax highlighting (unfinished).
* shell-integration:
  - allows a `prompt` function to be defined, which will be called to get the text to
    be used for the prompt
  - exposes key properties of the line editor to the shell environment, allowing line editor
    functionality to be extended via shell scripts.
2026-06-20 15:13:34 +01:00

24 lines
518 B
C

#ifndef BSHELL_LINE_EDITOR_HISTORY_H_
#define BSHELL_LINE_EDITOR_HISTORY_H_
#include <fx/macros.h>
FX_DECLS_BEGIN;
#define BSHELL_TYPE_LINE_EDITOR_HISTORY (bshell_line_ed_history_get_type())
FX_DECLARE_TYPE(bshell_line_ed_history);
FX_TYPE_CLASS_DECLARATION_BEGIN(bshell_line_ed_history)
FX_TYPE_CLASS_DECLARATION_END(bshell_line_ed_history)
extern fx_type_id bshell_line_ed_history_get_type(void);
FX_TYPE_DEFAULT_CONSTRUCTOR(
bshell_line_ed_history,
BSHELL_TYPE_LINE_EDITOR_HISTORY);
FX_DECLS_END;
#endif