namespace Spectre.Console { /// /// Contains extension methods for . /// public static class CursorExtensions { /// /// Shows the cursor. /// /// The cursor. public static void Show(this IAnsiConsoleCursor cursor) { if (cursor is null) { throw new System.ArgumentNullException(nameof(cursor)); } cursor.Show(true); } /// /// Hides the cursor. /// /// The cursor. public static void Hide(this IAnsiConsoleCursor cursor) { if (cursor is null) { throw new System.ArgumentNullException(nameof(cursor)); } cursor.Show(false); } /// /// Moves the cursor up. /// /// The cursor. public static void MoveUp(this IAnsiConsoleCursor cursor) { if (cursor is null) { throw new System.ArgumentNullException(nameof(cursor)); } cursor.Move(CursorDirection.Up, 1); } /// /// Moves the cursor up. /// /// The cursor. /// The number of steps to move the cursor. public static void MoveUp(this IAnsiConsoleCursor cursor, int steps) { if (cursor is null) { throw new System.ArgumentNullException(nameof(cursor)); } cursor.Move(CursorDirection.Up, steps); } /// /// Moves the cursor down. /// /// The cursor. public static void MoveDown(this IAnsiConsoleCursor cursor) { if (cursor is null) { throw new System.ArgumentNullException(nameof(cursor)); } cursor.Move(CursorDirection.Down, 1); } /// /// Moves the cursor down. /// /// The cursor. /// The number of steps to move the cursor. public static void MoveDown(this IAnsiConsoleCursor cursor, int steps) { if (cursor is null) { throw new System.ArgumentNullException(nameof(cursor)); } cursor.Move(CursorDirection.Down, steps); } /// /// Moves the cursor to the left. /// /// The cursor. public static void MoveLeft(this IAnsiConsoleCursor cursor) { if (cursor is null) { throw new System.ArgumentNullException(nameof(cursor)); } cursor.Move(CursorDirection.Left, 1); } /// /// Moves the cursor to the left. /// /// The cursor. /// The number of steps to move the cursor. public static void MoveLeft(this IAnsiConsoleCursor cursor, int steps) { if (cursor is null) { throw new System.ArgumentNullException(nameof(cursor)); } cursor.Move(CursorDirection.Left, steps); } /// /// Moves the cursor to the right. /// /// The cursor. public static void MoveRight(this IAnsiConsoleCursor cursor) { if (cursor is null) { throw new System.ArgumentNullException(nameof(cursor)); } cursor.Move(CursorDirection.Right, 1); } /// /// Moves the cursor to the right. /// /// The cursor. /// The number of steps to move the cursor. public static void MoveRight(this IAnsiConsoleCursor cursor, int steps) { if (cursor is null) { throw new System.ArgumentNullException(nameof(cursor)); } cursor.Move(CursorDirection.Right, steps); } } }