created: 20221009162634214 modified: 20230419103154329 tags: Pragmas title: Pragma: \function type: text/vnd.tiddlywiki <<.from-version "5.3.0">> The ''\function'' [[pragma|Pragmas]] is used to [[define custom functions|Functions]]. It is a shortcut syntax for the SetVariableWidget. The usual form allows custom functions to span multiple lines: ``` \function ([:],[:]...) \end [] ``` Note that the `\end` marker can optionally specify the name of the function to which it relates, enabling function definitions to be nested inside procedures, macros or widget definitions. There is also a single line form for shorter functions: ``` \function ([:],[:]...) ``` The first line of the definition specifies the function name and any parameters. Each parameter has a name and, optionally, a default value that is used if no value is supplied on a particular call to the function. The lines that follow contain the text of the function (i.e. the snippet represented by the function name), until `\end` appears on a line by itself: See [[Functions]] for more details.