aeruginous_io/
lib.rs

1/*********************** GNU General Public License 3.0 ***********************\
2|                                                                              |
3|  Copyright (C) 2024 Kevin Matthes                                            |
4|                                                                              |
5|  This program is free software: you can redistribute it and/or modify        |
6|  it under the terms of the GNU General Public License as published by        |
7|  the Free Software Foundation, either version 3 of the License, or           |
8|  (at your option) any later version.                                         |
9|                                                                              |
10|  This program is distributed in the hope that it will be useful,             |
11|  but WITHOUT ANY WARRANTY; without even the implied warranty of              |
12|  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               |
13|  GNU General Public License for more details.                                |
14|                                                                              |
15|  You should have received a copy of the GNU General Public License           |
16|  along with this program.  If not, see <https://www.gnu.org/licenses/>.      |
17|                                                                              |
18\******************************************************************************/
19
20//! <!------------------- #[aeruginous::mercy::0003::start] ------------------->
21//!
22//! [ci]:  https://github.com/kevinmatthes/aeruginous-io/workflows/ci/badge.svg
23//! [crate]:  https://crates.io/crates/aeruginous-io
24//! [crates-io]:  https://img.shields.io/crates/v/aeruginous-io
25//! [deps]:  https://deps.rs/repo/github/kevinmatthes/aeruginous-io/status.svg
26//! [deps-rs]:  https://deps.rs/repo/github/kevinmatthes/aeruginous-io
27//! [docs]:  https://docs.rs/aeruginous/badge.svg
28//! [docs-rs]:  https://docs.rs/aeruginous-io
29//! [downloads]:  https://img.shields.io/crates/d/aeruginous-io
30//! [gpl3]:  https://github.com/kevinmatthes/aeruginous-io/blob/main/LICENSE
31//! [lcns]:  https://img.shields.io/github/license/kevinmatthes/aeruginous-io
32//! [lst]:  https://img.shields.io/github/last-commit/kevinmatthes/aeruginous-io
33//! [msrv]:  https://img.shields.io/badge/MSRV-1.78.0-brightgreen
34//! [release]:  https://github.com/kevinmatthes/aeruginous-io/releases/latest
35//! [renovate]:  https://img.shields.io/badge/renovate-enabled-brightgreen.svg
36//! [repository]:  https://github.com/kevinmatthes/aeruginous-io
37//! [tag]:  https://img.shields.io/github/v/tag/kevinmatthes/aeruginous-io
38//!
39//! <!-------------------- #[aeruginous::mercy::0003::end] -------------------->
40//!
41//! <p align = 'center'>
42//! <a href = 'https://github.com/kevinmatthes/aeruginous-rs'>
43//! <img
44//!   height = '200'
45//!   src =
46//!     'https://github.com/kevinmatthes/aeruginous-rs/raw/main/aeruginous.svg'
47//! />
48//! </a>
49//! <br/>
50//! The Aeruginous Open Source Development Toolbox
51//! </p>
52//!
53//! ## Summary
54//!
55//! [![][ci]][repository]
56//! [![][lst]][repository]
57//! [![][lcns]][repository]
58//! [![][renovate]][repository]
59//! [![][tag]][release]
60//! <br>
61//! [![][crates-io]][crate]
62//! [![][deps]][deps-rs]
63//! [![][docs]][docs-rs]
64//! [![][downloads]][crate]
65//! [![][msrv]][repository]
66//!
67//! A set of input / output utilities for the Aeruginous Open Source Development
68//! Toolbox.
69//!
70//! 1. [License](#license)
71//! 1. [Dependencies](#dependencies)
72//!
73//! The current code coverage is **<!-- cov -->86.56%<!-- cov -->**.
74//!
75//! ## License
76//!
77//! This project's license is **GPL-3.0**.  The whole license text can be found
78//! in [`LICENSE`][gpl3] in the repository root.  The brief version is as
79//! follows:
80//!
81//! > Copyright (C) 2024 Kevin Matthes
82//! >
83//! > This program is free software: you can redistribute it and/or modify
84//! > it under the terms of the GNU General Public License as published by
85//! > the Free Software Foundation, either version 3 of the License, or
86//! > (at your option) any later version.
87//! >
88//! > This program is distributed in the hope that it will be useful,
89//! > but WITHOUT ANY WARRANTY; without even the implied warranty of
90//! > MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
91//! > GNU General Public License for more details.
92//! >
93//! > You should have received a copy of the GNU General Public License
94//! > along with this program.  If not, see <https://www.gnu.org/licenses/>.
95//!
96//! ## Dependencies
97//!
98//! - [`sysexits`]
99//!   [![](https://img.shields.io/crates/l/sysexits)
100//!   ](https://github.com/sorairolake/sysexits-rs)
101//!
102//! <!------------------------------------------------------------------------->
103
104#![doc(
105    html_logo_url = "https://github.com/kevinmatthes/aeruginous-rs/raw/main/aeruginous.svg" // #[aeruginous::mercy::0003]
106)]
107#![deny(
108    clippy::all,
109    clippy::cargo,
110    clippy::complexity,
111    clippy::correctness,
112    clippy::nursery,
113    clippy::pedantic,
114    clippy::perf,
115    clippy::suspicious,
116    clippy::style,
117    dead_code,
118    deprecated,
119    missing_docs,
120    rustdoc::broken_intra_doc_links,
121    unreachable_code,
122    unused_assignments,
123    unused_imports,
124    unused_macros,
125    unused_must_use,
126    unused_mut,
127    unused_parens,
128    unused_variables
129)]
130
131mod reading;
132mod writing;
133
134pub use reading::{
135    BufReadReader, OptionReader, PathBufLikeReader, VectorReader,
136};
137pub use writing::{
138    OptionTruncation, PathBufLikeAppendix, PathBufLikeTruncation, Writer,
139};
140
141/// This crate's name.
142pub const NAME: &str = "aeruginous-io";
143
144/// This crate's version.
145pub const VERSION: &str = "v0.8.1";
146
147/******************************************************************************/