Example #1
0
    public async Task <IReadOnlyCollection <FormatSpan> > HighlightAsync(string input, CancellationToken cancellationToken)
    {
        if (hasUserOptedOutFromColor)
        {
            return(Array.Empty <FormatSpan>());
        }

        if (input.Equals(previousInput))
        {
            return(previousOutput);
        }

        var highlights = await promptCallbacks.HighlightCallbackAsync(input, cancellationToken).ConfigureAwait(false);

        previousInput  = input;
        previousOutput = highlights;
        return(highlights);
    }