def create_line_number_surfaces(self):
        """Create and store surfaces to show line number."""
        ### iterate over the digits, creating key-value
        ### pairs of each digit and its corresponding
        ### surface;
        ###
        ### each pair is them fed to the update method of
        ### the existing digits surf map

        self.DIGIT_SURF_MAP.update(
            ## key-value pair
            (
                ## the digit (a string)
                digit,
                ## its surface
                render_text(
                    digit,
                    font_height=Line.char_height,
                    font_path=FIRA_MONO_BOLD_FONT_PATH,
                    foreground_color=self.lineno_fg,
                    background_color=self.lineno_bg,
                ),
            )
            ## use each digit
            for digit in digits
        )

        ### also store the width of an arbitrary digit
        ### (here we use zero) in the DIGIT_SURF_WIDTH
        ### class attribute, which we use when blitting
        ### the digit surfaces beside each visible line
        ### in the text editing area;

        self.__class__.DIGIT_SURF_WIDTH = self.DIGIT_SURF_MAP["0"].get_width()
Create and store surfaces to show line number.
nodezator/textman/editor/cursor/main.py