Files
2024-10-30 22:14:35 +01:00

94 lines
2.5 KiB
Python

# -*- coding: UTF-8 -*-
# this file is needed in site-packages to emulate readline
# necessary for rlcompleter since it relies on the existence
# of a readline module
from pyreadline3.rlmain import Readline
__all__ = [
"parse_and_bind",
"get_line_buffer",
"insert_text",
"clear_history",
"read_init_file",
"read_history_file",
"write_history_file",
"get_current_history_length",
"get_history_length",
"get_history_item",
"set_history_length",
"set_startup_hook",
"set_pre_input_hook",
"set_completer",
"get_completer",
"get_begidx",
"get_endidx",
"set_completer_delims",
"get_completer_delims",
"add_history",
"callback_handler_install",
"callback_handler_remove",
"callback_read_char",
"redisplay",
] # Some other objects are added below
# create a Readline object to contain the state
rl = Readline()
if rl.disable_readline:
def dummy(completer=""):
pass
for funk in __all__:
globals()[funk] = dummy
else:
def GetOutputFile():
"""Return the console object used by readline so that it can be
used for printing in color."""
return rl.console
__all__.append("GetOutputFile")
import pyreadline3.console as console
# make these available so this looks like the python readline module
read_init_file = rl.read_init_file
parse_and_bind = rl.parse_and_bind
clear_history = rl.clear_history
add_history = rl.add_history
insert_text = rl.insert_text
write_history_file = rl.write_history_file
read_history_file = rl.read_history_file
get_completer_delims = rl.get_completer_delims
get_current_history_length = rl.get_current_history_length
get_history_length = rl.get_history_length
get_history_item = rl.get_history_item
get_line_buffer = rl.get_line_buffer
set_completer = rl.set_completer
get_completer = rl.get_completer
get_begidx = rl.get_begidx
get_endidx = rl.get_endidx
set_completer_delims = rl.set_completer_delims
set_history_length = rl.set_history_length
set_pre_input_hook = rl.set_pre_input_hook
set_startup_hook = rl.set_startup_hook
callback_handler_install = rl.callback_handler_install
callback_handler_remove = rl.callback_handler_remove
callback_read_char = rl.callback_read_char
redisplay = rl.redisplay
console.install_readline(rl.readline)
__all__.append("rl")
__doc__ = "Importing this module enables command line editing using pyreadline3 for Widnows systems"
# type: ignore