Skip to content

Commit d07069d

Browse files
authored
Use IRB's coloring helper to colorize source (#24)
1 parent 417d2b9 commit d07069d

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

lib/debug/thread_client.rb

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
require 'objspace'
22
require 'pp'
3+
require 'irb'
34
require_relative 'frame_info'
45

56
module DEBUGGER__
@@ -164,12 +165,15 @@ def show_src(frame_index: @current_frame_index,
164165
start_line: nil,
165166
end_line: nil,
166167
dir: +1)
167-
#
168+
168169
if @target_frames && frame = @target_frames[frame_index]
169170
if file_lines = frame.file_lines
171+
source = file_lines.join
172+
colored_source = IRB::Color.colorize_code(source)
173+
colored_lines = colored_source.split("\n")
170174
frame_line = frame.location.lineno - 1
171175

172-
lines = file_lines.map.with_index do |e, i|
176+
lines = colored_lines.map.with_index do |e, i|
173177
if i == frame_line
174178
"=> #{'%4d' % (i+1)}| #{e}"
175179
else

0 commit comments

Comments
 (0)