summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authoraycabta <aycabta@gmail.com>2019-12-04 22:32:12 +0900
committeraycabta <aycabta@gmail.com>2019-12-05 09:02:23 +0900
commite3587ed8498dcf7a3a8178030f7ae66cd0719c57 (patch)
tree48b30d4fb3a2cc17c6f4070f9b381441fdfc0dc1 /lib
parentad8fbf444abdf1480d87c95b2868741f98eb953f (diff)
Support disable-completion
Diffstat (limited to 'lib')
-rw-r--r--lib/reline/line_editor.rb30
1 files changed, 17 insertions, 13 deletions
diff --git a/lib/reline/line_editor.rb b/lib/reline/line_editor.rb
index 072238f8a8..f029aa4e6e 100644
--- a/lib/reline/line_editor.rb
+++ b/lib/reline/line_editor.rb
@@ -776,20 +776,24 @@ class Reline::LineEditor
@first_char = false
completion_occurs = false
if @config.editing_mode_is?(:emacs, :vi_insert) and key.char == "\C-i".ord
- result = retrieve_completion_block
- slice = result[1]
- result = @completion_proc.(slice) if @completion_proc and slice
- if result.is_a?(Array)
- completion_occurs = true
- complete(result)
+ unless @config.disable_completion
+ result = retrieve_completion_block
+ slice = result[1]
+ result = @completion_proc.(slice) if @completion_proc and slice
+ if result.is_a?(Array)
+ completion_occurs = true
+ complete(result)
+ end
end
- elsif @config.editing_mode_is?(:vi_insert) and ["\C-p".ord, "\C-n".ord].include?(key.char)
- result = retrieve_completion_block
- slice = result[1]
- result = @completion_proc.(slice) if @completion_proc and slice
- if result.is_a?(Array)
- completion_occurs = true
- move_completed_list(result, "\C-p".ord == key.char ? :up : :down)
+ elsif not @config.disable_completion and @config.editing_mode_is?(:vi_insert) and ["\C-p".ord, "\C-n".ord].include?(key.char)
+ unless @config.disable_completion
+ result = retrieve_completion_block
+ slice = result[1]
+ result = @completion_proc.(slice) if @completion_proc and slice
+ if result.is_a?(Array)
+ completion_occurs = true
+ move_completed_list(result, "\C-p".ord == key.char ? :up : :down)
+ end
end
elsif Symbol === key.char and respond_to?(key.char, true)
process_key(key.char, key.char)