模块 Readline

常量

CursorPos
DEFAULT_DIALOG_CONTEXT
DEFAULT_DIALOG_PROC_AUTOCOMPLETE
DialogRenderInfo
FILENAME_COMPLETION_PROC

注意:为了与 rb-readline gem 保持兼容

HISTORY
IOGate
Key
USERNAME_COMPLETION_PROC
VERSION

公共类方法

core() 点击切换源代码
# File lib/reline.rb, line 550
def self.core
  @core ||= Core.new { |core|
    core.config = Reline::Config.new
    core.key_stroke = Reline::KeyStroke.new(core.config)
    core.line_editor = Reline::LineEditor.new(core.config, core.encoding)

    core.basic_word_break_characters = " \t\n`><=;|&{("
    core.completer_word_break_characters = " \t\n`><=;|&{("
    core.basic_quote_characters = '"\''
    core.completer_quote_characters = '"\''
    core.filename_quote_characters = ""
    core.special_prefixes = ""
    core.add_dialog_proc(:autocomplete, Reline::DEFAULT_DIALOG_PROC_AUTOCOMPLETE, Reline::DEFAULT_DIALOG_CONTEXT)
  }
end
encoding_system_needs() 点击切换源代码
# File lib/reline.rb, line 546
def self.encoding_system_needs
  self.core.encoding
end
insert_text(*args, &block) 点击切换源代码
# File lib/reline.rb, line 527
def self.insert_text(*args, &block)
  line_editor.insert_text(*args, &block)
  self
end
line_editor() 点击切换源代码
# File lib/reline.rb, line 570
def self.line_editor
  core.line_editor
end
ungetc(c) 点击切换源代码
# File lib/reline.rb, line 566
def self.ungetc(c)
  core.io_gate.ungetc(c)
end
update_iogate() 点击切换源代码
# File lib/reline.rb, line 574
def self.update_iogate
  return if core.config.test_mode

  # Need to change IOGate when `$stdout.tty?` change from false to true by `$stdout.reopen`
  # Example: rails/spring boot the application in non-tty, then run console in tty.
  if ENV['TERM'] != 'dumb' && core.io_gate == Reline::GeneralIO && $stdout.tty?
    require 'reline/ansi'
    remove_const(:IOGate)
    const_set(:IOGate, Reline::ANSI)
  end
end