bug [#27779] Python console completion broken
authorCampbell Barton <ideasman42@gmail.com>
Wed, 29 Jun 2011 06:06:59 +0000 (06:06 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Wed, 29 Jun 2011 06:06:59 +0000 (06:06 +0000)
modified auto-completion, though this may need to become a preference.
The problem is:
- including _all_ text as a prefix can take a lot of space, and isnt too readable.
- including only the previous word is error prone because detecting delimiters can fail when editing strings.

so I've set it to only include the last part of the string but align to the cursor to make it more readable.

release/scripts/modules/console/intellisense.py

index 072d467ff86855c10436ba9b4a6374085513e256..b6de0c6c6de76983b268da9dbab1ac70c5de6bf6 100644 (file)
@@ -130,11 +130,15 @@ def expand(line, cursor, namespace, private=True):
         else:
             # causes blender bug [#27495] since string keys may contain '.'
             # scrollback = '  '.join([m.split('.')[-1] for m in matches])
+
+            # add white space to align with the cursor
+            white_space = "    " + (" " * (cursor + len(prefix)))
             word_prefix = word + prefix
-            scrollback = '  '.join(
-                    [m[len(word_prefix):]
+            scrollback = '\n'.join(
+                    [white_space + m[len(word_prefix):]
                      if (word_prefix and m.startswith(word_prefix))
-                     else m.split('.')[-1]
+                     else
+                     white_space + m.split('.')[-1]
                      for m in matches])
 
         no_calltip = True