pub fn genericDefaultHandlers<'a, T>(
) -> HashMap<String, (Box<&'a (dyn Fn(Configuration<T>, Variables<'_, T>, Option<TokenStream>, TokenStream) -> Result<(Variables<'_, T>, TokenStream), (Variables<'_, T>, TokenStream)> + 'static)>, Option<TokenStream>)>
where T: 'static + StartMarker + Clone,
Expand description

This function generates the default handler set.

Currently, the actually useful handlers consist of:

Invoke asDefined byNote
ififHandlerUse as $(if test { true branch } { false branch }). The test will often be either a variable that has been set elsewhere or a $(logic ...) block.
letletHandlerInternally, a wrapper around assignmentInternalHandler; do not interpolate on definition or use
varvarHandlerInternally, a wrapper around assignmentInternalHandler; interpolate on definition and on use
concatconcatHandler
naiveStringifiernaiveStringifierHandler
string_to_identstring_to_identHandler
arithmeticarithmeticHandlerYou have to specify the type of the number eg i8, usize, f64
logiclogicHandlerSublanguage: nesting with parenthesis; logic ops ⌜&⌝, ⌜|⌝, ⌜^⌝, ⌜=⌝, unary ⌜!⌝, ⌜true⌝, ⌜false⌝; numeric comparisons with numbers ⌜>⌝, ⌜>=⌝, ⌜=⌝, ⌜<=⌝, ⌜<⌝, ⌜!=⌝
mkmkHandlerA simple way to define new handlers at the use site
quotequoteIn the lisp sense; renders the argument inert
unquoteunquoteIn the lisp sense; renders the argument ert
runrun
arrayarrayHandlerThis handler has a bunch of subcommands and options; it is where most of the functionality for dealing with the representation we use of arrays is.
importimportHandlerBasic file inclusion; path must be specified by quoted segments; special unquoted identier Base is used for the crate root; errors in included file will point at import statement
withSigilwithSigilHandler
markermarkerHandlerThis handler is for embedding data in one invocation of do_with_in! in a way that can be used in other invocations.
runMarkersrunMarkersHandlerThis handler loads data into the environment from other invocations of do_with_in!.