amber icon indicating copy to clipboard operation
amber copied to clipboard

Make better parametrisation and help

Open kpym opened this issue 3 years ago • 1 comments

Sorry to tell you but I'm struggling with the configuration of amber for different reasons :

  • Some flag helps is too short and cryptic. Example: Enable .gitignore skip, do we enable to skip .gitignore and search for ignored files or we enable to skip the files that are in .gitignore?
  • Not clear should we use parameter or it is default. Example: --key-from-file, should we specify a filename (in which case it is probably an option and not a flag) or should we use some default filename?
  • The flag do not correspond to the variables in amr/s.toml. Example: --skip-gitignore is "disabled" by default and we "enable" it with this flag, but skip_gitignore in .toml is true ("enabled") by default. So it looks like that this two defaults are opposite to each other.
  • It looks that we can only "enable" some flags, but what if they are enabled in the .toml config and we want to disable them by flag ? If this is possible (by putting for example =false ) this should be documented.
  • Some variables in .toml are only valid for ambr but not for ambs and the documentation do not specify this. Example: interactive.

Suggestions about the .toml configs:

  • Enable single .amber.toml with sections for ambs and ambr for the specific flags. Example:
skipped = true # valid for ambr and ambs
[ambr]
interactive = false # only for ambr
[ambs]
skip_gitignore = false  # only for ambs
  • Look for .toml config files in multiple folders, for example (in order) :
    • the current path (like for .gitignore)
    • ~/.config/amber
    • ~/.config/
    • ~

kpym avatar May 14 '22 06:05 kpym

I can agree with most of what has been said here. This tool uses a deprecated library for the CLI arguments parsing, maybe migrating to clap would help make such updates easier.

Also, for the config file, I know of figment which helps to support multiple configuration sources and abstracts away a lot of the file parsing etc.

beeb avatar Jun 12 '24 09:06 beeb