class Kramdown::Utils::StringScanner
def current_line_number
NOTE: Normally we'd have to add one to the count of newlines to get the correct line number.
NOTE: Requires that all line endings are normalized to '\n'
Returns the line number for current charpos.
def current_line_number # Not using string[@previous_pos..best_pos].count('\n') because it is slower strscan = ::StringScanner.new(string) strscan.pos = @previous_pos old_pos = pos + 1 @previous_line_number += 1 while strscan.skip_until(/\n/) && strscan.pos <= old_pos @previous_pos = (eos? ? pos : pos + 1) @previous_line_number end