diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/irb.rb | 3 | ||||
-rw-r--r-- | lib/irb/context.rb | 5 | ||||
-rw-r--r-- | lib/irb/init.rb | 5 | ||||
-rw-r--r-- | lib/irb/input-method.rb | 5 | ||||
-rw-r--r-- | lib/irb/lc/help-message | 2 | ||||
-rw-r--r-- | lib/irb/lc/ja/help-message | 2 |
6 files changed, 21 insertions, 1 deletions
diff --git a/lib/irb.rb b/lib/irb.rb index 661c550486..c22e6db03b 100644 --- a/lib/irb.rb +++ b/lib/irb.rb @@ -72,6 +72,8 @@ require_relative "irb/easter-egg" # --nosingleline Don't use singleline editor module # --colorize Use colorization # --nocolorize Don't use colorization +# --autocomplete Use autocompletion +# --noautocomplete Don't use autocompletion # --prompt prompt-mode/--prompt-mode prompt-mode # Switch prompt mode. Pre-defined prompt modes are # `default', `simple', `xmp' and `inf-ruby' @@ -114,6 +116,7 @@ require_relative "irb/easter-egg" # IRB.conf[:USE_SINGLELINE] = nil # IRB.conf[:USE_COLORIZE] = true # IRB.conf[:USE_TRACER] = false +# IRB.conf[:USE_AUTOCOMPLETE] = true # IRB.conf[:IGNORE_SIGINT] = true # IRB.conf[:IGNORE_EOF] = false # IRB.conf[:PROMPT_MODE] = :DEFAULT diff --git a/lib/irb/context.rb b/lib/irb/context.rb index 0d358de6ff..3827bda438 100644 --- a/lib/irb/context.rb +++ b/lib/irb/context.rb @@ -54,6 +54,7 @@ module IRB @use_multiline = nil end @use_colorize = IRB.conf[:USE_COLORIZE] + @use_autocomplete = IRB.conf[:USE_AUTOCOMPLETE] @verbose = IRB.conf[:VERBOSE] @io = nil @@ -185,6 +186,8 @@ module IRB # # A copy of the default <code>IRB.conf[:USE_COLORIZE]</code> attr_reader :use_colorize + # A copy of the default <code>IRB.conf[:USE_AUTOCOMPLETE]</code> + attr_reader :use_autocomplete # A copy of the default <code>IRB.conf[:INSPECT_MODE]</code> attr_reader :inspect_mode @@ -311,6 +314,8 @@ module IRB alias use_readline? use_singleline # Alias for #use_colorize alias use_colorize? use_colorize + # Alias for #use_autocomplete + alias use_autocomplete? use_autocomplete # Alias for #rc alias rc? rc alias ignore_sigint? ignore_sigint diff --git a/lib/irb/init.rb b/lib/irb/init.rb index 5923c54a29..3c27b4ffff 100644 --- a/lib/irb/init.rb +++ b/lib/irb/init.rb @@ -45,6 +45,7 @@ module IRB # :nodoc: @CONF[:USE_SINGLELINE] = false unless defined?(ReadlineInputMethod) @CONF[:USE_COLORIZE] = !ENV['NO_COLOR'] + @CONF[:USE_AUTOCOMPLETE] = true @CONF[:INSPECT_MODE] = true @CONF[:USE_TRACER] = false @CONF[:USE_LOADER] = false @@ -274,6 +275,10 @@ module IRB # :nodoc: @CONF[:USE_COLORIZE] = true when "--nocolorize" @CONF[:USE_COLORIZE] = false + when "--autocomplete" + @CONF[:USE_AUTOCOMPLETE] = true + when "--noautocomplete" + @CONF[:USE_AUTOCOMPLETE] = false when /^--prompt-mode(?:=(.+))?/, /^--prompt(?:=(.+))?/ opt = $1 || argv.shift prompt_mode = opt.upcase.tr("-", "_").intern diff --git a/lib/irb/input-method.rb b/lib/irb/input-method.rb index 4d55e4ef3d..3dec9d0ceb 100644 --- a/lib/irb/input-method.rb +++ b/lib/irb/input-method.rb @@ -295,6 +295,10 @@ module IRB end end Reline.dig_perfect_match_proc = IRB::InputCompletor::PerfectMatchedProc + Reline.autocompletion = IRB.conf[:USE_AUTOCOMPLETE] + if IRB.conf[:USE_AUTOCOMPLETE] + Reline.add_dialog_proc(:show_doc, SHOW_DOC_DIALOG, Reline::DEFAULT_DIALOG_CONTEXT) + end end def check_termination(&block) @@ -361,7 +365,6 @@ module IRB Reline.output = @stdout Reline.prompt_proc = @prompt_proc Reline.auto_indent_proc = @auto_indent_proc if @auto_indent_proc - Reline.add_dialog_proc(:show_doc, SHOW_DOC_DIALOG, Reline::DEFAULT_DIALOG_CONTEXT) if l = readmultiline(@prompt, false, &@check_termination_proc) HISTORY.push(l) if !l.empty? @line[@line_no += 1] = l + "\n" diff --git a/lib/irb/lc/help-message b/lib/irb/lc/help-message index 9c3ea859ad..30f49947da 100644 --- a/lib/irb/lc/help-message +++ b/lib/irb/lc/help-message @@ -30,6 +30,8 @@ Usage: irb.rb [options] [programfile] [arguments] --nosingleline Don't use singleline editor module --colorize Use colorization --nocolorize Don't use colorization + --autocomplete Use autocompletion + --noautocomplete Don't use autocompletion --prompt prompt-mode/--prompt-mode prompt-mode Switch prompt mode. Pre-defined prompt modes are `default', `simple', `xmp' and `inf-ruby' diff --git a/lib/irb/lc/ja/help-message b/lib/irb/lc/ja/help-message index 9794a8e24e..238535afb7 100644 --- a/lib/irb/lc/ja/help-message +++ b/lib/irb/lc/ja/help-message @@ -29,6 +29,8 @@ Usage: irb.rb [options] [programfile] [arguments] --nosingleline シングルラインエディタを利用しない. --colorize 色付けを利用する. --nocolorize 色付けを利用しない. + --autocomplete オートコンプリートを利用する. + --noautocomplete オートコンプリートを利用しない. --prompt prompt-mode/--prompt-mode prompt-mode プロンプトモードを切替えます. 現在定義されているプ ロンプトモードは, default, simple, xmp, inf-rubyが |