
    &fF                     <    d  Z d Zd Zd Zd Zd Z G d d      Zy)	c                 x    | j                  d      } d| v r| d | j                  d       } | j                         } | S )N
z##)rstripfindstrip)lines    X/home/ruben/repo/codequery/scintilla550/scintilla/qt/ScintillaEdit/../../scripts/Face.pysanitiseLiner	      s<    DDL	tyy	$

    c                     | j                  dd      \  }}|j                  d      \  }}|j                  d      \  }}|j                  d      \  }}|j                  d      \  }}|||||fS )N    (=),split)	
featureValretTyperest	nameIdentparamsnamevalueparam1param2s	            r   decodeFunctionr      sq    !!#q)$ZZ_Fs#uS!,,s#uff,,r
   c                     | j                  dd      \  }}|j                  d      \  }}|j                  d      \  }}|||fS )Nr   r   r   r   r   )r   r   r   r   r   r   r   s          r   decodeEventr      sI    !!#q)$ZZ_Fs#uur
   c                     | j                         }d}d}d}d|v r/|j                  d      \  }}d|v r|j                  d      \  }}n|}|||fS )N r   r   )r   r   )pparamtyper   r   nvs         r   decodeParamr&      s_    	


	5L[[($BY#;4
4dEr
   c                 (    | d d j                         S )Nr   )isupper)ts    r   IsEnumerationr*   )   s    	"1r
   c                     | j                         }d}d}t        t        |      dz
        D ];  }||   }||dz      }|dk7  s |j                         r|j                         r||z  }|}= ||d   z  }|S )Nr!   r   r   _)titlerangelen	isnumeric)scapitalized
pascalCasecharacterPreviousi	charactercharacterNexts          r   
PascalCaser9   ,   s    wwy
K "
#  Q!n)ac"-# ]%<%<%>:  {2r
   c                       e Zd Zd Zd Zy)Facec                 J    g | _         i | _        i | _        i | _        i | _        y )N)orderfeaturesvalueseventsaliases)selfs    r   __init__zFace.__init__?   s%    $*$-$+$+$,r
   c                 |   d}g }d}t        |      }|j                         D ]F  }t        |      }|s|d   dk(  r$|d   dk(  s#|rg }d}|j                  |dd         >d}|j	                  dd      \  }}|dv r	 t        |      \  }	}}
}}t        |      }t        |      }||	|
|d   |d   |d   |d   |d   |d   ||d	| j                  |<   |
| j                  v rt        d
|
z   dz   |z         d| j                  |
<   | j                  j                  |       g }|dk(  rrt        |      \  }	}}
||	|
||d| j                  |<   |
| j                  v rt        d|
z   dz   |z         d| j                  |
<   | j                  j                  |       t|dk(  r|}}|dk(  rF	 |j	                  dd      \  }}
|||
d| j                  |<   | j                  j                  |       |dk(  s|dk(  rH|j	                  dd      \  }}
|||
|d| j                  |<   | j                  j                  |       g }|dk(  s!|j	                  dd      \  }}
|
| j                  |<   g }I |j!                          y # t        $ r t        d|z          w xY w# t        $ r t        d|z         t               w xY w)Nr!       #r   r      )fungetsetzFailed to decode %s)FeatureType
ReturnTypeValue
Param1Type
Param1NameParam1Value
Param2Type
Param2NameParam2ValueCategoryCommentzDuplicate value evt)rK   rL   rM   rT   rU   zDuplicate event catvalr   z
Failure %s)rK   rT   rM   enulex)rK   rT   rM   rU   ali)open	readlinesr	   appendr   r   
ValueErrorprintr&   r>   r?   	Exceptionr=   r   r@   rA   close)rB   r   currentCategorycurrentCommentcurrentCommentFinishedfiler   featureTyper   r   r   r   r   p1p2s                  r   ReadFromFilezFace.ReadFromFileF   s   /.	d$nn Gd
t
4
Aw#~Q3	~ !DH%#zz#q1[*,,.<Z.H+weVV vbvb!U"Q%1U"Q%1"~dmmD 
$++	)E1C7$>??dkk%
jjn

(4gtU!"~	dmmD 
$++	)E1C7$>??dkk%
jj

"o

%%c1-{tU
 ""dmmD jj

+"6$$S!,kdE!" 	#dmmD
 jjn

$$S!,kdE dll4nOGP **,s  "T)*F  \J&'[s   <I=%J=J"J;N)__name__
__module____qualname__rC   rj    r
   r   r;   r;   =   s    Mr
   r;   N)r	   r   r   r&   r*   r9   r;   rn   r
   r   <module>ro      s/   -"V Vr
   