module Reline

def self.core

def self.core
  @core ||= Core.new { |core|
    core.config = Reline::Config.new
    core.key_stroke = Reline::KeyStroke.new(core.config, core.encoding)
    core.line_editor = Reline::LineEditor.new(core.config)
    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

def self.encoding_system_needs # :nodoc:

:nodoc:
def self.encoding_system_needs # :nodoc:
  self.core.encoding
end

def self.insert_text(text)

def self.insert_text(text)
  line_editor.insert_multiline_text(text)
  self
end

def self.line_editor

def self.line_editor
  core.line_editor
end

def self.ungetc(c)

def self.ungetc(c)
  core.io_gate.ungetc(c)
end