From 3d8868dd0b9898d589ecdff5151ed5d47956f937 Mon Sep 17 00:00:00 2001 From: murphy Date: Sat, 1 Oct 2005 06:04:52 +0000 Subject: Demos updated, rewritten, enhanced, tested. Some code cleanups. Bugs fixed, scanner and encoder improved: count.rb: marked Streamable html_css.rb: style for inline numbers html.rb: changed options; :line_numbers_offset is now :line_number_start html_output.rb: offset for inline numbers fixed html.rb: token text no longer changed by gsub! while highlighting (this is even faster!) text.rb, plugin.rb: reindented ruby.rb: eleminated multiple assignments for speed tokens.rb: reindented, Tokens#to_s added, #<< returns self Plugin system: bugs fixed, error messages improved. --- lib/coderay/encoders/helpers/html_output.rb | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'lib/coderay/encoders/helpers/html_output.rb') diff --git a/lib/coderay/encoders/helpers/html_output.rb b/lib/coderay/encoders/helpers/html_output.rb index c873896..f6a2b11 100644 --- a/lib/coderay/encoders/helpers/html_output.rb +++ b/lib/coderay/encoders/helpers/html_output.rb @@ -100,9 +100,9 @@ module CodeRay def numerize! mode = :table, options = {} return self unless mode - offset = options.fetch :line_numbers_offset, DEFAULT_OPTIONS[:line_numbers_offset] - unless offset.is_a? Integer - raise ArgumentError, "Invalid value %p for :offset; Integer expected." % offset + start = options.fetch :line_number_start, DEFAULT_OPTIONS[:line_number_start] + unless start.is_a? Integer + raise ArgumentError, "Invalid value %p for :line_number_start; Integer expected." % start end unless NUMERIZABLE_WRAPPINGS.include? options[:wrap] @@ -130,11 +130,11 @@ module CodeRay case mode when :inline - max_width = line_count.to_s.size - line = offset - 1 + max_width = (start + line_count).to_s.size + line = start gsub!(/^/) do - line += 1 line_number = bolding.call line + line += 1 "#{ line_number.rjust(max_width) } " end wrap! :div @@ -144,7 +144,7 @@ module CodeRay # Because even monospace fonts seem to have different heights when bold, # I make the newline bold, both in the code and the line numbers. # FIXME Still not working perfect for Mr. Internet Exploder - line_numbers = (offset ... offset + line_count).to_a.map(&bolding).join("\n") + line_numbers = (start ... start + line_count).to_a.map(&bolding).join("\n") line_numbers << "\n" # also for Mr. MS Internet Exploder :-/ line_numbers.gsub!(/\n/) { "\n" } @@ -196,19 +196,22 @@ module CodeRay #-- don't include the templates in docu - SPAN = `<%CONTENT%>` + SPAN = `<%CONTENT%>` - DIV, DIV_TABLE, PAGE = - <<-`DIV`, <<-`DIV_TABLE`, <<-`PAGE` + DIV = <<-`DIV`
<%CONTENT%>
DIV + + DIV_TABLE = <<-`DIV_TABLE`
<%LINE_NUMBERS%>
<%CONTENT%>
DIV_TABLE + + PAGE = <<-`PAGE` -- cgit v1.2.1