@staticmethod
def _highlight_error(doc: str, err_lineno: int, err_colno: int) ->str:
    """Adds line numbers and highlights the error in the JSON document.

        :param doc: (invalid) JSON document
        :param err_lineno: Erroneous line number
        :param err_colno: exact error position on erroneous line
        """
    doc_list: list = []
    lineno = 1
    lines_total = doc.count('\n')
    indent = len(str(lines_total))
    for line in doc.splitlines():
        if lineno == err_lineno:
            err_indent = indent + 1 + err_colno
            doc_list.append(
                '{lineno:>{indent}}: {line}<---- Error line:{err_lineno}, position {err_colno}'
                .format(lineno=lineno, indent=indent, line=line, err_lineno
                =err_lineno, err_colno=err_colno))
            doc_list.append('{_:{err_indent}}^---- Exact Error position'.
                format(_='', err_indent=err_indent))
        else:
            doc_list.append('{lineno:>{indent}}: {line}'.format(lineno=
                lineno, indent=indent, line=line))
        lineno += 1
    return '\n'.join(doc_list)
