Class: Reline::Core
- Inherits:
-
Object
- Object
- Reline::Core
- Defined in:
- lib/reline.rb
Constant Summary collapse
- ATTR_READER_NAMES =
%i( completion_append_character basic_word_break_characters completer_word_break_characters basic_quote_characters completer_quote_characters filename_quote_characters special_prefixes completion_proc output_modifier_proc prompt_proc auto_indent_proc pre_input_hook dig_perfect_match_proc ).each(&method(:attr_reader))
Instance Attribute Summary collapse
-
#ambiguous_width ⇒ Object
Returns the value of attribute ambiguous_width.
-
#config ⇒ Object
Returns the value of attribute config.
-
#key_stroke ⇒ Object
Returns the value of attribute key_stroke.
-
#last_incremental_search ⇒ Object
Returns the value of attribute last_incremental_search.
-
#line_editor ⇒ Object
Returns the value of attribute line_editor.
-
#output ⇒ Object
Returns the value of attribute output.
Instance Method Summary collapse
- #auto_indent_proc=(p) ⇒ Object
- #basic_quote_characters=(v) ⇒ Object
- #basic_word_break_characters=(v) ⇒ Object
- #completer_quote_characters=(v) ⇒ Object
- #completer_word_break_characters=(v) ⇒ Object
- #completion_append_character=(val) ⇒ Object
- #completion_case_fold ⇒ Object
- #completion_case_fold=(v) ⇒ Object
- #completion_proc=(p) ⇒ Object
- #completion_quote_character ⇒ Object
- #dig_perfect_match_proc=(p) ⇒ Object
- #emacs_editing_mode ⇒ Object
- #emacs_editing_mode? ⇒ Boolean
- #filename_quote_characters=(v) ⇒ Object
- #get_screen_size ⇒ Object
-
#initialize {|_self| ... } ⇒ Core
constructor
A new instance of Core.
- #input=(val) ⇒ Object
- #output_modifier_proc=(p) ⇒ Object
- #pre_input_hook=(p) ⇒ Object
- #prompt_proc=(p) ⇒ Object
- #readline(prompt = '', add_hist = false) ⇒ Object
- #readmultiline(prompt = '', add_hist = false, &confirm_multiline_termination) ⇒ Object
- #special_prefixes=(v) ⇒ Object
- #vi_editing_mode ⇒ Object
- #vi_editing_mode? ⇒ Boolean
Constructor Details
#initialize {|_self| ... } ⇒ Core
Returns a new instance of Core.
42 43 44 45 46 |
# File 'lib/reline.rb', line 42 def initialize self.output = STDOUT yield self @completion_quote_character = nil end |
Instance Attribute Details
#ambiguous_width ⇒ Object
Returns the value of attribute ambiguous_width
38 39 40 |
# File 'lib/reline.rb', line 38 def ambiguous_width @ambiguous_width end |
#config ⇒ Object
Returns the value of attribute config
35 36 37 |
# File 'lib/reline.rb', line 35 def config @config end |
#key_stroke ⇒ Object
Returns the value of attribute key_stroke
36 37 38 |
# File 'lib/reline.rb', line 36 def key_stroke @key_stroke end |
#last_incremental_search ⇒ Object
Returns the value of attribute last_incremental_search
39 40 41 |
# File 'lib/reline.rb', line 39 def last_incremental_search @last_incremental_search end |
#line_editor ⇒ Object
Returns the value of attribute line_editor
37 38 39 |
# File 'lib/reline.rb', line 37 def line_editor @line_editor end |
#output ⇒ Object
Returns the value of attribute output
40 41 42 |
# File 'lib/reline.rb', line 40 def output @output end |
Instance Method Details
#auto_indent_proc=(p) ⇒ Object
111 112 113 114 |
# File 'lib/reline.rb', line 111 def auto_indent_proc=(p) raise ArgumentError unless p.respond_to?(:call) @auto_indent_proc = p end |
#basic_quote_characters=(v) ⇒ Object
68 69 70 |
# File 'lib/reline.rb', line 68 def basic_quote_characters=(v) @basic_quote_characters = v.encode(Encoding::default_external) end |
#basic_word_break_characters=(v) ⇒ Object
60 61 62 |
# File 'lib/reline.rb', line 60 def basic_word_break_characters=(v) @basic_word_break_characters = v.encode(Encoding::default_external) end |
#completer_quote_characters=(v) ⇒ Object
72 73 74 |
# File 'lib/reline.rb', line 72 def completer_quote_characters=(v) @completer_quote_characters = v.encode(Encoding::default_external) end |
#completer_word_break_characters=(v) ⇒ Object
64 65 66 |
# File 'lib/reline.rb', line 64 def completer_word_break_characters=(v) @completer_word_break_characters = v.encode(Encoding::default_external) end |
#completion_append_character=(val) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/reline.rb', line 48 def completion_append_character=(val) if val.nil? @completion_append_character = nil elsif val.size == 1 @completion_append_character = val.encode(Encoding::default_external) elsif val.size > 1 @completion_append_character = val[0].encode(Encoding::default_external) else @completion_append_character = nil end end |
#completion_case_fold ⇒ Object
88 89 90 |
# File 'lib/reline.rb', line 88 def completion_case_fold @config.completion_ignore_case end |
#completion_case_fold=(v) ⇒ Object
84 85 86 |
# File 'lib/reline.rb', line 84 def completion_case_fold=(v) @config.completion_ignore_case = v end |
#completion_proc=(p) ⇒ Object
96 97 98 99 |
# File 'lib/reline.rb', line 96 def completion_proc=(p) raise ArgumentError unless p.respond_to?(:call) @completion_proc = p end |
#completion_quote_character ⇒ Object
92 93 94 |
# File 'lib/reline.rb', line 92 def completion_quote_character @completion_quote_character end |
#dig_perfect_match_proc=(p) ⇒ Object
120 121 122 123 |
# File 'lib/reline.rb', line 120 def dig_perfect_match_proc=(p) raise ArgumentError unless p.respond_to?(:call) @dig_perfect_match_proc = p end |
#emacs_editing_mode ⇒ Object
149 150 151 152 |
# File 'lib/reline.rb', line 149 def emacs_editing_mode config.editing_mode = :emacs nil end |
#emacs_editing_mode? ⇒ Boolean
158 159 160 |
# File 'lib/reline.rb', line 158 def emacs_editing_mode? config.editing_mode_is?(:emacs) end |
#filename_quote_characters=(v) ⇒ Object
76 77 78 |
# File 'lib/reline.rb', line 76 def filename_quote_characters=(v) @filename_quote_characters = v.encode(Encoding::default_external) end |
#get_screen_size ⇒ Object
162 163 164 |
# File 'lib/reline.rb', line 162 def get_screen_size Reline::IOGate.get_screen_size end |
#input=(val) ⇒ Object
125 126 127 128 129 130 131 132 133 134 |
# File 'lib/reline.rb', line 125 def input=(val) raise TypeError unless val.respond_to?(:getc) or val.nil? if val.respond_to?(:getc) if defined?(Reline::ANSI) and Reline::IOGate == Reline::ANSI Reline::ANSI.input = val elsif Reline::IOGate == Reline::GeneralIO Reline::GeneralIO.input = val end end end |
#output_modifier_proc=(p) ⇒ Object
101 102 103 104 |
# File 'lib/reline.rb', line 101 def output_modifier_proc=(p) raise ArgumentError unless p.respond_to?(:call) @output_modifier_proc = p end |
#pre_input_hook=(p) ⇒ Object
116 117 118 |
# File 'lib/reline.rb', line 116 def pre_input_hook=(p) @pre_input_hook = p end |
#prompt_proc=(p) ⇒ Object
106 107 108 109 |
# File 'lib/reline.rb', line 106 def prompt_proc=(p) raise ArgumentError unless p.respond_to?(:call) @prompt_proc = p end |
#readline(prompt = '', add_hist = false) ⇒ Object
182 183 184 185 186 187 188 189 190 191 192 193 |
# File 'lib/reline.rb', line 182 def readline(prompt = '', add_hist = false) inner_readline(prompt, add_hist, false) line = line_editor.line.dup line.taint if RUBY_VERSION < '2.7' if add_hist and line and line.chomp.size > 0 Reline::HISTORY << line.chomp end line_editor.reset_line if line_editor.line.nil? line end |
#readmultiline(prompt = '', add_hist = false, &confirm_multiline_termination) ⇒ Object
166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 |
# File 'lib/reline.rb', line 166 def readmultiline(prompt = '', add_hist = false, &confirm_multiline_termination) unless confirm_multiline_termination raise ArgumentError.new('#readmultiline needs block to confirm multiline termination') end inner_readline(prompt, add_hist, true, &confirm_multiline_termination) whole_buffer = line_editor.whole_buffer.dup whole_buffer.taint if RUBY_VERSION < '2.7' if add_hist and whole_buffer and whole_buffer.chomp.size > 0 Reline::HISTORY << whole_buffer end line_editor.reset_line if line_editor.whole_buffer.nil? whole_buffer end |
#special_prefixes=(v) ⇒ Object
80 81 82 |
# File 'lib/reline.rb', line 80 def special_prefixes=(v) @special_prefixes = v.encode(Encoding::default_external) end |
#vi_editing_mode ⇒ Object
144 145 146 147 |
# File 'lib/reline.rb', line 144 def vi_editing_mode config.editing_mode = :vi_insert nil end |
#vi_editing_mode? ⇒ Boolean
154 155 156 |
# File 'lib/reline.rb', line 154 def vi_editing_mode? config.editing_mode_is?(:vi_insert, :vi_command) end |