diff options
Diffstat (limited to 'bin')
-rw-r--r-- | bin/Cargo.toml | 2 | ||||
-rw-r--r-- | bin/src/main.rs | 15 |
2 files changed, 11 insertions, 6 deletions
diff --git a/bin/Cargo.toml b/bin/Cargo.toml index 979bd46..9452c2b 100644 --- a/bin/Cargo.toml +++ b/bin/Cargo.toml | |||
@@ -1,5 +1,5 @@ | |||
1 | [package] | 1 | [package] |
2 | name = "bin" | 2 | name = "statix" |
3 | version = "0.1.0" | 3 | version = "0.1.0" |
4 | edition = "2018" | 4 | edition = "2018" |
5 | 5 | ||
diff --git a/bin/src/main.rs b/bin/src/main.rs index 60afd5e..71cbb02 100644 --- a/bin/src/main.rs +++ b/bin/src/main.rs | |||
@@ -6,13 +6,13 @@ use std::{ | |||
6 | use anyhow::{Context, Result}; | 6 | use anyhow::{Context, Result}; |
7 | use ariadne::{ | 7 | use ariadne::{ |
8 | CharSet, Color, Config as CliConfig, Label, Report as CliReport, | 8 | CharSet, Color, Config as CliConfig, Label, Report as CliReport, |
9 | ReportKind as CliReportKind, Source, | 9 | ReportKind as CliReportKind, Source, LabelAttach |
10 | }; | 10 | }; |
11 | use lib::{Report, LINTS}; | 11 | use lib::{Report, LINTS}; |
12 | use rnix::{TextRange, WalkEvent}; | 12 | use rnix::{TextRange, WalkEvent}; |
13 | 13 | ||
14 | fn analyze(file: &str) -> Result<Vec<Report>> { | 14 | fn analyze(source: &str) -> Result<Vec<Report>> { |
15 | let parsed = rnix::parse(file).as_result()?; | 15 | let parsed = rnix::parse(source).as_result()?; |
16 | 16 | ||
17 | Ok(parsed | 17 | Ok(parsed |
18 | .node() | 18 | .node() |
@@ -47,9 +47,12 @@ fn print_report(report: Report, file_src: &str, file_path: &Path) -> Result<()> | |||
47 | .with_config( | 47 | .with_config( |
48 | CliConfig::default() | 48 | CliConfig::default() |
49 | .with_cross_gap(true) | 49 | .with_cross_gap(true) |
50 | .with_char_set(CharSet::ExtendedAscii), | 50 | .with_multiline_arrows(false) |
51 | .with_label_attach(LabelAttach::Middle) | ||
52 | .with_char_set(CharSet::Unicode), | ||
51 | ) | 53 | ) |
52 | .with_message(report.note), | 54 | .with_message(report.note) |
55 | .with_code(report.code), | ||
53 | |cli_report, diagnostic| { | 56 | |cli_report, diagnostic| { |
54 | let cli_report = cli_report.with_label( | 57 | let cli_report = cli_report.with_label( |
55 | Label::new((src_id, range(diagnostic.at))) | 58 | Label::new((src_id, range(diagnostic.at))) |
@@ -74,8 +77,10 @@ fn print_report(report: Report, file_src: &str, file_path: &Path) -> Result<()> | |||
74 | } | 77 | } |
75 | 78 | ||
76 | fn _main() -> Result<()> { | 79 | fn _main() -> Result<()> { |
80 | // TODO: accept cli args, construct a CLI config with a list of files to analyze | ||
77 | let args = env::args(); | 81 | let args = env::args(); |
78 | for (file_src, file_path, reports) in args | 82 | for (file_src, file_path, reports) in args |
83 | .skip(1) | ||
79 | .map(|s| PathBuf::from(&s)) | 84 | .map(|s| PathBuf::from(&s)) |
80 | .filter(|p| p.is_file()) | 85 | .filter(|p| p.is_file()) |
81 | .filter_map(|path| { | 86 | .filter_map(|path| { |