diff --git a/src/AnsiColor.jl b/src/AnsiColor.jl index 724adfe..801aa84 100644 --- a/src/AnsiColor.jl +++ b/src/AnsiColor.jl @@ -1,7 +1,7 @@ module AnsiColor export colorize, black, red, green, yellow, blue, magenta, cyan, white, uncolor -COLORS = { +COLORS = Dict( "black" => 0, "red" => 1, "green" => 2, @@ -20,46 +20,43 @@ COLORS = { "light_magenta" => 65, "light_cyan" => 66, "light_white" => 67 - } + ) -MODES = { +MODES = Dict( "default" => 0, "bold" => 1, "underline" => 4, "blink" => 5, "swap" => 7, "hide" => 8 - } + ) COLOR_OFFSET = 30 BACKGROUND_OFFSET = 40 -function colorize(color::String, str::String; background::String = "default", mode::String="default") +colorize(color::AbstractString, str::AbstractString; background::AbstractString = "default", mode::AbstractString="default") = "\033[$(MODES[mode]);$(COLOR_OFFSET + COLORS[color]);$(BACKGROUND_OFFSET + COLORS[background])m$(str)\033[0m" -end -function colorize(color::Symbol, str::String; background::String = "default", mode::String="default") +colorize(color::Symbol, str::AbstractString; background::AbstractString = "default", mode::AbstractString="default") = colorize(string(color), str; background=background, mode=mode) -end -black(str::String) = colorize(:black, str) -red(str::String) = colorize(:red, str) -green(str::String) = colorize(:green, str) -yellow(str::String) = colorize(:yellow, str) -blue(str::String) = colorize(:blue, str) -magenta(str::String) = colorize(:magenta, str) -cyan(str::String) = colorize(:cyan, str) -white(str::String) = colorize(:white, str) -uncolor(str::String) = colorize(:default, str) - -light_black(str::String) = colorize(:light_black, str) -light_red(str::String) = colorize(:light_red, str) -light_green(str::String) = colorize(:light_green, str) -light_yellow(str::String) = colorize(:light_yellow, str) -light_blue(str::String) = colorize(:light_blue, str) -light_magenta(str::String) = colorize(:light_magenta, str) -light_cyan(str::String) = colorize(:light_cyan, str) -light_white(str::String) = colorize(:light_white, str) +black(str::AbstractString) = colorize(:black, str) +red(str::AbstractString) = colorize(:red, str) +green(str::AbstractString) = colorize(:green, str) +yellow(str::AbstractString) = colorize(:yellow, str) +blue(str::AbstractString) = colorize(:blue, str) +magenta(str::AbstractString) = colorize(:magenta, str) +cyan(str::AbstractString) = colorize(:cyan, str) +white(str::AbstractString) = colorize(:white, str) +uncolor(str::AbstractString) = colorize(:default, str) + +light_black(str::AbstractString) = colorize(:light_black, str) +light_red(str::AbstractString) = colorize(:light_red, str) +light_green(str::AbstractString) = colorize(:light_green, str) +light_yellow(str::AbstractString) = colorize(:light_yellow, str) +light_blue(str::AbstractString) = colorize(:light_blue, str) +light_magenta(str::AbstractString) = colorize(:light_magenta, str) +light_cyan(str::AbstractString) = colorize(:light_cyan, str) +light_white(str::AbstractString) = colorize(:light_white, str) end -