| File: Completions\TextCompletionContext.cs | Web Access |
| Project: src\command-line-api\src\System.CommandLine\System.CommandLine.csproj (System.CommandLine) |
// Copyright (c) .NET Foundation and contributors. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. namespace System.CommandLine.Completions; /// <summary> /// Provides details for calculating completions in the context of complete, unsplit command line text. /// </summary> public class TextCompletionContext : CompletionContext { private TextCompletionContext( ParseResult parseResult, string commandLineText, int cursorPosition) : base(parseResult, GetWordToComplete(parseResult, cursorPosition)) { CommandLineText = commandLineText; CursorPosition = cursorPosition; } internal TextCompletionContext( ParseResult parseResult, string commandLineText) : this(parseResult, commandLineText, commandLineText.Length) { } /// <summary> /// The position of the cursor within the command line. /// </summary> public int CursorPosition { get; } /// <summary> /// The complete text of the command line prior to splitting, including any additional whitespace. /// </summary> public string CommandLineText { get; } /// <summary> /// Creates a new instance of <see cref="TextCompletionContext"/> at the specified cursor position. /// </summary> /// <param name="position">The cursor position at which completions are calculated.</param> public TextCompletionContext AtCursorPosition(int position) => new(ParseResult, CommandLineText, position); }