def split_arguments_by_verb(arguments):
    """Split arguments by verb.

    Given a list of arguments (list of strings), the verb, the pre verb
    arguments, and the post verb arguments are returned.

    For example:

    .. code-block:: python

        >>> args = ['--command-arg1', 'verb', '--verb-arg1', '--verb-arg2']
        >>> split_arguments_by_verb(args)
        ('verb', ['--command-arg1'], ['--verb-arg1', '--verb-arg2'])

    :param list arguments: list of system arguments
    :returns: the verb (str), pre verb args (list), and post verb args (list)
    :rtype: tuple
    """
    verb = None
    pre_verb_args = []
    post_verb_args = []
    for index, arg in enumerate(arguments):
        if not arg.startswith('-'):
            verb = arg
            post_verb_args = arguments[index + 1:]
            break
        pre_verb_args.append(arg)
    return verb, pre_verb_args, post_verb_args
