xref: /llvm-project/clang/docs/ghlinks.py (revision 6e36cebc17417f88e70b4e87c9f177036b1443f4)
1*6e36cebcScor3ntin#!/usr/bin/env python3
2*6e36cebcScor3ntin
3*6e36cebcScor3ntinfrom sphinx.application import Sphinx
4*6e36cebcScor3ntinimport re
5*6e36cebcScor3ntin
6*6e36cebcScor3ntin__version__ = "1.0"
7*6e36cebcScor3ntin
8*6e36cebcScor3ntin
9*6e36cebcScor3ntindef subst_gh_links(app: Sphinx, docname, source):
10*6e36cebcScor3ntin    regex = re.compile("#GH([0-9]+)")
11*6e36cebcScor3ntin    out_pattern = r"`#\1 <https://github.com/llvm/llvm-project/issues/\1>`_"
12*6e36cebcScor3ntin    result = source[0]
13*6e36cebcScor3ntin    result = regex.sub(out_pattern, result)
14*6e36cebcScor3ntin    source[0] = result
15*6e36cebcScor3ntin
16*6e36cebcScor3ntin
17*6e36cebcScor3ntindef setup(app: Sphinx):
18*6e36cebcScor3ntin    app.connect("source-read", subst_gh_links)
19*6e36cebcScor3ntin    return dict(version=__version__, parallel_read_safe=True, parallel_write_safe=True)
20