From c19d2d2da208f7fb30c59343cb744ac72f223a8e Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 29 Jun 2011 06:06:59 +0000 Subject: [PATCH] bug [#27779] Python console completion broken 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 | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/release/scripts/modules/console/intellisense.py b/release/scripts/modules/console/intellisense.py index 072d467ff86..b6de0c6c6de 100644 --- a/release/scripts/modules/console/intellisense.py +++ b/release/scripts/modules/console/intellisense.py @@ -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