MCPcopy
hub / github.com/Textualize/rich / _render_stack

Method _render_stack

rich/traceback.py:768–895  ·  view source on GitHub ↗
(self, stack: Stack)

Source from the content-addressed store, hash-verified

766
767 @group()
768 def _render_stack(self, stack: Stack) -> RenderResult:
769 path_highlighter = PathHighlighter()
770 theme = self.theme
771
772 def render_locals(frame: Frame) -> Iterable[ConsoleRenderable]:
773 if frame.locals:
774 yield render_scope(
775 frame.locals,
776 title="locals",
777 indent_guides=self.indent_guides,
778 max_length=self.locals_max_length,
779 max_string=self.locals_max_string,
780 max_depth=self.locals_max_depth,
781 overflow=self.locals_overflow,
782 )
783
784 exclude_frames: Optional[range] = None
785 if self.max_frames != 0:
786 exclude_frames = range(
787 self.max_frames // 2,
788 len(stack.frames) - self.max_frames // 2,
789 )
790
791 excluded = False
792 for frame_index, frame in enumerate(stack.frames):
793 if exclude_frames and frame_index in exclude_frames:
794 excluded = True
795 continue
796
797 if excluded:
798 assert exclude_frames is not None
799 yield Text(
800 f"\n... {len(exclude_frames)} frames hidden ...",
801 justify="center",
802 style="traceback.error",
803 )
804 excluded = False
805
806 first = frame_index == 0
807 frame_filename = frame.filename
808 suppressed = any(frame_filename.startswith(path) for path in self.suppress)
809
810 if os.path.exists(frame.filename):
811 text = Text.assemble(
812 path_highlighter(Text(frame.filename, style="pygments.string")),
813 (":", "pygments.text"),
814 (str(frame.lineno), "pygments.number"),
815 " in ",
816 (frame.name, "pygments.function"),
817 style="pygments.text",
818 )
819 else:
820 text = Text.assemble(
821 "in ",
822 (frame.name, "pygments.function"),
823 (":", "pygments.text"),
824 (str(frame.lineno), "pygments.number"),
825 style="pygments.text",

Callers 1

render_stackMethod · 0.95

Calls 9

_guess_lexerMethod · 0.95
stylize_rangeMethod · 0.95
PathHighlighterClass · 0.85
TextClass · 0.85
SyntaxClass · 0.85
_iter_syntax_linesFunction · 0.85
ColumnsClass · 0.85
assembleMethod · 0.80
joinMethod · 0.80

Tested by

no test coverage detected