This commit is contained in:
Ellie Huxtable 2021-02-13 12:58:40 +00:00
parent e3661daf81
commit 07aceb3dd4
5 changed files with 31 additions and 33 deletions

28
Cargo.lock generated
View file

@ -41,6 +41,20 @@ dependencies = [
"winapi",
]
[[package]]
name = "atuin"
version = "0.1.1"
dependencies = [
"chrono",
"directories",
"eyre",
"log",
"pretty_env_logger",
"rusqlite",
"shellexpand",
"structopt",
]
[[package]]
name = "autocfg"
version = "1.0.1"
@ -449,20 +463,6 @@ dependencies = [
"dirs",
]
[[package]]
name = "shync"
version = "0.1.1"
dependencies = [
"chrono",
"directories",
"eyre",
"log",
"pretty_env_logger",
"rusqlite",
"shellexpand",
"structopt",
]
[[package]]
name = "smallvec"
version = "1.4.2"

View file

@ -1,12 +1,10 @@
[package]
name = "shync"
name = "atuin"
version = "0.1.1"
authors = ["Ellie Huxtable <e@elm.sh>"]
edition = "2018"
license = "MIT"
description = "shync - sync your shell history"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
description = "atuin - sync your shell history"
[dependencies]
log = "0.4"

View file

@ -1,7 +1,7 @@
# Source this in your ~/.zshrc
_shync_preexec(){
shync history add $1
_atuin_preexec(){
atuin history add $1
}
add-zsh-hook preexec _shync_preexec
add-zsh-hook preexec _atuin_preexec

View file

@ -20,16 +20,16 @@ use local::history::History;
version = "0.1.0",
about = "Keep your shell history in sync"
)]
struct Shync {
struct Atuin {
#[structopt(long, parse(from_os_str), help = "db file path")]
db: Option<PathBuf>,
#[structopt(subcommand)]
shync: ShyncCmd,
atuin: AtuinCmd,
}
#[derive(StructOpt)]
enum ShyncCmd {
enum AtuinCmd {
#[structopt(
about="manipulate shell history",
aliases=&["h", "hi", "his", "hist", "histo", "histor"],
@ -39,11 +39,11 @@ enum ShyncCmd {
#[structopt(about = "import shell history from file")]
Import,
#[structopt(about = "start a shync server")]
#[structopt(about = "start a atuin server")]
Server,
}
impl Shync {
impl Atuin {
fn run(self) -> Result<()> {
let db_path = match self.db {
Some(db_path) => {
@ -54,9 +54,9 @@ impl Shync {
PathBuf::from(path.as_ref())
}
None => {
let project_dirs = ProjectDirs::from("bike", "ellie", "shync").ok_or(eyre!(
"could not determine db file location\nspecify one using the --db flag"
))?;
let project_dirs = ProjectDirs::from("com", "elliehuxtable", "atuin").ok_or(
eyre!("could not determine db file location\nspecify one using the --db flag"),
)?;
let root = project_dirs.data_dir();
root.join("history.db")
}
@ -64,8 +64,8 @@ impl Shync {
let db = SqliteDatabase::new(db_path)?;
match self.shync {
ShyncCmd::History(history) => history.run(db),
match self.atuin {
AtuinCmd::History(history) => history.run(db),
_ => Ok(()),
}
}
@ -108,5 +108,5 @@ impl HistoryCmd {
fn main() -> Result<()> {
pretty_env_logger::init();
Shync::from_args().run()
Atuin::from_args().run()
}