Print a range of lines.
(self, lines, start, breaks=(), frame=None)
| 2252 | complete_source = _complete_expression |
| 2253 | |
| 2254 | def _print_lines(self, lines, start, breaks=(), frame=None): |
| 2255 | """Print a range of lines.""" |
| 2256 | if frame: |
| 2257 | current_lineno = frame.f_lineno |
| 2258 | exc_lineno = self.tb_lineno.get(frame, -1) |
| 2259 | else: |
| 2260 | current_lineno = exc_lineno = -1 |
| 2261 | for lineno, line in enumerate(lines, start): |
| 2262 | s = str(lineno).rjust(3) |
| 2263 | if len(s) < 4: |
| 2264 | s += ' ' |
| 2265 | if lineno in breaks: |
| 2266 | s += 'B' |
| 2267 | else: |
| 2268 | s += ' ' |
| 2269 | if lineno == current_lineno: |
| 2270 | s += '->' |
| 2271 | elif lineno == exc_lineno: |
| 2272 | s += '>>' |
| 2273 | if self.colorize: |
| 2274 | line = self._colorize_code(line) |
| 2275 | self.message(s + '\t' + line.rstrip()) |
| 2276 | |
| 2277 | def do_whatis(self, arg): |
| 2278 | """whatis expression |