1 // This Source Code Form is subject to the terms of the Mozilla Public
2 // License, v. 2.0. If a copy of the MPL was not distributed with this
3 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
5 //! Tutil is a toolbox for developing command line applications in Rust,
6 //! influenced by the [TTY library][tty] for Ruby. It provides modules for
7 //! common tasks such as colourisation, gathering information from the user,
8 //! confirmation prompts, and querying the system and terminal. It is not
9 //! intended to be a command line argument parser, rather, it is intended to be
10 //! a plumbing library for common tasks.
12 //! This documentation is written in British English, however the API is
13 //! completely written in US English to match the design of the Rust standard
14 //! library and most crates in circulation. If you do find something in the API
15 //! that is written in British English file a [bug report][br] or submit a
16 //! [pull request][pr] correcting the spelling.
18 //! [tty]: http://peter-murach.github.io/tty/
19 //! [br]: https://github.com/SShrike/tutil/issues
20 //! [pr]: https://github.com/SShrike/tutil/pulls
22 #![doc(html_root_url = "https://shrike.me/tutil/")]
24 #![cfg_attr(feature = "lints", feature(plugin))]
25 #![cfg_attr(feature = "lints", plugin(clippy))]
27 #![cfg_attr(feature = "lints", allow(doc_markdown))]
28 #![cfg_attr(feature = "lints", allow(needless_return))]
30 #![warn(missing_docs)]
31 #![warn(trivial_casts, trivial_numeric_casts)]
32 #![warn(unused_extern_crates, unused_qualifications)]
34 #[cfg(unix)] extern crate libc;