diff options
author | Ben Gamari <ben@smart-cactus.org> | 2019-10-06 15:31:40 -0400 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2019-10-08 05:12:58 -0400 |
commit | 7cd54538e0fe5be8500335b2b10ed375b852edc2 (patch) | |
tree | ad093cd1c9471a781ae92d4a1c44f13ead96cbda | |
parent | 8a2e840893bf5a1f775385713fbf0756f96c470d (diff) | |
download | haskell-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.py | 17 |
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. |