Skip to content

Commit 940f081

Browse files
committed
Apply new cargo clippy & fmt
1 parent 04a7276 commit 940f081

File tree

11 files changed

+138
-125
lines changed

11 files changed

+138
-125
lines changed

examples/pipes.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,7 @@ tls_init!(SETS, Vec<char>, vec![]);
6565
// pipes'
6666
tls_init!(x, Vec<i32>, vec![]); // current position
6767
tls_init!(y, Vec<i32>, vec![]);
68-
tls_init!(l, Vec<i32>, vec![]); // current directions
69-
// 0: up, 1: right, 2: down, 3: left
68+
tls_init!(l, Vec<i32>, vec![]); // current directions, 0: up, 1: right, 2: down, 3: left
7069
tls_init!(n, Vec<i32>, vec![]); // new directions
7170
tls_init!(v, Vec<i32>, vec![]); // current types
7271
tls_init!(c, Vec<String>, vec![]); // current escape codes

examples/progress.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use cmd_lib::{run_cmd, CmdResult};
1+
use cmd_lib::{CmdResult, run_cmd};
22

33
#[cmd_lib::main]
44
fn main() -> CmdResult {

examples/tetris.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,10 @@ const filled_cell: &str = "[]"; // how we draw filled cell
7777
tls_init!(use_color, bool, true); // true if we use color, false if not
7878
tls_init!(score, i32, 0); // score variable initialization
7979
tls_init!(level, i32, 1); // level variable initialization
80-
tls_init!(lines_completed, i32, 0); // completed lines counter initialization
81-
// screen_buffer is variable, that accumulates all screen changes
82-
// this variable is printed in controller once per game cycle
80+
// completed lines counter initialization
81+
// screen_buffer is variable, that accumulates all screen changes
82+
// this variable is printed in controller once per game cycle
83+
tls_init!(lines_completed, i32, 0);
8384
tls_init!(screen_buffer, String, "".to_string());
8485

8586
fn puts(changes: &str) {

examples/tracing.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
use cmd_lib::{run_cmd, CmdResult};
1+
use cmd_lib::{CmdResult, run_cmd};
22
use tracing::level_filters::LevelFilter;
3-
use tracing_subscriber::{layer::SubscriberExt as _, util::SubscriberInitExt as _, EnvFilter};
3+
use tracing_subscriber::{EnvFilter, layer::SubscriberExt as _, util::SubscriberInitExt as _};
44

55
#[cmd_lib::main]
66
fn main() -> CmdResult {

macros/src/lexer.rs

Lines changed: 42 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate::parser::{ParseArg, Parser};
2-
use proc_macro2::{token_stream, Delimiter, Ident, Literal, Span, TokenStream, TokenTree};
32
use proc_macro_error2::abort;
3+
use proc_macro2::{Delimiter, Ident, Literal, Span, TokenStream, TokenTree, token_stream};
44
use quote::quote;
55
use std::iter::Peekable;
66
use std::str::Chars;
@@ -65,7 +65,7 @@ pub fn scan_str_lit(lit: &Literal) -> TokenStream {
6565
// If it's braced, we might have a format specifier or it might just be empty braces.
6666
if chars.peek() == Some(&':') {
6767
chars.next(); // Consume ':'
68-
// Read the format specifier until '}'
68+
// Read the format specifier until '}'
6969
while let Some(&c) = chars.peek() {
7070
if c == '}' {
7171
break;
@@ -290,14 +290,13 @@ impl Lexer {
290290
self.extend_last_arg(quote!(#ss.into_os_string()));
291291
} else {
292292
let mut is_redirect = false;
293-
if s == "1" || s == "2" {
294-
if let Some(TokenTree::Punct(p)) = self.iter.peek_no_gap() {
295-
if p.as_char() == '>' {
296-
self.iter.next();
297-
self.scan_redirect_out(if s == "1" { 1 } else { 2 });
298-
is_redirect = true;
299-
}
300-
}
293+
if (s == "1" || s == "2")
294+
&& let Some(TokenTree::Punct(p)) = self.iter.peek_no_gap()
295+
&& p.as_char() == '>'
296+
{
297+
self.iter.next();
298+
self.scan_redirect_out(if s == "1" { 1 } else { 2 });
299+
is_redirect = true;
301300
}
302301
if !is_redirect {
303302
self.extend_last_arg(quote!(#s));
@@ -306,15 +305,15 @@ impl Lexer {
306305
}
307306

308307
fn scan_pipe(&mut self) {
309-
if let Some(TokenTree::Punct(p)) = self.iter.peek_no_gap() {
310-
if p.as_char() == '&' {
311-
if let Some(ref redirect) = self.last_redirect {
312-
abort!(redirect.1, "invalid '&': found previous redirect");
313-
}
314-
Self::check_set_redirect(&mut self.seen_redirect.2, "stderr", p.span());
315-
self.args.push(ParseArg::RedirectFd(2, 1));
316-
self.iter.next();
308+
if let Some(TokenTree::Punct(p)) = self.iter.peek_no_gap()
309+
&& p.as_char() == '&'
310+
{
311+
if let Some(ref redirect) = self.last_redirect {
312+
abort!(redirect.1, "invalid '&': found previous redirect");
317313
}
314+
Self::check_set_redirect(&mut self.seen_redirect.2, "stderr", p.span());
315+
self.args.push(ParseArg::RedirectFd(2, 1));
316+
self.iter.next();
318317
}
319318

320319
// expect new command
@@ -342,29 +341,29 @@ impl Lexer {
342341
RedirectFd::Stderr { append }
343342
},
344343
);
345-
if let Some(TokenTree::Punct(p)) = self.iter.peek_no_gap() {
346-
if p.as_char() == '&' {
347-
if append {
348-
abort!(p.span(), "raw fd not allowed for append redirection");
344+
if let Some(TokenTree::Punct(p)) = self.iter.peek_no_gap()
345+
&& p.as_char() == '&'
346+
{
347+
if append {
348+
abort!(p.span(), "raw fd not allowed for append redirection");
349+
}
350+
self.iter.next();
351+
if let Some(TokenTree::Literal(lit)) = self.iter.peek_no_gap() {
352+
let s = lit.to_string();
353+
if s.starts_with('\"') || s.starts_with('r') {
354+
abort!(lit.span(), "invalid literal string after &");
349355
}
350-
self.iter.next();
351-
if let Some(TokenTree::Literal(lit)) = self.iter.peek_no_gap() {
352-
let s = lit.to_string();
353-
if s.starts_with('\"') || s.starts_with('r') {
354-
abort!(lit.span(), "invalid literal string after &");
355-
}
356-
if &s == "1" {
357-
self.args.push(ParseArg::RedirectFd(fd, 1));
358-
} else if &s == "2" {
359-
self.args.push(ParseArg::RedirectFd(fd, 2));
360-
} else {
361-
abort!(lit.span(), "Only &1 or &2 is supported");
362-
}
363-
self.last_redirect = None;
364-
self.iter.next();
356+
if &s == "1" {
357+
self.args.push(ParseArg::RedirectFd(fd, 1));
358+
} else if &s == "2" {
359+
self.args.push(ParseArg::RedirectFd(fd, 2));
365360
} else {
366-
abort!(self.iter.span(), "expect &1 or &2");
361+
abort!(lit.span(), "Only &1 or &2 is supported");
367362
}
363+
self.last_redirect = None;
364+
self.iter.next();
365+
} else {
366+
abort!(self.iter.span(), "expect &1 or &2");
368367
}
369368
}
370369
}
@@ -436,11 +435,11 @@ impl Lexer {
436435

437436
fn check_append(&mut self) -> bool {
438437
let mut append = false;
439-
if let Some(TokenTree::Punct(p)) = self.iter.peek_no_gap() {
440-
if p.as_char() == '>' {
441-
append = true;
442-
self.iter.next();
443-
}
438+
if let Some(TokenTree::Punct(p)) = self.iter.peek_no_gap()
439+
&& p.as_char() == '>'
440+
{
441+
append = true;
442+
self.iter.next();
444443
}
445444
append
446445
}

macros/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,8 @@
102102
//! run_cmd!(ls / /x >> > /tmp/f);
103103
//! ```
104104
105-
use proc_macro2::{TokenStream, TokenTree};
106105
use proc_macro_error2::{abort, proc_macro_error};
106+
use proc_macro2::{TokenStream, TokenTree};
107107
use quote::quote;
108108

109109
/// Mark main function to log error result by default.

src/builtins.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
use crate::{debug, error, info, trace, warn};
21
use crate::{CmdEnv, CmdResult};
2+
use crate::{debug, error, info, trace, warn};
33
use std::io::{Read, Write};
44

55
pub(crate) fn builtin_echo(env: &mut CmdEnv) -> CmdResult {

src/child.rs

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
use crate::{CmdResult, FunResult, process};
12
use crate::{info, warn};
2-
use crate::{process, CmdResult, FunResult};
33
use os_pipe::PipeReader;
44
use std::any::Any;
55
use std::fmt::Display;
@@ -90,10 +90,10 @@ impl FunChildren {
9090
/// Waits for the children processes to exit completely, returning the stdout output.
9191
pub fn wait_with_output(&mut self) -> FunResult {
9292
let (res, stdout, _) = self.inner_wait_with_all(false);
93-
if let Err(e) = res {
94-
if !self.ignore_error {
95-
return Err(e);
96-
}
93+
if let Err(e) = res
94+
&& !self.ignore_error
95+
{
96+
return Err(e);
9797
}
9898
Ok(stdout)
9999
}
@@ -110,11 +110,7 @@ impl FunChildren {
110110
}
111111
Ok(_) => {
112112
let ret = CmdChildren::wait_children(&mut self.children);
113-
if self.ignore_error {
114-
Ok(())
115-
} else {
116-
ret
117-
}
113+
if self.ignore_error { Ok(()) } else { ret }
118114
}
119115
}
120116
}
@@ -234,10 +230,10 @@ impl CmdChild {
234230
let _stderr_thread =
235231
StderrThread::new(&self.cmd, &self.file, self.line, self.stderr.take(), false);
236232
let res = self.handle.wait(&self.cmd, &self.file, self.line);
237-
if let Err(e) = res {
238-
if is_last || process::pipefail_enabled() {
239-
return Err(e);
240-
}
233+
if let Err(e) = res
234+
&& (is_last || process::pipefail_enabled())
235+
{
236+
return Err(e);
241237
}
242238
Ok(())
243239
}
@@ -265,10 +261,10 @@ impl CmdChild {
265261
capture_stderr,
266262
);
267263
let mut stdout_res = Ok(());
268-
if let Some(mut stdout) = self.stdout.take() {
269-
if let Err(e) = stdout.read_to_end(stdout_buf) {
270-
stdout_res = Err(e)
271-
}
264+
if let Some(mut stdout) = self.stdout.take()
265+
&& let Err(e) = stdout.read_to_end(stdout_buf)
266+
{
267+
stdout_res = Err(e)
272268
}
273269
*stderr_buf = stderr_thread.join();
274270
let wait_res = self.handle.wait(&self.cmd, &self.file, self.line);

src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -399,8 +399,8 @@ pub use log as inner_log;
399399
#[doc(hidden)]
400400
pub use logger::try_init_default_logger;
401401
#[doc(hidden)]
402-
pub use process::{register_cmd, AsOsStr, Cmd, CmdString, Cmds, GroupCmds, Redirect};
403-
pub use process::{set_debug, set_pipefail, CmdEnv, ScopedDebug, ScopedPipefail};
402+
pub use process::{AsOsStr, Cmd, CmdString, Cmds, GroupCmds, Redirect, register_cmd};
403+
pub use process::{CmdEnv, ScopedDebug, ScopedPipefail, set_debug, set_pipefail};
404404

405405
mod builtins;
406406
mod child;

src/process.rs

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
use crate::builtins::*;
22
use crate::child::{CmdChild, CmdChildHandle, CmdChildren, FunChildren};
33
use crate::io::{CmdIn, CmdOut};
4-
use crate::{debug, warn};
54
use crate::{CmdResult, FunResult};
5+
use crate::{debug, warn};
66
use faccess::{AccessMode, PathExt};
77
use os_pipe::{self, PipeReader, PipeWriter};
88
use std::cell::Cell;
@@ -246,10 +246,10 @@ impl GroupCmds {
246246

247247
pub fn run_cmd(&mut self) -> CmdResult {
248248
for cmds in self.group_cmds.iter_mut() {
249-
if let Err(e) = cmds.run_cmd(&mut self.current_dir) {
250-
if !cmds.ignore_error {
251-
return Err(e);
252-
}
249+
if let Err(e) = cmds.run_cmd(&mut self.current_dir)
250+
&& !cmds.ignore_error
251+
{
252+
return Err(e);
253253
}
254254
}
255255
Ok(())
@@ -449,11 +449,11 @@ impl Cmd {
449449

450450
let arg_str = arg.to_string_lossy().to_string();
451451
if arg_str != IGNORE_CMD && !self.args.iter().any(|cmd| *cmd != IGNORE_CMD) {
452-
if let Some((key, value)) = arg_str.split_once('=') {
453-
if key.chars().all(|c| c.is_ascii_alphanumeric() || c == '_') {
454-
self.vars.insert(key.into(), value.into());
455-
return self;
456-
}
452+
if let Some((key, value)) = arg_str.split_once('=')
453+
&& key.chars().all(|c| c.is_ascii_alphanumeric() || c == '_')
454+
{
455+
self.vars.insert(key.into(), value.into());
456+
return self;
457457
}
458458
self.in_cmd_map = CMD_MAP.lock().unwrap().contains_key(arg);
459459
}
@@ -779,11 +779,13 @@ mod tests {
779779
#[test]
780780
fn test_run_piped_cmds() {
781781
let mut current_dir = PathBuf::new();
782-
assert!(Cmds::default()
783-
.pipe(Cmd::default().add_args(["echo", "rust"]))
784-
.pipe(Cmd::default().add_args(["wc"]))
785-
.run_cmd(&mut current_dir)
786-
.is_ok());
782+
assert!(
783+
Cmds::default()
784+
.pipe(Cmd::default().add_args(["echo", "rust"]))
785+
.pipe(Cmd::default().add_args(["wc"]))
786+
.run_cmd(&mut current_dir)
787+
.is_ok()
788+
);
787789
}
788790

789791
#[test]
@@ -814,10 +816,12 @@ mod tests {
814816
let tmp_file = "/tmp/file_echo_rust";
815817
let mut write_cmd = Cmd::default().add_args(["echo", "rust"]);
816818
write_cmd = write_cmd.add_redirect(Redirect::StdoutToFile(PathBuf::from(tmp_file), false));
817-
assert!(Cmds::default()
818-
.pipe(write_cmd)
819-
.run_cmd(&mut current_dir)
820-
.is_ok());
819+
assert!(
820+
Cmds::default()
821+
.pipe(write_cmd)
822+
.run_cmd(&mut current_dir)
823+
.is_ok()
824+
);
821825

822826
let read_cmd = Cmd::default().add_args(["cat", tmp_file]);
823827
assert_eq!(
@@ -829,9 +833,11 @@ mod tests {
829833
);
830834

831835
let cleanup_cmd = Cmd::default().add_args(["rm", tmp_file]);
832-
assert!(Cmds::default()
833-
.pipe(cleanup_cmd)
834-
.run_cmd(&mut current_dir)
835-
.is_ok());
836+
assert!(
837+
Cmds::default()
838+
.pipe(cleanup_cmd)
839+
.run_cmd(&mut current_dir)
840+
.is_ok()
841+
);
836842
}
837843
}

0 commit comments

Comments
 (0)