Add export subcommand
This commit is contained in:
parent
ff16bf140c
commit
de8a37e3a7
|
|
@ -0,0 +1,27 @@
|
||||||
|
use super::Cmd;
|
||||||
|
use crate::config;
|
||||||
|
|
||||||
|
use crate::store::Store;
|
||||||
|
use anyhow::{Context, Result};
|
||||||
|
use clap::Clap;
|
||||||
|
|
||||||
|
use std::io::{self, Write};
|
||||||
|
|
||||||
|
/// Export entries from database
|
||||||
|
#[derive(Clap, Debug)]
|
||||||
|
pub struct Export {}
|
||||||
|
|
||||||
|
impl Cmd for Export {
|
||||||
|
fn run(&self) -> Result<()> {
|
||||||
|
let data_dir = config::zo_data_dir()?;
|
||||||
|
let store = Store::open(&data_dir)?;
|
||||||
|
|
||||||
|
let mut handle = io::stdout();
|
||||||
|
for dir in store.dirs.iter() {
|
||||||
|
writeln!(handle, "{}|{}|{}", dir.path, dir.rank, dir.last_accessed)
|
||||||
|
.context("could not write to stdout")?;
|
||||||
|
}
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
mod add;
|
mod add;
|
||||||
|
mod export;
|
||||||
mod import;
|
mod import;
|
||||||
mod init;
|
mod init;
|
||||||
mod query;
|
mod query;
|
||||||
|
|
@ -8,6 +9,7 @@ use anyhow::Result;
|
||||||
use clap::{AppSettings, Clap};
|
use clap::{AppSettings, Clap};
|
||||||
|
|
||||||
pub use add::Add;
|
pub use add::Add;
|
||||||
|
pub use export::Export;
|
||||||
pub use import::Import;
|
pub use import::Import;
|
||||||
pub use init::Init;
|
pub use init::Init;
|
||||||
pub use query::Query;
|
pub use query::Query;
|
||||||
|
|
@ -21,6 +23,7 @@ pub trait Cmd {
|
||||||
#[clap(about, author, global_setting(AppSettings::GlobalVersion), global_setting(AppSettings::VersionlessSubcommands), version = env!("ZOXIDE_VERSION"))]
|
#[clap(about, author, global_setting(AppSettings::GlobalVersion), global_setting(AppSettings::VersionlessSubcommands), version = env!("ZOXIDE_VERSION"))]
|
||||||
pub enum App {
|
pub enum App {
|
||||||
Add(Add),
|
Add(Add),
|
||||||
|
Export(Export),
|
||||||
Import(Import),
|
Import(Import),
|
||||||
Init(Init),
|
Init(Init),
|
||||||
Query(Query),
|
Query(Query),
|
||||||
|
|
@ -31,6 +34,7 @@ impl Cmd for App {
|
||||||
fn run(&self) -> Result<()> {
|
fn run(&self) -> Result<()> {
|
||||||
match self {
|
match self {
|
||||||
App::Add(cmd) => cmd.run(),
|
App::Add(cmd) => cmd.run(),
|
||||||
|
App::Export(cmd) => cmd.run(),
|
||||||
App::Import(cmd) => cmd.run(),
|
App::Import(cmd) => cmd.run(),
|
||||||
App::Init(cmd) => cmd.run(),
|
App::Init(cmd) => cmd.run(),
|
||||||
App::Query(cmd) => cmd.run(),
|
App::Query(cmd) => cmd.run(),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue