1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
/*********************** GNU General Public License 3.0 ***********************\
| |
| Copyright (C) 2023 Kevin Matthes |
| |
| This program is free software: you can redistribute it and/or modify |
| it under the terms of the GNU General Public License as published by |
| the Free Software Foundation, either version 3 of the License, or |
| (at your option) any later version. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU General Public License for more details. |
| |
| You should have received a copy of the GNU General Public License |
| along with this program. If not, see <https://www.gnu.org/licenses/>. |
| |
\******************************************************************************/
//! <!------------------------------------------------------------------------->
//!
//! [bors]: https://bors.tech/images/badge_small.svg
//! [bors-url]: https://app.bors.tech/repositories/63092
//! [ci]: https://github.com/kevinmatthes/aeruginous-rs/workflows/ci/badge.svg
//! [ci-url]: https://github.com/kevinmatthes/aeruginous-rs/workflows/ci
//! [crates-io]: https://img.shields.io/crates/v/aeruginous
//! [crates-io-url]: https://crates.io/crates/aeruginous
//! [downloads]: https://img.shields.io/crates/d/aeruginous
//! [gpl3]: https://github.com/kevinmatthes/aeruginous-rs/blob/main/LICENSE
//! [lcns]: https://img.shields.io/github/license/kevinmatthes/aeruginous-rs
//! [lcnss]: https://github.com/kevinmatthes/aeruginous-rs/tree/main/LICENSEs
//! [lst]: https://img.shields.io/github/last-commit/kevinmatthes/aeruginous-rs
//! [repository]: https://github.com/kevinmatthes/aeruginous-rs
//!
//! <!------------------------------------------------------------------------->
//!
//! # `aeruginous`
//!
//! ## Summary
//!
//! [![][bors]][bors-url]
//! [![][ci]][ci-url]
//! [![][crates-io]][crates-io-url]
//! [![][downloads]][crates-io-url]
//! [![][lst]][repository]
//! [![][lcns]][repository]
//!
//! The Aeruginous Open Source Development Toolbox.
//!
//! 1. [License](#license)
//! 1. [Introduction](#introduction)
//! 1. [Meaning of the Name](#meaning-of-the-name)
//! 1. [Supported Subcommands](#supported-subcommands)
//! 1. [`rs2md`](#rs2md)
//!
//! ## License
//!
//! This project's license is **GPL-3.0**. The whole license text can be found
//! in [`LICENSE`][gpl3] in the repository root. The brief version is as
//! follows:
//!
//! > Copyright (C) 2022─2023 Kevin Matthes
//! >
//! > This program is free software: you can redistribute it and/or modify
//! > it under the terms of the GNU General Public License as published by
//! > the Free Software Foundation, either version 3 of the License, or
//! > (at your option) any later version.
//! >
//! > This program is distributed in the hope that it will be useful,
//! > but WITHOUT ANY WARRANTY; without even the implied warranty of
//! > MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//! > GNU General Public License for more details.
//! >
//! > You should have received a copy of the GNU General Public License
//! > along with this program. If not, see <https://www.gnu.org/licenses/>.
//!
//! License information about the dependencies this software requires to work
//! can be found in [`LICENSEs`][lcnss].
//!
//! ## Introduction
//!
//! `aeruginous` is a Rust application providing several development utilities.
//!
//! Originally, it was planned to be a time tracking CLI but during the
//! development of the first stable version, certain common tasks needed to be
//! fulfilled repeatedly. Since the application already had a somehow stable
//! calling interface, the solutions to these tasks were added as subcommands
//! to `aeruginous` in order to provide a convenient and time efficient
//! automation. One major advantage of doing is the reduced maintenance effort
//! and overall setup overhead because there is only one project to maintain
//! instead multiple ones.
//!
//! This is how the idea arose to design `aeruginous` to be a toolbox instead
//! of only a time tracker.
//!
//! ## Meaning of the Name
//!
//! When searching a name for this project, one main requirement was to reflect
//! both the originally intended main purpose of tracking time as well as the
//! coding language this CLI is written in, Rust. The adjective *aeruginous*
//! fulfills both criterions as it means that the described noun has patina, a
//! special form of rust which appears after a certain period of time has
//! passed.
//!
//! ## Supported Subcommands
//!
//! ### `rs2md`
//!
//! Source code should always be documented. Rust's documentation system
//! supports Markdown syntax in documentation comments. Thus, it is a
//! convenient decision to create a Rust project's README file from the crate
//! root's documentation. This command is also helpful to check the
//! documentation comments for typos.
//!
//! When called, the subcommand accepts a list of input files to read from. If
//! no input file is given, `rs2md` will read from `stdin`.
//!
//! At option, an output file can be specified where the results will be written
//! to. If omitted, the results will be written to `stdout`.
//!
//! Users are free to choose whether they would like to extract Rust comments
//! starting with `//!` (outer comments) or comments starting with `///` (inner
//! comments). If neither option is given, nothing will be extracted.
//!
//! <!------------------------------------------------------------------------->
pub use crate::;
/// This crate's name.
pub const NAME: &str = "aeruginous";
/// This crate's self-description.
pub const SELF_DESCRIPTION: &str =
"The Aeruginous Open Source Development Toolbox";
/// This crate's version.
pub const VERSION: &str = "v0.1.0";
/******************************************************************************/