def first_error(result): from ribosome.logging import log events = (_remove_spec_trace(result.events) if result.events.length > 1 else result.events) entry = ( events.last / _.entries.reversed // __.find(L(isinstance)(_, FileEntry)) ) log.verbose(entry) lines = result.lines | List() line = entry // L(_find_line)(lines, _) log.verbose(line) return line / (lambda a: (a + 1, 1))
def _find_line(lines, entry): from ribosome.logging import log log.verbose(entry) return lines.index_where(_.target == entry)