
    7j              
          d dl mZ d dlmZ d dlZd dlmZ d dlmZ d dl	m
Z
mZ d Z ej                  dd	d
ej                  j                  d       ej                  ddd
dd       ej                  dej                  j!                  d      d
 ed      d       ej"                  d      d                             Zy)    )FilesCompleter)cliN)
dump_lines)parse_configurator_json)GPL2_HEADER_C_LIKEGENERATED_HEADER_C_LIKEc                    g }|j                  d       t        | j                  dg             D ]:  \  }}|d   }|dk(  r|j                  d| d       &|j                  d| d       < |j                  d       | j                  dg       D ]5  }|d   }|j                  d	g       D ]  }|j                  d
| d|         7 |S )z%Generates keymap level keycodes.
    zenum keymap_keycodes {keycodeskeyr   z  z = QK_USER_0,,z};aliasesz#define  )append	enumerateget)keymap_jsonlinesindexitemr   aliass         R/home/hanthebot/chat/keyboard/qmk_firmware/lib/python/qmk/cli/generate/keymap_h.py_generate_keycodes_functionr      s     E	LL)* R!@A &t5kA:LL2cU-01LL2cU!%& 
LL
B/ 35kXXi, 	3ELL8E7!C512	33
 L    z-oz--outputTzFile to write to)arg_onlytypehelpz-qz--quiet
store_truez&Quiet mode, only output error messages)r   actionr   filenamerz.jsonzConfigurator JSON file)r   r   	completerr   z2Creates a keymap.h from a QMK Configurator export.c                    | j                   j                  r4| j                   j                  j                  dk(  rd| j                   _        t        t        ddg}t        | j                   j                        }d|v r|d   |t        |      z  }t        | j                   j                  || j                   j                         y)z6Creates a keymap.h from a QMK Configurator export
    -Nz#pragma oncez// clang-format offr
   )
argsoutputnamer   r   r   r   r   r   quiet)r   keymap_h_linesr   s      r   generate_keymap_hr)   "   s     xx388??//36(*A>ShiN)#((*;*;<K[ [%<%H5kBBsxx?r   )argcomplete.completersr   milcr   qmk.pathqmkqmk.commandsr   r   qmk.constantsr   r   r   argumentpathnormpathFileType
subcommandr)    r   r   <module>r6      s    1   # 0 E. dJCHH4E4EL^_dI\Hpqjsxx005P^_fPg  oG  HDE@ F H r `@r   