diff options
author | Stan Lo <stan001212@gmail.com> | 2023-11-26 11:07:46 +0000 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2023-11-26 11:07:50 +0000 |
commit | 9cd086ba4b559153864ab924723a665a4ddfb5d8 (patch) | |
tree | ed843d576950bc696e4dcf2bb2cb99e45912f776 /lib | |
parent | 0bced53a8a11055d33160aa3f023b4b957e9e497 (diff) | |
download | ruby-9cd086ba4b559153864ab924723a665a4ddfb5d8.tar.gz |
[ruby/irb] Support disabling pager
(https://github.com/ruby/irb/pull/783)
With either `IRB.conf[:USE_PAGER] = false` or `--no-pager` commnad line flag.
I decided use `--no-pager` instead of `--use-pager` because it matches with
Pry and git's command line flags.
https://github.com/ruby/irb/commit/df1c3b9042
Diffstat (limited to 'lib')
-rw-r--r-- | lib/irb/init.rb | 3 | ||||
-rw-r--r-- | lib/irb/lc/help-message | 1 | ||||
-rw-r--r-- | lib/irb/pager.rb | 2 |
3 files changed, 5 insertions, 1 deletions
diff --git a/lib/irb/init.rb b/lib/irb/init.rb index 4df285ce64..9704e36cb1 100644 --- a/lib/irb/init.rb +++ b/lib/irb/init.rb @@ -82,6 +82,7 @@ module IRB # :nodoc: @CONF[:USE_LOADER] = false @CONF[:IGNORE_SIGINT] = true @CONF[:IGNORE_EOF] = false + @CONF[:USE_PAGER] = true @CONF[:EXTRA_DOC_DIRS] = [] @CONF[:ECHO] = nil @CONF[:ECHO_ON_ASSIGNMENT] = nil @@ -285,6 +286,8 @@ module IRB # :nodoc: end when "--noinspect" @CONF[:INSPECT_MODE] = false + when "--no-pager" + @CONF[:USE_PAGER] = false when "--singleline", "--readline", "--legacy" @CONF[:USE_SINGLELINE] = true when "--nosingleline", "--noreadline" diff --git a/lib/irb/lc/help-message b/lib/irb/lc/help-message index c7846b755d..37347306e8 100644 --- a/lib/irb/lc/help-message +++ b/lib/irb/lc/help-message @@ -22,6 +22,7 @@ Usage: irb.rb [options] [programfile] [arguments] Show truncated result on assignment (default). --inspect Use 'inspect' for output. --noinspect Don't use 'inspect' for output. + --no-pager Don't use pager. --multiline Use multiline editor module (default). --nomultiline Don't use multiline editor module. --singleline Use single line editor module. diff --git a/lib/irb/pager.rb b/lib/irb/pager.rb index 119515078b..e38d97e3c7 100644 --- a/lib/irb/pager.rb +++ b/lib/irb/pager.rb @@ -18,7 +18,7 @@ module IRB end def page - if STDIN.tty? && pager = setup_pager + if IRB.conf[:USE_PAGER] && STDIN.tty? && pager = setup_pager begin pid = pager.pid yield pager |