rustzx
rustzx copied to clipboard
Improved configuration & CLI
To improve the usability of the emulator, the following configuration sources should be introduced:
- Global emulator configuration, used as the default for all files
- Per-asset (tap, sna, etc.) configuration for keeping asset-specific settings
These settings should be located in user-specific config folder (directories crate can be used)
Configuration sources should have the following priority (from the highest)
- Options specified in CLI
- Per-asset configuration
- Global configuration
- Emulator defaults
Additional change for this task will be CLI refactoring
Current commands related to starting emulator should be moved to run
subcommand:
rustzx run --tap jetpac.tap
Additional run
subcommand args
--remember
- save provided asset-specific settings
config
subcommand
Subcommands:
-
set
- set global or asset-specific settings. Global options can be selected with--global
flag -
defaults
- reset asset settings for asset or globally.
Basically, part of run
arguments should be moved to the different structopt
structure and re-used for configuration commands