summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2019-10-06 15:31:40 -0400
committerMarge Bot <ben+marge-bot@smart-cactus.org>2019-10-08 05:12:58 -0400
commit7cd54538e0fe5be8500335b2b10ed375b852edc2 (patch)
treead093cd1c9471a781ae92d4a1c44f13ead96cbda
parent8a2e840893bf5a1f775385713fbf0756f96c470d (diff)
downloadhaskell-7cd54538e0fe5be8500335b2b10ed375b852edc2.tar.gz
users-guide: Make reverse flags addressable via :ghc-flag:
Previously one could not easily link to the :reverse: flag of a ghc-flag.
-rw-r--r--docs/users_guide/flags.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/docs/users_guide/flags.py b/docs/users_guide/flags.py
index c95b9aa96c..ac5de4cb57 100644
--- a/docs/users_guide/flags.py
+++ b/docs/users_guide/flags.py
@@ -212,8 +212,10 @@ class Flag(GenericFlag):
# Manually create references
name_string = ", ".join([':ghc-flag:`'+n+'`' for n in self.names])
reverse_string = ''
- if 'reverse' in self.options and self.options['reverse'] != '':
- reverse_string = ':ghc-flag:`' + self.options['reverse'] + '`'
+ reverse = self.options.get('reverse')
+ if reverse is not None and reverse != '':
+ reverse_string = ':ghc-flag:`' + reverse + '`'
+ self.names += [reverse]
self.register_flag(
self.names,
@@ -223,6 +225,17 @@ class Flag(GenericFlag):
self.options['type'],
reverse_string)
+ # Add additional targets
+ def add_target_and_index(self, name, sig, signode):
+
+ GenericFlag.add_target_and_index(self, name, sig, signode)
+
+ reverse = self.options.get('reverse')
+ if reverse is not None and reverse != '':
+ # Make this also addressable via the reverse flag
+ self.env.domaindata['std']['objects']['ghc-flag', reverse] = \
+ self.env.docname, 'ghc-flag-%s' % name
+
# This class inherits from Sphinx's internal GenericObject, which drives
# the add_object_type() utility function. We want to keep that tooling,
# but need to override some of the functionality.