Skip to content

Commit 90a4b50

Browse files
authored
Merge pull request #29 from ethankhall/update-versions
Update versions
2 parents cc106ec + 0c4fa92 commit 90a4b50

File tree

9 files changed

+622
-529
lines changed

9 files changed

+622
-529
lines changed

Cargo.lock

+586-486
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+7-6
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,28 @@ authors = ["Ethan Hall <ethankhall@pm.me>"]
55
edition = "2018"
66

77
[dependencies]
8-
log = "0.4.1"
8+
log = "0.4"
99
fern = { version = "0.5", features = ["colored"] }
1010
clap = { version = "2.32", features = ["yaml"] }
1111
colored = "1.6"
1212
chrono = "0.4"
1313
chrono-tz = "0.5"
14-
serde = "1.0.80"
15-
serde_json = "1.0.33"
16-
serde_derive = "1.0.80"
14+
serde = "1.0"
15+
serde_json = "1.0"
16+
serde_derive = "1.0"
1717
url = "1.7"
1818
regex = "1"
1919
mime = "0.3"
2020
comrak = "0.4"
2121
json = "*"
22-
indicatif = "0.10"
22+
indicatif = "0.11"
2323
ratelimit = "0.4"
2424
reqwest = { version = "0.9", features = ["rustls-tls"] }
2525
crossbeam-channel = "0.3"
2626
kopy-common-lib = { git = "https://github.com/ethankhall/rust-shared.git", rev = "84a38d080b5a066c7443e6a46e043708d2a53f39" }
2727
prettytable-rs = "0.8"
28-
termion = "*"
28+
crossterm = "0.10"
29+
crossterm_screen = "0.2"
2930
lazy_static = "*"
3031
flate2 = "1.0"
3132
atty = "0.2"

azure-pipelines.yml

+4-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@ jobs:
3333
steps:
3434
- script: |
3535
set -e
36-
curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain nightly -y
36+
curl https://sh.rustup.rs -sSf | sh -s -- -y
37+
source $HOME/.cargo/env
38+
rustup toolchain install 1.36.0
39+
rustup default 1.36.0
3740
mkdir ~/bin
3841
curl --location https://github.com/ethankhall/crom/releases/download/v0.1.14/crom-mac.tar.gz | tar -xvz -C ~/bin
3942
chmod +x ~/bin/crom

ci/musl-builder.Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ekidd/rust-musl-builder:nightly
1+
FROM ekidd/rust-musl-builder:1.36.0
22

33
RUN mkdir ~/bin
44
RUN curl --location https://github.com/ethankhall/crom/releases/download/v0.1.13/crom-linux-musl.tar.gz | tar -xvz -C ~/bin

