Description
This RFC proposes adding support for REPL configuration files to persist user preferences (eg. settings) across each session.
Questions
-
What to persist? For starters, we can persist settings, themes, and most of the options that the REPL receives during instantiation like inputPrompt, welcomeMessage, padding etc. I think we should avoid saving options like load and others which are something that is typically used per session.
-
If we end up NOT saving anything else than what already can be passed as REPL options, does it make sense to have commands for loading custom configuration files? As loading a configuration or just loading the REPL options is pretty much the same process. In that case, just having a single configuration that remembers user preferences is more than enough, as the user can have scripts with specific options for different use-cases/profiles.
Other
Saving command history is an existing TODO, once we support that maybe we can also auto-persist them. I believe IPython does this.
Checklist
Description
This RFC proposes adding support for REPL configuration files to persist user preferences (eg. settings) across each session.
Questions
What to persist? For starters, we can persist settings, themes, and most of the options that the REPL receives during instantiation like
inputPrompt,welcomeMessage,paddingetc. I think we should avoid saving options likeloadand others which are something that is typically used per session.If we end up NOT saving anything else than what already can be passed as REPL options, does it make sense to have commands for loading custom configuration files? As loading a configuration or just loading the REPL options is pretty much the same process. In that case, just having a single configuration that remembers user preferences is more than enough, as the user can have scripts with specific options for different use-cases/profiles.
Other
Saving command history is an existing TODO, once we support that maybe we can also auto-persist them. I believe IPython does this.
Checklist
RFC:.