Skip to content

Long Names #909

Open
Open
@mlucool

Description

@mlucool

Hi,

If I have a long name I am trying to autocomplete, this no longer is useful. Would it be possible to allow for one of the following:

  1. Allow the part already typed to not be included
  2. Ellipsis the start not the end of the string
  3. Allow for the text displayed in the UI to not be the text updates what is selected

While below is contrived, this happens with autocomplete of long chains of properties. Reproducer:

import random
import string

def randomString(stringLength=10):
    """Generate a random string of fixed length """
    letters = string.ascii_lowercase
    return ''.join(random.choice(letters) for i in range(stringLength))

def my_completer(c, text):
    longstr = 'AUTO_COMPLETE_A_VERY_LONG_STRING_BECAUSE_SOMETIMES_THIS_HAPPENS'
    if text.startswith(longstr):
        return [(longstr + randomString()).decode('utf8') for x in range(150)]
    return []

get_ipython().set_custom_completer(my_completer, 0)

image

Python 2.7.15
IPython 5.8.0
PromptToolkit: 1.0.15

Please also let me know if this is available in a later version of prompt_toolkit.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions