# File lib/yard/cli/diff.rb, line 24
      def run(*args)
        registry = optparse(*args).map do |gemfile|
          if @use_git
            load_git_commit(gemfile)
            Registry.all.map {|o| o.path }
          else
            if load_gem_data(gemfile)
              log.info "Found #{gemfile}"
              Registry.all.map {|o| o.path }
            else
              log.error "Cannot find gem #{gemfile}"
              nil
            end
          end
        end.compact

        return if registry.size != 2

        [   ["Added objects", registry[1] - registry[0]],
            ["Removed objects", registry[0] - registry[1]]].each do |name, objects|
          next if objects.empty?
          last_object = nil
          all_objects_notice = false
          puts name + ":"
          objects.sort.each do |object|
            if !@list_all && last_object && object =~ /#{Regexp.quote last_object}(::|\.|#)/
              print " (...)" unless all_objects_notice
              all_objects_notice = true
              next
            else
              puts
            end
            all_objects_notice = false
            print "  " + object
            last_object = object
          end
          puts
          puts
        end
      end