Minor fixes
This commit is contained in:
parent
ccdaa21fc6
commit
fbaeedbba4
5 changed files with 58 additions and 3 deletions
2
Cargo.lock
generated
2
Cargo.lock
generated
|
@ -49,7 +49,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "atuin"
|
name = "atuin"
|
||||||
version = "0.2.1"
|
version = "0.2.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"chrono",
|
"chrono",
|
||||||
"directories",
|
"directories",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "atuin"
|
name = "atuin"
|
||||||
version = "0.2.1"
|
version = "0.2.2"
|
||||||
authors = ["Ellie Huxtable <e@elm.sh>"]
|
authors = ["Ellie Huxtable <e@elm.sh>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
|
48
README.md
48
README.md
|
@ -17,3 +17,51 @@ As well as the expected command, this stores
|
||||||
- hostname
|
- hostname
|
||||||
- time
|
- time
|
||||||
- a unique session ID
|
- a unique session ID
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
`atuin` needs a recent version of Rust + Cargo! It's best to use rustup for.
|
||||||
|
|
||||||
|
```
|
||||||
|
cargo install atuin
|
||||||
|
```
|
||||||
|
|
||||||
|
and then add this to your ~/.zshrc
|
||||||
|
|
||||||
|
```
|
||||||
|
export ATUIN_SESSION=$(atuin uuid)
|
||||||
|
|
||||||
|
_atuin_preexec(){
|
||||||
|
id=$(atuin history start $1)
|
||||||
|
export ATUIN_HISTORY_ID="$id"
|
||||||
|
}
|
||||||
|
|
||||||
|
_atuin_precmd(){
|
||||||
|
local EXIT="$?"
|
||||||
|
|
||||||
|
[[ -z "${ATUIN_HISTORY_ID}" ]] && return
|
||||||
|
|
||||||
|
atuin history end $ATUIN_HISTORY_ID --exit $EXIT
|
||||||
|
}
|
||||||
|
|
||||||
|
add-zsh-hook preexec _atuin_preexec
|
||||||
|
add-zsh-hook precmd _atuin_precmd
|
||||||
|
```
|
||||||
|
|
||||||
|
We're not replacing anything here, so your default shell history file will still
|
||||||
|
be written to!
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
### Import history
|
||||||
|
|
||||||
|
```
|
||||||
|
atuin import auto # detect shell, then import
|
||||||
|
atuin import zsh # specify shell
|
||||||
|
```
|
||||||
|
|
||||||
|
### List history
|
||||||
|
|
||||||
|
```
|
||||||
|
atuin history list
|
||||||
|
```
|
||||||
|
|
|
@ -112,7 +112,7 @@ impl ImportCmd {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ImportCmd::Zsh => Ok(()),
|
ImportCmd::Zsh => self.import_zsh(db),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
use std::env;
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
|
|
||||||
use directories::ProjectDirs;
|
use directories::ProjectDirs;
|
||||||
|
@ -84,5 +85,11 @@ impl Atuin {
|
||||||
fn main() -> Result<()> {
|
fn main() -> Result<()> {
|
||||||
pretty_env_logger::init();
|
pretty_env_logger::init();
|
||||||
|
|
||||||
|
let session = env::var("ATUIN_SESSION");
|
||||||
|
|
||||||
|
if session.is_err() {
|
||||||
|
panic!("Please follow the atuin setup! Missing session.")
|
||||||
|
}
|
||||||
|
|
||||||
Atuin::from_args().run()
|
Atuin::from_args().run()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue