Skip to content
  • Jeremy Evans's avatar
    b07db967
    [ruby/irb] Support --noscript option to not use first non-option argument as script · b07db967
    Jeremy Evans authored
    Also add --script option to turn the option back on.
    
    Previously there wasn't a way to get an interactive IRB session
    and access arguments provided on the command line.
    
    Additionally, handle `-` as script as stdin. In Unix-like tools, `-`
    means to take standard input instead of a file.  This doesn't
    result in exactly the same output for:
    
    ```
    echo 'p ARGV' > args.rb; irb args.rb a b c
    ```
    
    and
    
    ```
    echo 'p ARGV' | irb - a b c
    ```
    
    Due to how irb handles whether stdin is a tty.
    
    However, this change allows use of `-` as a argument, instead of
    giving an unrecognized switch error. This required some small
    changes to context.rb (to handle `-` as standard input) and
    input-method.rb (to have FileInputMethod accept IO arguments in
    addition to strings).
    
    Implements [Feature #15371]
    
    https://github.com/ruby/irb/commit/4192683ba2
    b07db967
    [ruby/irb] Support --noscript option to not use first non-option argument as script
    Jeremy Evans authored
    Also add --script option to turn the option back on.
    
    Previously there wasn't a way to get an interactive IRB session
    and access arguments provided on the command line.
    
    Additionally, handle `-` as script as stdin. In Unix-like tools, `-`
    means to take standard input instead of a file.  This doesn't
    result in exactly the same output for:
    
    ```
    echo 'p ARGV' > args.rb; irb args.rb a b c
    ```
    
    and
    
    ```
    echo 'p ARGV' | irb - a b c
    ```
    
    Due to how irb handles whether stdin is a tty.
    
    However, this change allows use of `-` as a argument, instead of
    giving an unrecognized switch error. This required some small
    changes to context.rb (to handle `-` as standard input) and
    input-method.rb (to have FileInputMethod accept IO arguments in
    addition to strings).
    
    Implements [Feature #15371]
    
    https://github.com/ruby/irb/commit/4192683ba2
Loading