Skip to content

Commit 7973bb8

Browse files
authored
respect no color for the list subcommand (#68)
Co-authored-by: Ľubomír Kurčák <[email protected]>
1 parent 5e6db64 commit 7973bb8

File tree

2 files changed

+44
-20
lines changed

2 files changed

+44
-20
lines changed

src/job/io.rs

Lines changed: 43 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -137,20 +137,32 @@ impl Job {
137137
Ok(())
138138
}
139139

140-
pub fn list(job_filter: &filter::Filter, verbose: bool) -> Result<()> {
140+
pub fn list(job_filter: &filter::Filter, verbose: bool, no_color: bool) -> Result<()> {
141141
let jobs = Self::jobs_dir()?;
142142
let mut table = Table::new();
143143
table.set_format(*format::consts::FORMAT_CLEAN);
144144

145-
table.set_titles(row![FB =>
146-
"ENABLED",
147-
"JOB",
148-
"PROGRAM",
149-
"ARGS",
150-
"WORKING DIRECTORY",
151-
"RESTART",
152-
"GROUP",
153-
]);
145+
if no_color {
146+
table.set_titles(row![
147+
"ENABLED",
148+
"JOB",
149+
"PROGRAM",
150+
"ARGS",
151+
"WORKING DIRECTORY",
152+
"RESTART",
153+
"GROUP",
154+
]);
155+
} else {
156+
table.set_titles(row![FB =>
157+
"ENABLED",
158+
"JOB",
159+
"PROGRAM",
160+
"ARGS",
161+
"WORKING DIRECTORY",
162+
"RESTART",
163+
"GROUP",
164+
]);
165+
}
154166

155167
for entry in std::fs::read_dir(jobs)? {
156168
let entry = entry?;
@@ -165,15 +177,27 @@ impl Job {
165177
continue;
166178
}
167179

168-
table.add_row(row![
169-
r->if job.enabled { "*" } else { " " },
170-
bFC->&job.name,
171-
bFY->&job.program,
172-
job.args.join(" "),
173-
job.working_directory.display(),
174-
job.restart_behaviour(),
175-
job.group,
176-
]);
180+
if no_color {
181+
table.add_row(row![
182+
r->if job.enabled { "*" } else { " " },
183+
&job.name,
184+
&job.program,
185+
job.args.join(" "),
186+
job.working_directory.display(),
187+
job.restart_behaviour(),
188+
job.group,
189+
]);
190+
} else {
191+
table.add_row(row![
192+
r->if job.enabled { "*" } else { " " },
193+
bFC->&job.name,
194+
bFY->&job.program,
195+
job.args.join(" "),
196+
job.working_directory.display(),
197+
job.restart_behaviour(),
198+
job.group,
199+
]);
200+
}
177201
}
178202
}
179203

src/main.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ async fn main() -> Result<()> {
143143
} => {
144144
let filter = standard_job_filter(name, all, group, job, exclude);
145145

146-
match Job::list(&filter, args.verbose) {
146+
match Job::list(&filter, args.verbose, args.no_color) {
147147
Ok(()) => (),
148148
Err(e) => eprintln!("Error: {e}"),
149149
}

0 commit comments

Comments
 (0)