internal override IEnumerable <HelpInfo> SearchHelp(
     HelpRequest helpRequest,
     bool searchOnlyContent)
 {
     using (AliasHelpProvider.tracer.TraceMethod())
     {
         if (!searchOnlyContent)
         {
             string target  = helpRequest.Target;
             string pattern = target;
             if (!WildcardPattern.ContainsWildcardCharacters(target))
             {
                 // ISSUE: reference to a compiler-generated field
                 this.\u003Cpattern\u003E5__a += "*";
             }
             WildcardPattern matcher = new WildcardPattern(pattern, WildcardOptions.IgnoreCase);
             IDictionary <string, AliasInfo> aliasTable = this._sessionState.Internal.GetAliasTable();
             foreach (string key in (IEnumerable <string>)aliasTable.Keys)
             {
                 if (matcher.IsMatch(key))
                 {
                     HelpRequest exactMatchHelpRequest = helpRequest.Clone();
                     exactMatchHelpRequest.Target = key;
                     foreach (HelpInfo helpInfo in this.ExactMatchHelp(exactMatchHelpRequest))
                     {
                         if (AliasHelpProvider.Match(helpInfo, helpRequest))
                         {
                             yield return(helpInfo);
                         }
                     }
                 }
             }
         }
     }
 }
Beispiel #2
0
        /// <summary>
        /// Initialize help providers.
        /// </summary>
        /// <remarks>
        /// Currently we hardcode the sequence of help provider initialization.
        /// In the longer run, we probably will load help providers based on some provider catalog. That
        /// will allow new providers to be defined by customer.
        /// </remarks>
        private void InitializeHelpProviders()
        {
            HelpProvider helpProvider = null;

            helpProvider = new AliasHelpProvider(this);
            _helpProviders.Add(helpProvider);

            helpProvider = new ScriptCommandHelpProvider(this);
            _helpProviders.Add(helpProvider);

            helpProvider = new CommandHelpProvider(this);
            _helpProviders.Add(helpProvider);

            helpProvider = new ProviderHelpProvider(this);
            _helpProviders.Add(helpProvider);

            helpProvider = new PSClassHelpProvider(this);
            _helpProviders.Add(helpProvider);

            /* TH Bug#3141590 - Disable DscResourceHelp for ClientRTM due to perf issue.
             #if !CORECLR // TODO:CORECLR Add this back in once we support Get-DscResource
             * helpProvider = new DscResourceHelpProvider(this);
             * _helpProviders.Add(helpProvider);
             #endif
             */
            helpProvider = new HelpFileHelpProvider(this);
            _helpProviders.Add(helpProvider);

            helpProvider = new DefaultHelpProvider(this);
            _helpProviders.Add(helpProvider);
        }
 private static bool Match(string target, string[] patterns)
 {
     if (patterns == null || patterns.Length == 0)
     {
         return(true);
     }
     foreach (string pattern in patterns)
     {
         if (AliasHelpProvider.Match(target, pattern))
         {
             return(true);
         }
     }
     return(false);
 }
Beispiel #4
0
        private void InitializeHelpProviders()
        {
            HelpProvider provider = null;

            provider = new AliasHelpProvider(this);
            this._helpProviders.Add(provider);
            provider = new ScriptCommandHelpProvider(this);
            this._helpProviders.Add(provider);
            provider = new CommandHelpProvider(this);
            this._helpProviders.Add(provider);
            provider = new ProviderHelpProvider(this);
            this._helpProviders.Add(provider);
            provider = new HelpFileHelpProvider(this);
            this._helpProviders.Add(provider);
            provider = new FaqHelpProvider(this);
            this._helpProviders.Add(provider);
            provider = new GlossaryHelpProvider(this);
            this._helpProviders.Add(provider);
            provider = new GeneralHelpProvider(this);
            this._helpProviders.Add(provider);
            provider = new DefaultHelpProvider(this);
            this._helpProviders.Add(provider);
        }
Beispiel #5
0
 private void InitializeHelpProviders()
 {
     HelpProvider provider = null;
     provider = new AliasHelpProvider(this);
     this._helpProviders.Add(provider);
     provider = new ScriptCommandHelpProvider(this);
     this._helpProviders.Add(provider);
     provider = new CommandHelpProvider(this);
     this._helpProviders.Add(provider);
     provider = new ProviderHelpProvider(this);
     this._helpProviders.Add(provider);
     provider = new HelpFileHelpProvider(this);
     this._helpProviders.Add(provider);
     provider = new FaqHelpProvider(this);
     this._helpProviders.Add(provider);
     provider = new GlossaryHelpProvider(this);
     this._helpProviders.Add(provider);
     provider = new GeneralHelpProvider(this);
     this._helpProviders.Add(provider);
     provider = new DefaultHelpProvider(this);
     this._helpProviders.Add(provider);
 }
 private static bool Match(HelpInfo helpInfo, HelpRequest helpRequest) => helpRequest == null || (helpRequest.HelpCategory & helpInfo.HelpCategory) != HelpCategory.None && AliasHelpProvider.Match(helpInfo.Component, helpRequest.Component) && (AliasHelpProvider.Match(helpInfo.Role, helpRequest.Role) && AliasHelpProvider.Match(helpInfo.Functionality, helpRequest.Functionality));
Beispiel #7
0
        /// <summary>
        /// Initialize help providers. 
        /// </summary>
        /// <remarks>
        /// Currently we hardcode the sequence of help provider initialization.
        /// In the longer run, we probably will load help providers based on some provider catalog. That
        /// will allow new providers to be defined by customer.
        /// </remarks>
        private void InitializeHelpProviders()
        {
            HelpProvider helpProvider = null;

            helpProvider = new AliasHelpProvider(this);
            _helpProviders.Add(helpProvider);

            helpProvider = new ScriptCommandHelpProvider(this);
            _helpProviders.Add(helpProvider);

            helpProvider = new CommandHelpProvider(this);
            _helpProviders.Add(helpProvider);

            helpProvider = new ProviderHelpProvider(this);
            _helpProviders.Add(helpProvider);

            helpProvider = new PSClassHelpProvider(this);
            _helpProviders.Add(helpProvider);

            /* TH Bug#3141590 - Disable DscResourceHelp for ClientRTM due to perf issue.
#if !CORECLR // TODO:CORECLR Add this back in once we support Get-DscResource
            helpProvider = new DscResourceHelpProvider(this);
            _helpProviders.Add(helpProvider);
#endif
            */
            helpProvider = new HelpFileHelpProvider(this);
            _helpProviders.Add(helpProvider);

            helpProvider = new FaqHelpProvider(this);
            _helpProviders.Add(helpProvider);

            helpProvider = new GlossaryHelpProvider(this);
            _helpProviders.Add(helpProvider);

            helpProvider = new GeneralHelpProvider(this);
            _helpProviders.Add(helpProvider);

            helpProvider = new DefaultHelpProvider(this);
            _helpProviders.Add(helpProvider);
        }