# File lib/rhc/commands/cartridge.rb, line 40
    def list
      carts = rest_client.cartridges.sort_by{ |c| "#{c.type == 'standalone' && 1}_#{c.tags.include?('experimental') ? 1 : 0}_#{(c.display_name || c.name).downcase}" }

      pager

      if options.verbose
        carts.each do |c|
          paragraph do
            name = c.name
            name += '*' if c.usage_rate?
            name = c.display_name != c.name && "#{color(c.display_name, :cyan)} [#{name}]" || name
            tags = c.tags - RHC::Rest::Cartridge::HIDDEN_TAGS
            say header([name, "(#{c.only_in_existing? ? 'addon' : 'web'})"])
            say c.description
            paragraph{ say "Tagged with: #{tags.sort.join(', ')}" } if tags.present?
            paragraph{ say format_usage_message(c) } if c.usage_rate?
            paragraph{ warn "Does not receive automatic security updates" } unless c.automatic_updates?
          end
        end
      else
        say table(carts.collect do |c|
          [[c.name, c.usage_rate? ? " (*)" : "", c.automatic_updates? ? '' : ' (!)'].join(''),
           c.display_name,
           c.only_in_existing? ? 'addon' : 'web',
          ]
        end)
      end

      paragraph{ say "Note: Web cartridges can only be added to new applications." }
      paragraph{ say "(*) denotes a cartridge with additional usage costs." } if carts.any?(&:usage_rate?)
      paragraph{ say "(!) denotes a cartridge that will not receive automatic security updates." } unless options.verbose || carts.none?(&:automatic_updates?)

      0
    end