You've already forked uutils.github.io
mirror of
https://github.com/uutils/uutils.github.io.git
synced 2026-06-10 16:12:28 -07:00
deploy: f0e8d44e6e
This commit is contained in:
@@ -99,13 +99,6 @@
|
||||
<a href="#99" id="99">99</a>
|
||||
<a href="#100" id="100">100</a>
|
||||
<a href="#101" id="101">101</a>
|
||||
<a href="#102" id="102">102</a>
|
||||
<a href="#103" id="103">103</a>
|
||||
<a href="#104" id="104">104</a>
|
||||
<a href="#105" id="105">105</a>
|
||||
<a href="#106" id="106">106</a>
|
||||
<a href="#107" id="107">107</a>
|
||||
<a href="#108" id="108">108</a>
|
||||
</pre></div><pre class="rust"><code><span class="comment">// spell-checker:ignore (ToDO) conv
|
||||
|
||||
</span><span class="kw">use </span><span class="kw">crate</span>::options;
|
||||
@@ -113,17 +106,15 @@
|
||||
<span class="comment">// parse_style parses a style string into a NumberingStyle.
|
||||
</span><span class="kw">fn </span>parse_style(chars: <span class="kw-2">&</span>[char]) -> <span class="prelude-ty">Result</span><<span class="kw">crate</span>::NumberingStyle, String> {
|
||||
<span class="kw">if </span>chars.len() == <span class="number">1 </span>&& chars[<span class="number">0</span>] == <span class="string">'a' </span>{
|
||||
<span class="prelude-val">Ok</span>(<span class="kw">crate</span>::NumberingStyle::NumberForAll)
|
||||
<span class="prelude-val">Ok</span>(<span class="kw">crate</span>::NumberingStyle::All)
|
||||
} <span class="kw">else if </span>chars.len() == <span class="number">1 </span>&& chars[<span class="number">0</span>] == <span class="string">'t' </span>{
|
||||
<span class="prelude-val">Ok</span>(<span class="kw">crate</span>::NumberingStyle::NumberForNonEmpty)
|
||||
<span class="prelude-val">Ok</span>(<span class="kw">crate</span>::NumberingStyle::NonEmpty)
|
||||
} <span class="kw">else if </span>chars.len() == <span class="number">1 </span>&& chars[<span class="number">0</span>] == <span class="string">'n' </span>{
|
||||
<span class="prelude-val">Ok</span>(<span class="kw">crate</span>::NumberingStyle::NumberForNone)
|
||||
<span class="prelude-val">Ok</span>(<span class="kw">crate</span>::NumberingStyle::None)
|
||||
} <span class="kw">else if </span>chars.len() > <span class="number">1 </span>&& chars[<span class="number">0</span>] == <span class="string">'p' </span>{
|
||||
<span class="kw">let </span>s: String = chars[<span class="number">1</span>..].iter().cloned().collect();
|
||||
<span class="kw">match </span>regex::Regex::new(<span class="kw-2">&</span>s) {
|
||||
<span class="prelude-val">Ok</span>(re) => <span class="prelude-val">Ok</span>(<span class="kw">crate</span>::NumberingStyle::NumberForRegularExpression(Box::new(
|
||||
re,
|
||||
))),
|
||||
<span class="prelude-val">Ok</span>(re) => <span class="prelude-val">Ok</span>(<span class="kw">crate</span>::NumberingStyle::Regex(Box::new(re))),
|
||||
<span class="prelude-val">Err</span>(<span class="kw">_</span>) => <span class="prelude-val">Err</span>(String::from(<span class="string">"Illegal regular expression"</span>)),
|
||||
}
|
||||
} <span class="kw">else </span>{
|
||||
@@ -194,24 +185,19 @@
|
||||
<span class="string">"Invalid line number field width: ‘0’: Numerical result out of range"</span>,
|
||||
)),
|
||||
}
|
||||
<span class="kw">match </span>opts.get_one::<u64>(options::JOIN_BLANK_LINES) {
|
||||
<span class="prelude-val">None </span>=> {}
|
||||
<span class="prelude-val">Some</span>(num) <span class="kw">if </span><span class="kw-2">*</span>num > <span class="number">0 </span>=> settings.join_blank_lines = <span class="kw-2">*</span>num,
|
||||
<span class="prelude-val">Some</span>(<span class="kw">_</span>) => errs.push(String::from(
|
||||
<span class="string">"Invalid line number of blank lines: ‘0’: Numerical result out of range"</span>,
|
||||
)),
|
||||
}
|
||||
<span class="kw">if let </span><span class="prelude-val">Some</span>(num) = opts.get_one::<i64>(options::LINE_INCREMENT) {
|
||||
settings.line_increment = <span class="kw-2">*</span>num;
|
||||
}
|
||||
<span class="kw">if let </span><span class="prelude-val">Some</span>(num) = opts.get_one::<i64>(options::STARTING_LINE_NUMBER) {
|
||||
settings.starting_line_number = <span class="kw-2">*</span>num;
|
||||
}
|
||||
<span class="kw">match </span>opts.get_one::<String>(options::JOIN_BLANK_LINES) {
|
||||
<span class="prelude-val">None </span>=> {}
|
||||
<span class="prelude-val">Some</span>(val) => {
|
||||
<span class="kw">let </span>conv: <span class="prelude-ty">Option</span><u64> = val.parse().ok();
|
||||
<span class="kw">match </span>conv {
|
||||
<span class="prelude-val">None </span>=> {
|
||||
errs.push(String::from(<span class="string">"Illegal value for -l"</span>));
|
||||
}
|
||||
<span class="prelude-val">Some</span>(num) => settings.join_blank_lines = num,
|
||||
}
|
||||
}
|
||||
}
|
||||
errs
|
||||
}
|
||||
</code></pre></div></section></main></body></html>
|
||||
+14
-14
@@ -478,9 +478,9 @@
|
||||
<span class="kw">impl </span>Default <span class="kw">for </span>Settings {
|
||||
<span class="kw">fn </span>default() -> <span class="self">Self </span>{
|
||||
<span class="self">Self </span>{
|
||||
header_numbering: NumberingStyle::NumberForNone,
|
||||
body_numbering: NumberingStyle::NumberForAll,
|
||||
footer_numbering: NumberingStyle::NumberForNone,
|
||||
header_numbering: NumberingStyle::None,
|
||||
body_numbering: NumberingStyle::All,
|
||||
footer_numbering: NumberingStyle::None,
|
||||
section_delimiter: [<span class="string">'\\'</span>, <span class="string">':'</span>],
|
||||
starting_line_number: <span class="number">1</span>,
|
||||
line_increment: <span class="number">1</span>,
|
||||
@@ -499,12 +499,11 @@
|
||||
// 2. Number only nonempty lines
|
||||
// 3. Don't number any lines at all
|
||||
// 4. Number all lines that match a basic regular expression.
|
||||
</span><span class="attr">#[allow(clippy::enum_variant_names)]
|
||||
</span><span class="kw">enum </span>NumberingStyle {
|
||||
NumberForAll,
|
||||
NumberForNonEmpty,
|
||||
NumberForNone,
|
||||
NumberForRegularExpression(Box<regex::Regex>),
|
||||
All,
|
||||
NonEmpty,
|
||||
<span class="prelude-val">None</span>,
|
||||
Regex(Box<regex::Regex>),
|
||||
}
|
||||
|
||||
<span class="comment">// NumberFormat specifies how line numbers are output within their allocated
|
||||
@@ -663,7 +662,8 @@
|
||||
.short(<span class="string">'l'</span>)
|
||||
.long(options::JOIN_BLANK_LINES)
|
||||
.help(<span class="string">"group of NUMBER empty lines counted as one"</span>)
|
||||
.value_name(<span class="string">"NUMBER"</span>),
|
||||
.value_name(<span class="string">"NUMBER"</span>)
|
||||
.value_parser(<span class="macro">clap::value_parser!</span>(u64)),
|
||||
)
|
||||
.arg(
|
||||
Arg::new(options::NUMBER_FORMAT)
|
||||
@@ -713,7 +713,7 @@
|
||||
<span class="kw">let </span><span class="kw-2">mut </span>empty_line_count: u64 = <span class="number">0</span>;
|
||||
<span class="comment">// Initially, we use the body's line counting settings
|
||||
</span><span class="kw">let </span><span class="kw-2">mut </span>regex_filter = <span class="kw">match </span>settings.body_numbering {
|
||||
NumberingStyle::NumberForRegularExpression(<span class="kw-2">ref </span>re) => re,
|
||||
NumberingStyle::Regex(<span class="kw-2">ref </span>re) => re,
|
||||
<span class="kw">_ </span>=> <span class="kw-2">&</span>regexp,
|
||||
};
|
||||
<span class="kw">let </span><span class="kw-2">mut </span>line_filter: <span class="kw">fn</span>(<span class="kw-2">&</span>str, <span class="kw-2">&</span>regex::Regex) -> bool = pass_regex;
|
||||
@@ -774,16 +774,16 @@
|
||||
// a catch-all here.
|
||||
</span><span class="kw">_ </span>=> <span class="kw-2">&</span>settings.body_numbering,
|
||||
} {
|
||||
NumberingStyle::NumberForAll => {
|
||||
NumberingStyle::All => {
|
||||
line_filter = pass_all;
|
||||
}
|
||||
NumberingStyle::NumberForNonEmpty => {
|
||||
NumberingStyle::NonEmpty => {
|
||||
line_filter = pass_nonempty;
|
||||
}
|
||||
NumberingStyle::NumberForNone => {
|
||||
NumberingStyle::None => {
|
||||
line_filter = pass_none;
|
||||
}
|
||||
NumberingStyle::NumberForRegularExpression(<span class="kw-2">ref </span>re) => {
|
||||
NumberingStyle::Regex(<span class="kw-2">ref </span>re) => {
|
||||
line_filter = pass_regex;
|
||||
regex_filter = re;
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user