blob: 6b1fd46c166f3e04ab280994fcf368879c21d794 [file] [edit]
# -*- coding: utf-8 -*-
"""Sphinx extension for llvm-project MLIR syntax highlighting."""
import importlib.util
from pathlib import Path
import sys
from typing import Dict
from llvm_sphinx.help import venv_help
try:
from sphinx.application import Sphinx
except ImportError as err:
print(venv_help(err), file=sys.stderr)
raise
__version__ = "1.0"
def _load_mlir_lexer():
lexer_path = (
Path(__file__).resolve().parents[4]
/ "mlir"
/ "utils"
/ "pygments"
/ "mlir_lexer.py"
)
spec = importlib.util.spec_from_file_location("llvm_sphinx_mlir_lexer", lexer_path)
module = importlib.util.module_from_spec(spec)
spec.loader.exec_module(module)
return module.MlirLexer
def setup(app: Sphinx) -> Dict[str, object]:
app.add_lexer("mlir", _load_mlir_lexer())
return {
"version": __version__,
"parallel_read_safe": True,
"parallel_write_safe": True,
}