Method code for $command_lib._parse_option_templates()

[Turn on line numbering]
arg opt;
var reg, out;

out = [];
opt = strsed(opt, "^ *", "");
while (opt) {
    if ((reg = regexp(opt, "^[\+-]([^= ]*)=([^ ]+) *(.*)"))) {
        opt = reg[3];
        out += delete(reg, 3);
    } else if ((reg = regexp(opt, "^[\+-]([^ ]+) *(.*)"))) {
        opt = reg[2];
        out += [reg[1]];
    } else {
        throw(~invopt, "Option templates must begin with '+' or '-'");
    }
    opt = strsed(opt, "^ *", "");
}
return out;

// Created 27-Mar-1995 as a part of ColdCore, see: @help Credit

Tlon