diff options
Diffstat (limited to 'lib/irb')
-rw-r--r-- | lib/irb/context.rb | 15 | ||||
-rw-r--r-- | lib/irb/init.rb | 5 |
2 files changed, 20 insertions, 0 deletions
diff --git a/lib/irb/context.rb b/lib/irb/context.rb index 9544a8aa1a..5d2336008f 100644 --- a/lib/irb/context.rb +++ b/lib/irb/context.rb @@ -121,6 +121,11 @@ module IRB if @echo.nil? @echo = true end + + @echo_on_assignment = IRB.conf[:ECHO_ON_ASSIGNMENT] + if @echo_on_assignment.nil? + @echo_on_assignment = false + end end # The top-level workspace, see WorkSpace#main @@ -236,6 +241,15 @@ module IRB # puts "omg" # # omg attr_accessor :echo + # Whether to echo for assignment expressions + # + # Uses IRB.conf[:ECHO_ON_ASSIGNMENT] if available, or defaults to +false+. + # + # a = "omg" + # IRB.CurrentContext.echo_on_assignment = true + # a = "omg" + # #=> omg + attr_accessor :echo_on_assignment # Whether verbose messages are displayed or not. # # A copy of the default <code>IRB.conf[:VERBOSE]</code> @@ -261,6 +275,7 @@ module IRB alias ignore_sigint? ignore_sigint alias ignore_eof? ignore_eof alias echo? echo + alias echo_on_assignment? echo_on_assignment # Returns whether messages are displayed or not. def verbose? diff --git a/lib/irb/init.rb b/lib/irb/init.rb index d7ee885665..5dd0c12c32 100644 --- a/lib/irb/init.rb +++ b/lib/irb/init.rb @@ -51,6 +51,7 @@ module IRB # :nodoc: @CONF[:IGNORE_SIGINT] = true @CONF[:IGNORE_EOF] = false @CONF[:ECHO] = nil + @CONF[:ECHO_ON_ASSIGNMENT] = nil @CONF[:VERBOSE] = nil @CONF[:EVAL_HISTORY] = nil @@ -172,6 +173,10 @@ module IRB # :nodoc: @CONF[:ECHO] = true when "--noecho" @CONF[:ECHO] = false + when "--echo-on-assignment" + @CONF[:ECHO_ON_ASSIGNMENT] = true + when "--noecho-on-assignment" + @CONF[:ECHO_ON_ASSIGNMENT] = false when "--verbose" @CONF[:VERBOSE] = true when "--noverbose" |