We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
GHDL waveform documentation
I could not find how to make a cocotb+ghdl sim produce a vcd waveform. I eventually tracked it down by looking at makefile.ghdl.  All that's needed is: make SIM=ghdl SIM_ARGS=--vcd=anyname.vcd.  I tried it on the dff example and it seems to work fine.
 
If you're interested, I added a waveform sub-section to the ghdl section of https://github.com/jwrr/cocotb/blob/readme/documentation/source/simulator_support.rst.  I used the Verilator waveform section as a template.


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `documentation/source/conf.py`
Content:
```
1 # -*- coding: utf-8 -*-
2 #
3 # cocotb documentation build configuration file
4 #
5 # This file is execfile()d with the current directory set to its containing dir.
6 #
7 # All configuration values have a default; values that are commented out
8 # serve to show the default.
9 
10 import datetime
11 import os
12 import subprocess
13 import sys
14 
15 # Add in-tree extensions to path
16 sys.path.insert(0, os.path.abspath('../sphinxext'))
17 
18 import cocotb
19 from distutils.version import LooseVersion
20 
21 os.environ["SPHINX_BUILD"] = "1"
22 
23 # -- General configuration -----------------------------------------------------
24 
25 # If your documentation needs a minimal Sphinx version, state it here.
26 #needs_sphinx = '1.0'
27 
28 # Add any Sphinx extension module names here, as strings. They can be extensions
29 # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
30 extensions = [
31     'sphinx.ext.autodoc',
32     'sphinx.ext.doctest',
33     'sphinx.ext.todo',
34     'sphinx.ext.coverage',
35     'sphinx.ext.imgmath',
36     'sphinx.ext.viewcode',
37     'sphinx.ext.napoleon',
38     'sphinx.ext.intersphinx',
39     'sphinxcontrib.makedomain',
40     'sphinx.ext.inheritance_diagram',
41     'cairosvgconverter',
42     'breathe',
43     'sphinx_issues',
44     'sphinxarg.ext',
45     'sphinxcontrib.spelling',
46     'sphinx_tabs.tabs',
47     ]
48 
49 intersphinx_mapping = {'python': ('https://docs.python.org/3', None)}
50 
51 # Github repo
52 issues_github_path = "cocotb/cocotb"
53 
54 # Add any paths that contain templates here, relative to this directory.
55 templates_path = ['_templates']
56 
57 # The suffix of source filenames.
58 source_suffix = '.rst'
59 
60 # The encoding of source files.
61 #source_encoding = 'utf-8-sig'
62 
63 # The master toctree document.
64 master_doc = 'index'
65 
66 # General information about the project.
67 project = 'cocotb'
68 copyright = '2014-{0}, cocotb contributors'.format(datetime.datetime.now().year)
69 
70 # The version info for the project you're documenting, acts as replacement for
71 # |version| and |release|, also used in various other places throughout the
72 # built documents.
73 #
74 # The full version, including alpha/beta/rc tags.
75 release = cocotb.__version__
76 # The short X.Y version.
77 v_major, v_minor = LooseVersion(release).version[:2]
78 version = '{}.{}'.format(v_major, v_minor)
79 
80 autoclass_content = "both"
81 
82 # The language for content autogenerated by Sphinx. Refer to documentation
83 # for a list of supported languages.
84 #language = None
85 
86 # There are two options for replacing |today|: either, you set today to some
87 # non-false value, then it is used:
88 #today = ''
89 # Else, today_fmt is used as the format for a strftime call.
90 #today_fmt = '%B %d, %Y'
91 
92 # List of patterns, relative to source directory, that match files and
93 # directories to ignore when looking for source files.
94 exclude_patterns = [
95     # these are compiled into a single file at build-time,
96     # so there is no need to build them separately:
97     "newsfragments/*.rst",
98     # unused outputs from breathe:
99     "generated/namespacelist.rst",
100     "generated/namespace/*.rst",
101     ]
102 
103 # The reST default role (used for this markup: `text`) to use for all documents.
104 #default_role = None
105 
106 # If true, '()' will be appended to :func: etc. cross-reference text.
107 #add_function_parentheses = True
108 
109 # If true, the current module name will be prepended to all description
110 # unit titles (such as .. function::).
111 #add_module_names = True
112 
113 # If true, sectionauthor and moduleauthor directives will be shown in the
114 # output. They are ignored by default.
115 #show_authors = False
116 
117 # The name of the Pygments (syntax highlighting) style to use.
118 pygments_style = 'sphinx'
119 
120 # A list of ignored prefixes for module index sorting.
121 #modindex_common_prefix = []
122 
123 # If true, keep warnings as "system message" paragraphs in the built documents.
124 #keep_warnings = False
125 
126 
127 # -- Options for HTML output ---------------------------------------------------
128 
129 # The theme to use for HTML and HTML Help pages.  See the documentation for
130 # a list of builtin themes.
131 
132 # The Read the Docs theme is available from
133 # https://github.com/snide/sphinx_rtd_theme
134 #
135 # Install with
136 # - pip install sphinx_rtd_theme
137 # or
138 # - apt-get install python-sphinx-rtd-theme
139 
140 try:
141     import sphinx_rtd_theme
142     html_theme = 'sphinx_rtd_theme'
143 except ImportError:
144     sys.stderr.write('Warning: The Sphinx \'sphinx_rtd_theme\' HTML theme was '+
145         'not found. Make sure you have the theme installed to produce pretty '+
146         'HTML output. Falling back to the default theme.\n')
147 
148     html_theme = 'default'
149 
150 # Theme options are theme-specific and customize the look and feel of a theme
151 # further.  For a list of options available for each theme, see the
152 # documentation.
153 #html_theme_options = {}
154 
155 # Add any paths that contain custom themes here, relative to this directory.
156 #html_theme_path = []
157 
158 # The name for this set of Sphinx documents.  If None, it defaults to
159 # "<project> v<release> documentation".
160 #html_title = None
161 
162 # A shorter title for the navigation bar.  Default is the same as html_title.
163 #html_short_title = None
164 
165 # The name of an image file (relative to this directory) to place at the top
166 # of the sidebar.
167 #html_logo = None
168 
169 # The name of an image file (within the static path) to use as favicon of the
170 # docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
171 # pixels large.
172 #html_favicon = None
173 
174 # Add any paths that contain custom static files (such as style sheets) here,
175 # relative to this directory. They are copied after the builtin static files,
176 # so a file named "default.css" will overwrite the builtin "default.css".
177 #html_static_path = ['_static']
178 
179 # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
180 # using the given strftime format.
181 #html_last_updated_fmt = '%b %d, %Y'
182 
183 # If true, SmartyPants will be used to convert quotes and dashes to
184 # typographically correct entities.
185 #html_use_smartypants = True
186 
187 # Custom sidebar templates, maps document names to template names.
188 #html_sidebars = {}
189 
190 # Additional templates that should be rendered to pages, maps page names to
191 # template names.
192 #html_additional_pages = {}
193 
194 # If false, no module index is generated.
195 #html_domain_indices = True
196 
197 # If false, no index is generated.
198 #html_use_index = True
199 
200 # If true, the index is split into individual pages for each letter.
201 #html_split_index = False
202 
203 # If true, links to the reST sources are added to the pages.
204 #html_show_sourcelink = True
205 
206 # If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
207 #html_show_sphinx = True
208 
209 # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
210 #html_show_copyright = True
211 
212 # If true, an OpenSearch description file will be output, and all pages will
213 # contain a <link> tag referring to it.  The value of this option must be the
214 # base URL from which the finished HTML is served.
215 #html_use_opensearch = ''
216 
217 # This is the file name suffix for HTML files (e.g. ".xhtml").
218 #html_file_suffix = None
219 
220 # Output file base name for HTML help builder.
221 htmlhelp_basename = 'cocotbdoc'
222 
223 
224 # -- Options for LaTeX output --------------------------------------------------
225 
226 latex_elements = {
227 # The paper size ('letterpaper' or 'a4paper').
228 #'papersize': 'letterpaper',
229 
230 # The font size ('10pt', '11pt' or '12pt').
231 #'pointsize': '10pt',
232 
233 # Additional stuff for the LaTeX preamble.
234 #'preamble': '',
235 }
236 
237 # Grouping the document tree into LaTeX files. List of tuples
238 # (source start file, target name, title, author, documentclass [howto/manual]).
239 latex_documents = [
240   ('index', 'cocotb.tex', 'cocotb Documentation',
241    'cocotb contributors', 'manual'),
242 ]
243 
244 # The name of an image file (relative to this directory) to place at the top of
245 # the title page.
246 #latex_logo = None
247 
248 # For "manual" documents, if this is true, then toplevel headings are parts,
249 # not chapters.
250 #latex_use_parts = False
251 
252 # If true, show page references after internal links.
253 #latex_show_pagerefs = False
254 
255 # If true, show URL addresses after external links.
256 #latex_show_urls = False
257 
258 # Documents to append as an appendix to all manuals.
259 #latex_appendices = []
260 
261 # If false, no module index is generated.
262 #latex_domain_indices = True
263 
264 
265 # -- Options for manual page output --------------------------------------------
266 
267 # One entry per manual page. List of tuples
268 # (source start file, name, description, authors, manual section).
269 man_pages = [
270     ('index', 'cocotb', 'cocotb Documentation',
271      ['cocotb contributors'], 1)
272 ]
273 
274 # If true, show URL addresses after external links.
275 #man_show_urls = False
276 
277 
278 # -- Options for Texinfo output ------------------------------------------------
279 
280 # Grouping the document tree into Texinfo files. List of tuples
281 # (source start file, target name, title, author,
282 #  dir menu entry, description, category)
283 texinfo_documents = [
284   ('index', 'cocotb', 'cocotb Documentation',
285    'cocotb contributors', 'cocotb', 'Coroutine Cosimulation TestBench \
286      environment for efficient verification of RTL using Python.',
287    'Miscellaneous'),
288 ]
289 
290 # Documents to append as an appendix to all manuals.
291 #texinfo_appendices = []
292 
293 # If false, no module index is generated.
294 #texinfo_domain_indices = True
295 
296 # How to display URL addresses: 'footnote', 'no', or 'inline'.
297 #texinfo_show_urls = 'footnote'
298 
299 # If true, do not generate a @detailmenu in the "Top" node's menu.
300 #texinfo_no_detailmenu = False
301 
302 todo_include_todos = False
303 
304 # -- Extra setup for C documentation with Doxygen and breathe ------------------
305 # see also https://breathe.readthedocs.io/en/latest/readthedocs.html
306 
307 env = os.environ.copy()
308 env['PATH'] += ':.venv/bin'
309 subprocess.call('doxygen', cwd='..')
310 subprocess.call(['breathe-apidoc', '-o', 'source/generated', 'source/doxygen/_xml', '-f'], env=env, cwd='..')
311 
312 
313 breathe_projects = { "cocotb": "doxygen/_xml" }
314 breathe_default_project = "cocotb"
315 breathe_domain_by_extension = {
316     "h" : "cpp",
317 }
318 breathe_show_define_initializer = True
319 
320 # -- Extra setup for spelling check --------------------------------------------
321 
322 # Spelling language.
323 spelling_lang = 'en_US'
324 tokenizer_lang = spelling_lang
325 
326 # Location of word list.
327 spelling_word_list_filename = ["spelling_wordlist.txt", "c_symbols.txt"]
328 
329 spelling_ignore_pypi_package_names = False
330 spelling_ignore_wiki_words = False
331 spelling_show_suggestions = True
332 
333 # -- Extra setup for inheritance_diagram directive which uses graphviz ---------
334 
335 graphviz_output_format = 'svg'
336 
337 # -- Extra setup for towncrier -------------------------------------------------
338 # see also https://towncrier.readthedocs.io/en/actual-freaking-docs/
339 
340 # we pass the name and version directly, to avoid towncrier failing to import the non-installed version
341 in_progress_notes = subprocess.check_output(['towncrier', '--draft', '--name', 'cocotb', '--version', release],
342                                             cwd='../..',
343                                             universal_newlines=True)
344 with open('generated/master-notes.rst', 'w') as f:
345     f.write(in_progress_notes)
346
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/documentation/source/conf.py b/documentation/source/conf.py
--- a/documentation/source/conf.py
+++ b/documentation/source/conf.py
@@ -46,7 +46,10 @@
     'sphinx_tabs.tabs',
     ]
 
-intersphinx_mapping = {'python': ('https://docs.python.org/3', None)}
+intersphinx_mapping = {
+    'python': ('https://docs.python.org/3', None),
+    'ghdl': ('https://ghdl.readthedocs.io/en/latest', None)
+}
 
 # Github repo
 issues_github_path = "cocotb/cocotb"

{"golden_diff": "diff --git a/documentation/source/conf.py b/documentation/source/conf.py\n--- a/documentation/source/conf.py\n+++ b/documentation/source/conf.py\n@@ -46,7 +46,10 @@\n     'sphinx_tabs.tabs',\n     ]\n \n-intersphinx_mapping = {'python': ('https://docs.python.org/3', None)}\n+intersphinx_mapping = {\n+    'python': ('https://docs.python.org/3', None),\n+    'ghdl': ('https://ghdl.readthedocs.io/en/latest', None)\n+}\n \n # Github repo\n issues_github_path = \"cocotb/cocotb\"\n", "issue": "GHDL waveform documentation\nI could not find how to make a cocotb+ghdl sim produce a vcd waveform. I eventually tracked it down by looking at makefile.ghdl.  All that's needed is: make SIM=ghdl SIM_ARGS=--vcd=anyname.vcd.  I tried it on the dff example and it seems to work fine.\r\n \r\nIf you're interested, I added a waveform sub-section to the ghdl section of https://github.com/jwrr/cocotb/blob/readme/documentation/source/simulator_support.rst.  I used the Verilator waveform section as a template.\r\n\n", "before_files": [{"content": "# -*- coding: utf-8 -*-\n#\n# cocotb documentation build configuration file\n#\n# This file is execfile()d with the current directory set to its containing dir.\n#\n# All configuration values have a default; values that are commented out\n# serve to show the default.\n\nimport datetime\nimport os\nimport subprocess\nimport sys\n\n# Add in-tree extensions to path\nsys.path.insert(0, os.path.abspath('../sphinxext'))\n\nimport cocotb\nfrom distutils.version import LooseVersion\n\nos.environ[\"SPHINX_BUILD\"] = \"1\"\n\n# -- General configuration -----------------------------------------------------\n\n# If your documentation needs a minimal Sphinx version, state it here.\n#needs_sphinx = '1.0'\n\n# Add any Sphinx extension module names here, as strings. They can be extensions\n# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.\nextensions = [\n    'sphinx.ext.autodoc',\n    'sphinx.ext.doctest',\n    'sphinx.ext.todo',\n    'sphinx.ext.coverage',\n    'sphinx.ext.imgmath',\n    'sphinx.ext.viewcode',\n    'sphinx.ext.napoleon',\n    'sphinx.ext.intersphinx',\n    'sphinxcontrib.makedomain',\n    'sphinx.ext.inheritance_diagram',\n    'cairosvgconverter',\n    'breathe',\n    'sphinx_issues',\n    'sphinxarg.ext',\n    'sphinxcontrib.spelling',\n    'sphinx_tabs.tabs',\n    ]\n\nintersphinx_mapping = {'python': ('https://docs.python.org/3', None)}\n\n# Github repo\nissues_github_path = \"cocotb/cocotb\"\n\n# Add any paths that contain templates here, relative to this directory.\ntemplates_path = ['_templates']\n\n# The suffix of source filenames.\nsource_suffix = '.rst'\n\n# The encoding of source files.\n#source_encoding = 'utf-8-sig'\n\n# The master toctree document.\nmaster_doc = 'index'\n\n# General information about the project.\nproject = 'cocotb'\ncopyright = '2014-{0}, cocotb contributors'.format(datetime.datetime.now().year)\n\n# The version info for the project you're documenting, acts as replacement for\n# |version| and |release|, also used in various other places throughout the\n# built documents.\n#\n# The full version, including alpha/beta/rc tags.\nrelease = cocotb.__version__\n# The short X.Y version.\nv_major, v_minor = LooseVersion(release).version[:2]\nversion = '{}.{}'.format(v_major, v_minor)\n\nautoclass_content = \"both\"\n\n# The language for content autogenerated by Sphinx. Refer to documentation\n# for a list of supported languages.\n#language = None\n\n# There are two options for replacing |today|: either, you set today to some\n# non-false value, then it is used:\n#today = ''\n# Else, today_fmt is used as the format for a strftime call.\n#today_fmt = '%B %d, %Y'\n\n# List of patterns, relative to source directory, that match files and\n# directories to ignore when looking for source files.\nexclude_patterns = [\n    # these are compiled into a single file at build-time,\n    # so there is no need to build them separately:\n    \"newsfragments/*.rst\",\n    # unused outputs from breathe:\n    \"generated/namespacelist.rst\",\n    \"generated/namespace/*.rst\",\n    ]\n\n# The reST default role (used for this markup: `text`) to use for all documents.\n#default_role = None\n\n# If true, '()' will be appended to :func: etc. cross-reference text.\n#add_function_parentheses = True\n\n# If true, the current module name will be prepended to all description\n# unit titles (such as .. function::).\n#add_module_names = True\n\n# If true, sectionauthor and moduleauthor directives will be shown in the\n# output. They are ignored by default.\n#show_authors = False\n\n# The name of the Pygments (syntax highlighting) style to use.\npygments_style = 'sphinx'\n\n# A list of ignored prefixes for module index sorting.\n#modindex_common_prefix = []\n\n# If true, keep warnings as \"system message\" paragraphs in the built documents.\n#keep_warnings = False\n\n\n# -- Options for HTML output ---------------------------------------------------\n\n# The theme to use for HTML and HTML Help pages.  See the documentation for\n# a list of builtin themes.\n\n# The Read the Docs theme is available from\n# https://github.com/snide/sphinx_rtd_theme\n#\n# Install with\n# - pip install sphinx_rtd_theme\n# or\n# - apt-get install python-sphinx-rtd-theme\n\ntry:\n    import sphinx_rtd_theme\n    html_theme = 'sphinx_rtd_theme'\nexcept ImportError:\n    sys.stderr.write('Warning: The Sphinx \\'sphinx_rtd_theme\\' HTML theme was '+\n        'not found. Make sure you have the theme installed to produce pretty '+\n        'HTML output. Falling back to the default theme.\\n')\n\n    html_theme = 'default'\n\n# Theme options are theme-specific and customize the look and feel of a theme\n# further.  For a list of options available for each theme, see the\n# documentation.\n#html_theme_options = {}\n\n# Add any paths that contain custom themes here, relative to this directory.\n#html_theme_path = []\n\n# The name for this set of Sphinx documents.  If None, it defaults to\n# \"<project> v<release> documentation\".\n#html_title = None\n\n# A shorter title for the navigation bar.  Default is the same as html_title.\n#html_short_title = None\n\n# The name of an image file (relative to this directory) to place at the top\n# of the sidebar.\n#html_logo = None\n\n# The name of an image file (within the static path) to use as favicon of the\n# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32\n# pixels large.\n#html_favicon = None\n\n# Add any paths that contain custom static files (such as style sheets) here,\n# relative to this directory. They are copied after the builtin static files,\n# so a file named \"default.css\" will overwrite the builtin \"default.css\".\n#html_static_path = ['_static']\n\n# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,\n# using the given strftime format.\n#html_last_updated_fmt = '%b %d, %Y'\n\n# If true, SmartyPants will be used to convert quotes and dashes to\n# typographically correct entities.\n#html_use_smartypants = True\n\n# Custom sidebar templates, maps document names to template names.\n#html_sidebars = {}\n\n# Additional templates that should be rendered to pages, maps page names to\n# template names.\n#html_additional_pages = {}\n\n# If false, no module index is generated.\n#html_domain_indices = True\n\n# If false, no index is generated.\n#html_use_index = True\n\n# If true, the index is split into individual pages for each letter.\n#html_split_index = False\n\n# If true, links to the reST sources are added to the pages.\n#html_show_sourcelink = True\n\n# If true, \"Created using Sphinx\" is shown in the HTML footer. Default is True.\n#html_show_sphinx = True\n\n# If true, \"(C) Copyright ...\" is shown in the HTML footer. Default is True.\n#html_show_copyright = True\n\n# If true, an OpenSearch description file will be output, and all pages will\n# contain a <link> tag referring to it.  The value of this option must be the\n# base URL from which the finished HTML is served.\n#html_use_opensearch = ''\n\n# This is the file name suffix for HTML files (e.g. \".xhtml\").\n#html_file_suffix = None\n\n# Output file base name for HTML help builder.\nhtmlhelp_basename = 'cocotbdoc'\n\n\n# -- Options for LaTeX output --------------------------------------------------\n\nlatex_elements = {\n# The paper size ('letterpaper' or 'a4paper').\n#'papersize': 'letterpaper',\n\n# The font size ('10pt', '11pt' or '12pt').\n#'pointsize': '10pt',\n\n# Additional stuff for the LaTeX preamble.\n#'preamble': '',\n}\n\n# Grouping the document tree into LaTeX files. List of tuples\n# (source start file, target name, title, author, documentclass [howto/manual]).\nlatex_documents = [\n  ('index', 'cocotb.tex', 'cocotb Documentation',\n   'cocotb contributors', 'manual'),\n]\n\n# The name of an image file (relative to this directory) to place at the top of\n# the title page.\n#latex_logo = None\n\n# For \"manual\" documents, if this is true, then toplevel headings are parts,\n# not chapters.\n#latex_use_parts = False\n\n# If true, show page references after internal links.\n#latex_show_pagerefs = False\n\n# If true, show URL addresses after external links.\n#latex_show_urls = False\n\n# Documents to append as an appendix to all manuals.\n#latex_appendices = []\n\n# If false, no module index is generated.\n#latex_domain_indices = True\n\n\n# -- Options for manual page output --------------------------------------------\n\n# One entry per manual page. List of tuples\n# (source start file, name, description, authors, manual section).\nman_pages = [\n    ('index', 'cocotb', 'cocotb Documentation',\n     ['cocotb contributors'], 1)\n]\n\n# If true, show URL addresses after external links.\n#man_show_urls = False\n\n\n# -- Options for Texinfo output ------------------------------------------------\n\n# Grouping the document tree into Texinfo files. List of tuples\n# (source start file, target name, title, author,\n#  dir menu entry, description, category)\ntexinfo_documents = [\n  ('index', 'cocotb', 'cocotb Documentation',\n   'cocotb contributors', 'cocotb', 'Coroutine Cosimulation TestBench \\\n     environment for efficient verification of RTL using Python.',\n   'Miscellaneous'),\n]\n\n# Documents to append as an appendix to all manuals.\n#texinfo_appendices = []\n\n# If false, no module index is generated.\n#texinfo_domain_indices = True\n\n# How to display URL addresses: 'footnote', 'no', or 'inline'.\n#texinfo_show_urls = 'footnote'\n\n# If true, do not generate a @detailmenu in the \"Top\" node's menu.\n#texinfo_no_detailmenu = False\n\ntodo_include_todos = False\n\n# -- Extra setup for C documentation with Doxygen and breathe ------------------\n# see also https://breathe.readthedocs.io/en/latest/readthedocs.html\n\nenv = os.environ.copy()\nenv['PATH'] += ':.venv/bin'\nsubprocess.call('doxygen', cwd='..')\nsubprocess.call(['breathe-apidoc', '-o', 'source/generated', 'source/doxygen/_xml', '-f'], env=env, cwd='..')\n\n\nbreathe_projects = { \"cocotb\": \"doxygen/_xml\" }\nbreathe_default_project = \"cocotb\"\nbreathe_domain_by_extension = {\n    \"h\" : \"cpp\",\n}\nbreathe_show_define_initializer = True\n\n# -- Extra setup for spelling check --------------------------------------------\n\n# Spelling language.\nspelling_lang = 'en_US'\ntokenizer_lang = spelling_lang\n\n# Location of word list.\nspelling_word_list_filename = [\"spelling_wordlist.txt\", \"c_symbols.txt\"]\n\nspelling_ignore_pypi_package_names = False\nspelling_ignore_wiki_words = False\nspelling_show_suggestions = True\n\n# -- Extra setup for inheritance_diagram directive which uses graphviz ---------\n\ngraphviz_output_format = 'svg'\n\n# -- Extra setup for towncrier -------------------------------------------------\n# see also https://towncrier.readthedocs.io/en/actual-freaking-docs/\n\n# we pass the name and version directly, to avoid towncrier failing to import the non-installed version\nin_progress_notes = subprocess.check_output(['towncrier', '--draft', '--name', 'cocotb', '--version', release],\n                                            cwd='../..',\n                                            universal_newlines=True)\nwith open('generated/master-notes.rst', 'w') as f:\n    f.write(in_progress_notes)\n", "path": "documentation/source/conf.py"}], "after_files": [{"content": "# -*- coding: utf-8 -*-\n#\n# cocotb documentation build configuration file\n#\n# This file is execfile()d with the current directory set to its containing dir.\n#\n# All configuration values have a default; values that are commented out\n# serve to show the default.\n\nimport datetime\nimport os\nimport subprocess\nimport sys\n\n# Add in-tree extensions to path\nsys.path.insert(0, os.path.abspath('../sphinxext'))\n\nimport cocotb\nfrom distutils.version import LooseVersion\n\nos.environ[\"SPHINX_BUILD\"] = \"1\"\n\n# -- General configuration -----------------------------------------------------\n\n# If your documentation needs a minimal Sphinx version, state it here.\n#needs_sphinx = '1.0'\n\n# Add any Sphinx extension module names here, as strings. They can be extensions\n# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.\nextensions = [\n    'sphinx.ext.autodoc',\n    'sphinx.ext.doctest',\n    'sphinx.ext.todo',\n    'sphinx.ext.coverage',\n    'sphinx.ext.imgmath',\n    'sphinx.ext.viewcode',\n    'sphinx.ext.napoleon',\n    'sphinx.ext.intersphinx',\n    'sphinxcontrib.makedomain',\n    'sphinx.ext.inheritance_diagram',\n    'cairosvgconverter',\n    'breathe',\n    'sphinx_issues',\n    'sphinxarg.ext',\n    'sphinxcontrib.spelling',\n    'sphinx_tabs.tabs',\n    ]\n\nintersphinx_mapping = {\n    'python': ('https://docs.python.org/3', None),\n    'ghdl': ('https://ghdl.readthedocs.io/en/latest', None)\n}\n\n# Github repo\nissues_github_path = \"cocotb/cocotb\"\n\n# Add any paths that contain templates here, relative to this directory.\ntemplates_path = ['_templates']\n\n# The suffix of source filenames.\nsource_suffix = '.rst'\n\n# The encoding of source files.\n#source_encoding = 'utf-8-sig'\n\n# The master toctree document.\nmaster_doc = 'index'\n\n# General information about the project.\nproject = 'cocotb'\ncopyright = '2014-{0}, cocotb contributors'.format(datetime.datetime.now().year)\n\n# The version info for the project you're documenting, acts as replacement for\n# |version| and |release|, also used in various other places throughout the\n# built documents.\n#\n# The full version, including alpha/beta/rc tags.\nrelease = cocotb.__version__\n# The short X.Y version.\nv_major, v_minor = LooseVersion(release).version[:2]\nversion = '{}.{}'.format(v_major, v_minor)\n\nautoclass_content = \"both\"\n\n# The language for content autogenerated by Sphinx. Refer to documentation\n# for a list of supported languages.\n#language = None\n\n# There are two options for replacing |today|: either, you set today to some\n# non-false value, then it is used:\n#today = ''\n# Else, today_fmt is used as the format for a strftime call.\n#today_fmt = '%B %d, %Y'\n\n# List of patterns, relative to source directory, that match files and\n# directories to ignore when looking for source files.\nexclude_patterns = [\n    # these are compiled into a single file at build-time,\n    # so there is no need to build them separately:\n    \"newsfragments/*.rst\",\n    # unused outputs from breathe:\n    \"generated/namespacelist.rst\",\n    \"generated/namespace/*.rst\",\n    ]\n\n# The reST default role (used for this markup: `text`) to use for all documents.\n#default_role = None\n\n# If true, '()' will be appended to :func: etc. cross-reference text.\n#add_function_parentheses = True\n\n# If true, the current module name will be prepended to all description\n# unit titles (such as .. function::).\n#add_module_names = True\n\n# If true, sectionauthor and moduleauthor directives will be shown in the\n# output. They are ignored by default.\n#show_authors = False\n\n# The name of the Pygments (syntax highlighting) style to use.\npygments_style = 'sphinx'\n\n# A list of ignored prefixes for module index sorting.\n#modindex_common_prefix = []\n\n# If true, keep warnings as \"system message\" paragraphs in the built documents.\n#keep_warnings = False\n\n\n# -- Options for HTML output ---------------------------------------------------\n\n# The theme to use for HTML and HTML Help pages.  See the documentation for\n# a list of builtin themes.\n\n# The Read the Docs theme is available from\n# https://github.com/snide/sphinx_rtd_theme\n#\n# Install with\n# - pip install sphinx_rtd_theme\n# or\n# - apt-get install python-sphinx-rtd-theme\n\ntry:\n    import sphinx_rtd_theme\n    html_theme = 'sphinx_rtd_theme'\nexcept ImportError:\n    sys.stderr.write('Warning: The Sphinx \\'sphinx_rtd_theme\\' HTML theme was '+\n        'not found. Make sure you have the theme installed to produce pretty '+\n        'HTML output. Falling back to the default theme.\\n')\n\n    html_theme = 'default'\n\n# Theme options are theme-specific and customize the look and feel of a theme\n# further.  For a list of options available for each theme, see the\n# documentation.\n#html_theme_options = {}\n\n# Add any paths that contain custom themes here, relative to this directory.\n#html_theme_path = []\n\n# The name for this set of Sphinx documents.  If None, it defaults to\n# \"<project> v<release> documentation\".\n#html_title = None\n\n# A shorter title for the navigation bar.  Default is the same as html_title.\n#html_short_title = None\n\n# The name of an image file (relative to this directory) to place at the top\n# of the sidebar.\n#html_logo = None\n\n# The name of an image file (within the static path) to use as favicon of the\n# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32\n# pixels large.\n#html_favicon = None\n\n# Add any paths that contain custom static files (such as style sheets) here,\n# relative to this directory. They are copied after the builtin static files,\n# so a file named \"default.css\" will overwrite the builtin \"default.css\".\n#html_static_path = ['_static']\n\n# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,\n# using the given strftime format.\n#html_last_updated_fmt = '%b %d, %Y'\n\n# If true, SmartyPants will be used to convert quotes and dashes to\n# typographically correct entities.\n#html_use_smartypants = True\n\n# Custom sidebar templates, maps document names to template names.\n#html_sidebars = {}\n\n# Additional templates that should be rendered to pages, maps page names to\n# template names.\n#html_additional_pages = {}\n\n# If false, no module index is generated.\n#html_domain_indices = True\n\n# If false, no index is generated.\n#html_use_index = True\n\n# If true, the index is split into individual pages for each letter.\n#html_split_index = False\n\n# If true, links to the reST sources are added to the pages.\n#html_show_sourcelink = True\n\n# If true, \"Created using Sphinx\" is shown in the HTML footer. Default is True.\n#html_show_sphinx = True\n\n# If true, \"(C) Copyright ...\" is shown in the HTML footer. Default is True.\n#html_show_copyright = True\n\n# If true, an OpenSearch description file will be output, and all pages will\n# contain a <link> tag referring to it.  The value of this option must be the\n# base URL from which the finished HTML is served.\n#html_use_opensearch = ''\n\n# This is the file name suffix for HTML files (e.g. \".xhtml\").\n#html_file_suffix = None\n\n# Output file base name for HTML help builder.\nhtmlhelp_basename = 'cocotbdoc'\n\n\n# -- Options for LaTeX output --------------------------------------------------\n\nlatex_elements = {\n# The paper size ('letterpaper' or 'a4paper').\n#'papersize': 'letterpaper',\n\n# The font size ('10pt', '11pt' or '12pt').\n#'pointsize': '10pt',\n\n# Additional stuff for the LaTeX preamble.\n#'preamble': '',\n}\n\n# Grouping the document tree into LaTeX files. List of tuples\n# (source start file, target name, title, author, documentclass [howto/manual]).\nlatex_documents = [\n  ('index', 'cocotb.tex', 'cocotb Documentation',\n   'cocotb contributors', 'manual'),\n]\n\n# The name of an image file (relative to this directory) to place at the top of\n# the title page.\n#latex_logo = None\n\n# For \"manual\" documents, if this is true, then toplevel headings are parts,\n# not chapters.\n#latex_use_parts = False\n\n# If true, show page references after internal links.\n#latex_show_pagerefs = False\n\n# If true, show URL addresses after external links.\n#latex_show_urls = False\n\n# Documents to append as an appendix to all manuals.\n#latex_appendices = []\n\n# If false, no module index is generated.\n#latex_domain_indices = True\n\n\n# -- Options for manual page output --------------------------------------------\n\n# One entry per manual page. List of tuples\n# (source start file, name, description, authors, manual section).\nman_pages = [\n    ('index', 'cocotb', 'cocotb Documentation',\n     ['cocotb contributors'], 1)\n]\n\n# If true, show URL addresses after external links.\n#man_show_urls = False\n\n\n# -- Options for Texinfo output ------------------------------------------------\n\n# Grouping the document tree into Texinfo files. List of tuples\n# (source start file, target name, title, author,\n#  dir menu entry, description, category)\ntexinfo_documents = [\n  ('index', 'cocotb', 'cocotb Documentation',\n   'cocotb contributors', 'cocotb', 'Coroutine Cosimulation TestBench \\\n     environment for efficient verification of RTL using Python.',\n   'Miscellaneous'),\n]\n\n# Documents to append as an appendix to all manuals.\n#texinfo_appendices = []\n\n# If false, no module index is generated.\n#texinfo_domain_indices = True\n\n# How to display URL addresses: 'footnote', 'no', or 'inline'.\n#texinfo_show_urls = 'footnote'\n\n# If true, do not generate a @detailmenu in the \"Top\" node's menu.\n#texinfo_no_detailmenu = False\n\ntodo_include_todos = False\n\n# -- Extra setup for C documentation with Doxygen and breathe ------------------\n# see also https://breathe.readthedocs.io/en/latest/readthedocs.html\n\nenv = os.environ.copy()\nenv['PATH'] += ':.venv/bin'\nsubprocess.call('doxygen', cwd='..')\nsubprocess.call(['breathe-apidoc', '-o', 'source/generated', 'source/doxygen/_xml', '-f'], env=env, cwd='..')\n\n\nbreathe_projects = { \"cocotb\": \"doxygen/_xml\" }\nbreathe_default_project = \"cocotb\"\nbreathe_domain_by_extension = {\n    \"h\" : \"cpp\",\n}\nbreathe_show_define_initializer = True\n\n# -- Extra setup for spelling check --------------------------------------------\n\n# Spelling language.\nspelling_lang = 'en_US'\ntokenizer_lang = spelling_lang\n\n# Location of word list.\nspelling_word_list_filename = [\"spelling_wordlist.txt\", \"c_symbols.txt\"]\n\nspelling_ignore_pypi_package_names = False\nspelling_ignore_wiki_words = False\nspelling_show_suggestions = True\n\n# -- Extra setup for inheritance_diagram directive which uses graphviz ---------\n\ngraphviz_output_format = 'svg'\n\n# -- Extra setup for towncrier -------------------------------------------------\n# see also https://towncrier.readthedocs.io/en/actual-freaking-docs/\n\n# we pass the name and version directly, to avoid towncrier failing to import the non-installed version\nin_progress_notes = subprocess.check_output(['towncrier', '--draft', '--name', 'cocotb', '--version', release],\n                                            cwd='../..',\n                                            universal_newlines=True)\nwith open('generated/master-notes.rst', 'w') as f:\n    f.write(in_progress_notes)\n", "path": "documentation/source/conf.py"}]}