src/commands/json/sql/parser.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -164,15 +164,15 @@ fn validate_ast_builder() {
164164

165165
assert_eq!(
166166
SqlOperation::Select {
167-
columns: vec![s!("*")]
167+
columns: vec![s!("*")],
168168
},
169169
expression.operation
170170
);
171171
assert_eq!(SqlSource::SqlFrom { path: s!(".") }, expression.source);
172172
assert_eq!(
173173
vec![SqlFilter::Condition(SqlComparison::Equal {
174174
path: s!(".a.b.c"),
175-
value: s!("123")
175+
value: s!("123"),
176176
})],
177177
expression.filter
178178
);

src/commands/nsq/stats.rs

+14-19
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
use std::collections::BTreeMap;
2-
use std::io::{stdout, Stdout, Write};
2+
use std::io::Write;
33
use std::{thread, time};
44

55
use chrono::prelude::*;
66
use clap::ArgMatches;
77
use colored::*;
8+
use crossterm::{terminal, ClearType, Terminal};
89
use prettytable::{format, Table};
9-
use termion::screen::*;
1010

1111
use crate::commands::nsq::api::*;
1212
use crate::commands::CliError;
@@ -73,22 +73,22 @@ pub fn do_stats_command(matches: &ArgMatches) -> Result<(), CliError> {
7373
}
7474

7575
fn do_loop(config: &ConfigOptions, state: NsqState) {
76-
let mut screen = AlternateScreen::from(stdout());
76+
let mut terminal = terminal();
7777
let mut counter = 0;
7878
let mut last_data = None;
7979
let mut buffer_size: i32 = -1;
8080
let mut snapshot = state.update_status();
8181

8282
loop {
8383
if buffer_size > 0 {
84-
write!(screen, "{}", termion::cursor::Up(buffer_size as u16),).unwrap();
84+
terminal.scroll_up(buffer_size as i16).unwrap();
8585
}
8686

87-
let last_buffer_size = print_report(&config, &snapshot, last_data, &mut screen) as i32;
87+
let last_buffer_size = print_report(&config, &snapshot, last_data, &mut terminal) as i32;
8888
last_data = Some(snapshot);
8989

9090
buffer_size = std::cmp::max(buffer_size, last_buffer_size);
91-
write!(screen, "{}", termion::clear::AfterCursor).unwrap();
91+
terminal.clear(ClearType::FromCursorDown).unwrap();
9292

9393
let poll_start = Local::now();
9494
snapshot = state.update_status();
@@ -118,7 +118,7 @@ fn print_report(
118118
config_options: &ConfigOptions,
119119
current: &NsqSnapshot,
120120
last_data: Option<NsqSnapshot>,
121-
screen: &mut AlternateScreen<Stdout>,
121+
screen: &mut Terminal,
122122
) -> usize {
123123
let mut buffer: Vec<u8> = Vec::new();
124124

@@ -127,8 +127,7 @@ fn print_report(
127127
"Polled at {} (UTC: {})",
128128
s!(current.pull_finished).bold(),
129129
s!(current.pull_finished.with_timezone(&Utc)).bold()
130-
)
131-
.unwrap();
130+
).unwrap();
132131

133132
for (topic_name, host_table) in make_host_table(&current, &last_data) {
134133
writeln!(buffer, "\n📇 {}", topic_name.bold()).unwrap();
@@ -148,13 +147,10 @@ fn print_report(
148147
let line_buffer = buffer.split(|x| x == &('\n' as u8));
149148
for line in line_buffer {
150149
lines += 1;
151-
writeln!(
152-
screen,
153-
"{}{}",
154-
String::from_utf8(line.to_vec()).unwrap(),
155-
termion::clear::UntilNewline
156-
)
157-
.unwrap();
150+
screen
151+
.write(String::from_utf8(line.to_vec()).unwrap())
152+
.unwrap();
153+
screen.clear(ClearType::UntilNewLine).unwrap();
158154
}
159155

160156
lines
@@ -249,9 +245,8 @@ fn make_host_table(current: &NsqSnapshot, last: &Option<NsqSnapshot>) -> BTreeMa
249245
let change = aggregate.message_count as u128 - last_aggregate.message_count as u128;
250246
table.add_row(row!["Change", "", change]);
251247
let mps = change as f64;
252-
let mps = mps
253-
/ (current.pull_finished - previous_stats.pull_finished).num_milliseconds()
254-
as f64;
248+
let mps = mps / (current.pull_finished - previous_stats.pull_finished)
249+
.num_milliseconds() as f64;
255250
let mps = mps * 1000 as f64;
256251
table.add_row(row!["Rate", "", format!("{:.2} m/s", mps)]);
257252
}

src/commands/time/mod.rs

+3-8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
use std::slice::SliceConcatExt;
2-
31
mod parse;
42

53
use clap::ArgMatches;
@@ -48,8 +46,7 @@ fn render_full_output(input: TimeResult) -> Result<(), CliError> {
4846
datetime.month(),
4947
datetime.day(),
5048
datetime.year()
51-
)
52-
.bold()
49+
).bold()
5350
);
5451
println!(
5552
" ├── Date in YMD: {}",
@@ -58,8 +55,7 @@ fn render_full_output(input: TimeResult) -> Result<(), CliError> {
5855
datetime.year(),
5956
datetime.month(),
6057
datetime.day()
61-
)
62-
.bold()
58+
).bold()
6359
);
6460
println!(
6561
" ├── Day in year: {}",
@@ -71,8 +67,7 @@ fn render_full_output(input: TimeResult) -> Result<(), CliError> {
7167
"{}-{}",
7268
datetime.iso_week().year(),
7369
datetime.iso_week().week()
74-
)
75-
.bold()
70+
).bold()
7671
);
7772
println!(
7873
" ├── Day of week: {}",

src/commands/time/parse.rs

+4-1
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,10 @@ fn assert_contains_date(time_results: &TimeResult, required: &[CalendarDate]) {
363363
ut,
364364
dates
365365
);
366-
dates.remove_item(&ut);
366+
dates
367+
.iter()
368+
.position(|item| ut == item)
369+
.map(|i| dates.remove(i));
367370
}
368371

369372
assert_eq!(0, dates.len());

src/main.rs

+1-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
#![recursion_limit = "1024"]
2-
#![feature(slice_concat_ext)]
3-
#![feature(vec_remove_item)]
4-
51
extern crate chrono;
62
extern crate chrono_tz;
73
extern crate colored;
@@ -23,7 +19,7 @@ extern crate log;
2319
extern crate kopy_common_lib;
2420
#[macro_use]
2521
extern crate prettytable;
26-
extern crate termion;
22+
extern crate crossterm;
2723
#[macro_use]
2824
extern crate lazy_static;
2925
extern crate atty;

0 commit comments

Comments
 (0)