nodes: 0, module; 1, function_definition; 2, function_name:generate_help; 3, parameters; 4, block; 5, expression_statement; 6, expression_statement; 7, expression_statement; 8, for_statement; 9, return_statement; 10, comment:"""Generates help text with alphabetically sorted recipes."""; 11, assignment; 12, assignment; 13, pattern_list; 14, call; 15, block; 16, identifier:help_text; 17, identifier:help_text; 18, string; 19, identifier:recipes; 20, call; 21, identifier:contents; 22, identifier:_; 23, identifier:_; 24, identifier:sorted; 25, argument_list; 26, expression_statement; 27, string_content; 28, attribute; 29, argument_list; 30, identifier:recipes; 31, keyword_argument; 32, augmented_assignment; 33, escape_sequence:\n; 34, escape_sequence:\n; 35, escape_sequence:\n; 36, attribute; 37, identifier:get_registered_recipes; 38, identifier:key; 39, lambda; 40, identifier:help_text; 41, call; 42, identifier:config; 43, identifier:Config; 44, lambda_parameters; 45, subscript; 46, attribute; 47, argument_list; 48, identifier:k; 49, subscript; 50, string; 51, string; 52, identifier:format; 53, subscript; 54, call; 55, identifier:k; 56, integer:0; 57, string_content:name; 58, string_content; 59, identifier:contents; 60, string; 61, attribute; 62, argument_list; 63, escape_sequence:\n; 64, string_content:name; 65, identifier:contents; 66, identifier:get; 67, string; 68, string; 69, string_content:short_description; 70, string_content:No description
code: def generate_help():
    """Generates help text with alphabetically sorted recipes."""
    help_text = '\nAvailable recipes:\n\n'
    recipes = config.Config.get_registered_recipes()
    for contents, _, _ in sorted(recipes, key=lambda k: k[0]['name']):
      help_text += ' {0:<35s}{1:s}\n'.format(
          contents['name'], contents.get('short_description', 'No description'))
    return help_text