summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2019-10-04 14:25:26 -0400
committerBen Gamari <ben@smart-cactus.org>2019-10-06 19:35:44 -0400
commit8aaa02fc5f49d9c1bdae845a7025117c7cb14dd1 (patch)
treeb1612b3f7e54a3540849af5d773f3341aa22e07f
parente46aa8eceb66e333f301457b3af7fd718482edd7 (diff)
downloadhaskell-8aaa02fc5f49d9c1bdae845a7025117c7cb14dd1.tar.gz
doc: Write out documented flag list
-rw-r--r--docs/users_guide/flags.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/docs/users_guide/flags.py b/docs/users_guide/flags.py
index ac5de4cb57..90d6921827 100644
--- a/docs/users_guide/flags.py
+++ b/docs/users_guide/flags.py
@@ -53,6 +53,8 @@ from sphinx.errors import SphinxError
from distutils.version import LooseVersion
from utils import build_table_from_list
+import os.path
+
### Settings
# Categories to titles as well as a canonical list of categories
@@ -590,15 +592,23 @@ class ExtensionPrintDirective(Directive):
### Additional processing
-# Convert every flagprint node into its output format
def process_print_nodes(app, doctree, fromdocname):
+ # Convert every flagprint node into its output format
for node in doctree.traverse(flagprint):
node.generate_output(app, fromdocname)
for node in doctree.traverse(extensionprint):
node.generate_output(app, fromdocname)
+ # Write out file listing all documented flags
+ with open(os.path.join(app.outdir, 'ghc-flags.txt'), 'w') as f:
+ flag_names = \
+ {name
+ for flag in app.env.all_flags
+ for name in flag['names']}
+
+ f.write('\n'.join(flag_names))
# To avoid creating duplicates in the serialized environment, clear all
# flags originating from a file before re-reading it.