"
count.times do |index|
lines += "#{index + start}\n"
end
lines += "
"
end
def get_lang (input)
lang = nil
if input =~ /\s*lang:(\w+)/i
lang = $1
end
lang
end
def replace_lang (input)
input.sub(/ *lang:\w+/i, '')
end
def get_marks (input)
# Matches pattern for line marks and returns array of line numbers to mark
# Example input mark:1,5-10,2
# Outputs: [1,2,5,6,7,8,9,10]
marks = []
if input =~ / *mark:(\d\S*)/i
marks = $1.gsub /(\d+)-(\d+)/ do
($1.to_i..$2.to_i).to_a.join(',')
end
marks = marks.split(',').collect {|s| s.to_i}.sort
end
marks
end
def replace_marks (input)
input.sub(/ *mark:\d\S*/i,'')
end
def get_linenos (input)
linenos = true
if input =~ / *linenos:false/i
linenos = false
end
linenos
end
def replace_linenos (input)
input.sub(/ *linenos:false/i,'')
end
def get_start (input)
start = 1
if input =~ / *start:(\d+)/i
start = $1.to_i
end
start
end
def replace_start (input)
input.sub(/ *start:\d+/i,'')
end
def get_end (input)
endline = nil
if input =~ / *end:(\d+)/i
endline = $1.to_i
end
endline
end
def replace_end (input)
input.sub(/ *end:\d+/i,'')
end
def get_range (input, start, endline)
if input =~ / *range:(\d+)-(\d+)/i
start = $1.to_i
endline = $2.to_i
end
{start: start, end: endline}
end
def replace_range (input)
input.sub(/ *range:\d+-\d+/i,'')
end
end