[macruby-changes] [4677] DietRB/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Fri Oct 8 03:58:19 PDT 2010
Revision: 4677
http://trac.macosforge.org/projects/ruby/changeset/4677
Author: eloy.de.enige at gmail.com
Date: 2010-10-08 03:58:18 -0700 (Fri, 08 Oct 2010)
Log Message:
-----------
Add IRB::ColoredFormatter#color_scheme= which allows you to change scheme, which are now default and fresh from Wirble.
Some cleanups.
From: Eloy Duran <eloy.de.enige at gmail.com>
Modified Paths:
--------------
DietRB/trunk/lib/irb/ext/colorize.rb
DietRB/trunk/lib/irb/formatter.rb
DietRB/trunk/spec/colorize_spec.rb
Modified: DietRB/trunk/lib/irb/ext/colorize.rb
===================================================================
--- DietRB/trunk/lib/irb/ext/colorize.rb 2010-10-08 10:58:08 UTC (rev 4676)
+++ DietRB/trunk/lib/irb/ext/colorize.rb 2010-10-08 10:58:18 UTC (rev 4677)
@@ -27,78 +27,73 @@
#
# Return the escape code for a given color.
#
- def self.escape(key)
- COLORS.key?(key) && "\e[#{COLORS[key]}m"
+ def self.escape(name)
+ COLORS.key?(name) && "\e[#{COLORS[name]}m"
end
CLEAR = escape(:nothing)
end
- #
- # Default Wirble color scheme.
- #
- DEFAULT_COLOR_SCHEME = {
- :prompt => :green,
- :result_prefix => :light_purple,
-
- # delimiter colors
- :on_comma => :blue,
- :on_op => :blue,
-
- # container colors (hash and array)
- :on_lbrace => :green,
- :on_rbrace => :green,
- :on_lbracket => :green,
- :on_rbracket => :green,
-
- # symbol colors
- :on_ident => :yellow, # hmm ident...
- :on_symbeg => :yellow,
-
- # string colors
- :on_tstring_beg => :red,
- :on_tstring_content => :cyan,
- :on_tstring_end => :red,
-
- # misc colors
- :on_int => :cyan,
- :keyword => :green,
- :on_const => :light_green,
-
- # object colors
- # :open_object => :light_red,
- # :object_class => :white,
- # :object_addr_prefix => :blue,
- # :object_line_prefix => :blue,
- # :close_object => :light_red,
+ COLOR_SCHEMES = {
+ :default => {
+ # :prompt => :green,
+ # :result_prefix => :light_purple,
+
+ # delimiter colors
+ :on_comma => :blue,
+ :on_op => :blue,
+
+ # container colors (hash and array)
+ :on_lbrace => :green,
+ :on_rbrace => :green,
+ :on_lbracket => :green,
+ :on_rbracket => :green,
+
+ # symbol colors
+ :on_ident => :yellow, # hmm ident...
+ :on_symbeg => :yellow,
+
+ # string colors
+ :on_tstring_beg => :red,
+ :on_tstring_content => :cyan,
+ :on_tstring_end => :red,
+
+ # misc colors
+ :on_int => :cyan,
+ :on_kw => :yellow,
+ :on_const => :light_green
+ },
+ :fresh => {
+ :prompt => :green,
+ :result_prefix => :light_purple,
+
+ :on_comma => :red,
+ :on_op => :red,
+
+ :on_lbrace => :blue,
+ :on_rbrace => :blue,
+ :on_lbracket => :green,
+ :on_rbracket => :green,
+
+ :on_ident => :yellow,
+ :on_symbeg => :yellow,
+
+ :on_int => :cyan,
+ :on_tstring_content => :cyan,
+ :on_kw => :white,
+ }
}
- #
- # Fruity testing colors.
- #
- TESTING_COLOR_SCHEME = {
- :comma => :red,
- :refers => :red,
- :open_hash => :blue,
- :close_hash => :blue,
- :open_array => :green,
- :close_array => :green,
- :open_object => :light_red,
- :object_class => :light_green,
- :object_addr => :purple,
- :object_line => :light_purple,
- :close_object => :light_red,
- :symbol => :yellow,
- :symbol_prefix => :yellow,
- :number => :cyan,
- :string => :cyan,
- :keyword => :white,
- }
+ attr_reader :colors, :color_scheme
- attr_reader :colors
+ def initialize
+ super
+ self.color_scheme = :default
+ end
- def colors
- @colors ||= {}.update(DEFAULT_COLOR_SCHEME)
+ def color_scheme=(scheme)
+ @colors = COLOR_SCHEMES[scheme].dup
+ @color_scheme = scheme
end
def colorize_token(type, token)
@@ -118,7 +113,7 @@
end
def result_prefix
- colorize_token(:result_prefix, "=>")
+ colorize_token(:result_prefix, Formatter::RESULT_PREFIX)
end
def result(object)
Modified: DietRB/trunk/lib/irb/formatter.rb
===================================================================
--- DietRB/trunk/lib/irb/formatter.rb 2010-10-08 10:58:08 UTC (rev 4676)
+++ DietRB/trunk/lib/irb/formatter.rb 2010-10-08 10:58:18 UTC (rev 4677)
@@ -7,6 +7,7 @@
DEFAULT_PROMPT = "irb(%s):%03d:%d> "
SIMPLE_PROMPT = ">> "
NO_PROMPT = ""
+ RESULT_PREFIX = "=>"
SYNTAX_ERROR = "SyntaxError: compile error\n(irb):%d: %s"
SOURCE_ROOT = /^#{File.expand_path('../../../', __FILE__)}/
@@ -32,7 +33,7 @@
end
def result(object)
- "=> #{inspect_object(object)}"
+ "#{RESULT_PREFIX} #{inspect_object(object)}"
end
def syntax_error(line, message)
Modified: DietRB/trunk/spec/colorize_spec.rb
===================================================================
--- DietRB/trunk/spec/colorize_spec.rb 2010-10-08 10:58:08 UTC (rev 4676)
+++ DietRB/trunk/spec/colorize_spec.rb 2010-10-08 10:58:18 UTC (rev 4677)
@@ -6,7 +6,6 @@
describe "IRB::ColoredFormatter" do
before do
@formatter = IRB::ColoredFormatter.new
- @formatter.colors.delete(:result_prefix)
@context = IRB::Context.new(main)
end
@@ -41,4 +40,14 @@
@formatter.colors[:result_prefix] = :light_red
@formatter.result("").should == "\e[1;31m=>\e[0;0m \e[0;31m\"\e[0;0m\e[0;31m\"\e[0;0m"
end
+
+ it "uses the default color scheme by default" do
+ @formatter.color_scheme.should == :default
+ end
+
+ it "changes color scheme" do
+ @formatter.color_scheme = :fresh
+ @formatter.color_scheme.should == :fresh
+ @formatter.colors[:result_prefix].should == :light_purple
+ end
end
\ No newline at end of file
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20101008/b94f4f1b/attachment.html>
More information about the macruby-changes
mailing list