private bool CheckForArgsError(ITemplateMatchInfo template, out string commandParseFailureMessage) { bool argsError; if (template.HasParseError()) { commandParseFailureMessage = template.GetParseError(); argsError = true; } else { commandParseFailureMessage = null; IReadOnlyList <string> invalidParams = template.GetInvalidParameterNames(); if (invalidParams.Count > 0) { HelpForTemplateResolution.DisplayInvalidParameters(invalidParams); argsError = true; } else { argsError = false; } } return(argsError); }
private IReadOnlyList <ITemplate> ListTemplates(string language, TemplateKind kind) { var templateList = TemplateListResolver.GetTemplateResolutionResult(_settingsLoader.UserTemplateCache.TemplateInfo, _hostDataLoader, _commandInput, _defaultLanguage); if (templateList.TryGetUnambiguousTemplateGroupToUse(out IReadOnlyList <ITemplateMatchInfo> unambiguousTemplateGroupForDetailDisplay)) { return(unambiguousTemplateGroupForDetailDisplay.Where(t => t.IsMatch).Select(ti => new DotNetTemplateAdaptor(ti, kind)).ToList().AsReadOnly()); } var ambiguous = templateList.GetBestTemplateMatchList(true); var groups = HelpForTemplateResolution.GetLanguagesForTemplateInfoGroups(ambiguous, language, "C#"); return(groups.Keys.Where(t => t.IsMatch).Select(ti => new DotNetTemplateAdaptor(ti, kind)).ToList().AsReadOnly()); }