Crossterm Cursor | cross-platform cursor movement.

Lines of Code Latest Version MIT docs Join us on Discord

This crate allows you to move the terminal cursor cross-platform. It supports all UNIX and windows terminals down to windows 7 (not all terminals are tested see Tested Terminals for more info)

This crate is a sub-crate of crossterm to move the cursor, and can be use individually.

Other sub-crates are: - Crossterm Style - Crossterm Terminal - Crossterm Screen - Crossterm Input

When you want to use other modules as well you might want to use crossterm with feature flags.

Table of contents:

Getting Started

This documentation is only for crossterm_cursor version 0.2. Also, check out the examples folders with detailed examples for all functionality of this crate.

Add the crossterm_cursor package to your Cargo.toml file.

[dependencies] crossterm_cursor = "0.2" Import the crossterm_cursor modules you want to use.

```rust
extern crate crossterm_cursor;

pub use crossterm_cursor::{cursor, TerminalCursor}; ```

Useful Links

Features

These are the features of this crate:

Examples

The examples folder has more complete and verbose examples.

```rust use crossterm_cursor::cursor;

let mut cursor = cursor();

/// Moving the cursor // Set the cursor to position X: 10, Y: 5 in the terminal cursor.goto(10,5);

// Move the cursor up,right,down,left 3 cells. cursor.moveup(3); cursor.moveright(3); cursor.movedown(3); cursor.moveleft(3);

/// Safe the current cursor position to recall later // Goto X: 5 Y: 5 cursor.goto(5,5); // Safe cursor position: X: 5 Y: 5 cursor.saveposition(); // Goto X: 5 Y: 20 cursor.goto(5,20); // Print at X: 5 Y: 20. print!("Yea!"); // Reset back to X: 5 Y: 5. cursor.resetposition(); // Print 'Back' at X: 5 Y: 5. print!("Back");

// hide cursor cursor.hide(); // show cursor cursor.show(); // blink or not blinking of the cursor (not widely supported) cursor.blink(true)

```

Tested terminals

This crate supports all Unix terminals and windows terminals down to Windows 7 but not all of them have been tested. If you have used this library for a terminal other than the above list without issues feel free to add it to the above list, I really would appreciate it.

Authors

License

This project is licensed under the MIT License - see the LICENSE.md file for details