
    7j                     ^   d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
mZ d dlmZ d dlmZ  ej                   dd	d
d       ej                   ddee
d       ej                   dded       ej                   ddd
dg d       ej"                  d      d                                    Zy)    Path)cli)parse_env_vars)QMK_USERSPACEHAS_QMK_USERSPACE)keyboard_completerkeyboard_folder_or_all)keymap_completer)UserspaceDefsbuilds*TzJList of builds in form <keyboard>:<keymap>, or path to a keymap JSON file.)nargsarg_onlyhelpz-kbz
--keyboardzUThe keyboard to build a firmware for. Ignored when a configurator export is supplied.)type	completerr   z-kmz--keymapzSThe keymap to build a firmware for. Ignored when a configurator export is supplied.)r   r   z-ez--envappendzBExtra variables to set during build. May be passed multiple times.)r   actiondefaultr   z1Removes a build target from userspace `qmk.json`.c                 h   t         s| j                  j                  d       yt        | j                  j
                        dk(  rd nt        | j                  j
                        }t        t        dz        }t        | j                  j                        dkD  rt        t        d | j                  j                        D cg c]  }t        |       c}      t        t        fd| j                  j                              }D ]  }|j                  |        |D ]-  }|j                  d      }|j                  |d   |d	   |
       / |j#                         S |j                  | j                  j                  | j                  j                   |
       |j#                         S c c}w )NzjCould not determine QMK userspace location. Please run `qmk doctor` or `qmk userspace-doctor` to diagnose.Fr   zqmk.jsonc                 h    t        |       j                         xr t        |       j                  dk(  S )Nz.json)r   existssuffix)es    Q/home/hanthebot/chat/keyboard/qmk_firmware/lib/python/qmk/cli/userspace/remove.py<lambda>z"userspace_remove.<locals>.<lambda>   s)    DGNNDTDrY]^_Y`YgYgkrYr     c                     t        |       vS )Nr   )r   json_like_targetss    r   r   z"userspace_remove.<locals>.<lambda>   s    $q'AR2R r   )	json_path:   )keyboardkeymap	build_env)r   logerrorlenargsenvr   r   r   r   listfilterr   remove_targetsplitr$   r%   save)r   r&   	userspacepmake_like_targetsr   sr    s          @r   userspace_remover5      sz      C  	DCHHLL)Q.N388<<4PImj89I
388??a 6:rtwt|t|  uD  uD  4E  "Fa$q'  "F  G (RTWT\T\TcTc!de" 	1A##a#0	1 # 	UAA##QqT!A$)#T	U >> 	):):388??^gh>> "Fs   F/N)pathlibr   milcr   qmk.commandsr   qmk.constantsr   r   qmk.keyboardr	   r
   
qmk.keymapr   qmk.userspacer   argument
subcommandr5    r   r   <module>r@      s      ' : C ' ' hcD  8D  Ee\(>J\  d{  |eZ+;  CX  YdGd8R  OS  TCD E T Y | E
r   