diff --git a/doc/settings.md b/doc/settings.md index 7eaa78f167..88439aa4a4 100644 --- a/doc/settings.md +++ b/doc/settings.md @@ -20,7 +20,7 @@ graph LR - Hardcoded settings - See [/src/vtm.xml](../src/vtm.xml) for reference. - `--config ` CLI option - - Instead of the path to the configuration file, the configuration body itself can be specified (this case is detected by the keyword `" -r term diff --git a/src/netxs/desktopio/application.hpp b/src/netxs/desktopio/application.hpp index ef07b2fad0..461501834b 100644 --- a/src/netxs/desktopio/application.hpp +++ b/src/netxs/desktopio/application.hpp @@ -472,14 +472,7 @@ namespace netxs::app::shared auto load = [&](qiew shadow) { if (shadow.empty()) return faux; - if (utf::dequote(shadow).starts_with("(utf8); - return true; - } - else if (shadow.starts_with(":")) // Receive configuration via memory mapping. + if (shadow.starts_with(":")) // Receive configuration via memory mapping. { shadow.remove_prefix(1); auto utf8 = os::process::memory::get(shadow); @@ -521,12 +514,19 @@ namespace netxs::app::shared log(prompt::pads, "Not found"); return faux; }; - if (!load(cli_config_path)) // Merge explicitly specified settings. + auto frag = utf::dequote(cli_config_path); + if (!frag.starts_with("(patch); // Apply dtvt patch. + if (frag) + { + log("%%Apply the specified configuration fragment:\n%body%", prompt::apps, ansi::hi(frag)); + conf.fuse(frag); + } return conf; } }