aboutsummaryrefslogtreecommitdiff
path: root/bin/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'bin/src/main.rs')
-rw-r--r--bin/src/main.rs31
1 files changed, 18 insertions, 13 deletions
diff --git a/bin/src/main.rs b/bin/src/main.rs
index cbf2601..4063621 100644
--- a/bin/src/main.rs
+++ b/bin/src/main.rs
@@ -6,7 +6,10 @@ mod traits;
6 6
7use std::io; 7use std::io;
8 8
9use crate::{err::{StatixErr, FixErr, SingleFixErr}, traits::WriteDiagnostic}; 9use crate::{
10 err::{FixErr, SingleFixErr, StatixErr},
11 traits::WriteDiagnostic,
12};
10 13
11use clap::Clap; 14use clap::Clap;
12use config::{Opts, SubCommand}; 15use config::{Opts, SubCommand};
@@ -17,7 +20,8 @@ fn _main() -> Result<(), StatixErr> {
17 match opts.cmd { 20 match opts.cmd {
18 SubCommand::Check(check_config) => { 21 SubCommand::Check(check_config) => {
19 let vfs = check_config.vfs()?; 22 let vfs = check_config.vfs()?;
20 let (lints, errors): (Vec<_>, Vec<_>) = vfs.iter().map(lint::lint).partition(Result::is_ok); 23 let (lints, errors): (Vec<_>, Vec<_>) =
24 vfs.iter().map(lint::lint).partition(Result::is_ok);
21 let lint_results = lints.into_iter().map(Result::unwrap); 25 let lint_results = lints.into_iter().map(Result::unwrap);
22 let errors = errors.into_iter().map(Result::unwrap_err); 26 let errors = errors.into_iter().map(Result::unwrap_err);
23 27
@@ -28,7 +32,7 @@ fn _main() -> Result<(), StatixErr> {
28 errors.for_each(|e| { 32 errors.for_each(|e| {
29 eprintln!("{}", e); 33 eprintln!("{}", e);
30 }); 34 });
31 }, 35 }
32 SubCommand::Fix(fix_config) => { 36 SubCommand::Fix(fix_config) => {
33 let vfs = fix_config.vfs()?; 37 let vfs = fix_config.vfs()?;
34 for entry in vfs.iter() { 38 for entry in vfs.iter() {
@@ -40,17 +44,17 @@ fn _main() -> Result<(), StatixErr> {
40 println!( 44 println!(
41 "{}", 45 "{}",
42 text_diff 46 text_diff
43 .unified_diff() 47 .unified_diff()
44 .context_radius(4) 48 .context_radius(4)
45 .header(&old_file, &new_file) 49 .header(&old_file, &new_file)
46 ); 50 );
47 } else { 51 } else {
48 let path = entry.file_path; 52 let path = entry.file_path;
49 std::fs::write(path, &*fix_result.src).map_err(FixErr::InvalidPath)?; 53 std::fs::write(path, &*fix_result.src).map_err(FixErr::InvalidPath)?;
50 } 54 }
51 } 55 }
52 } 56 }
53 }, 57 }
54 SubCommand::Single(single_config) => { 58 SubCommand::Single(single_config) => {
55 let path = single_config.target; 59 let path = single_config.target;
56 let src = std::fs::read_to_string(&path).map_err(SingleFixErr::InvalidPath)?; 60 let src = std::fs::read_to_string(&path).map_err(SingleFixErr::InvalidPath)?;
@@ -63,12 +67,13 @@ fn _main() -> Result<(), StatixErr> {
63 println!( 67 println!(
64 "{}", 68 "{}",
65 text_diff 69 text_diff
66 .unified_diff() 70 .unified_diff()
67 .context_radius(4) 71 .context_radius(4)
68 .header(&old_file, &new_file) 72 .header(&old_file, &new_file)
69 ); 73 );
70 } else { 74 } else {
71 std::fs::write(&path, &*single_fix_result.src).map_err(SingleFixErr::InvalidPath)?; 75 std::fs::write(&path, &*single_fix_result.src)
76 .map_err(SingleFixErr::InvalidPath)?;
72 } 77 }
73 } 78 }
74 } 79 }