| 1 | [package]
|
| 2 | name = "crossterm"
|
| 3 | version = "0.29.0"
|
| 4 | authors = ["T. Post" ]
|
| 5 | description = "A crossplatform terminal library for manipulating terminals."
|
| 6 | repository = "https://github.com/crossterm-rs/crossterm"
|
| 7 | documentation = "https://docs.rs/crossterm/"
|
| 8 | license = "MIT"
|
| 9 | keywords = ["event" , "color" , "cli" , "input" , "terminal" ]
|
| 10 | exclude = ["target" , "Cargo.lock" ]
|
| 11 | readme = "README.md"
|
| 12 | edition = "2021"
|
| 13 | rust-version = "1.63.0"
|
| 14 | categories = ["command-line-interface" , "command-line-utilities" ]
|
| 15 |
|
| 16 | [lib]
|
| 17 | name = "crossterm"
|
| 18 | path = "src/lib.rs"
|
| 19 |
|
| 20 | [package.metadata.docs.rs]
|
| 21 | all-features = true
|
| 22 |
|
| 23 | [features]
|
| 24 | default = ["bracketed-paste" , "events" , "windows" , "derive-more" ]
|
| 25 |
|
| 26 | #! ### Default features
|
| 27 | ## Enables triggering [`Event::Paste`](event::Event::Paste) when pasting text into the terminal.
|
| 28 | bracketed-paste = []
|
| 29 |
|
| 30 | ## Enables reading input/events from the system using the [`event`] module.
|
| 31 | events = ["dep:mio" , "dep:signal-hook" , "dep:signal-hook-mio" ]
|
| 32 |
|
| 33 | ## Enables windows specific crates.
|
| 34 | windows = ["dep:winapi" , "dep:crossterm_winapi" ]
|
| 35 |
|
| 36 | #! ### Optional Features
|
| 37 |
|
| 38 | ## Enables the [EventStream](event::EventStream) struct for async event reading.
|
| 39 | event-stream = ["dep:futures-core" , "events" ]
|
| 40 |
|
| 41 | ## Enables [`serde`] for various types.
|
| 42 | serde = ["dep:serde" , "bitflags/serde" ]
|
| 43 |
|
| 44 | ## Enables raw file descriptor polling / selecting instead of mio.
|
| 45 | use-dev-tty = ["filedescriptor" , "rustix/process" ]
|
| 46 |
|
| 47 | ## Enables `is_*` helper functions for event enums.
|
| 48 | derive-more = ["dep:derive_more" ]
|
| 49 |
|
| 50 | ## Enables interacting with a host clipboard via [`clipboard`](clipboard/index.html)
|
| 51 | osc52 = ["dep:base64" ]
|
| 52 |
|
| 53 | [dependencies]
|
| 54 | base64 = { version = "0.22" , optional = true }
|
| 55 | bitflags = { version = "2.9" }
|
| 56 | derive_more = { version = "2.0.0" , features = ["is_variant" ], optional = true }
|
| 57 | document-features = "0.2.11"
|
| 58 | futures-core = { version = "0.3" , optional = true, default-features = false }
|
| 59 | parking_lot = "0.12"
|
| 60 | serde = { version = "1.0" , features = ["derive" ], optional = true }
|
| 61 |
|
| 62 | # Windows dependencies
|
| 63 | [target.'cfg(windows)'.dependencies]
|
| 64 | crossterm_winapi = { version = "0.9.1" , optional = true }
|
| 65 | winapi = { version = "0.3.9" , optional = true, features = ["winuser" , "winerror" ] }
|
| 66 |
|
| 67 | # UNIX dependencies
|
| 68 | [target.'cfg(unix)'.dependencies]
|
| 69 | filedescriptor = { version = "0.8" , optional = true }
|
| 70 | # Default to using rustix for UNIX systems, but provide an option to use libc for backwards
|
| 71 | # compatibility.
|
| 72 | libc = { version = "0.2" , default-features = false, optional = true }
|
| 73 | mio = { version = "1.0" , features = ["os-poll" ], optional = true }
|
| 74 | rustix = { version = "1" , default-features = false, features = ["std" , "stdio" , "termios" ] }
|
| 75 | signal-hook = { version = "0.3.17" , optional = true }
|
| 76 | signal-hook-mio = { version = "0.2.4" , features = ["support-v1_0" ], optional = true }
|
| 77 |
|
| 78 | [dev-dependencies]
|
| 79 | async-std = "1.13"
|
| 80 | futures = "0.3"
|
| 81 | futures-timer = "3.0"
|
| 82 | serde_json = "1.0"
|
| 83 | serial_test = "3.0.0"
|
| 84 | temp-env = "0.3.6"
|
| 85 | tokio = { version = "1.44" , features = ["full" ] }
|
| 86 |
|
| 87 | # Examples
|
| 88 | [[example]]
|
| 89 | name = "event-read"
|
| 90 | required-features = ["bracketed-paste" , "events" ]
|
| 91 |
|
| 92 | [[example]]
|
| 93 | name = "event-match-modifiers"
|
| 94 | required-features = ["bracketed-paste" , "events" ]
|
| 95 |
|
| 96 | [[example]]
|
| 97 | name = "event-poll-read"
|
| 98 | required-features = ["bracketed-paste" , "events" ]
|
| 99 |
|
| 100 | [[example]]
|
| 101 | name = "event-stream-async-std"
|
| 102 | required-features = ["event-stream" , "events" ]
|
| 103 |
|
| 104 | [[example]]
|
| 105 | name = "event-stream-tokio"
|
| 106 | required-features = ["event-stream" , "events" ]
|
| 107 |
|
| 108 | [[example]]
|
| 109 | name = "event-read-char-line"
|
| 110 | required-features = ["events" ]
|
| 111 |
|
| 112 | [[example]]
|
| 113 | name = "stderr"
|
| 114 | required-features = ["events" ]
|
| 115 |
|
| 116 | [[example]]
|
| 117 | name = "key-display"
|
| 118 | required-features = ["events" ]
|
| 119 |
|
| 120 | [[example]]
|
| 121 | name = "copy-to-clipboard"
|
| 122 | required-features = ["osc52" ]
|
| 123 | |