diff --git a/pyreadline/modes/basemode.py b/pyreadline/modes/basemode.py index 6b5f9be..832dfd6 100644 --- a/pyreadline/modes/basemode.py +++ b/pyreadline/modes/basemode.py @@ -38,6 +38,7 @@ class BaseMode(object): self.startup_hook = None self.pre_input_hook = None self.first_prompt = True + self.cursor_size=25 self.prompt = ">>>" diff --git a/pyreadline/modes/emacs.py b/pyreadline/modes/emacs.py index 2e4d47b..1d51730 100644 --- a/pyreadline/modes/emacs.py +++ b/pyreadline/modes/emacs.py @@ -88,10 +88,6 @@ class IncrementalSearchPromptMode(object): else: self.line="" - - - - class SearchPromptMode(object): def __init__(self, rlobj): pass @@ -188,10 +184,6 @@ class DigitArgumentMode(object): log("arg-init %s %s"%(self.argument,keyinfo.char)) - - - - class EmacsMode(DigitArgumentMode, IncrementalSearchPromptMode, SearchPromptMode, basemode.BaseMode): mode="emacs" def __init__(self, rlobj): diff --git a/pyreadline/modes/vi.py b/pyreadline/modes/vi.py index 5b5683e..9481c07 100644 --- a/pyreadline/modes/vi.py +++ b/pyreadline/modes/vi.py @@ -158,9 +158,9 @@ class ViMode(basemode.BaseMode): self.__vi_insert_mode = value if value: self.vi_save_line () - self.console.cursor (size=25) + self.cursor_size=25 else: - self.console.cursor (size=100) + self.cursor_size=100 def vi_undo_restart (self): tpl_undo = (self.l_buffer.point, self.l_buffer.line_buffer[:], ) diff --git a/pyreadline/rlmain.py b/pyreadline/rlmain.py index 8700b57..6f1252e 100644 --- a/pyreadline/rlmain.py +++ b/pyreadline/rlmain.py @@ -468,7 +468,9 @@ class Readline(BaseReadline): c.clear_to_end_of_window() #to System.Console's lack of FillFunction else: self._clear_after() - c.cursor(1) #Show cursor + + #Show cursor, set size vi mode changes size in insert/overwrite mode + c.cursor(1, size=self.mode.cursor_size) self._set_cursor()