ad8b284869
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.
24 lines
508 B
C
24 lines
508 B
C
#ifndef BSHELL_LINE_EDITOR_SYNTAX_H_
|
|
#define BSHELL_LINE_EDITOR_SYNTAX_H_
|
|
|
|
#include <fx/macros.h>
|
|
|
|
FX_DECLS_BEGIN;
|
|
|
|
#define BSHELL_TYPE_LINE_EDITOR_SYNTAX (bshell_line_ed_syntax_get_type())
|
|
|
|
FX_DECLARE_TYPE(bshell_line_ed_syntax);
|
|
|
|
FX_TYPE_CLASS_DECLARATION_BEGIN(bshell_line_ed_syntax)
|
|
FX_TYPE_CLASS_DECLARATION_END(bshell_line_ed_syntax)
|
|
|
|
extern fx_type_id bshell_line_ed_syntax_get_type(void);
|
|
|
|
FX_TYPE_DEFAULT_CONSTRUCTOR(
|
|
bshell_line_ed_syntax,
|
|
BSHELL_TYPE_LINE_EDITOR_SYNTAX);
|
|
|
|
FX_DECLS_END;
|
|
|
|
#endif
|