Basic format for command 'assign':
    vitis-sl assign [-c] <category> [-action] <data> [[--yes][--no]]

The optional '--yes' or '--no' flag is used to automatically respond
to possible user requests, for example, to create a category.

vitis-sl assign [-c] <category> -a <alias> ...
    Aliases are created for the category.

vitis-sl assign [[-c] <category> ...] -f <file> ... [--save] [--to <path>]
    Specified categories are assigned to listed files.
    You can skip category list if automatic categories are enabled;
    in this case, only automatic categories will be assigned to files.

    The additional option --save causes files to be copied to the file
    space (see vitis-sl service --help); this is relevant if autosave is not
    configured.
    Additional option --to allows you to select the directory for
    copying from the list of file spaces (if there are a lot of them).

vitis-sl assign [[-c] <category> ...] -f <file> ... [--save] [--to <path>]
             [--start <start>] [--finish <finish>] --fragname <name>
	It is also possible to assign categories for fragments of video, audio
    and text with the mediafragmenter installed.
    The options --fragname, --start and --finish are used for this.
    The option --fragname is mandatory and forms the name of the pointer to
    the fragment.
    For audio and video files, the boundaries of the fragments are time stamps
    in the format HH:MM:SS. In the case of simple text files in one of
    the Unicode encodings, the line number and the character number in the line
    are separated by commas without spaces.
    Examples:
        vitis-sl assign -f Movie.mkv --start 02:03:29 --finish 02:03:56 \
                                  --fragname "Cult Scene"
        vitis-sl assign -c Intro -f s01s01.avi --finish 00:00:59 \
                                            --fragname "Duck Tales intro"
        vitis-sl assign -c Favorites -f Notes.txt --start 45.1 --finish 59.31 \
                                               --fragname "Quote"
    When using this command, pointers to file fragments are created,
    no real clipping of fragments occurs.
    Details:
        mediafragmenter --help

vitis-sl assign -d <directory> [--as <category>] [-c <category> ...] \
             [--save] [--to <path>]
	Directory contents acquire a category with the name of that directory.
    You can choose another name of new category with --as.
    Local subcategories are formed from nested directories.
    The description of the options --save and --to see above.
    The -c option allows you to specify additional categories
    that will be assigned to all files from the directory.

vitis-sl assign [-c] <category> -e <expression>
    The category is assigned to files the list obtained
    as a result of evaluating the expression.
    See the information about expression in the help of command 'show':
    	vitis-sl show --help

vitis-sl assign [-c] <category> -v <[category/]file> [--number <number>] \
             [[--start <start>] [--finish <finish>] --fragname <name>]
	Allows you to assign categories to files with known names and with
    previously known categories. If the category is not specified,
    a search is performed by name for the entire vitis-sl system.
    Here you can also create pointers to fragments of files, see above.
    To resolve cases when a category has several files with the same name,
    the option --number is used.
    Numbers are found out with 'vitis-sl show'. Details: vitis-sl show --help

vitis-sl assign [-c] <category> ... -i <net-link> ... [--save]
    A link (or links) to a Internet resource (or other network path)
    is assigned specified categories.
    You can skip the category list if automatic categories are enabled.
    Example:
        vitis-sl assign GitHub -i https://github.com/

    Option '--save' allows to save a local copy of an HTML-page.
    This option is experimental.

vitis-sl assign [-c] <category> -n <new name>
    The category is renamed.
	Automatic categories are closed for renaming.

vitis-sl assign -v <[category/]file> -n <new_name> [--number <number>]
    Renames the file for all categories with which it was associated.
    To simplify identification, you can specify one of the categories
    associated with it. If the category is not specified, a search is
    performed by name for the entire vitis-sl system.
    To resolve the ambiguity in case a category has several files with
    repeated names, the --number flag is used.

vitis-sl assign -f <file_path> -n <new_name>
    All symbolic links to this file acquire a new name (for all categories).
    Specify the absolute or relative path to the file in the file system.

vitis-sl assign [-c] <category> -s <subcategory> [[--local][--global]]
    The category has a subcategory.
    By default, an alias is created for the subcategory:
    the subcategory can be used as a normal category.
    Example:
    vitis-sl assign C++ -s Boost --yes
        A subcategory 'C++/Boost' and link-alias 'Boost' are created.
        Everything that falls into the category 'Boost' also has
        the category 'C++'. If the category 'Boost' did not exist before,
        it will be created automatically.
        If the category 'Boost' existed, its contents are moved to 'C++/Boost'.
        This command is equivalent to 'vitis-sl assign C++/Boost -a Boost'.
    If the '--local' flag was used instead of '--global' (by default) flag,
    the category is created only locally.
    Example:
    vitis-sl assign BigProject -s resources --local --yes
        A subcategory 'BigProject/resources' is created.
        This command is equivalent to "vitis-sl create BigProject/resources".

