    # File lib/compass/commands/write_configuration.rb, line 45
          def perform
            if options[:display]
              if Compass.configuration.respond_to?(options[:display])
                puts Compass.configuration.send(options[:display])
              else
                raise Compass::Error, "ERROR: configuration property '#{options[:display]}' does not exist"
              end
            elsif options[:debug]
              puts "Configuration sources:"
              c = Compass.configuration
              while c
                print c.name
                c = c.inherited_data
                print ", " if c
              end
              print "\n"
              Compass.configuration.debug.each do |prop, values|
                if options[:debug].is_a?(Symbol)
                  next unless prop == options[:debug]
                end
                puts "***** #{prop} = #{values.first[:resolved].inspect} *****"
                [:default, :value, :raw, :resolved].each do |kind|
                  puts "#{kind}: " + values.inject([]){|m, v| m << v[kind]}.map{|v| v.nil? ? '-' : v.inspect}.join(", ")
                end
              end
            else
              config_file = options[:configuration_file]
              config_file ||= Compass.detect_configuration_file
              config_file ||= Compass::Configuration::Helpers::KNOWN_CONFIG_LOCATIONS.first
              directory File.dirname(config_file)
              installer.write_configuration_files(config_file)
            end
          end