Snarf up all the key=val,key=val pairs, put 'em in a dict.
| 66 | |
| 67 | // Snarf up all the key=val,key=val pairs, put 'em in a dict. |
| 68 | arg_desc_t cmddesc_get_args(const string_view cmddesc) |
| 69 | { |
| 70 | arg_desc_t arg_desc; |
| 71 | for_each_substr(cmddesc, ",", [&](auto kv) { |
| 72 | // key=value; key by itself implies value is bool true |
| 73 | // name="name" means arg dict will be titled 'name' |
| 74 | auto equal = kv.find('='); |
| 75 | if (equal == kv.npos) { |
| 76 | // it should be the command |
| 77 | return; |
| 78 | } |
| 79 | auto key = kv.substr(0, equal); |
| 80 | auto val = kv.substr(equal + 1); |
| 81 | arg_desc[key] = val; |
| 82 | }); |
| 83 | return arg_desc; |
| 84 | } |
| 85 | |
| 86 | std::string cmddesc_get_prenautilus_compat(const std::string &cmddesc) |
| 87 | { |
no test coverage detected