Basic format for command 'assign':
    vitis assign -option1 <data1> -option2 <data2> [[--yes][--no]] [flags]

The optional '--yes' or '--no' flag is used to automatically answer
possible prompts to the user, for example, to create a category.
It is possible to use '--verbose' (or '-V') for information
about new created nodes, but it works only for 'vitis assign -f ...'.

vitis assign -f <file> ... -c <category> ... [flags]
    The specified categories are assigned to the specified files.
    If some file is outside the Vitis system, it will be copied.
    If any of the specified categories already contains
    a file with the same name as specified file,
    you will be prompted for a new name or to keep the old one.

    Additional flags:

    --allow-same-names | -S
        The '--allow-same-names' flag disables interactivity and allows
        the creation of duplicate names.

    --create-categories | -M
        Non-existent categories will be created.


vitis assign -v <file> ... -c <category> ... [flags]
    New categories are assigned to the files from mounted system.
    The difference from the previous command is that the file path
    is specified relative to the Vitis filesystem root.

    Additional flags: see the previous command flags.


vitis assign -e <expression> -c <category> ... [flags]
    Files obtained from the expression are assigned new categories.
    For more information on expression, see: 
        vitis show --help

    Additional flags: see the previous command flags.


vitis assign -i <network link> -c <category> ... [flags]
    A desktop entry (.desktop) file is created with the specified links,
    and the rest of the rules are identical to the previous commands.

    The '--save-page' flag saves HTML-page as single file
    (if the network link leads to HTML).
    The saved page has the '_/HTML' category.
    The directional relation '_Saved_Page' between desktop entry
    and saved page is created.
    This flag works with the external utility "pageguard".

    Example:
        vitis assign -i https://manpages.org -c Manpages NetworkBookmarks
            The "Linux Man Pages.desktop" file will be created with hard links
            in categories named "Manpages" and "NetworkBookmarks".
            The name "Linux Man Pages" is taken from the page title.


vitis assign -v <desktop-file> --save-page
    For an existing desktop-file that stores a URL,
    the HTML page is saved or updated.
    If the page existed, its content are replaced;
    if the HTML page title has changed,
    the name of the saved page is also updated.


vitis assign -v <file> -n <new_name> [flags]
    The file from the mounted Vitis system gets a new name.
    If the current category already contains a file with this name,
    an error will be reported (unless prevented by
    the --allow-same-names flag).

    Additional flags:

    --all | -A
        The new name will be assigned to all hard links
        to this file across all categories.

    --allow-same-names | -S
        This flag allows the creation of duplicate names.
        Does not work for directories.

    --update-canon-name | -U
        The canonical name will be updated. Another way to change
        the canonical name is through extended file attributes.
        When moving a directory, the canonical name
        is changed regardless of this flag.


vitis assign -v <file> -m <new_path> [flags]
    The file from the mounted Vitis filesystem is moved
    to the new location within Vitis. This is most relevant
    when it is necessary to change the position of a directory.

    Additional flags:

    --allow-same-names | -S
        This flag allows creating a duplicate name.
        Does not work for directories.


vitis assign -d <directory> [-n <name>] [-c <category> ...]
    The directory will be copied recursively to Vitis.
    If the '-n' option is specified, a new name will be used.
    If the '-c' option is specified,
    symbolic links to the directory will be created
    in the specified categories.
