Ñò

ŝPc           @  s   d  d k  l Z d  d k Z d  d k Z d d k l Z l Z d d k l Z d d d d	 d
 d d d d d d d g Z	 d   Z
 d S(   i˙˙˙˙(   t   print_functionNi   (   t   GenerateValidKeywordRanget   IsValidKeyword(   t   Debugt   containst   onelinet   foldt   displayt   extendt	   containedt   containedint	   nextgroupt   transparentt	   skipwhitet   skipnlt	   skipemptyc         C  sÏ  t  | i    } | i   t d d  |  d i |  } |  d o* t | d  } t d i |  d  n t   } g  } t  |  d i |  i	    } g  } | d }	 |	 i
   t  t t | i      }
 g  } x9 |	 D]1 } | |
 j o | i |  |
 i |  qċ qċ W|
 | } t d t |  d  g  } x( |  d	 D] } | i t i |   qLWxQ| D]I} d
 | } | } x| | D]} t } |  d o- | | d j o t d | d  qqĜn x/ | D]' } | i |  d  j o t } PqßqßW| o qn |  d oë t | |  p× t } |  d o d } d2 } x | D] } | i |  d j oh | } x$ | D] } | i | d |  } qW|  d o% | i d | d | | |  n t } PqWqWWn | p t d | d d  qqqn | i   t j o3 |  d p! | i d | d | d  qqn | d | } t |  d j o | i |  | } n | d | } qW| | j o | i |  qsqsWt t  |   } t |  t |  d j o d  S| i d  | | 7} |  d o
 d } n d } |  d d  j	 o |  d d  j o |  d } n# |  d! d" | d# d$ |  d% } t i i |  d& |  } t d' i |  d  y t  | d(  } Wn9 t! j
 o- t d) i d* t"  d+  t# i$ d,  n XzÇ y x | D]x } y | i% | i& d-   Wn? t' j
 o3 t d. i |  d+  | i% d/ i& d-   n X| i% d0 i& d-   qWWn9 t! j
 o- t d1 i d* t"  d+  t# i$ d,  n XWd  | i(   Xd  S(3   Ns   Writing types filet   Informationt   language_handlert   check_keywordst	   IsKeywords   Is Keyword is {0!r}t   Prioritys   Type priority list: t   skip_patternss   syn keyword t   skip_reserved_keywordst   ReservedKeywordss   Skipping reserved word t   include_matchess   /@#':s   \s   ~[]*.$^i˙˙˙˙s
   syn match t    s   Skipping keyword 't   't   skip_vimkeywordss    /t   /i   i    t    t   include_localss   ,CTagsLocalVariablet   types_file_name_overridet   Nonet   types_file_prefixt   _t   Suffixt   .t   types_file_extensiont   types_file_locations   Filename is {0}
t   wbs   ERROR: Couldn't create {file}
t   filet   Errori   t   asciis   Error decoding line '{0!r}'s!   echoerr "Types generation error"
s   
s&   ERROR: Couldn't write {file} contents
s   \~[]*.$^()   t   listt   keyst   sortR   t   GetLanguageHandlerR   t   formatt   sett   GetKindListt   valuest   reverset   reversedt   sortedt   appendt   removet   reprt   ret   compilet   Falset   searchR    t   TrueR   t   findt   replacet   addt   lowert   vim_synkeyword_argumentst   lent   ost   patht   joint   opent   IOErrort   outfilet   syst   exitt   writet   encodet   UnicodeDecodeErrort   close(   t   optionst   languaget   tagst	   tag_typesR   t	   iskeywordt   matchEntriest   vimtypes_entriest   typesUsedByLanguaget   priorityt   fullTypeListt   allTypest   thisTypet
   patternREst   patternt
   keystartert
   keycommandt   keywordt	   skip_thist	   matchDonet   patternCharacterst   charactersToEscapet   patChart   escapedKeywordt   cht   tempt   LocalTagTypet   type_file_namet   filenamet   fht   line(    (    sM   /home/stack/.vim/addons/TagHighlight/plugin/TagHighlight/module/generation.pyt   CreateTypesFile$   sÖ    
	
 
  
  	  %!


""  (   t
   __future__R    RD   R9   t	   utilitiesR   R   t   debugR   RB   Rn   (    (    (    sM   /home/stack/.vim/addons/TagHighlight/plugin/TagHighlight/module/generation.pyt   <module>   s"   	