allow color to be forced on
This commit is contained in:
+2
-5
@@ -15,6 +15,7 @@ class Foreman::CLI < Thor
|
|||||||
|
|
||||||
desc "start [PROCESS]", "Start the application (or a specific PROCESS)"
|
desc "start [PROCESS]", "Start the application (or a specific PROCESS)"
|
||||||
|
|
||||||
|
method_option :color, :type => :boolean, :aliases => "-c", :desc => "Force color to be enabled"
|
||||||
method_option :env, :type => :string, :aliases => "-e", :desc => "Specify an environment file to load, defaults to .env"
|
method_option :env, :type => :string, :aliases => "-e", :desc => "Specify an environment file to load, defaults to .env"
|
||||||
method_option :formation, :type => :string, :aliases => "-m", :banner => '"alpha=5,bar=3"'
|
method_option :formation, :type => :string, :aliases => "-m", :banner => '"alpha=5,bar=3"'
|
||||||
method_option :port, :type => :numeric, :aliases => "-p"
|
method_option :port, :type => :numeric, :aliases => "-p"
|
||||||
@@ -83,11 +84,7 @@ class Foreman::CLI < Thor
|
|||||||
def engine
|
def engine
|
||||||
@engine ||= begin
|
@engine ||= begin
|
||||||
engine_class = Foreman::Engine::CLI
|
engine_class = Foreman::Engine::CLI
|
||||||
engine = engine_class.new(
|
engine = engine_class.new(options)
|
||||||
:formation => options[:formation],
|
|
||||||
:port => options[:port],
|
|
||||||
:root => options[:root]
|
|
||||||
)
|
|
||||||
engine
|
engine
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -24,11 +24,13 @@ class Foreman::Engine::CLI < Foreman::Engine
|
|||||||
:bright_white => 37,
|
:bright_white => 37,
|
||||||
}
|
}
|
||||||
|
|
||||||
def self.enable(io)
|
def self.enable(io, force=false)
|
||||||
io.extend(self)
|
io.extend(self)
|
||||||
|
@@color_force = force
|
||||||
end
|
end
|
||||||
|
|
||||||
def color?
|
def color?
|
||||||
|
return true if @@color_force
|
||||||
return false unless self.respond_to?(:isatty)
|
return false unless self.respond_to?(:isatty)
|
||||||
self.isatty && ENV["TERM"]
|
self.isatty && ENV["TERM"]
|
||||||
end
|
end
|
||||||
@@ -51,7 +53,7 @@ class Foreman::Engine::CLI < Foreman::Engine
|
|||||||
|
|
||||||
def output(name, data)
|
def output(name, data)
|
||||||
data.to_s.chomp.split("\n").each do |message|
|
data.to_s.chomp.split("\n").each do |message|
|
||||||
Color.enable($stdout) unless $stdout.respond_to?(:color?)
|
Color.enable($stdout, options[:color]) unless $stdout.respond_to?(:color?)
|
||||||
output = ""
|
output = ""
|
||||||
output += $stdout.color(@colors[name.split(".").first].to_sym)
|
output += $stdout.color(@colors[name.split(".").first].to_sym)
|
||||||
output += "#{Time.now.strftime("%H:%M:%S")} #{pad_process_name(name)} | "
|
output += "#{Time.now.strftime("%H:%M:%S")} #{pad_process_name(name)} | "
|
||||||
|
|||||||
Reference in New Issue
Block a user