File: DocumentationComments\IDocumentationCommentSnippetService.cs
Web Access
Project: ..\..\..\src\Features\Core\Portable\Microsoft.CodeAnalysis.Features.csproj (Microsoft.CodeAnalysis.Features)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
 
using System.Threading;
using Microsoft.CodeAnalysis.Host;
using Microsoft.CodeAnalysis.Text;
 
namespace Microsoft.CodeAnalysis.DocumentationComments
{
    internal interface IDocumentationCommentSnippetService : ILanguageService
    {
        /// <summary>
        /// A single character string indicating what the comment character is for the documentation comments
        /// </summary>
        string DocumentationCommentCharacter { get; }
 
        DocumentationCommentSnippet? GetDocumentationCommentSnippetOnCharacterTyped(
            SyntaxTree syntaxTree,
            SourceText text,
            int position,
            in DocumentationCommentOptions options,
            CancellationToken cancellationToken);
 
        DocumentationCommentSnippet? GetDocumentationCommentSnippetOnCommandInvoke(
            SyntaxTree syntaxTree,
            SourceText text,
            int position,
            in DocumentationCommentOptions options,
            CancellationToken cancellationToken);
 
        DocumentationCommentSnippet? GetDocumentationCommentSnippetOnEnterTyped(
            SyntaxTree syntaxTree,
            SourceText text,
            int position,
            in DocumentationCommentOptions options,
            CancellationToken cancellationToken);
 
        DocumentationCommentSnippet? GetDocumentationCommentSnippetFromPreviousLine(
            in DocumentationCommentOptions options,
            TextLine currentLine,
            TextLine previousLine);
 
        bool IsValidTargetMember(SyntaxTree syntaxTree, SourceText text, int caretPosition, CancellationToken cancellationToken);
    }
}