namespace QFSW.QC { /// /// A suggestion that can be auto completed and displayed. /// public interface IQcSuggestion { /// /// The full signature of the suggestion for display purposes. /// string FullSignature { get; } /// /// The primary component of the signature. /// string PrimarySignature { get; } /// /// The secondary component of the signature. /// string SecondarySignature { get; } /// /// Determines if the provided prompt matches this suggestion /// /// The prompt to check. /// If the prompt matches the suggestion. bool MatchesPrompt(string prompt); /// /// Gets the completion value for this a prompt with this suggestion. /// /// The prompt to complete. /// The completion value. string GetCompletion(string prompt); /// /// Gets the completion tail, similar to the secondary signature, for a prompt with this suggestion. /// /// The prompt to complete the tail for. /// The completion tail. string GetCompletionTail(string prompt); /// /// Gets the inner suggestion context for this suggestion, allowing for further suggestions to be provided. /// /// The outer suggestion context. /// The inner suggestion context, null if none can be created. SuggestionContext? GetInnerSuggestionContext(SuggestionContext context); } }