]> git.phdru.name Git - dotfiles.git/blobdiff - lib/python/init.py
init.py: Refactor loop over term types
[dotfiles.git] / lib / python / init.py
index 19f02346be99db0af56f66db21fa9813bb023760..a6c2388cb9824bbd070e73692dc6d88d17ed55d8 100644 (file)
@@ -36,6 +36,11 @@ def init():
                 or os.path.expanduser('~/.inputrc')
             readline.read_init_file(initfile)
 
+            #if 'libedit' in readline.__doc__:
+            #    readline.parse_and_bind("bind ^I rl_complete")
+            #else:
+            #    readline.parse_and_bind("tab: complete")
+
             histfile = os.path.expanduser('~/.python_history')
             try:
                 readline.read_history_file(histfile)
@@ -72,10 +77,13 @@ def init():
     # From Randall Hopper:
     # https://mail.python.org/pipermail/python-list/2001-March/112696.html
 
+    _term_found = False
     for _term in ['linux', 'rxvt', 'screen', 'term', 'vt100']:
-        if _term not in term:
-            continue
+        if _term in term:
+            _term_found = True
+            break
 
+    if _term_found:
         if background == 'dark':
             ps1_color = '3'  # yellow
             stdout_color = '7'  # bold white
@@ -107,7 +115,24 @@ def init():
         sys.stdout = ColoredFile(sys.stdout, '\033[1;3%sm' % stdout_color)
         sys.stderr = ColoredFile(sys.stderr, '\033[31m')  # red
 
-        break
+        def myinput(prompt=None):
+            save_stdout = sys.stdout
+            sys.stdout = sys.__stdout__
+            try:
+                result = builtin_input(prompt)
+            except EOFError:
+                result = None
+            sys.stdout = save_stdout
+            return result
+
+        try:
+            builtins.raw_input
+        except AttributeError: # PY3
+            builtin_input = builtins.input
+            builtins.input = myinput
+        else:
+            builtin_input = builtins.raw_input
+            builtins.raw_input = myinput
 
     try:
         import locale