U
    ueS                     @   s:   d dl Z ddlmZ ddlmZ ddlmZ dddZdS )	    N   )ArgcompleteException)debug)_shlexc              	      s  d krt | | d  } tj| dd d _tjdd _g  fdd}z^  }| j	krxdddd fW S  j
 krtd|dj jd	 ||W S | W qT tk
r   td jd
j jd	  j
 kr| j Y S d}t|Y qTX qTd S )NT)posixZ_ARGCOMPLETE_COMP_WORDBREAKS c                    s   t |   j  }t jttfr: j jkr:|d7 }|t | kr\td 	|  d} | d | | |d   }}d} jd k	r j j
kr j}||| jfS )Nr   zIn trailing whitespacer   )leninstreamtell
isinstancestatestrbytesZ
whitespacer   appendZquotesZlast_wordbreak_pos)wordZpoint_in_wordprefixsuffixZprequoteZlexerpointZwords 1lib/python3.8/site-packages/argcomplete/lexers.py
split_word   s    
zsplit_line.<locals>.split_wordr   zsplit, lexer state: '{s}')sz#split (lexer stopped, state: '{s}')zcUnexpected internal state. Please report this bug at https://github.com/kislyuk/argcomplete/issues.)r   r   ZshlexZwhitespace_splitosenvirongetZ
wordbreaksZ	get_tokeneofr	   r
   r   formatr   r   
ValueErrortokenr   )liner   r   r   msgr   r   r   
split_line   s.    

r"   )N)r   
exceptionsr   ior   Zpackagesr   r"   r   r   r   r   <module>   s   