# File lib/yard/cli/diff.rb, line 22
      def run(*args)
        registry = optparse(*args).map do |gemfile|
          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.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