summaryrefslogtreecommitdiff
path: root/venv/lib/python3.11/site-packages/markdown_it/utils.py
diff options
context:
space:
mode:
authorcyfraeviolae <cyfraeviolae>2024-04-03 03:17:55 -0400
committercyfraeviolae <cyfraeviolae>2024-04-03 03:17:55 -0400
commit12cf076118570eebbff08c6b3090e0d4798447a1 (patch)
tree3ba25e17e3c3a5e82316558ba3864b955919ff72 /venv/lib/python3.11/site-packages/markdown_it/utils.py
parentc45662ff3923b34614ddcc8feb9195541166dcc5 (diff)
no venv
Diffstat (limited to 'venv/lib/python3.11/site-packages/markdown_it/utils.py')
-rw-r--r--venv/lib/python3.11/site-packages/markdown_it/utils.py176
1 files changed, 0 insertions, 176 deletions
diff --git a/venv/lib/python3.11/site-packages/markdown_it/utils.py b/venv/lib/python3.11/site-packages/markdown_it/utils.py
deleted file mode 100644
index a979372..0000000
--- a/venv/lib/python3.11/site-packages/markdown_it/utils.py
+++ /dev/null
@@ -1,176 +0,0 @@
-from __future__ import annotations
-
-from collections.abc import MutableMapping as MutableMappingABC
-from pathlib import Path
-from typing import Any, Callable, Iterable, MutableMapping, TypedDict, cast
-
-EnvType = MutableMapping[str, Any] # note: could use TypeAlias in python 3.10
-"""Type for the environment sandbox used in parsing and rendering,
-which stores mutable variables for use by plugins and rules.
-"""
-
-
-class OptionsType(TypedDict):
- """Options for parsing."""
-
- maxNesting: int
- """Internal protection, recursion limit."""
- html: bool
- """Enable HTML tags in source."""
- linkify: bool
- """Enable autoconversion of URL-like texts to links."""
- typographer: bool
- """Enable smartquotes and replacements."""
- quotes: str
- """Quote characters."""
- xhtmlOut: bool
- """Use '/' to close single tags (<br />)."""
- breaks: bool
- """Convert newlines in paragraphs into <br>."""
- langPrefix: str
- """CSS language prefix for fenced blocks."""
- highlight: Callable[[str, str, str], str] | None
- """Highlighter function: (content, lang, attrs) -> str."""
-
-
-class PresetType(TypedDict):
- """Preset configuration for markdown-it."""
-
- options: OptionsType
- """Options for parsing."""
- components: MutableMapping[str, MutableMapping[str, list[str]]]
- """Components for parsing and rendering."""
-
-
-class OptionsDict(MutableMappingABC): # type: ignore
- """A dictionary, with attribute access to core markdownit configuration options."""
-
- # Note: ideally we would probably just remove attribute access entirely,
- # but we keep it for backwards compatibility.
-
- def __init__(self, options: OptionsType) -> None:
- self._options = cast(OptionsType, dict(options))
-
- def __getitem__(self, key: str) -> Any:
- return self._options[key] # type: ignore[literal-required]
-
- def __setitem__(self, key: str, value: Any) -> None:
- self._options[key] = value # type: ignore[literal-required]
-
- def __delitem__(self, key: str) -> None:
- del self._options[key] # type: ignore
-
- def __iter__(self) -> Iterable[str]: # type: ignore
- return iter(self._options)
-
- def __len__(self) -> int:
- return len(self._options)
-
- def __repr__(self) -> str:
- return repr(self._options)
-
- def __str__(self) -> str:
- return str(self._options)
-
- @property
- def maxNesting(self) -> int:
- """Internal protection, recursion limit."""
- return self._options["maxNesting"]
-
- @maxNesting.setter
- def maxNesting(self, value: int) -> None:
- self._options["maxNesting"] = value
-
- @property
- def html(self) -> bool:
- """Enable HTML tags in source."""
- return self._options["html"]
-
- @html.setter
- def html(self, value: bool) -> None:
- self._options["html"] = value
-
- @property
- def linkify(self) -> bool:
- """Enable autoconversion of URL-like texts to links."""
- return self._options["linkify"]
-
- @linkify.setter
- def linkify(self, value: bool) -> None:
- self._options["linkify"] = value
-
- @property
- def typographer(self) -> bool:
- """Enable smartquotes and replacements."""
- return self._options["typographer"]
-
- @typographer.setter
- def typographer(self, value: bool) -> None:
- self._options["typographer"] = value
-
- @property
- def quotes(self) -> str:
- """Quote characters."""
- return self._options["quotes"]
-
- @quotes.setter
- def quotes(self, value: str) -> None:
- self._options["quotes"] = value
-
- @property
- def xhtmlOut(self) -> bool:
- """Use '/' to close single tags (<br />)."""
- return self._options["xhtmlOut"]
-
- @xhtmlOut.setter
- def xhtmlOut(self, value: bool) -> None:
- self._options["xhtmlOut"] = value
-
- @property
- def breaks(self) -> bool:
- """Convert newlines in paragraphs into <br>."""
- return self._options["breaks"]
-
- @breaks.setter
- def breaks(self, value: bool) -> None:
- self._options["breaks"] = value
-
- @property
- def langPrefix(self) -> str:
- """CSS language prefix for fenced blocks."""
- return self._options["langPrefix"]
-
- @langPrefix.setter
- def langPrefix(self, value: str) -> None:
- self._options["langPrefix"] = value
-
- @property
- def highlight(self) -> Callable[[str, str, str], str] | None:
- """Highlighter function: (content, langName, langAttrs) -> escaped HTML."""
- return self._options["highlight"]
-
- @highlight.setter
- def highlight(self, value: Callable[[str, str, str], str] | None) -> None:
- self._options["highlight"] = value
-
-
-def read_fixture_file(path: str | Path) -> list[list[Any]]:
- text = Path(path).read_text(encoding="utf-8")
- tests = []
- section = 0
- last_pos = 0
- lines = text.splitlines(keepends=True)
- for i in range(len(lines)):
- if lines[i].rstrip() == ".":
- if section == 0:
- tests.append([i, lines[i - 1].strip()])
- section = 1
- elif section == 1:
- tests[-1].append("".join(lines[last_pos + 1 : i]))
- section = 2
- elif section == 2:
- tests[-1].append("".join(lines[last_pos + 1 : i]))
- section = 0
-
- last_pos = i
- return tests