def parse_command(data):
    """
    Parse received command and return a list of words.

    Any word starting with a ":" will be counted as final, and will "eat" the
    rest of the list.

    e.g::

        >>> parse_command('CAP LS')
        ['CAP', 'LS']
        >>> parse_command('NICK bruno')
        ['NICK', 'bruno']
        >>> parse_command('USER bruno bruno 127.0.0.1 :Bruno Bord')
        ['USER', 'bruno', 'bruno', '127.0.0.1', 'Bruno Bord']
    """
    arguments, _, extra = data.partition(' :')
    words = arguments.split(' ')
    if extra:
        words.append(extra)
    return words