def do_use(self, arg):
if arg == '<STR_LIT:list>':<EOL><INDENT>self._list_scope()<EOL>return<EOL><DEDENT>elif arg.startswith('<STR_LIT>'):<EOL><INDENT>new_scope = arg.split('<STR_LIT:U+0020>')[<NUM_LIT:1>]<EOL>self._add_scope(new_scope)<EOL>return<EOL><DEDENT>elif arg.startswith('<STR_LIT>'):<EOL><INDENT>which_scope = arg.split('<STR_LIT:U+0020>')[<NUM_LIT:1>]<EOL>self._delete_scope(which_scope)<EOL>return<EOL><DEDENT>elif arg == "<STR_LIT>" or arg == "<STR_LIT:/>":<EOL><INDENT>self.active_scope = "<STR_LIT>"<EOL><DEDENT>elif arg in self.scopes:<EOL><INDENT>self.active_scope = arg<EOL><DEDENT>else:<EOL><INDENT>self.active_scope = self.select(<EOL>["<STR_LIT>"] + self.scopes, '<STR_LIT>')<EOL><DEDENT>if self.active_scope == "<STR_LIT>":<EOL><INDENT>Console.ok("<STR_LIT>")<EOL>self.prompt = self.active_scope + '<STR_LIT>'<EOL><DEDENT>else:<EOL><INDENT>Console.ok("<STR_LIT>".format(self.active_scope))<EOL>self.prompt = self.active_scope + '<STR_LIT>'<EOL><DEDENT>
::

    USAGE:

        use list           lists the available scopes

        use add SCOPE      adds a scope <scope>

        use delete SCOPE   removes the <scope>

        use                without parameters allows an
                           interactive selection

    DESCRIPTION
       Often we have to type in a command multiple times. To save
       us typng the name of the command, we have defined a simple
       scope that can be activated with the use command

    ARGUMENTS:
        list         list the available scopes
        add          add a scope with a name
        delete       delete a named scope
        use          activate a scope