21352135 </ span >
21362136 </ a >
21372137
2138+ </ li >
2139+
2140+ < li class ="md-nav__item ">
2141+ < a href ="#bigtree.tree.export.print_rich " class ="md-nav__link ">
2142+ < span class ="md-ellipsis ">
2143+ < code class ="doc-symbol doc-symbol-toc doc-symbol-function "> </ code > print_rich
2144+ </ span >
2145+ </ a >
2146+
21382147</ li >
21392148
21402149 < li class ="md-nav__item ">
31343143 </ span >
31353144 </ a >
31363145
3146+ </ li >
3147+
3148+ < li class ="md-nav__item ">
3149+ < a href ="#bigtree.tree.export.print_rich " class ="md-nav__link ">
3150+ < span class ="md-ellipsis ">
3151+ < code class ="doc-symbol doc-symbol-toc doc-symbol-function "> </ code > print_rich
3152+ </ span >
3153+ </ a >
3154+
31373155</ li >
31383156
31393157 < li class ="md-nav__item ">
@@ -6446,6 +6464,220 @@ <h3 id="bigtree.tree.export.hyield_tree" class="doc doc-heading">
64466464< div class ="doc doc-object doc-function ">
64476465
64486466
6467+ < h3 id ="bigtree.tree.export.print_rich " class ="doc doc-heading ">
6468+ < code class ="doc-symbol doc-symbol-heading doc-symbol-function "> </ code > < span class ="doc doc-object-name doc-function-name "> print_rich</ span >
6469+
6470+
6471+ </ h3 >
6472+ < div class ="language-python doc-signature highlight "> < pre > < span > </ span > < code > < span id ="__span-0-1 "> < a id ="__codelineno-0-1 " name ="__codelineno-0-1 " href ="#__codelineno-0-1 "> </ a > < span class ="nf "> print_rich</ span > < span class ="p "> (</ span >
6473+ </ span > < span id ="__span-0-2 "> < a id ="__codelineno-0-2 " name ="__codelineno-0-2 " href ="#__codelineno-0-2 "> </ a > < span class ="n "> pre_str</ span > < span class ="p "> ,</ span >
6474+ </ span > < span id ="__span-0-3 "> < a id ="__codelineno-0-3 " name ="__codelineno-0-3 " href ="#__codelineno-0-3 "> </ a > < span class ="n "> fill_str</ span > < span class ="p "> ,</ span >
6475+ </ span > < span id ="__span-0-4 "> < a id ="__codelineno-0-4 " name ="__codelineno-0-4 " href ="#__codelineno-0-4 "> </ a > < span class ="n "> node_str</ span > < span class ="p "> ,</ span >
6476+ </ span > < span id ="__span-0-5 "> < a id ="__codelineno-0-5 " name ="__codelineno-0-5 " href ="#__codelineno-0-5 "> </ a > < span class ="n "> _node</ span > < span class ="p "> ,</ span >
6477+ </ span > < span id ="__span-0-6 "> < a id ="__codelineno-0-6 " name ="__codelineno-0-6 " href ="#__codelineno-0-6 "> </ a > < span class ="n "> console</ span > < span class ="p "> ,</ span >
6478+ </ span > < span id ="__span-0-7 "> < a id ="__codelineno-0-7 " name ="__codelineno-0-7 " href ="#__codelineno-0-7 "> </ a > < span class ="o "> *</ span > < span class ="p "> ,</ span >
6479+ </ span > < span id ="__span-0-8 "> < a id ="__codelineno-0-8 " name ="__codelineno-0-8 " href ="#__codelineno-0-8 "> </ a > < span class ="n "> node_format</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span > < span class ="p "> ,</ span >
6480+ </ span > < span id ="__span-0-9 "> < a id ="__codelineno-0-9 " name ="__codelineno-0-9 " href ="#__codelineno-0-9 "> </ a > < span class ="n "> node_format_attr</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span > < span class ="p "> ,</ span >
6481+ </ span > < span id ="__span-0-10 "> < a id ="__codelineno-0-10 " name ="__codelineno-0-10 " href ="#__codelineno-0-10 "> </ a > < span class ="n "> edge_format</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span > < span class ="p "> ,</ span >
6482+ </ span > < span id ="__span-0-11 "> < a id ="__codelineno-0-11 " name ="__codelineno-0-11 " href ="#__codelineno-0-11 "> </ a > < span class ="n "> icon_prefix_attr</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span > < span class ="p "> ,</ span >
6483+ </ span > < span id ="__span-0-12 "> < a id ="__codelineno-0-12 " name ="__codelineno-0-12 " href ="#__codelineno-0-12 "> </ a > < span class ="n "> icon_suffix_attr</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span > < span class ="p "> ,</ span >
6484+ </ span > < span id ="__span-0-13 "> < a id ="__codelineno-0-13 " name ="__codelineno-0-13 " href ="#__codelineno-0-13 "> </ a > < span class ="o "> **</ span > < span class ="n "> kwargs</ span >
6485+ </ span > < span id ="__span-0-14 "> < a id ="__codelineno-0-14 " name ="__codelineno-0-14 " href ="#__codelineno-0-14 "> </ a > < span class ="p "> )</ span >
6486+ </ span > </ code > </ pre > </ div >
6487+
6488+ < div class ="doc doc-contents ">
6489+
6490+ < p > Add rich formatting and print tree to console</ p >
6491+
6492+
6493+ < p > < span class ="doc-section-title "> Parameters:</ span > </ p >
6494+ < table >
6495+ < thead >
6496+ < tr >
6497+ < th > Name</ th >
6498+ < th > Type</ th >
6499+ < th > Description</ th >
6500+ < th > Default</ th >
6501+ </ tr >
6502+ </ thead >
6503+ < tbody >
6504+ < tr class ="doc-section-item ">
6505+ < td >
6506+ < code > pre_str</ code >
6507+ </ td >
6508+ < td >
6509+ < code > < span title ="str "> str</ span > </ code >
6510+ </ td >
6511+ < td >
6512+ < div class ="doc-md-description ">
6513+ < p > edge of tree</ p >
6514+ </ div >
6515+ </ td >
6516+ < td >
6517+ < em > required</ em >
6518+ </ td >
6519+ </ tr >
6520+ < tr class ="doc-section-item ">
6521+ < td >
6522+ < code > fill_str</ code >
6523+ </ td >
6524+ < td >
6525+ < code > < span title ="str "> str</ span > </ code >
6526+ </ td >
6527+ < td >
6528+ < div class ="doc-md-description ">
6529+ < p > the empty spaces</ p >
6530+ </ div >
6531+ </ td >
6532+ < td >
6533+ < em > required</ em >
6534+ </ td >
6535+ </ tr >
6536+ < tr class ="doc-section-item ">
6537+ < td >
6538+ < code > node_str</ code >
6539+ </ td >
6540+ < td >
6541+ < code > < span title ="str "> str</ span > </ code >
6542+ </ td >
6543+ < td >
6544+ < div class ="doc-md-description ">
6545+ < p > node details</ p >
6546+ </ div >
6547+ </ td >
6548+ < td >
6549+ < em > required</ em >
6550+ </ td >
6551+ </ tr >
6552+ < tr class ="doc-section-item ">
6553+ < td >
6554+ < code > _node</ code >
6555+ </ td >
6556+ < td >
6557+ < code > < span title ="bigtree.tree.export.stdout.T "> T</ span > </ code >
6558+ </ td >
6559+ < td >
6560+ < div class ="doc-md-description ">
6561+ < p > node to print</ p >
6562+ </ div >
6563+ </ td >
6564+ < td >
6565+ < em > required</ em >
6566+ </ td >
6567+ </ tr >
6568+ < tr class ="doc-section-item ">
6569+ < td >
6570+ < code > console</ code >
6571+ </ td >
6572+ < td >
6573+ < code > < span title ="rich.Console "> Console</ span > </ code >
6574+ </ td >
6575+ < td >
6576+ < div class ="doc-md-description ">
6577+ < p > rich console if exist, otherwise a console will be created</ p >
6578+ </ div >
6579+ </ td >
6580+ < td >
6581+ < em > required</ em >
6582+ </ td >
6583+ </ tr >
6584+ < tr class ="doc-section-item ">
6585+ < td >
6586+ < code > node_format</ code >
6587+ </ td >
6588+ < td >
6589+ < code > < span title ="str "> str</ span > | None</ code >
6590+ </ td >
6591+ < td >
6592+ < div class ="doc-md-description ">
6593+ < p > node format, sets the node format of every node, e.g., bold magenta</ p >
6594+ </ div >
6595+ </ td >
6596+ < td >
6597+ < code > None</ code >
6598+ </ td >
6599+ </ tr >
6600+ < tr class ="doc-section-item ">
6601+ < td >
6602+ < code > node_format_attr</ code >
6603+ </ td >
6604+ < td >
6605+ < code > < span title ="str "> str</ span > | < span title ="typing.Callable "> Callable</ span > [[< span title ="bigtree.tree.export.stdout.T "> T</ span > ], < span title ="str "> str</ span > ] | None</ code >
6606+ </ td >
6607+ < td >
6608+ < div class ="doc-md-description ">
6609+ < p > If string type, it refers to < code > Node</ code > attribute for node format. If callable type, it
6610+ takes in the node itself and returns the format. This sets the format of custom nodes, and overrides default
6611+ < code > node_format</ code > </ p >
6612+ </ div >
6613+ </ td >
6614+ < td >
6615+ < code > None</ code >
6616+ </ td >
6617+ </ tr >
6618+ < tr class ="doc-section-item ">
6619+ < td >
6620+ < code > edge_format</ code >
6621+ </ td >
6622+ < td >
6623+ < code > < span title ="str "> str</ span > | None</ code >
6624+ </ td >
6625+ < td >
6626+ < div class ="doc-md-description ">
6627+ < p > edge format, sets the edge format, e.g., bold magenta</ p >
6628+ </ div >
6629+ </ td >
6630+ < td >
6631+ < code > None</ code >
6632+ </ td >
6633+ </ tr >
6634+ < tr class ="doc-section-item ">
6635+ < td >
6636+ < code > icon_prefix_attr</ code >
6637+ </ td >
6638+ < td >
6639+ < code > < span title ="str "> str</ span > | < span title ="typing.Callable "> Callable</ span > [[< span title ="bigtree.tree.export.stdout.T "> T</ span > ], < span title ="str "> str</ span > ] | None</ code >
6640+ </ td >
6641+ < td >
6642+ < div class ="doc-md-description ">
6643+ < p > node icon infront of node name. Accepts emoji code (e.g., < code > :thumbs_up:</ code > ), unicode characters
6644+ (e.g., < code > 😀</ code > ), or anything rich supports. If string type, it refers to < code > Node</ code > attribute for icon.
6645+ If callable type, it takes in the node itself and returns the icon</ p >
6646+ </ div >
6647+ </ td >
6648+ < td >
6649+ < code > None</ code >
6650+ </ td >
6651+ </ tr >
6652+ < tr class ="doc-section-item ">
6653+ < td >
6654+ < code > icon_suffix_attr</ code >
6655+ </ td >
6656+ < td >
6657+ < code > < span title ="str "> str</ span > | < span title ="typing.Callable "> Callable</ span > [[< span title ="bigtree.tree.export.stdout.T "> T</ span > ], < span title ="str "> str</ span > ] | None</ code >
6658+ </ td >
6659+ < td >
6660+ < div class ="doc-md-description ">
6661+ < p > node icon behind node name. Accepts emoji code (e.g., < code > :thumbs_up:</ code > ), unicode characters
6662+ (e.g., < code > 😀</ code > ), or anything rich supports. If string type, it refers to < code > Node</ code > attribute for icon.
6663+ If callable type, it takes in the node itself and returns the icon</ p >
6664+ </ div >
6665+ </ td >
6666+ < td >
6667+ < code > None</ code >
6668+ </ td >
6669+ </ tr >
6670+ </ tbody >
6671+ </ table >
6672+
6673+
6674+ </ div >
6675+
6676+ </ div >
6677+
6678+ < div class ="doc doc-object doc-function ">
6679+
6680+
64496681< h3 id ="bigtree.tree.export.print_tree " class ="doc doc-heading ">
64506682< code class ="doc-symbol doc-symbol-heading doc-symbol-function "> </ code > < span class ="doc doc-object-name doc-function-name "> print_tree</ span >
64516683
@@ -6479,6 +6711,7 @@ <h3 id="bigtree.tree.export.print_tree" class="doc doc-heading">
64796711< li > Able to omit showing of attributes if it is null, using < code > attr_omit_null</ code > </ li >
64806712< li > Able to customise open and close brackets if attributes are shown, using < code > attr_bracket</ code > </ li >
64816713< li > Able to customise style, to choose from str, list[str], or inherit from constants.BasePrintStyle, using < code > style</ code > </ li >
6714+ < li > Able to support rich format, using < code > rich=True</ code > </ li >
64826715</ ul >
64836716< p > For style,</ p >
64846717< ul >
@@ -6487,6 +6720,7 @@ <h3 id="bigtree.tree.export.print_tree" class="doc doc-heading">
64876720< li > (constants.BasePrintStyle): < code > ANSIPrintStyle</ code > , < code > ASCIIPrintStyle</ code > , < code > ConstPrintStyle</ code > , < code > ConstBoldPrintStyle</ code > ,
64886721 < code > RoundedPrintStyle</ code > , < code > DoublePrintStyle</ code > style or inherit from < code > constants.BasePrintStyle</ code > </ li >
64896722</ ul >
6723+ < p > For rich format, set < code > rich=True</ code > and refer to < code > print_rich</ code > for the list of arguments.</ p >
64906724
64916725
64926726< p > < span class ="doc-section-title "> Examples:</ span > </ p >
@@ -6609,6 +6843,16 @@ <h3 id="bigtree.tree.export.print_tree" class="doc doc-heading">
66096843</ span > < span id ="__span-0-8 "> < a id ="__codelineno-0-8 " name ="__codelineno-0-8 " href ="#__codelineno-0-8 "> </ a > < span class ="go "> │ ├── d</ span >
66106844</ span > < span id ="__span-0-9 "> < a id ="__codelineno-0-9 " name ="__codelineno-0-9 " href ="#__codelineno-0-9 "> </ a > < span class ="go "> │ └── e</ span >
66116845</ span > < span id ="__span-0-10 "> < a id ="__codelineno-0-10 " name ="__codelineno-0-10 " href ="#__codelineno-0-10 "> </ a > < span class ="go "> └── c</ span >
6846+ </ span > </ code > </ pre > </ div >
6847+ < p > < strong > Printing rich format</ strong > </ p >
6848+ < div class ="language-pycon highlight "> < pre > < span > </ span > < code > < span id ="__span-0-1 "> < a id ="__codelineno-0-1 " name ="__codelineno-0-1 " href ="#__codelineno-0-1 "> </ a > < span class ="gp "> >>> </ span > < span class ="kn "> from</ span > < span class ="nn "> rich.console</ span > < span class ="kn "> import</ span > < span class ="n "> Console</ span >
6849+ </ span > < span id ="__span-0-2 "> < a id ="__codelineno-0-2 " name ="__codelineno-0-2 " href ="#__codelineno-0-2 "> </ a > < span class ="gp "> >>> </ span > < span class ="n "> console</ span > < span class ="o "> =</ span > < span class ="n "> Console</ span > < span class ="p "> (</ span > < span class ="n "> record</ span > < span class ="o "> =</ span > < span class ="kc "> True</ span > < span class ="p "> ,</ span > < span class ="n "> color_system</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span > < span class ="p "> )</ span > < span class ="c1 "> # optional, for doctest for docstring</ span >
6850+ </ span > < span id ="__span-0-3 "> < a id ="__codelineno-0-3 " name ="__codelineno-0-3 " href ="#__codelineno-0-3 "> </ a > < span class ="gp "> >>> </ span > < span class ="n "> tree</ span > < span class ="o "> .</ span > < span class ="n "> show</ span > < span class ="p "> (</ span > < span class ="n "> rich</ span > < span class ="o "> =</ span > < span class ="kc "> True</ span > < span class ="p "> ,</ span > < span class ="n "> node_format</ span > < span class ="o "> =</ span > < span class ="s2 "> "bold magenta"</ span > < span class ="p "> ,</ span > < span class ="n "> edge_format</ span > < span class ="o "> =</ span > < span class ="s2 "> "blue"</ span > < span class ="p "> ,</ span > < span class ="n "> console</ span > < span class ="o "> =</ span > < span class ="n "> console</ span > < span class ="p "> )</ span >
6851+ </ span > < span id ="__span-0-4 "> < a id ="__codelineno-0-4 " name ="__codelineno-0-4 " href ="#__codelineno-0-4 "> </ a > < span class ="go "> a</ span >
6852+ </ span > < span id ="__span-0-5 "> < a id ="__codelineno-0-5 " name ="__codelineno-0-5 " href ="#__codelineno-0-5 "> </ a > < span class ="go "> ├── b</ span >
6853+ </ span > < span id ="__span-0-6 "> < a id ="__codelineno-0-6 " name ="__codelineno-0-6 " href ="#__codelineno-0-6 "> </ a > < span class ="go "> │ ├── d</ span >
6854+ </ span > < span id ="__span-0-7 "> < a id ="__codelineno-0-7 " name ="__codelineno-0-7 " href ="#__codelineno-0-7 "> </ a > < span class ="go "> │ └── e</ span >
6855+ </ span > < span id ="__span-0-8 "> < a id ="__codelineno-0-8 " name ="__codelineno-0-8 " href ="#__codelineno-0-8 "> </ a > < span class ="go "> └── c</ span >
66126856</ span > </ code > </ pre > </ div >
66136857
66146858
0 commit comments