Skip to content

Instantly share code, notes, and snippets.

@jlecour
Created May 25, 2009 14:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jlecour/117554 to your computer and use it in GitHub Desktop.
Save jlecour/117554 to your computer and use it in GitHub Desktop.
def bash_format(formats, text)
res = "\e[0"
colors = { :red =>";31", :yellow => ";33", :green => ";32" }
styles = { :bold => ";1", :underline => ";4" }
if formats.is_a?(Array) || formats.is_a?(Hash)
colors.each { |k,v| res += v if formats.include?(k) }
styles.each { |k,v| res += v if formats.include?(k) }
elsif formats.is_a?(Symbol)
colors.each { |k,v| res += v if formats == k }
styles.each { |k,v| res += v if formats == k }
elsif formats.respond_to?(:to_sym)
colors.each { |k,v| res += v if formats.to_sym == k }
styles.each { |k,v| res += v if formats.to_sym == k }
end
res += "m" + text.to_s + "\e[0m"
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment