Sha256: d969dd0e46abb0c0ef337a31483e4895893b919c52b2252cc4e05a7860dc8d5f
Contents?: true
Size: 946 Bytes
Versions: 26
Compression:
Stored size: 946 Bytes
Contents
# frozen_string_literal: true module DeepCover module Tools::FormatGeneratedCode def format_generated_code(covered_code) inserts = [] generated_code = covered_code.instrument_source do |inserted, _node, expr_limit| inserts << [expr_limit, inserted.size] Term::ANSIColor.yellow(inserted) end inserts = inserts.sort_by { |exp, _| [exp.line, exp.column] }.reverse generated_lines = generated_code.split("\n") inserts.each do |exp_limit, size| # Line index starts at 1, so array index returns the next line comment_line = generated_lines[exp_limit.line] next if Tools.blank?(comment_line) next unless comment_line.start_with?('#>') next if comment_line.start_with?('#>X') next unless comment_line.size >= exp_limit.column comment_line.insert(exp_limit.column, ' ' * size) end generated_lines.join("\n") end end end
Version data entries
26 entries across 26 versions & 2 rubygems