diff --git a/docstring_formatter.py b/docstring_formatter.py index b8a7ede..c3359f0 100644 --- a/docstring_formatter.py +++ b/docstring_formatter.py @@ -8,16 +8,16 @@ from inspect import getdoc as _getdoc import re as _re -_re_indent_match = _re.compile("(\t*)( +)(\t*)(.*?)$").match -_re_tab_indent_match = _re.compile("(\t+)(.*?)$").match +_re_indent_match = _re.compile(r"(\t*)( +)(\t*)(.*?)$").match +_re_tab_indent_match = _re.compile(r"(\t+)(.*?)$").match _re_list_line_match = _re.compile( - "(\s*)(" - "[-*•]+" - "|" - "[a-zA-Z]\s*[.)]" - "|" - "[0-9+]\s*[.)]" - ")\s+" + r"(\s*)(" + r"[-*•]+" + r"|" + r"[a-zA-Z]\s*[.)]" + r"|" + r"[0-9+]\s*[.)]" + r")\s+" ).match diff --git a/node_formatter.py b/node_formatter.py index e81737f..9d359ad 100644 --- a/node_formatter.py +++ b/node_formatter.py @@ -42,7 +42,7 @@ def _rebuild_parsed_keyword(n_opening_brackets: int, inside_brackets: str, n_clo _re_formatting_keyword_sub = _re.compile( # Pre-compiled regex-sub func to find and replace {keyword} patterns - '(\{+)([^{}]*)(\}+)' + r'(\{+)([^{}]*)(\}+)' # TODO: Takes leading/trailing braces into account, but not nested ones. Maybe implement some day, # but it would require true parsing - with stack of braces, nested parts iterator, etc. ).sub @@ -59,7 +59,7 @@ class _Formatter: It's done this way to avoid extra conditions in the loop + to organize all the setup work in one place. """ - format_dict: _t.Optional[_t.Dict[str, _t.Any], None] = None + format_dict: _t.Optional[_t.Dict[str, _t.Any]] = None recursive: bool = False safe: bool = True @@ -88,8 +88,8 @@ class _Formatter: def __escape_match(self, match: _re.Match[str]) -> str: opening_brackets, inside_brackets, closing_brackets = match.groups() if inside_brackets.strip() in self.format_dict: - n_opening = _n_brackets_after_escape_for_existing_key(opening_brackets) - n_closing = _n_brackets_after_escape_for_existing_key(closing_brackets) + n_opening = _n_brackets_after_escape_for_existing_key(len(opening_brackets)) + n_closing = _n_brackets_after_escape_for_existing_key(len(closing_brackets)) return _rebuild_parsed_keyword(n_opening, inside_brackets, n_closing) else: return _rebuild_parsed_keyword(len(opening_brackets) * 2, inside_brackets, len(closing_brackets) * 2)