def _drop_from_options()

in nubia_complete/completer.py [0:0]


def _drop_from_options(options, token, skip_value=False):
    # does this token in the format "-[-]x=" ?
    tokens = token.split("=")
    if skip_value:
        tokens = tokens[:1]
    for i, option in enumerate(options):
        logger.debug("Tokens: %s", tokens)
        if tokens[0] == option.get("name") or tokens[0] in option.get("extra_names"):
            logger.debug("Dropping option %s", option)
            if option.get("expects_argument"):
                if len(tokens) > 1:
                    # we have the argument already
                    options.pop(i)
                    return None
                return options.pop(i)
            else:
                return None
        else:
            logger.debug("mismatch: %s and %s", option.get("name"), tokens[0])