diff --git a/examples/config-ini/config.ini b/examples/config-ini/config.ini index c9a774bb..b782f83d 100644 --- a/examples/config-ini/config.ini +++ b/examples/config-ini/config.ini @@ -1,3 +1,4 @@ +; comments are allowed hello = world bashly = works diff --git a/examples/config-ini/configly b/examples/config-ini/configly index 2d1de6f3..5982b25c 100644 --- a/examples/config-ini/configly +++ b/examples/config-ini/configly @@ -325,6 +325,11 @@ configly_list_command() { # :src/list_command.sh # Using the standard library (lib/config.sh) to show the entire config file config_show + + # Or to iterate through keys + for key in $(config_keys) ; do + echo "$key === $(config_get "$key")" + done } # :command.parse_requirements diff --git a/examples/config-ini/src/list_command.sh b/examples/config-ini/src/list_command.sh index 4c7b4474..c1a9553e 100644 --- a/examples/config-ini/src/list_command.sh +++ b/examples/config-ini/src/list_command.sh @@ -1,2 +1,7 @@ # Using the standard library (lib/config.sh) to show the entire config file config_show + +# Or to iterate through keys +for key in $(config_keys) ; do + echo "$key === $(config_get "$key")" +done diff --git a/lib/bashly/templates/lib/config.sh b/lib/bashly/templates/lib/config.sh index 4a5c1735..93606e49 100644 --- a/lib/bashly/templates/lib/config.sh +++ b/lib/bashly/templates/lib/config.sh @@ -100,7 +100,7 @@ config_show() { # done # config_keys() { - regex="^(.*)\s*=" + regex="^([a-zA-Z0-9_\-]+)\s*=" config_init diff --git a/spec/approvals/examples/config-ini b/spec/approvals/examples/config-ini index a5483a9e..56d157bb 100644 --- a/spec/approvals/examples/config-ini +++ b/spec/approvals/examples/config-ini @@ -35,6 +35,9 @@ world + ./configly get invalid_key No such key: invalid_key + ./configly list +; comments are allowed hello = world bashly = works +hello === world +bashly === works