1#set( $nl = " 2" ) 3#set( $fn = $funcInfo.functionName) 4#set( $fnl = $fn.replaceAll("[.]", "_").toLowerCase()) 5{.starlark-object} 6#[[##]]# $fn 7 8#set( $hasParams = false) 9{.starlark-signature} 10${funcInfo.functionName}(## Comment to consume newline 11#foreach ($param in $funcInfo.getParameterList()) 12#if($param.name != "self") 13#set( $hasParams = true) 14[${param.name}](#${fnl}_${param.name})## Comment to consume newline 15#if(!$param.getDefaultValue().isEmpty()) 16=$param.getDefaultValue()#end#if($foreach.hasNext), 17#end 18#end 19#end 20) 21 22${funcInfo.docString} 23 24#if ($hasParams) 25{#${fnl}_parameters} 26**PARAMETERS** [¶](#${fnl}_parameters){.headerlink} 27 28#foreach ($param in $funcInfo.getParameterList()) 29#if($param.name != "self") 30#set($link = $fnl + "_" + $param.name) 31#if($foreach.first) 32{.params-box} 33#end 34## The .span wrapper is necessary so the trailing colon doesn't wrap 35:[${param.name}[¶](#$link){.headerlink}]{.span}: []{#$link} 36#if(!$param.getDefaultValue().isEmpty())(_default `${param.getDefaultValue()}`_) #end 37#if(!$param.docString.isEmpty()) 38 $param.docString.replaceAll("$nl", "$nl ") 39#else 40 _undocumented_ 41#end 42#end 43#end 44#end 45#if (!$funcInfo.getReturn().docString.isEmpty()) 46 47{#${fnl}_returns} 48RETURNS [¶](#${fnl}_returns){.headerlink} 49: ${funcInfo.getReturn().docString.replaceAll("$nl", "$nl ")} 50#end 51#if (!$funcInfo.getDeprecated().docString.isEmpty()) 52 53**DEPRECATED** 54 55${funcInfo.getDeprecated().docString} 56#end 57