From 75b42495b8af1d9f062869b7a917bba22a712b9d Mon Sep 17 00:00:00 2001 From: anthraxx Date: Thu, 1 Apr 2021 23:58:29 +0200 Subject: [PATCH] feature(telescope): reduce cognitive load by adding skip count label Skipped lines create cognitive load as it takes a bit to figure out how many lines are actually collapsed. Instead we just create a label showing the count of omitted lines. --- pwndbg/commands/telescope.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pwndbg/commands/telescope.py b/pwndbg/commands/telescope.py index 90fdc6e8e..c393f3330 100644 --- a/pwndbg/commands/telescope.py +++ b/pwndbg/commands/telescope.py @@ -98,12 +98,13 @@ def telescope(address=None, count=telescope_lines, to_string=False): result = [] last = None collapse_buffer = [] + skipped_padding = 2 + len(offset_delimiter) + 4 + len(offset_separator) + 1 + longest_regs + 1 - len(repeating_marker) # Collapse repeating values exceeding minimum delta. def collapse_repeating_values(): # The first line was already printed, hence increment by 1 if collapse_buffer and len(collapse_buffer) + 1 >= skip_repeating_values_minimum: - result.append(T.repeating_marker('%s' % repeating_marker)) + result.append(T.repeating_marker('%s%s%i skipped' % (repeating_marker, ' ' * skipped_padding, len(collapse_buffer)))) else: result.extend(collapse_buffer) collapse_buffer.clear()