Общий формат для команды assign:
    vitis-sl assign [[-c] <категория>] [-действие] <данные> [[--yes][--no]]

Необязательный флаг "--yes" или "--no" служит для автоматического ответа
на возможные запросы пользователю, например, на создание категории.

vitis-sl assign [-c] <категория> -a <псевдоним> ...
    Для категории создаётся псевдоним или псевдонимы.

vitis-sl assign [[-c] <категория> ... ] -f <файл> ... [--save] [--to <путь>]
    Заданные категории назначаются перечисленным файлам.
    Список категорий можно пропустить, если включены автоматические категории;
    в таком случае файлам будут назначены только автоматические категории.

    Дополнительная опция --save заставляет файлы копироваться в
    файловое пространство (см. vitis-sl service --help), что актуально если
    не настроено автосохранение в файловое пространство.
    Дополнительная опция --to позволяет выбрать директорию для копирования
    из списка файловых пространств (если их много).

vitis-sl assign [[-c] <категория> ...] -f <файл> ... [--save] [--to <путь>] \
             [--start <начало>] [--finish <конец>] --fragname <имя>
    Можно назначать категории фрагментам файлов видео-, аудио-
    и текстовых форматов при наличии установленной программы mediafragmenter.
    Для этого используются опции --fragname, --start и --finish.
    Опция --fragname является обязательной и формирует создаваемое имя
    указателя на фрагмент.
    У аудио- и видеофайлам границами фрагментов являются временные отметки
    в формате ЧЧ:ММ:СС. В случае простых текстовых файлов в одной из
    Юникод-кодировок используется номер строки и номер символа в строке
    через запятую без пробелов.
    Примеры:
        vitis-sl assign -f Фильм.mkv --start 02:03:29 --finish 02:03:56 \
                                  --fragname "Культовая сцена"
        vitis-sl assign -c Заставки -f s01s01.avi --finish 00:00:59 \
                                               --fragname "Duck Tales intro"
        vitis-sl assign -c Избранное -f Заметки.txt --start 45,1 --finish 59,31 \
                                                 --fragname "Цитата"
    При использовании данной команды создаются указатели на фрагменты файлов,
    никакого реального отсечения фрагментов не происходит.
    Подробнее см.
        mediafragmenter --help

vitis-sl assign -d <директория> [--as <категория>] [-c <категория> ...] \
             [--save] [--to <путь>]
    Содержимое директории обретает категорию с именем этой директории.
    Для категории можно выбрать другое имя при помощи --as.
    Из вложенных директорий образуются локальные подкатегории.
    Описание опций --save и --to смотрите выше.
    Опцией -c можно указать дополнительные категории, которые будут
    назначены всем файлам из директории.

vitis-sl assign [-c] <категория> -e <выражение>
    Заданная категория назначается файлам из списка,
    полученного в результате вычисления выражения.
    Информацию о выражениях см. в справке команды show:
        vitis-sl show --help

vitis-sl assign [-c] <категория> -v <[категория/]файл> [--number <номер>] \
             [[--start <начало>] [--finish <конец>] --fragname <имя>]
    Позволяет назначать категории файлам с известными именами
    и с заранее известными ранее назначенными категориями.
    Если категория не указана, проводится поиск по имени по всей системе vitis-sl.
    Здесь также доступно создание указателей на фрагменты файлов, см. выше.
    Для разрешения случаев, когда категория имеет несколько файлов
    с одинаковыми именами, используется опция --number.
    Номера выясняются при помощи vitis-sl show. См.: vitis-sl show --help

vitis-sl assign [[-c] <категория> ...] -i <ссылка на сетевой ресурс> ... [--save]
    Ссылке (или ссылкам) на определённый Интернет-ресурс
    (или на иной сетевой путь) присваивается категория (или категории).
    Список категорий можно пропустить, если включены автоматические категории.
    Пример:
        vitis-sl assign GitLab -i https://gitlab.com/
    
    Опция --save позволяет сохранять локальную копию HTML-страницы.
    Данная опция экспериментальна и пока работает не очень корректно.

vitis-sl assign [-c] <категория> -n <новое имя>
    Категория переименовывается.
    Автоматические категории закрыты для переименования.

vitis-sl assign -v <[категория/]имя файла> -n <новое имя> [--number <номер>]
    Переименовывается файл для всех категорий, с которыми он был связан.
    Для упрощения идентификации можно указать одну из связанных с ним
    категорий. Если категория не указана, проводится поиск по имени
    по всей системе vitis-sl.
    Для разрешения неоднозначности в случае, если категория имеет несколько
    файлов с одинаковыми именами, используется флаг --number.

vitis-sl assign -f <путь/к/файлу> -n <новое_имя>
    Переименовываются все символические ссылки на данный файл
    для всех категорий, с которыми он связан.
    Указывается абсолютный или относительный путь к файлу в файловой системе.

vitis-sl assign [-c] <категория> -s <подкатегория> [[--local][--global]]
    У категории появляется подкатегория.
    По умолчанию создаётся глобальный псевдоним на создаваемую подкатегорию,
    таким образом подкатегория может использоваться как обычная категория.
    Пример:
    vitis-sl assign C++ -s Boost --yes
        Создаётся подкатегория "C++/Boost" и псевдоним-ссылка "Boost".
        Всё, что попадает в категорию "Boost" также имеет категорию "C++".
        Если "Boost" ранее не существовала, она создастся автоматически.
        Если категория "Boost" существовала,
        её содержимое перемещается в "C++/Boost".
        Данная команда эквивалентна последовательности из двух команд:
            vitis-sl create C++/Boost
            vitis-sl assign C++/Boost -a Boost
    Если был использован флаг "--local" вместо "--global" (по умолчанию),
    категория создаётся локально и не видна "снаружи" как обычная категория.
    Пример:
    vitis-sl assign BigProject -s resources --local --yes
        Создаётся подкатегория "BigProject/resources".
        Данная команда эквивалентна vitis-sl create BigProject/resources

