in src/Cli/func/Actions/LocalActions/CreateFunctionAction.cs [444:503]
public async Task<bool> ProcessHelpRequest(string triggerName, bool promptQuestions = false)
{
if (string.IsNullOrWhiteSpace(triggerName))
{
return false;
}
var supportedLanguages = new List<string>() { Languages.JavaScript, Languages.TypeScript, Languages.Python };
if (string.IsNullOrEmpty(Language))
{
if (CurrentPathHasLocalSettings())
{
await UpdateLanguageAndRuntime();
}
if (string.IsNullOrEmpty(Language) || !supportedLanguages.Contains(Language, StringComparer.CurrentCultureIgnoreCase))
{
if (!promptQuestions)
{
return false;
}
SelectionMenuHelper.DisplaySelectionWizardPrompt("language");
Language = SelectionMenuHelper.DisplaySelectionWizard(supportedLanguages);
}
}
IEnumerable<string> triggerNames;
if (Languages.Python.EqualsIgnoreCase(Language))
{
triggerNames = GetTriggerNamesFromNewTemplates(Language, forNewModelHelp: true);
}
else
{
triggerNames = GetTriggerNames(Language, forNewModelHelp: true);
}
await _contextHelpManager.LoadTriggerHelp(Language, triggerNames.ToList());
if (_contextHelpManager.IsValidTriggerNameForHelp(triggerName))
{
triggerName = _contextHelpManager.GetTriggerTypeFromTriggerNameForHelp(triggerName);
}
if (promptQuestions && !_contextHelpManager.IsValidTriggerTypeForHelp(triggerName))
{
ColoredConsole.WriteLine(ErrorColor($"The trigger name '{TriggerNameForHelp}' is not valid for {Language} language. "));
SelectionMenuHelper.DisplaySelectionWizardPrompt("valid trigger");
triggerName = SelectionMenuHelper.DisplaySelectionWizard(triggerNames);
triggerName = _contextHelpManager.GetTriggerTypeFromTriggerNameForHelp(triggerName);
}
if (_contextHelpManager.IsValidTriggerTypeForHelp(triggerName))
{
ColoredConsole.Write(AdditionalInfoColor($"{Environment.NewLine}{_contextHelpManager.GetTriggerHelp(triggerName, Language)}"));
return true;
}
return false;
}