module Asciidoctor::PDF::FormattedText::SourceWrap
Constants
- NoBreakSpace
Public Instance Methods
wrap(array)
click to toggle source
# File lib/asciidoctor/pdf/formatted_text/source_wrap.rb, line 9 def wrap array initialize_wrap array stop = nil highlight_line = nil unconsumed = @arranger.unconsumed if (linenum_fragment = unconsumed[0] || {})[:linenum] linenum_spacer = { text: NoBreakSpace + (' ' * (linenum_fragment[:text].length - 1)) } end until stop if linenum_spacer && (first_fragment = unconsumed[0]) if first_fragment[:linenum] highlight_line = (second_fragment = unconsumed[1]) && (second_fragment[:highlight]) ? second_fragment.dup : nil else first_fragment[:text] = first_fragment[:text].lstrip @arranger.unconsumed.unshift highlight_line if highlight_line @arranger.unconsumed.unshift linenum_spacer.dup end end @line_wrap.wrap_line document: @document, kerning: @kerning, width: available_width, arranger: @arranger, disable_wrap_by_char: @disable_wrap_by_char if enough_height_for_this_line? move_baseline_down print_line else stop = true end stop ||= @single_line || @arranger.finished? end @text = @printed_lines.join ?\n @everything_printed = @arranger.finished? @arranger.unconsumed end