summaryrefslogtreecommitdiffstats
path: root/tests/roots/test-ext-viewcode/conf.py
blob: d6de1d96930716ab0d91a2065c8e8d4371c590d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import os
import sys

source_dir = os.path.abspath('.')
if source_dir not in sys.path:
    sys.path.insert(0, source_dir)
extensions = ['sphinx.ext.autodoc', 'sphinx.ext.viewcode']
exclude_patterns = ['_build']


if 'test_linkcode' in tags:
    extensions.remove('sphinx.ext.viewcode')
    extensions.append('sphinx.ext.linkcode')

    def linkcode_resolve(domain, info):
        if domain == 'py':
            fn = info['module'].replace('.', '/')
            return "https://foobar/source/%s.py" % fn
        elif domain == "js":
            return "https://foobar/js/" + info['fullname']
        elif domain in ("c", "cpp"):
            return f"https://foobar/{domain}/{''.join(info['names'])}"
        else:
            raise AssertionError()