app-cat-conf(1) =============== NAME ---- app-cat-conf - outputs a combined configuration file in a parsable format SYNOPSIS -------- [verse] 'app-cat-conf' [-f ] [-D] [-l ] [-k ] DESCRIPTION ----------- Outputs the combined file from all the input files. It will only output a key once, the last value for each key seen will win. A configuration file is a collection of grouped keys and values, similar to Git. The keys consist of two parts: a _group_ and a _name_. Both have to match the regex `[a-zA-Z0-9]` and are combined with a dot. OPTIONS ------- -f:: The configuration file to use. If the value is '-', stdin will be used as input. The option can be given multiple times. -D:: Disables the inclusion of the default files. -k:: Looks up the given key. -l:: Selects the location to use. LOCATIONS AND DEFAULT FILES --------------------------- 'app-cat-conf' will by default look for configuration files in three places: * '$APPSH_HOME/lib/default-configuration' * '$HOME/.appconfig' * '.app/config' TODOs ----- Support comments:: 1) ignore comments (lines that start with #), 2) add a flag (-C) to include comments in the output but still filter the lines. (2) is required for app-conf set to work. (1) can be done first. Better support for scripting:: Support _required keys_: exit with non-null value when a key is missing. Suggested option: '-r'. + Support _default values_: when a key is missing, return the default value instead. Suggested option: '-d'. + Support _$APP_HOME_: If '$APP_HOME' is set, use that when reading the app's configuration values. Makes it easier to script as the user may move around directories, but still read values from the right place. SEE ALSO -------- git-configuration(1) APP.SH ------ Part of the linkman:app[1] suite. // vim: set ft=asciidoc: