public async Task ProcessHelpRequest()

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;
        }