code: def get_completion_context(args):
      
      # get the "globus" command as a click.Command
      root_command = click.get_current_context().find_root().command
      # build a new context object off of it, with resilient_parsing set so that
      # no callbacks are invoked
      ctx = root_command.make_context("globus", list(args), resilient_parsing=True)
  
      # walk down multicommands until we've matched on everything and are at a
      # terminal context that holds all of our completed args
      while isinstance(ctx.command, click.MultiCommand) and args:
          # trim out any params that are capturable at this level of the command
          # tree by resetting the argument list
          args = ctx.protected_args + ctx.args
  
          # if there were no remaining args, stop walking the tree
          if not args:
              break
  
          # check for a matching command, and if one isn't found stop the
          # traversal and abort the whole process -- this would mean that a
          # completed command was entered which doesn't match a known command
          # there's nothing completion can do in this case unless it implements
          # sophisticated fuzzy matching
          command = ctx.command.get_command(ctx, args[0])
          if not command:
              return None
  
          # otherwise, grab that command, and build a subcontext to continue the
          # tree walk
          else:
              ctx = command.make_context(
                  args[0], args[1:], parent=ctx, resilient_parsing=True
              )
  
      # return the context we found
      return ctx
docs: Walk the tree of commands to a terminal command or multicommand, using the
      Click Context system.
      Effectively, we'll be using the resilient_parsing mode of commands to stop
      evaluation, then having them capture their options and arguments, passing
      us on to the next subcommand. If we walk "off the tree" with a command that
      we don't recognize, we have a hardstop condition, but otherwise, we walk as
      far as we can go and that's the location from which we should do our
      completion work.