X-Git-Url: https://vcs.fsf.org/?p=rainbowstream.git;a=blobdiff_plain;f=rainbowstream%2Finteractive.py;h=76755e8c21adf85dfc2fddb4835f1889021081b1;hp=98b9c21bc8ea08270b9ad8f6db1c675bc1114576;hb=276a34aa36ef7712914719318a3ab77512904897;hpb=affcb1491f9191ff116c20348e06e3f22e9f22a8 diff --git a/rainbowstream/interactive.py b/rainbowstream/interactive.py index 98b9c21..76755e8 100644 --- a/rainbowstream/interactive.py +++ b/rainbowstream/interactive.py @@ -27,11 +27,11 @@ class RainbowCompleter(object): words = origline.split() if not words: - self.current_candidates = sorted(self.options.keys()) + self.current_candidates = sorted([c for c in self.options]) else: try: if begin == 0: - candidates = self.options.keys() + candidates = [c for c in self.options] elif words[-1] in self.options[words[0]]: candidates = [] else: @@ -39,8 +39,8 @@ class RainbowCompleter(object): candidates = self.options[first] if being_completed: - self.current_candidates = [ w for w in candidates - if w.startswith(being_completed) ] + self.current_candidates = [w for w in candidates + if w.startswith(being_completed)] else: self.current_candidates = candidates @@ -68,15 +68,20 @@ def read_history(): """ Read history file """ - if os.path.isfile(HISTORY_FILENAME): - readline.read_history_file(HISTORY_FILENAME) + try: + readline.read_history_file(c['HISTORY_FILENAME']) + except: + pass def save_history(): """ Save history to file """ - readline.write_history_file(HISTORY_FILENAME) + try: + readline.write_history_file(c['HISTORY_FILENAME']) + except: + pass def init_interactive_shell(d): @@ -84,12 +89,8 @@ def init_interactive_shell(d): Init the rainbow shell """ readline.set_completer(RainbowCompleter(d).complete) - readline.parse_and_bind('set editing-mode vi') - readline.parse_and_bind('set show-all-if-ambiguous on') - readline.parse_and_bind('set show-all-if-unmodified on') readline.parse_and_bind('set skip-completed-text on') if 'libedit' in readline.__doc__: readline.parse_and_bind("bind ^I rl_complete") else: readline.parse_and_bind("tab: complete") -