TL ipddlZddlmZddlmZmZddlmZddlm Z GddeZ dZ d Z d d Z d Zy) N)classes) StringNameget_quote_ending)match)get_str_or_noneceZdZdZy)PathNamepathN)__name__ __module__ __qualname__api_typeX/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/jedi/api/file_name.pyr r sHrr c #Kttjj|} t ||} |j drtjj |}| y| |z}tjj|} tjj|}||} | xrtd| D}|r$t||| dj}|d}n||z}tjj|jj|} ttj|d}t#|||}|D]}|j$}t'|| | s|s|j)s||z }n|tjj*z }t-j.|t1||t| | z dd| | y#tt f$rYywxYww) N~c3:K|]}|jdk(yw)z os.path.joinN) full_name).0ss r z%complete_file_name..s%Rakk^&C%RsrFc|jS)N)name)es rz$complete_file_name..(s QVVr)key)fuzzy)stacklike_name_lengthis_fuzzy)lenosr basename_get_string_additions startswith expanduserdirnameall_add_os_path_join bracket_startjoinprojectsortedscandirFileNotFoundErrorOSErrorrrris_dirsepr Completionr )inference_statemodule_context start_leafquotestring like_namesignatures_callback code_linespositionrr additionmust_start_withsigsis_in_os_path_join to_be_added base_pathlisted quote_endingentryrs rcomplete_file_namerG s277++F34$^Z@H ##F+  Fgg&&v.O WW__V $F  )DR#%RT%R"R' DGDYDYZ  !&  6)F _44996BI 9-3CD$E:x@Lzz e 4! $ #$$$s?/CFV/V/W*XY!1   w 's1D G3#!G,G31A-G3G0-G3/G00G3c fd}|jdk7ry|j|}t|tt |S)Nc3Kj}d}t|jd|jjD]}|rd}| |dk7ryd}yw)NTF+)parentreversedchildrenindex)node was_addition child_noder>s r iterate_nodesz,_get_string_additions..iterate_nodes?se "4==1O$--2E2Eh2O#PQ J$   S L sAArJ)get_previous_leafcreate_context _add_stringsrLlist)r6r7rRcontextr>s @rr%r%>sK  ++-H3++J7G $}*?!@ AArcd}d}|D]^}|j|}t|dk7ry|\}t|}|y|s|r|tjj z }||z }d}`|S)NrSTF) infer_noder"rr#r r3) rXnodes add_slashr9firstrQvaluescrs rrVrVSs F E  ##J/ v;!   A  9 bggkk !F!   Mrcfd}|jdk(r|j}|jj|}|dkDr|j|dz }|jdk(rvt |jdk\r^d}|jdjd k(r|jdj}|dz}ng}||j|dz|dddSy|}|jI|jjd vr1|j}|j|jjd vr1|j |ury|j} | y| jj|}| jd|}| jd k(r| j} | jdk(rX| jj| } | dk\sJ| j| dz d k(sJ|| j| dz |dddS| jd k(r|| jd|dddSy| jd k(r|| jdgS| jdk(r ||dgSy) Ncv|jk7ry|syj|d}t||dxsdS)NrSrT)r]) start_posrUrV) maybe_bracketr\rXr+r6s rcheckz _add_os_path_join..checkfsB  " "m 3 //a9GUd;ArAr error_leafrrZ error_nodearglist)rktrailerrg(rl)typerKrMrNr"get_first_leaf) r6r7r+re value_noderNrg arglist_nodessearched_node_child searched_noderl trailer_indexs ` ` rr*r*esB,&&& ##))*5 19#,,UQY7J,.3z7J7J3Kq3P&&r*//9<$.$7$7$;$D$DMQJE$&MZ00;]3Q3=OPP%  $ $ 0#**//7[[188  $ $ 0#**//7[[))+:='..M  " " ( ()< =E!**6E2MY&&& <<< '#,,22=AM A% %%##MA$56#= ==))-!*;PQ Q \\Y &))!,mCaC.@A A'   y (]++A.33   | +]2&++ ,r)F)r#jedi.apirjedi.api.stringsrrjedi.api.helpersrjedi.inference.helpersrr rGr%rVr*rrrrys6 9"2z.bB*$6,r