Don't link generic arguments on the docs

This commit is contained in:
Lonami Exo 2017-04-08 12:41:31 +02:00
parent 64a1a69a5e
commit 356ed164f7
2 changed files with 23 additions and 9 deletions

View File

@ -107,6 +107,7 @@ class DocsWriter:
# Write all the arguments (or do nothing if there's none) # Write all the arguments (or do nothing if there's none)
for arg in tlobject.args: for arg in tlobject.args:
self.write(' ') self.write(' ')
add_link = not arg.generic_definition and not arg.is_generic
# "Opening" modifiers # "Opening" modifiers
if arg.generic_definition: if arg.generic_definition:
@ -128,9 +129,11 @@ class DocsWriter:
# Argument type # Argument type
if arg.type: if arg.type:
self.write('<a href="') if add_link:
self.write(self.type_to_path(arg.type)) self.write('<a href="%s">' % self.type_to_path(arg.type))
self.write('">%s</a>' % arg.type) self.write(arg.type)
if add_link:
self.write('</a>')
else: else:
self.write('#') self.write('#')
@ -142,9 +145,17 @@ class DocsWriter:
self.write('}') self.write('}')
# Now write the resulting type (result from a function, or type for a constructor) # Now write the resulting type (result from a function, or type for a constructor)
self.write(' = <a href="') self.write(' = ')
self.write(self.type_to_path(tlobject.result)) generic_name = next((arg.name for arg in tlobject.args
self.write('">%s</a>' % tlobject.result) if arg.generic_definition), None)
if tlobject.result == generic_name:
# Generic results cannot have any link
self.write(tlobject.result)
else:
self.write('<a href="')
self.write(self.type_to_path(tlobject.result))
self.write('">%s</a>' % tlobject.result)
self.write('</pre>') self.write('</pre>')

View File

@ -221,9 +221,12 @@ def generate_documentation(scheme_file):
bold=True) bold=True)
# Type row # Type row
docs.add_row(arg.type, if arg.is_generic:
link=get_path_for_type(arg.type, relative_to=filename), docs.add_row('!' + arg.type, align='center')
align='center') else:
docs.add_row(arg.type,
link=get_path_for_type(arg.type, relative_to=filename),
align='center')
# Create a description for this argument # Create a description for this argument
description = '' description = ''