    # 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