summaryrefslogtreecommitdiff
path: root/lib/irb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/irb')
-rw-r--r--lib/irb/input-method.rb8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/irb/input-method.rb b/lib/irb/input-method.rb
index f6b8d00e53..82c1e73297 100644
--- a/lib/irb/input-method.rb
+++ b/lib/irb/input-method.rb
@@ -270,7 +270,13 @@ module IRB
proc do |output, complete: |
next unless IRB::Color.colorable?
lvars = IRB.CurrentContext&.local_variables || []
- IRB::Color.colorize_code(output, complete: complete, local_variables: lvars)
+ if IRB.CurrentContext&.parse_command(output)
+ name, sep, arg = output.split(/(\s+)/, 2)
+ arg = IRB::Color.colorize_code(arg, complete: complete, local_variables: lvars)
+ "#{IRB::Color.colorize(name, [:BOLD])}\e[m#{sep}#{arg}"
+ else
+ IRB::Color.colorize_code(output, complete: complete, local_variables: lvars)
+ end
end
else
proc do |output|