Added an option to press Enter after typing.

This commit is contained in:
Moridius 2020-09-10 08:05:17 +02:00
parent ecf967e3f5
commit 2fc94ce2b7
3 changed files with 12 additions and 5 deletions

2
Cargo.lock generated
View File

@ -14,7 +14,7 @@ checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
[[package]]
name = "blinddate"
version = "0.2.1"
version = "0.3.0"
dependencies = [
"chrono",
"enigo",

View File

@ -1,6 +1,6 @@
[package]
name = "blinddate"
version = "0.2.1"
version = "0.3.0"
authors = ["Moridius <moridius-github@posteo.hu>"]
edition = "2018"

View File

@ -55,7 +55,7 @@ fn calc_date(command: &str, today: Date<Local>) -> Result<Date<Local>, ()> {
Err(())
}
fn type_date(date: Date<Local>, alt_tab: bool) {
fn type_date(date: Date<Local>, alt_tab: bool, enter: bool) {
let date_str = format!("{}", date.format("%Y-%m-%d"));
let mut enigo = Enigo::new();
if alt_tab {
@ -64,19 +64,26 @@ fn type_date(date: Date<Local>, alt_tab: bool) {
enigo.key_up(Key::Alt);
thread::sleep(time::Duration::from_millis(100));
}
for c in date_str.chars() {
enigo.key_click(Key::Layout(c));
}
// enigo.key_click(Key::Return);
if enter {
enigo.key_click(Key::Return);
}
}
fn main() {
let mut command = String::new();
let mut alt_tab = false;
let mut enter = false;
for arg in env::args().skip(1) {
if arg == "--tab" {
alt_tab = true;
} else if arg == "--enter" {
enter = true;
} else {
command = arg.to_lowercase();
break;
@ -84,7 +91,7 @@ fn main() {
}
if let Ok(date) = command_to_date(&command) {
type_date(date, alt_tab);
type_date(date, alt_tab, enter);
} else {
eprintln!("blinddate");
eprintln!("Calculates a date and types it. Use with a shell script to enter dates into files rapidly.");