;ò ³ÎJBc@sådZdZdZdZdkZdkZdkZdkZdkZdk Z d„Z dfd„ƒYZ dfd „ƒYZ d „Z d „Zd d „ZeidƒZeidƒZdd„Zd„Zd„Zd„Zdd„Zd„Zd„Zd„Zd„Zdfd„ƒYZdefd„ƒYZdefd „ƒYZd!fd"„ƒYZeƒZd#fd$„ƒYZ d%fd&„ƒYZ!d'fd(„ƒYZ"d)„Z#ei$d*ƒd+d d,„Z%e&d-jo e%ƒndS(.s_Python interactive completion using GNU readline 2.1. $Id: rlcompleter2.py,v 1.1 2003/01/29 17:20:35 hpk Exp $ licensed under the Python Softare License (c) 2003-2005 Holger Krekel, hpk at codespeak net how the interactive completer works ------------------------------------- The Completer works as a callback object for the readline library. It doesn't just give you completions on much more expressions than the stdlib-rlcompleter. It also gives you incrementally more introspective information the more often you hit . The completer aims to be very intuitive and helpful. You can customize behaviour via the Config class which is instantiated per Completer (to enable it to be multiply embedded with e.g. IPython) Feel free to suggest better default behaviour or configuration options! s0.96sholger krekel s"http://codespeak.net/rlcompleter2/NcCstS(N(sNone(sobj((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys(ssConfigcBs€tZdZdZdZddZdZyedƒZWne j o e ZnXd„Z e d„Z d i ƒid ƒZRS( s¤ run-time changeable configuration parameters and functions. An instance of this class can be modified and passed to the Completer constructor. iis-iNis__main__cCs,|\}}|idƒodSndSdS(sz return true if the given name, object combination should be included in the visible completion-list. s_iiN(snamesobjs startswith(sselfs.2snamesobj((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys viewfilterEs cCsŸ|p t|ƒ|_yidk}dk}dk}|id|iddƒ}|i d|ƒd \}}||_ ||_ Wnd|_ d|_ nXdS(NisishhhhiiPi(s formatters Formattersselfstermiossfcntlsstructsioctls TIOCGWINSZscallsunpacksheightswidths terminalwidthsterminalheight(sselfs formattersfcntlsstructstermiossheightswidthscall((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys__init__Ms   s˜*regular expressions \A start of string \Z end of string \b-\B empty str beg/end of word-INVERSE \d-\D decimal digit-INVERSE \s-\S whitespace[ \t\n\r\f\v]-INVERSE \w-\W alphanumeric-INVERSE \\ backslash . any character ^ start of string $ end of string * zero or more reps + one or more reps *?,+?,?? non-greedy versions {m,n} m to n reps {m,n}? non-greedy m to n reps [] set of characters (^ inverses) | A|B matches A or B (...) RE inside parens (?iLmsux) set flag for RE (?:...) non-grouping parens (?P...) named group (?P = name) same as before named group (?#...) comment(ignored) (?=...) if ... next, nonconsuming (?!...) if ... doesnt match next s (s__name__s __module__s__doc__stypesizes spliteachsseparator_linesshowfuncsources __import__s mainmodules ImportErrorsNones viewfilters__init__sstripssplits string_help(((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pysConfig*s     s FormattercBsbtZdZdkZd„Zd„Zd„Zd„Zei dei ƒZ d„Z d„Z RS( sz Lots of hooks for showing non-unqiue completions. (unique completions are handled by the Completer itself). NcCs”||_h|_|iott}td„t|iƒi ƒƒ}x5|D]-}|i i ƒd|i iƒ|i|ƒsiÿÿÿÿsformatted types: %s(sconfigsselfsabbdictstypesizestypestsfiltersvarsstypessvaluesstliststyps__name__ssplitslowersdebug(sselfsconfigstypststlist((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys__init__}s   !+cCs°ti|ƒ o |iioŠti|ƒo t |t ƒod|}n8t |ƒ|i jo!d|i t |ƒ|f}nt |ƒo|t|ƒ}q¨n|SdS(sd return a Type-specific view which is never used for unqiue (final) completion. s%ss<%s>%sN(skeywords iskeywordsnamesselfsconfigstypesizesinspectsisclasssobjs issubclasss Exceptionstypesabbdictscallablesformat_callable_signature(sselfsnamesobj((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pysTypeViewŠs ! cCskt|ƒo&t|ƒidƒodSndSnti|ƒodSnti|ƒodSndSdS(sŽ determines natural completion characters for the given obj. For an appropriate definition of 'natural' :-) s()s(s.s sN( scallablesobjsformat_callable_signaturesendswithsinspectsismoduleskeywords iskeywordsname(sselfsnamesobj((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pysTypeCompletion˜s cCs.tdt|iƒd ƒdƒdttt|iƒƒpdgƒ}ggg}xW|i ƒD]I\}}|di |i||ƒƒ|di|i|||ƒƒqdW|idƒ}|it||iƒƒxJtdt|ƒƒD]3}||ot|||iiƒqï||=qïW|SdS(si return list of list of completion strings. [[string0a,string0b,...],[string1a,...]] srl_many:i s...iiiN(sdebugsstrsmatchesskeyssmaxsmapslenskeywidthssubfinsitemssnamesobjsappendsselfsTypeViewsextends doculinesspopsliness linesplitsconfigsrangesis rl_fixliness terminalwidth(sselfsmatchessobjsnameslinessiskeywidthssubfin((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pysrl_many§s ")  $  s\s* \s*c Csti|ƒo d}n/t|ƒ}| od|t|ƒf}n|ii d|i ƒƒ}yt i |ƒWn=t j o1|idƒ}|djo||}q´nX|i||ƒ}|i|ƒd}||}|iid}||d i|dƒgSd S( s_ show documentation for one match trimmed to a few lines (currently one). ss: %s, type: %ss. s->iÿÿÿÿs iiN(skeywords iskeywordsnamesobjdocs docstringsobjstypesselfs condense_rexssubsstripsinspects getargspecs TypeErrorsfindsisTypeViewsnamedocsljustskeywidthslinesconfigs terminalwidthswidth( sselfsnamesobjskeywidthswidthsisobjdocslinesnamedoc((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys doculines¾s$    cCs‚tdt|ƒƒ|iig}t|ƒo>t|ƒ}t |ddƒ}|o|i ||ƒq¨n;|i t|ƒdtt |ƒƒƒ|i |iiƒt|ƒpd}|i|iƒidƒƒt|ƒo |iioVy<ti|ƒ}|i |iiƒ|i|idƒƒWqGtj oqGXnt||iidƒt|ƒt||iƒ}|SdS( s7 return list of list of documentation strings. sfulldoc for %ssjustnumis s*s iN(sdebugsreprsobjsselfsconfigsseparator_lineslinesscallablesget_callable_namesheadersformat_callable_signaturessigsappendstypes docstringsdocsextendsstripssplitsisfuncsshowfuncsourcesinspects getsourcessourcesIOErrors rl_fixliness terminalwidths rl_fixorders linesplitsl(sselfsobjsdocslinesslsheaderssigssource((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pysfulldocÙs.  '  (s__name__s __module__s__doc__stypess__init__sTypeViewsTypeCompletionsrl_manysrescompiles MULTILINEs condense_rexs doculinessfulldoc(((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys Formatterws       cCs=t|ƒo,t|dƒp t|dƒodSq9ndS(Ns func_codesim_funci(scallablesobjshasattr(sobj((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pysisfuncøs  cCsŠt|ƒpt‚ti|ƒo |iSny|iid|iiSWn8t j o,y |iSWq†t j o dSq†XnXdS(Ns.s( scallablesobjsAssertionErrorsinspectsisclasss__name__sim_classsim_funcs func_namesAttributeError(sobj((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pysget_callable_nameýs  ic Cs¬t|ƒpt‚ti|ƒot|dd„ƒ}ny|i}d}Wnt j o|}d}nXyti |ƒ\}}}}| oti||||ƒSn|ot|ƒ|pd} |od| t|ƒ| f}n| od| }nd}|o&||ddjod pd 7}n|o&||ddjod pd 7}n|d 7}|SWn,tj o |ot|ƒSndSnXdS(s5return signature for any callable (including classes)s__init__cCstS(N(sNone(((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys siis(%d-%ds(%ds(iÿÿÿÿs,*s*s,**s**s)sN(scallablesobjsAssertionErrorsinspectsisclasssgetattrsim_funcsfuncsdeltasAttributeErrors getargspecsargssvargsskargssdefssjustnums formatargspecslensarglenssigs TypeErrorsformat_callable_c_signature( sobjsjustnumsdefssargsskargssvargssfuncsdeltassigsarglen((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pysformat_callable_signature s<   && s,\w+\(([^\[\)]*)(\[.*?\])?\).*(-|=>)?\s*(\S*)s\w+icCsât|ƒpt‚t|ƒ}| odSn¯ti|d ƒ}| odSnŒ|idƒpd}|idƒpd}t t i |ƒƒ}t t i |ƒƒ}|od|||fSn| odSnd |Sd S( s, heuristically get a C-function's signature s(?)iÈs*(?)isis*(%d-%d)s*()s*(%d)N(scallablesobjsAssertionErrors docstringsdocsfuncrexssearchsmsgroupsargssdargsslenswordrexsfindall(sobjslongsdocsargssmsdargs((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pysformat_callable_c_signature/s" cCsFh}x5t|ƒD]'}yt||ƒ||kssN(s commonfuncsbasesfiltersnamessreduce(snamessbases commonfunc((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys commonprefixbs  cCsä|i}|djo |gSn|djo|id}ng}x€tdt|ƒ|ƒD]d}|djo1t|ƒ||}||di d|ƒn|i ||||d|!ƒq`Wt dt|ƒƒ|SdS(sY return a list of sublists where each sublist is not longer than maxi lists. iÿÿÿÿiiis~ for remaining %d linessreturning splitlist, size = %sN( sconfigs spliteachsmaxislinessterminalheights splitlistsrangeslensis stilltogosappendsdebug(slinessconfigsis splitlistsmaxis stilltogo((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys linesplitps     $cCst|ƒ}xzt||dƒD]e\}}||joL|djodpd}x*t|ƒD]}||||||N(sgetattrsnodesNonesselfs__magicmarker__scompilersasts Expressionsexprsreprsfilenames pycodegensInteractiveCodeGeneratorsfilters_raise_codegenerators getChildNodes(sselfsnode((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys_raise_codegeneratorÑs c CsŠtdt|ƒƒ| }xd|o\y±|ddjo'|ii|d ƒ}||i}n$|ii|ƒ}|d|i}|i i i |dƒ}tdt|ƒƒ|i |ƒtdt|ƒ|f‚Wqt|iifj o>|ii|ƒ}||o|idƒdpd}q|i i ij o}|iƒSqd k}|iƒd G|GHd GHqXqW|Sd S( sÚ return code object for last valid expression OR if not determinable, then return a 'parsability' flag. this flag indicates if we were able to parse a subexpression at all. strying to get code for %siÿÿÿÿs.s .sevalsparsing succeeded: sfor %s unexpected AST: %siNsinternal failure ons!send mail to hpk at codespeak net(sdebugsreprstexts parseablesselfsparsersexprsparsables__magicmarker__scompilers pycodegensparsestrees_raise_codegeneratorsAssertionErrors SyntaxErrors ParserErrors wordmatchsmatchsmsspansInteractiveCodeGeneratorsicsgetCodes tracebacks print_exc( sselfstexts parseables tracebackstreesparsablesmsexprsic((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys find_codeÛs4 )   ( s__name__s __module__s__doc__s__magicmarker__srescompiles wordmatchscompilersparsers_raise_codegenerators find_code(((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys TryParserÈs  sEvalItemcBs8tZdZded„Zd„Zd„Zd„ZRS(s Evaluating a line scsü||_tdt|ƒtˆƒfƒ||_ˆotˆƒtjoˆ|_‡d†|_ nd|_ˆp|i |_ t i |ƒ|_ ti|i ƒoFy"t|i t|iƒƒ|_Wqøttiƒdƒ‚qøXn d|_dS(s§ evaluate last possible expression part in text. attr can be a string or a filter-function which accepts/rejects (name,obj)-bindings. sgot text %s, attr %scs|diˆƒS(Ni(sxs startswithsattr(sx(sattr(sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pysssiN(sconfigsselfsdebugsreprstextsattrstypesstrsattrnamesfuncs viewfilters TryParsers find_codescodesinspectsiscodesevalsvarss mainmodulesobjsErrorssyssexc_info(sselfsconfigstextsattr((sattrsO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys__init__s      "cCs0t|dƒo|iddjodSndS(s/ see if evaluated an object does not end in '.'sobjiÿÿÿÿs.iN(shasattrsselfstext(sself((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pyshas_undotted_objects$cCs#tdƒt|dƒo|iddjoSt|iƒ}t|iƒ|i ƒ}|o ||i joh|d return name-object bindings matching self.attr/name. scompletions calledsobjiÿÿÿÿs.ss scopes: %si sfunc: %sN(sdebugshasattrsselfstexts allbindingssobjsscopes commonprefixskeyssattrnamesprefixs globalscopesconfigs mainmodulesvarssreprsfuncsdsfiltersitemssksv(sselfsdsprefixsvsscopesk((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys completions$s" $  cCs!dt|ƒt|dƒfSdS(Ns %s hasobj %dsobj(sreprsselfshasattr(sself((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys__str__:s(s__name__s __module__s__doc__sNones__init__shas_undotted_objects completionss__str__(((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pysEvalItems   sLineEvalcBs5tZdZdZeidƒZd„Zd„ZRS(s” Encapusulates Recognition of line parts and parsing/evaluation of the relevant last part where completions are requested on. s ,;{[%+-*/=:`s6\A(?P.*?\.?\s*)?(?P[_a-zA-Z][\w_]*)?\ZcCsZ||_||_xS|ii|ƒidƒiƒD]0\}}t |||ƒt d||fƒq4W|i d}t d|ƒ|djo/t ||i d ƒt |d|iƒg}n| p ||ijot |d|iƒg}n[|djo2t ||i |iƒt ||i d ƒg}nt ||i |iƒg}||_dS(Nss %s = %siÿÿÿÿs lastchar: %ss(s.(stextsselfsconfigssplitrexsmatchs groupdictsitemssksvssetattrsdebugsbaseslastcharsEvalItemsattrnames evalitemss breakchars(sselfstextsconfigslastcharsvsks evalitems((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys__init__Es   "   / 2cCsdtt|iƒSdS(s for debuggging purposess matches: %sN(smapsstrsselfs evalitems(sself((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys__str__es( s__name__s __module__s__doc__s breakcharssrescompilessplitrexs__init__s__str__(((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pysLineEval=s  s CompletercBs>tZdZed„Zd„Zd„Zd„Zd„ZRS(s9 Class providing completions for readline's requests cCs|ptƒ|_dS(s· Return a completer object whose 'rl_complete' method is suitable for use by the readline library via readline.set_completer(.rl_complete). N(sconfigsConfigsself(sselfsconfig((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys__init__lscCsø|djo¾y|i|ƒWnddg|_nXt|iƒdjoz|id}|o|i|ƒ o(tdt |ƒƒ|ii dƒqÇ||jot SqÇtdt |ƒƒqËn|t|iƒjo|i|Snt SdS( s‘handle readline's complete requests readline calls consecutively with state == 0, 1, 2, ... until we return None. is!!sInternal Erroris#ERROR: catching wrong completion %sst j o2}|i|_|i t jo t|_qÆnX|it|iƒ}|i||_dS(sQ constructs completions for the given text. this method is called once per-completion request from readline. Based on the input text and the config-object it computes the list of completions 'self.rl_strings' which 'rl_complete' dipatches one by one to readline. s text_lastsself.repeat = %diisnothing found, empty namespace?N(stextsgetattrsselfsNonesdebugsrepeateds text_lasts completionssmethod_tokenizes method_evalsErrorsFinishsfins __class__slensmods rl_matches(sselfstextsfinsmod((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys constructŒs"      csÓdk‰dk}df‡d†ƒY}y/|||iƒ}|id|gi|ƒWnu|ij of}t d|ƒ|i d}|d djo|d d jo |i ||i d d ƒqÏnXdS( sM return true if tokenization information lets us shortcut completions such as returning error/string-information. this method basically checks if we are inside a raw/string definition. XXX: Could we incorporate trying filename-completions here? Ns TokenEatercs,tZdZd„Z‡d†Zd„ZRS(s: Token Receiver function (as class-instance) cCs||_||_dS(N(stextsselfsconfig(sselfstextsconfig((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys__init__¾s c s¥|\}}|\}} d|td|dƒ|d!|_|ˆi joT|i ƒoC|djo|i || iƒdƒqtd|iƒ‚q¡ndS(Ns%siiis"'iÿÿÿÿs error at %s(ssrowsscolserowsecolslinesmaxsselfscontextsttypestokens ERRORTOKENsttokensstripshandle_open_stringsrstripsError( sselfsttypesttokens.6s.8slinessrowsscolserowsecol(stoken(sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys__call__Âs %  cCs`|djodg|iig}n*|djodgg}n dgg}t|ƒ‚dS(s( raise help completion for open strings srs!in rawstring, for regexinfosuss N(sprevioussselfsconfigs string_helpsfinsFinish(sselfsprevioussfin((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pyshandle_open_stringÍs   (s__name__s __module__s__doc__s__init__s__call__shandle_open_string((stoken(sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys TokenEater»s   ssex:%siisEOFiúÿÿÿsstringi(stokenstokenizes TokenEaterstextsselfsconfigseaterspops TokenErrorsexsdebugsargssmsgshandle_open_string(sselfstextstokensexstokenizes TokenEaterseatersmsg((stokensO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pysmethod_tokenize®s  "c Cs#tdt|ƒƒt||iƒ}t|ƒg}xÏ|iD]Ä} | i ƒo&|i |ii i | iƒƒq@n| iƒ}| i}t|ƒdjo4|otdt|ƒƒ‚qq@tdƒ‚q@t|ƒdjo|iƒ\}}|o |i |ii i |ƒƒnÃtd||fƒ||jowtdt|ƒƒ|ii i||ƒ}|o$|i||gƒt|ƒ‚qã|i |ii i |ƒƒn+|i||t|ƒgƒt|ƒ‚Pq@|i |ii i|ƒƒq@W|ot|ƒ‚ndS( s4 Partially parse and evaluate a single cmdline-text.smethod eval %sisno match found for name: %ss&sorry. dunno, quite empty here, eh ...is!exact match, name %s, attrname %ssgetting typecompletion for %sN(sdebugsreprstextsLineEvalsselfsconfigslinesfins evalitemssevalitemshas_undotted_objectsextends formattersfulldocsobjs completionssmatchessattrnameslensErrorspopitemsnamesTypeCompletionsxsappends UniqueFinishsrl_manysFinish( sselfstextsxsnamesmatchessattrnamesobjslinesfinsevalitem((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys method_evalãsF          ( s__name__s __module__s__doc__sNones__init__s rl_completes constructsmethod_tokenizes method_eval(((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys Completeris    " 5csYdk‰yˆiˆƒWntj onX‡‡d†}dk}|i|ƒdS(Ncs4yˆiˆƒWntj odGˆGHnXdS(Ns+bad luck, couldn't save readline history to(sreadlineswrite_history_fileshistfnsIOError((sreadlineshistfn(sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pyssaves(sreadlinesread_history_fileshistfnsIOErrorssavesatexitsregister(shistfnsreadlinessavesatexit((shistfnsreadlinesO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pyssetup_readline_historys  sHOMEs /.pythonhistcCsqdk}tƒ}|idƒ|i|iƒ|idƒ|ot|ƒn|odt ƒGHdGHndS(Nss tab: completes'Welcome to rlcompleter2 %(__version__)ss-for nice experiences hit multiple times( sreadlines Completers completersset_completer_delimss set_completers rl_completesparse_and_bindshistfnssetup_readline_historysverbosesglobals(shistfnsverboses completersreadline((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pyssetup"s     s__main__('s__doc__s __version__s __author__s__url__sosssyssresinspects __builtin__skeywordsdebugsConfigs Formattersisfuncsget_callable_namesformat_callable_signaturescompilesfuncrexswordrexsformat_callable_c_signatures allbindingss globalscopes docstrings commonprefixs linesplits rl_fixorders rl_fixprefixs rl_fixlinessFinishs UniqueFinishsErrors TryParsersEvalItemsLineEvals Completerssetup_readline_historysgetenvssetups__name__(#sfuncrexswordrexsErrors __builtin__s rl_fixorders FormattersConfigsFinishsLineEvalsformat_callable_c_signatures TryParsersisfuncsres rl_fixprefixs __version__s UniqueFinishs commonprefixsget_callable_namesinspects docstrings __author__ssyss linesplits globalscopessetup_readline_historys__url__sformat_callable_signatures allbindingsskeywords rl_fixlinesssetups CompletersdebugsossEvalItem((sO/mnt/gmirror/ports/devel/py-rlcompleter2/work/rlcompleter2-0.96/rlcompleter2.pys?sF$ M  #        7 <,¨