diff options
Diffstat (limited to 'lib/coderay')
-rw-r--r-- | lib/coderay/encoders/_map.rb | 3 | ||||
-rw-r--r-- | lib/coderay/scanner.rb | 8 |
2 files changed, 6 insertions, 5 deletions
diff --git a/lib/coderay/encoders/_map.rb b/lib/coderay/encoders/_map.rb index e5cbdeb..4cca196 100644 --- a/lib/coderay/encoders/_map.rb +++ b/lib/coderay/encoders/_map.rb @@ -8,7 +8,8 @@ module Encoders :remove_comments => :comment_filter, :stats => :statistic, :term => :terminal, - :tty => :terminal + :tty => :terminal, + :yml => :yaml # No default because Tokens#nonsense should raise NoMethodError. diff --git a/lib/coderay/scanner.rb b/lib/coderay/scanner.rb index ec89b87..27b6153 100644 --- a/lib/coderay/scanner.rb +++ b/lib/coderay/scanner.rb @@ -69,6 +69,8 @@ module CodeRay def normalize code # original = code code = code.to_s unless code.is_a? ::String + return code if code.empty? + if code.respond_to? :encoding code = encode_with_encoding code, self.encoding else @@ -183,14 +185,12 @@ module CodeRay @tokens = options[:tokens] || @tokens || Tokens.new @tokens.scanner = self if @tokens.respond_to? :scanner= case source - when String - self.string = source when Array - self.string = source.join + self.string = self.class.normalize(source.join) when nil reset else - raise ArgumentError, 'expected String, Array, or nil' + self.string = self.class.normalize(source) end begin |