efl/src/scripts/gendoc/doc_macros.include

348 lines
14 KiB
Plaintext

#!##############################################################################
#!#### BEST_SUMMARY(obj) #####################################################
#!##############################################################################
<!--(macro BEST_SUMMARY)-->
<!--(if isinstance(obj, Documentation))-->
${UNTOKENIZE(tokens=obj.summary_tokens)}$#!
<!--(elif isinstance(obj, Implement))-->
<!--(if obj.documentation_get(obj.function.type))-->
${UNTOKENIZE(tokens=obj.documentation_get(obj.function.type).summary_tokens)}$#!
<!--(else)-->
<!--(for parent_impl in obj.class_.implements)-->
<!--(if parent_impl.function.name == obj.function.name)-->
<!--(if parent_impl.documentation_get(parent_impl.function.type))-->
${UNTOKENIZE(tokens=parent_impl.documentation_get(parent_impl.function.type).summary_tokens)}$#!
<!--(end)-->
<!--(end)-->
<!--(end)-->
<!--(end)-->
<!--(elif obj and obj.documentation)-->
${UNTOKENIZE(tokens=obj.documentation.summary_tokens)}$#!
<!--(else)-->
**MISSING DOCS !!!!!**#!
<!--(end)-->
<!--(end)-->
#!##############################################################################
#!#### BEST_DESCRIPTION(obj) #################################################
#!##############################################################################
<!--(macro BEST_DESCRIPTION)-->
<!--(if isinstance(obj, Documentation))-->
${UNTOKENIZE(tokens=obj.description_tokens)}$#!
<!--(elif isinstance(obj, Implement))-->
<!--(if obj.documentation_get(obj.function.type))-->
${UNTOKENIZE(tokens=obj.documentation_get(obj.function.type).description_tokens)}$#!
<!--(else)-->
<!--(for parent_impl in obj.class_.implements)-->
<!--(if parent_impl.function.name == obj.function.name)-->
<!--(if parent_impl.documentation_get(parent_impl.function.type))-->
${UNTOKENIZE(tokens=parent_impl.documentation_get(parent_impl.function.type).description_tokens)}$#!
<!--(end)-->
<!--(end)-->
<!--(end)-->
<!--(end)-->
<!--(elif obj and obj.documentation)-->
${UNTOKENIZE(tokens=obj.documentation.description_tokens)}$#!
<!--(else)-->
**MISSING DOCS !!!!!**#!
<!--(end)-->
<!--(end)-->
#!##############################################################################
#!#### BEST_SINCE(obj) #######################################################
#!##############################################################################
<!--(macro BEST_SINCE)-->
<!--(if isinstance(obj, Documentation) and obj.since)-->
//Since ${obj.since}$//
<!--(elif isinstance(obj, Implement))-->
<!--(if obj.documentation_get(obj.function.type))-->
//Since ${obj.documentation_get(obj.function.type).since}$//
<!--(else)-->
<!--(for parent_impl in obj.class_.implements)-->
<!--(if parent_impl.function.name == obj.function.name)-->
<!--(if parent_impl.documentation_get(parent_impl.function.type))-->
//Since ${parent_impl.documentation_get(parent_impl.function.type).since}$//
<!--(end)-->
<!--(end)-->
<!--(end)-->
<!--(end)-->
<!--(elif obj and obj.documentation and obj.documentation.since)-->
//Since ${obj.documentation.since}$//
<!--(end)-->
<!--(end)-->
#!##############################################################################
#!#### UNTOKENIZE(tokens) ####################################################
#!##############################################################################
<!--(macro UNTOKENIZE)-->
<!--(for i, paragraph in enumerate(tokens))-->
${'\n\n' if i else ''}$#!
<!--(for token in paragraph)-->
<!--(if token.type == Eolian_Doc_Token_Type.TEXT)-->
%%${token.text}$%%#!
<!--(elif token.type == Eolian_Doc_Token_Type.REF)-->
**REF ${token.text}$ ${token.ref}$ ??**#!
<!--(elif token.type == Eolian_Doc_Token_Type.MARKUP_MONOSPACE)-->
''${token.text}$''#!
<!--(elif token.type == Eolian_Doc_Token_Type.MARK_NOTE)-->
<note>
${token.text}$
</note>
<!--(elif token.type == Eolian_Doc_Token_Type.MARK_WARNING)-->
<note warning>
${token.text}$
</note>
<!--(elif token.type == Eolian_Doc_Token_Type.MARK_REMARK)-->
<note tip>
${token.text}$
</note>
<!--(elif token.type == Eolian_Doc_Token_Type.MARK_TODO)-->
<note>
**TODO:** ${token.text}$
</note>
<!--(else)-->
**USUPPORTED TOKEN TYPE ${token}$**
<!--(end)-->
<!--(end)-->
<!--(end)-->
<!--(end)-->
#!##############################################################################
#!#### CLS_TYPE(cls) #########################################################
#!##############################################################################
<!--(macro CLS_TYPE)-->
<!--(if cls.type == Eolian_Class_Type.REGULAR)-->
class#!
<!--(elif cls.type == Eolian_Class_Type.ABSTRACT)-->
class#!
<!--(elif cls.type == Eolian_Class_Type.MIXIN)-->
mixin#!
<!--(elif cls.type == Eolian_Class_Type.INTERFACE)-->
interface#!
<!--(end)-->
<!--(end)-->
#!##############################################################################
#!#### CLS_LINK(cls) #########################################################
#!##############################################################################
<!--(macro CLS_LINK)-->
[[:develop:api#!
<!--(for n in cls.namespaces)-->
:${n.lower()}$#!
<!--(end)-->
:${cls.short_name.lower()}$|${cls.name}$]]
<!--(end)-->
#!##############################################################################
#!#### EVENT_LINK(cls, ev) ###################################################
#!##############################################################################
<!--(macro EVENT_LINK)-->
[[:develop:api#!
<!--(for n in cls.namespaces)-->
:${n.lower()}$#!
<!--(end)-->
:${cls.short_name.lower()}$#!
:event#!
:${ev.short_name.lower().replace(',','_')}$|${ev.name}$]]
<!--(end)-->
#!##############################################################################
#!#### TYPEDECL_LINK(typedecl) ###############################################
#!##############################################################################
<!--(macro TYPEDECL_LINK)-->
[[:develop:api#!
<!--(for n in typedecl.namespaces)-->
:${n.lower()}$#!
<!--(end)-->
:${typedecl.short_name.lower()}$|${typedecl.name}$]]
<!--(end)-->
#!##############################################################################
#!#### TYPE_LINK(type) #######################################################
#!##############################################################################
<!--(macro TYPE_LINK)-->
[[:develop:api#!
<!--(for n in type.namespaces)-->
:${n.lower()}$#!
<!--(end)-->
:${type.short_name.lower()}$|${type.name}$]]
<!--(end)-->
#!##############################################################################
#!#### FUNC_LINK(func) #######################################################
#!##############################################################################
<!--(macro FUNC_LINK)-->
[[:develop:api#!
<!--(for n in func.class_.namespaces)-->
:${n.lower()}$#!
<!--(end)-->
<!--(if func.type == Eolian_Function_Type.METHOD)-->
:method#!
<!--(else)-->
:property#!
<!--(end)-->
:${func.short_name}$|${func.short_name}$]]
<!--(end)-->
#!##############################################################################
#!#### FUNC_SCOPE(func) ######################################################
#!##############################################################################
<!--(macro FUNC_SCOPE)-->
<!--(if func.is_class)-->
''class method'' #!
<!--(end)-->
<!--(if func.type == Eolian_Function_Type.PROPERTY)-->
<!--(if func.getter_scope == Eolian_Object_Scope.PROTECTED)-->
''protected get'' #!
<!--(elif func.getter_scope == Eolian_Object_Scope.PRIVATE)-->
''private get'' #!
<!--(end)-->
<!--(if func.setter_scope == Eolian_Object_Scope.PROTECTED)-->
''protected set'' #!
<!--(elif func.setter_scope == Eolian_Object_Scope.PRIVATE)-->
''private set'' #!
<!--(end)-->
<!--(elif func.type == Eolian_Function_Type.METHOD)-->
<!--(if func.method_scope == Eolian_Object_Scope.PROTECTED)-->
''protected'' #!
<!--(elif func.method_scope == Eolian_Object_Scope.PRIVATE)-->
''private'' #!
<!--(end)-->
<!--(end)-->
<!--(end)-->
#!##############################################################################
#!#### OBJECT_SCOPE(obj) #####################################################
#!##############################################################################
<!--(macro OBJECT_SCOPE)-->
<!--(if obj.scope == Eolian_Object_Scope.PROTECTED)-->
''private'' #!
<!--(elif obj.scope == Eolian_Object_Scope.PRIVATE)-->
''protected'' #!
<!--(end)-->
<!--(end)-->
#!##############################################################################
#!#### EVENT_TAGS(ev) ########################################################
#!##############################################################################
<!--(macro EVENT_TAGS)-->
<!--(if ev.is_hot)-->
''hot'' #!
<!--(elif ev.is_restart)-->
''restart'' #!
<!--(end)-->
<!--(end)-->
#!##############################################################################
#!#### IMPLEMENT_TAGS(impl) ##################################################
#!##############################################################################
<!--(macro IMPLEMENT_TAGS)-->
<!--(if impl.is_prop_get and impl.is_prop_set)-->
''rw'' #!
<!--(elif impl.is_prop_get)-->
''read only'' #!
<!--(elif impl.is_prop_set)-->
''write only'' #!
<!--(end)-->
<!--(end)-->
#!##############################################################################
#!#### PARAM_DIRECTION_TAG(param) ############################################
#!##############################################################################
<!--(macro PARAM_DIRECTION_TAG)-->
<!--(if param.direction == Eolian_Parameter_Dir.IN)-->
''in'' #!
<!--(elif param.direction == Eolian_Parameter_Dir.OUT)-->
''out'' #!
<!--(elif param.direction == Eolian_Parameter_Dir.INOUT)-->
''inout'' #!
<!--(end)-->
<!--(end)-->
#!##############################################################################
#!#### METHOD_PARAMS(func) ###################################################
#!##############################################################################
<!--(macro METHOD_PARAMS)-->
<!--(for i, par in enumerate(func.parameters))-->
<!--(if i == 0)-->
^ parameters ^ type ^ description ^
<!--(end)-->
|${PARAM_DIRECTION_TAG(param=par)}$ **${par.name}$**|${par.type.name}$ #!
|${BEST_SUMMARY(obj=par)}$ ${BEST_DESCRIPTION(obj=par)}$|
<!--(else)-->
**This function do not accept any parameter.**
<!--(end)-->
<!--(if func.method_return_type)-->
${setvar("obj", "func.return_documentation(Eolian_Function_Type.METHOD)")}$#!
^ return ^ description ^
|**${func.method_return_type.name}$**|${BEST_SUMMARY(obj=obj)}$ ${BEST_DESCRIPTION(obj=obj)}$|
<!--(else)-->
**This function do not return anything.**
<!--(end)-->
<!--(end)-->
#!##############################################################################
#!#### PROPERTY_PARAMS(func) #################################################
#!##############################################################################
<!--(macro PROPERTY_PARAMS)-->
<!--(for i, val in enumerate(func.getter_values or func.setter_values))-->
<!--(if i == 0)-->
^ values ^ type ^ description ^
<!--(end)-->
|**${val.name}$**|${val.type.name}$|${BEST_SUMMARY(obj=val)}$|
<!--(end)-->
<!--(for i, key in enumerate(func.getter_keys or func.setter_keys))-->
<!--(if i == 0)-->
^ keys ^ type ^ description ^
<!--(end)-->
|**${key.name}$**|${key.type.name}$|${BEST_SUMMARY(obj=key)}$|
<!--(end)-->
<!--(end)-->
#!##############################################################################
#!#### IMPLEMENT_FULL(impl, cls) #############################################
#!##############################################################################
<!--(macro IMPLEMENT_FULL)-->
**${FUNC_LINK(func=impl.function)}$** #!
(#!
<!--(if impl.is_property)-->
<!--(for i, val in enumerate(impl.function.getter_values or impl.function.setter_values))-->
${', ' if i else ''}$${val.type.short_name}$#!
<!--(end)-->
<!--(elif impl.is_method)-->
<!--(for i, param in enumerate(impl.function.parameters))-->
${', ' if i else ''}$#!
//${param.type.short_name}$// ''${param.direction.name.lower()}$'' **${param.short_name}$**#!
<!--(end)-->
<!--(end)-->
) #!
${IMPLEMENT_TAGS}$ #!
<!--(if impl.is_method)-->
<!--(if impl.function.method_return_type)-->
=> //${impl.function.method_return_type.short_name}$// #!
<!--(else)-->
=> //None// #!
<!--(end)-->
<!--(end)-->
${FUNC_SCOPE(func=impl.function)}$#!
<!--(if impl.class_ != cls)-->
//[Overridden from ${CLS_LINK(cls=impl.class_)}$]// #!
<!--(end)-->
\\
> ${BEST_SUMMARY(obj=impl)}$ ${BEST_SINCE(obj=impl)}$
++++ more... |
${BEST_DESCRIPTION(obj=impl)}$
<!--(if impl.is_method)-->
${METHOD_PARAMS(func=impl.function)}$
<!--(else)-->
${PROPERTY_PARAMS(func=impl.function)}$
<!--(end)-->
++++
<!--(end)-->
#!##############################################################################
#!#### OBJECT_STATIC_CONTENT(obj, section) ###################################
#!##############################################################################
<!--(macro OBJECT_STATIC_CONTENT)-->
{{page>:develop:api-include#!
<!--(for ns in obj.namespaces)-->
:${ns.lower()}$#!
<!--(end)-->
:${obj.name.lower()}$#!
:{section}#!
&nouser&nolink&nodate}}
<!--(end)-->