Showing
1 changed file
with
9 additions
and
6 deletions
@@ -81,18 +81,21 @@ Font loadFont(String filename) { | @@ -81,18 +81,21 @@ Font loadFont(String filename) { | ||
81 | } | 81 | } |
82 | 82 | ||
83 | void hexDump( | 83 | void hexDump( |
84 | - ByteData bytes, | ||
85 | - int offset, | ||
86 | - int length, [ | 84 | + ByteData bytes, { |
85 | + int offset = 0, | ||
86 | + int? length, | ||
87 | int? highlight, | 87 | int? highlight, |
88 | int? highlightLength, | 88 | int? highlightLength, |
89 | -]) { | 89 | + int columns = 16, |
90 | +}) { | ||
90 | const reset = '\x1B[0m'; | 91 | const reset = '\x1B[0m'; |
91 | const red = '\x1B[1;31m'; | 92 | const red = '\x1B[1;31m'; |
92 | var s = ''; | 93 | var s = ''; |
93 | var t = ''; | 94 | var t = ''; |
94 | var n = 0; | 95 | var n = 0; |
95 | var hl = false; | 96 | var hl = false; |
97 | + length ??= bytes.lengthInBytes; | ||
98 | + | ||
96 | for (var i = 0; i < length; i++) { | 99 | for (var i = 0; i < length; i++) { |
97 | final b = bytes.getUint8(offset + i); | 100 | final b = bytes.getUint8(offset + i); |
98 | if (highlight != null && highlightLength != null) { | 101 | if (highlight != null && highlightLength != null) { |
@@ -118,7 +121,7 @@ void hexDump( | @@ -118,7 +121,7 @@ void hexDump( | ||
118 | } | 121 | } |
119 | 122 | ||
120 | n++; | 123 | n++; |
121 | - if (n % 16 == 0) { | 124 | + if (n % columns == 0) { |
122 | if (hl) { | 125 | if (hl) { |
123 | s += reset; | 126 | s += reset; |
124 | t += reset; | 127 | t += reset; |
@@ -129,5 +132,5 @@ void hexDump( | @@ -129,5 +132,5 @@ void hexDump( | ||
129 | t = ''; | 132 | t = ''; |
130 | } | 133 | } |
131 | } | 134 | } |
132 | - print('$s $t'); | 135 | + print('$s${' ' * (columns * 3 - s.length + 3)}$t'); |
133 | } | 136 | } |
-
Please register or login to post a comment