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

View file

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

View file

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