Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed3a.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.091 X-Spam-Evidence: '*H*': 0.82; '*S*': 0.00; 'subject:Getting': 0.07; 'expected.': 0.09; 'subject:modules': 0.09; 'cc:addr:python-list': 0.11; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'name",': 0.16; 'roy': 0.16; 'tab': 0.16; 'wrote:': 0.18; 'module': 0.19; 'thu,': 0.19; 'typing': 0.19; 'appears': 0.22; 'import': 0.22; 'cc:addr:python.org': 0.22; '31,': 0.24; 'math': 0.24; 'cc:2**0': 0.24; "i've": 0.25; 'this:': 0.26; 'header:In- Reply-To:1': 0.27; 'subject:list': 0.30; 'message- id:@mail.gmail.com': 0.30; "i'm": 0.30; 'code': 0.31; "d'aprano": 0.31; 'names.': 0.31; 'once,': 0.31; 'steven': 0.31; 'subject:all': 0.32; 'maybe': 0.34; 'could': 0.34; 'but': 0.35; 'received:google.com': 0.35; 'done': 0.36; 'useful': 0.36; 'problems': 0.38; 'pm,': 0.38; 'extremely': 0.39; 'name': 0.63; 'kind': 0.63; 'places': 0.64; 'more': 0.64; 'different': 0.65; 'mailbox': 0.68; 'answer.': 0.68; 'smith': 0.68; 'gotten': 0.74; 'jul': 0.74; 'other.': 0.75; 'article': 0.77; 'completion': 0.78; "it'd": 0.84; 'tricky': 0.84; 'working,': 0.84; 'to:none': 0.92 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:cc :content-type; bh=KCCfZfUWQgkQZ/esPb3MAorDyvWIidWAYq2nPCk6iYk=; b=SJZAXtUx7cCHc/IJF0dQjggCVV0mr/HygIPsm5AvsHes3RBb8Eo/nL8PG9BByQATPt 9TgfUobiculzwbvP6vLjiIFNPgv1EBscnUlUMlUE9tjwnAcamwAp3jos1v7b9vjZkZXk pEj76Ri7C3yitsKc3BZOoSQy2+YyEhuwHevcPuRfKYD5OjnkAumOOezvOC5r5Ivlpyxx 5vqw3t6tIXl3vOykmoyEvDHFN67TIfHjpg4hiAFCGA+oPCQC0eIPeOfXaN4gOnO1IrNm SAFTzCcfcb/aLw74yZGoDF5kRXynzBAPPx1PjgX0+IehcudzwUiZVnJQf0DhVqa5B2Jv 52Nw== MIME-Version: 1.0 X-Received: by 10.50.176.202 with SMTP id ck10mr66408692igc.2.1406812417147; Thu, 31 Jul 2014 06:13:37 -0700 (PDT) In-Reply-To: References: <53d8a20e$0$29977$c3e8da3$5496439d@news.astraweb.com> <53da1d5a$0$29974$c3e8da3$5496439d@news.astraweb.com> Date: Thu, 31 Jul 2014 23:13:37 +1000 Subject: Re: Getting a list of all modules From: Chris Angelico Cc: "python-list@python.org" Content-Type: text/plain; charset=UTF-8 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 25 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1406812425 news.xs4all.nl 2922 [2001:888:2000:d::a6]:45006 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:75415 On Thu, Jul 31, 2014 at 9:55 PM, Roy Smith wrote: > In article <53da1d5a$0$29974$c3e8da3$5496439d@news.astraweb.com>, > Steven D'Aprano wrote: > >> I'm working on tab completion for module names. I have some alpha-quality >> code working, so if I hit TAB after typing "import ma" I get this: >> >> >> py> import ma >> macpath macurl2path mailbox mailcap mangle >> markupbase math > > That's kind of neat. What do you do if the same name appears multiple > places in your path? It would be useful to call this out. More than > once, I've done "import x" and gotten a different x than I expected. > Those kinds of problems can be tricky to debug. Immaterial to the tab completion, as it just means one of them is shadowed by the other. But yes, that could be extremely useful - or maybe completely useless, if there's a lot of intentional shadowing happening. At any rate, it'd be nice to be able to say "Show me everything that could be found for this name", which the same code could answer. ChrisA