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 | |