
    !<iHB                        d Z ddlmZ ddlmZ ddlmZ erddlmZ 	 ddd	d
e	de
deee
e
d	f                  fdZ	 ddee
         deee
e
d	f                  dede
dz  ddf
dZ	 	 	 	 	 	 ddd	de	d
e	dedee
         dz  de	de	de
fdZdS )z5Documentation generation functions for cyclopts apps.    )TYPE_CHECKING)extract_text)BaseDocGenerator)AppF appr   include_hiddenprefixreturnc                 :   g }| j         s|S t          j        | |          D ]y\  }}|r| | n|}|                    dd                                          }|                    |||f           t          ||| d          }|                    |           z|S )zwRecursively collect all commands for table of contents.

    Returns a list of (display_name, anchor, app) tuples.
     -)r	   r
   )	_commandsr   iterate_commandsreplacelowerappend_collect_commands_for_tocextend)	r   r	   r
   commandsnamesubappdisplay_nameanchornesteds	            /Users/kimhansen/Desktop/03 Workspace/ceo-agents/chl-effectiveness/mcp-servers/whoop/.venv/lib/python3.11/site-packages/cyclopts/docs/markdown.pyr   r      s     H= (9#~NN 
  
 f,2<&($(((%%c3//5577vv6777 +6.\hYkYkYklllO    Nlinesr   levelapp_namec           	      D   |D ]\  }}}|                     d          }d|z  }|                                d         }	|r|dk    r| d| }
n|r| d| }
n|}
|
                                                    dd          }|                     | d|	 d| d           d	S )
z-Generate TOC entries with proper indentation.r   z  r   r   z- [`z`](#)N)countsplitr   r   r   )r   r   r   r    r   r   _appdepthindentcmd_name	full_names              r   _generate_toc_entriesr+   '   s     '/ = ="fd""3''  %%''+
  	%

#44l44II 	%#44l44II$I ""**344;;H;;&;;;<<<<)= =r   T   	recursiveheading_levelcommand_chaingenerate_tocflatten_commandsc                    ddl m} g }|g }t          j        | |          \  }	}
}|rd|
 dn|}|                    d|z   d|            |                    d           | j                            dd	
          }t          j        | |          }|rT|dv }t          |d|          }|r<|                    |	                                           |                    d           |rn|sl| j
        ret          | |          }|rR|                    d           |                    d           t          ||d|	           |                    d           t          j        |           }|r|                    d           |                    d           |                    d           t          |t                    r|}nt          |dd          }t          j        ||d          }|                    |           |                    d           |                    d           |                     g |          }t          j        ||          }|d         }|d         }|d         }|d         } ||dz   |d          }|r|                    d           |D ]j\  }}|                                 d|_         |dd|           |                                	                                }|r|                    |           k|                    d           |r|                    d           |D ]j\  }}|                                 d|_         |dd|           |                                	                                }|r|                    |           k|                    d           |r|D ]\  }}|j        r|                    d|j         d            |                                 |                    d|j        |j        |j        !          } |dd|           |                                	                                }|r|                    |           |                    d           |r|                    d"           |D ]j\  }}|                                 d|_         |dd|           |                                	                                }|r|                    |           k|                    d           | j
        rt          j        | |          D ]\  } }!t          j        || |	          }"|r|}#n|dz   }#|                    d|#z   d#d                    |"           d           |                    d           |!                    |!g          5  |!j                            d|
          }$|$dv }%t          j        |!|$          }&|&rPt          |&d|%          }'|'r<|                    |'	                                           |                    d           t          j        |!          }(|(r|                    d           |                    d           |                    d           t          |(t                    r|(})nt          |(dd          })t          j        |)|"d          }|                    |           |                    d           |                    d           |r~|!                    g |$          }*t          j        |*|          }+|+d         },|+d         }-|+d         }.|+d         }/|r|dz   }0n|d$z   }0 ||0|d          }1|,r|                    d           |,D ]c\  }}|1                                  |1dd|           |1                                	                                }|r|                    |           d|                    d           |-r|                    d           |-D ]c\  }}|1                                  |1dd|           |1                                	                                }|r|                    |           d|                    d           |.r|.D ]\  }}|j        r|                    d|j         d            |1                                 |                    d|j        |j        |j        !          } |1dd|           |1                                	                                }|r|                    |           |                    d           |/r'|o|!j
        }2|2r|                    d"           |/D ]^\  }}|j        D ]Q}3|3j        rH|3j        d         }4|3j        rt          |3j        d|%          nd}|                    d%|4 d&|            R_|                    d           n|                    d"           |/D ]c\  }}|1                                  |1dd|           |1                                	                                }|r|                    |           d|                    d           ddd           n# 1 swxY w Y   |r|!j
        r{t          j        |!|          D ]e\  }5}6t          j        |"|5|	          }7|r|}8n|dz   }8t=          |6|||8|7d|'          }9|                    |9           |                    d           fd(                    |                                          d(z   }:|:S ))a  Generate markdown documentation for a CLI application.

    Parameters
    ----------
    app : App
        The cyclopts App instance to document.
    recursive : bool
        If True, generate documentation for all subcommands recursively.
        Default is True.
    include_hidden : bool
        If True, include hidden commands/parameters in documentation.
        Default is False.
    heading_level : int
        Starting heading level for the main application title.
        Default is 1 (single #).
    command_chain : list[str]
        Internal parameter to track command hierarchy.
        Default is None.
    generate_toc : bool
        If True, generate a table of contents for multi-command apps.
        Default is True.
    flatten_commands : bool
        If True, generate all commands at the same heading level instead of nested.
        Default is False.

    Returns
    -------
    str
        The generated markdown documentation.
    r   )MarkdownFormatterN`#r   r   help_formatrestructuredtext)fallback)markdownmd)preserve_markup)r	   z## Table of Contents)r   r    z
**Usage**:z
```consoleF$)r
   z```r   	argumentsoptionsgroupedr,   list)r.   r	   table_stylez**Arguments**:
z**Options**:
z**z**:
)titleentriesformatdescriptionz**Commands**:
z `   z* `z`: )r-   r	   r.   r/   r0   r1   
) !cyclopts.help.formatters.markdownr3   r   get_app_infor   	app_stackresolveextract_descriptionr   stripr   r   r+   extract_usage
isinstancestrformat_usage_line_assemble_help_panelscategorize_panelsresetrB   
get_output	__class__rC   rD   rE   r   build_command_chainjoinnamesgenerate_markdown_docsrstrip);r   r-   r	   r.   r/   r0   r1   r3   r   r    full_command
base_titlerB   r6   rE   preserve	desc_texttoc_commandsusage
usage_text
usage_linehelp_panels_with_groupscategorizedcommand_panelsargument_panelsoption_panelsgrouped_panels	formatter_grouppaneloutput
panel_copyr   r   sub_command_chainsub_heading_levelsub_help_formatpreserve_subsub_descriptionsub_desc_text	sub_usagesub_usage_text
sub_panelssub_categorizedsub_argument_panelssub_option_panelssub_grouped_panelssub_command_panelspanel_heading_levelsub_formatterwill_recurseentryr)   nested_name
nested_appnested_command_chainnested_heading_levelnested_docsdocs;                                                              r   rZ   rZ   B   s|   N DCCCCC E  *:)FsM)Z)Z&HlJ#0@jE 
LLC-'11%11222	LL -''@R'SSK"6sKHHK  "44 dHMMM	 	LL**+++LL  M cm 0^TTT 	LL/000LL!%QRRRRLL *3//E \"""R\"""eS!! 	JJJ%eT5IIIJ%7
MZ]^^^
Z   UR "77KHH #45Ln]]K ,N!+.O	*M +N "!#a'%  I  
'(((, 	% 	%MFEOOEKIdD%((())++1133F %V$$$R  
%&&&* 	% 	%MFEOOEKIdD%((())++1133F %V$$$R  !+ 	! 	!MFE{ !4%+444555!!!"__!M < % 1	 -  
 	$j111"--//5577 )LL(((R     
&'''+ 	% 	%MFEOOEKIdD%((())++1133F %V$$$R } _% -=c>RR \	% \	%LD& 0 D]TXZb c c   6$1!!$1A$5! LLC"33UUsxx@Q7R7RUUUVVVLL !!6(++ s- s-"("2":":=S^":"_"_.2DD"2"Fv"_"_" )$0$Xd$e$e$eM$ )]%8%8%:%:;;;R((( -:6BB	 %LL...LL$$$LL...!)S11 ^)2)5iW\)])])]!1!CNTenq!r!r!rJLL,,,LL'''LL$$$  W-!'!=!=b/!R!RJ '7&HUc&d&dO*9+*F'(7	(B%)8)C&)8)D& ( @.;a.?++.;a.?+$5$5&9.fl% % %M
 + )%7888-@ 5 5MFE)//111)M$e<<<%2%=%=%?%?%E%E%G%GF% 5 %V 4 4 4R((( ) )%5666-> 5 5MFE)//111)M$e<<<%2%=%=%?%?%E%E%G%GF% 5 %V 4 4 4R((( * 1-? 1 1MFE${ 1 %-D%+-D-D-D E E E - 3 3 5 5 5-2__*,,1M+0<050A	 .= ." ."
 !.dD* E E E)6)A)A)C)C)I)I)K)K#) !9$)LL$8$8$8 %R 0 0 0 * -'0'EV5E' -!LL):;;;1C 	U 	U-2] !U !UE',{ %U38;q> 05/@-4L9JDbn,o,o,o,o13 )2
 ).5S85S5S	5S5S(T(T(T!U "LL,,,, "LL):;;;1C 9 9 - 3 3 5 5 5 -dD% @ @ @)6)A)A)C)C)I)I)K)K#) !9$)LL$8$8$8!LL,,,gs- s- s- s- s- s- s- s- s- s- s- s- s- s- s-l  %V- %/?/PQWYg/h/h % %+K+;+O);, ,( ( A/<,,/<q/@,"8""+'5&:&:%*)9# # #K LL---LL$$$$ ))E


!
!
#
#d
*CJs   >Sj((j,	/j,	)Fr   )r   N)TFr,   NTF)__doc__typingr   cyclopts._markupr   cyclopts.docs.baser   cyclopts.corer   boolrP   r@   tupler   intr+   rZ    r   r   <module>r      s   ; ;             ) ) ) ) ) ) / / / / / / "!!!!!! =? 	 $69	%S%
 !   8 fj= =9= $U3U?%; <=EH=X[^bXb=	= = = =:  &*"K K	KK K 	K
 9t#K K K 	K K K K K Kr   