Builtin, Prompt Plugins
We could have a directory for Ion at ~/.config/ion/, and in this directory we can have a plugins directory. Within the plugins directory we could have a prompts, builtins directory that each would store dynamic Rust libraries.
Prompt Plugins
We could have an extra variable, PROMPT_PLUGIN
, that when set to a value, will attempt to execute a library of that name to get the prompt string.
I dont know if a plugin system is overkill for an ideally simple thing like a prompt. We dont want to emulate a code editor in the shell prompt.
Builtin Plugins
When the shell is launched, libraries in the builtins directory could be scanned to import additional builtins into the shell as the Shell
struct is created.
Builtin plugins could compromise Rusts stability features, so I kinda dislike not forcing the usage of our build system (and thus the Rust compiler to check things).