Rename variables

This commit is contained in:
Ajeet D'Souza 2021-05-04 02:42:43 +05:30
parent 650732c82c
commit 6d3cb4bc99
17 changed files with 102 additions and 90 deletions

4
Cargo.lock generated
View File

@ -343,9 +343,9 @@ checksum = "af8b08b04175473088b46763e51ee54da5f9a164bc162f615b91bc179dbf15a3"
[[package]]
name = "ordered-float"
version = "2.1.1"
version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "766f840da25490628d8e63e529cd21c014f6600c6b8517add12a6fa6167a6218"
checksum = "b50b8919aecb97e5ee9aceef27e24f39c46b11831130f4a6b7b091ec5de0de12"
dependencies = [
"num-traits",
]

View File

@ -1,23 +1,6 @@
use clap::IntoApp;
use clap_generate::{generate_to, generators::*};
use std::env;
use std::process::Command;
include!("src/app.rs");
fn completions() {
let mut app = Cli::into_app();
let bin_name = env!("CARGO_PKG_NAME");
let out_dir = "contrib/completions";
generate_to::<Bash, _, _>(&mut app, bin_name, out_dir);
generate_to::<Elvish, _, _>(&mut app, bin_name, out_dir);
generate_to::<Fish, _, _>(&mut app, bin_name, out_dir);
generate_to::<PowerShell, _, _>(&mut app, bin_name, out_dir);
generate_to::<Zsh, _, _>(&mut app, bin_name, out_dir);
}
fn git_version() -> Option<String> {
// Packages releases of zoxide almost always use the source tarball
// provided by GitHub, which does not include the `.git` folder. Since this
@ -35,8 +18,29 @@ fn crate_version() -> String {
format!("v{}", env::var("CARGO_PKG_VERSION").unwrap())
}
fn generate_completions() {
mod app {
include!("src/app.rs");
}
use app::App;
use clap::IntoApp;
use clap_generate::generate_to;
use clap_generate::generators::{Bash, Elvish, Fish, PowerShell, Zsh};
let app = &mut App::into_app();
let bin_name = &env::var("CARGO_PKG_NAME").unwrap();
let out_dir = "contrib/completions";
generate_to::<Bash, _, _>(app, bin_name, out_dir);
generate_to::<Elvish, _, _>(app, bin_name, out_dir);
generate_to::<Fish, _, _>(app, bin_name, out_dir);
generate_to::<PowerShell, _, _>(app, bin_name, out_dir);
generate_to::<Zsh, _, _>(app, bin_name, out_dir);
}
fn main() {
let version = git_version().unwrap_or_else(crate_version);
println!("cargo:rustc-env=ZOXIDE_VERSION={}", version);
completions();
generate_completions();
}

View File

@ -0,0 +1,8 @@
# completions
Shell completions for zoxide, auto-generated by [`clap`][clap].
Since `clap` itself is in beta at the moment, these completions should not be
treated as stable either.
[clap]: https://github.com/clap-rs/clap

View File

@ -20,9 +20,9 @@ const ENV_HELP: &str = "ENVIRONMENT VARIABLES:
global_setting(AppSettings::DisableHelpSubcommand),
global_setting(AppSettings::GlobalVersion),
global_setting(AppSettings::VersionlessSubcommands),
version = option_env!("ZOXIDE_VERSION").unwrap_or("")
version = option_env!("ZOXIDE_VERSION").unwrap_or_default()
)]
pub enum Cli {
pub enum App {
Add(Add),
Import(Import),
Init(Init),
@ -43,7 +43,7 @@ pub struct Import {
/// Application to import from
#[clap(arg_enum, long)]
pub from: From,
pub from: ImportFrom,
/// Merge into existing database
#[clap(long)]
@ -51,7 +51,7 @@ pub struct Import {
}
#[derive(ArgEnum, Debug)]
pub enum From {
pub enum ImportFrom {
Autojump,
Z,
}
@ -60,7 +60,7 @@ pub enum From {
#[derive(Clap, Debug)]
pub struct Init {
#[clap(arg_enum)]
pub shell: Shell,
pub shell: InitShell,
/// Prevents zoxide from defining any commands
#[clap(long)]
@ -72,11 +72,18 @@ pub struct Init {
/// Chooses event upon which an entry is added to the database
#[clap(arg_enum, long, default_value = "pwd")]
pub hook: Hook,
pub hook: InitHook,
}
#[derive(ArgEnum, Clone, Copy, Debug, Eq, PartialEq)]
pub enum InitHook {
None,
Prompt,
Pwd,
}
#[derive(ArgEnum, Debug)]
pub enum Shell {
pub enum InitShell {
Bash,
Elvish,
Fish,
@ -87,13 +94,6 @@ pub enum Shell {
Zsh,
}
#[derive(ArgEnum, Clone, Copy, Debug, Eq, PartialEq)]
pub enum Hook {
None,
Prompt,
Pwd,
}
/// Search for a directory in the database
#[derive(Clap, Debug)]
pub struct Query {

View File

@ -1,5 +1,5 @@
use super::Run;
use crate::app::{From, Import};
use crate::app::{Import, ImportFrom};
use crate::config;
use crate::import::{Autojump, Import as _, Z};
use crate::util;
@ -19,12 +19,12 @@ impl Run for Import {
let resolve_symlinks = config::zo_resolve_symlinks();
match self.from {
From::Autojump => Autojump {
ImportFrom::Autojump => Autojump {
resolve_symlinks,
now: util::current_time()?,
}
.import(&mut db, &self.path),
From::Z => Z { resolve_symlinks }.import(&mut db, &self.path),
ImportFrom::Z => Z { resolve_symlinks }.import(&mut db, &self.path),
}
}
}

View File

@ -1,5 +1,5 @@
use super::Run;
use crate::app::{Init, Shell};
use crate::app::{Init, InitShell};
use crate::config;
use crate::error::WriteErrorHandler;
use crate::shell::{self, Opts};
@ -28,14 +28,14 @@ impl Run for Init {
};
let source = match self.shell {
Shell::Bash => shell::Bash(opts).render(),
Shell::Elvish => shell::Elvish(opts).render(),
Shell::Fish => shell::Fish(opts).render(),
Shell::Nushell => shell::Nushell(opts).render(),
Shell::Posix => shell::Posix(opts).render(),
Shell::Powershell => shell::Powershell(opts).render(),
Shell::Xonsh => shell::Xonsh(opts).render(),
Shell::Zsh => shell::Zsh(opts).render(),
InitShell::Bash => shell::Bash(opts).render(),
InitShell::Elvish => shell::Elvish(opts).render(),
InitShell::Fish => shell::Fish(opts).render(),
InitShell::Nushell => shell::Nushell(opts).render(),
InitShell::Posix => shell::Posix(opts).render(),
InitShell::Powershell => shell::Powershell(opts).render(),
InitShell::Xonsh => shell::Xonsh(opts).render(),
InitShell::Zsh => shell::Zsh(opts).render(),
}
.context("could not render template")?;
writeln!(io::stdout(), "{}", source).wrap_write("stdout")

View File

@ -4,7 +4,7 @@ mod init;
mod query;
mod remove;
use crate::app::Cli;
use crate::app::App;
use anyhow::Result;
@ -12,14 +12,14 @@ pub trait Run {
fn run(&self) -> Result<()>;
}
impl Run for Cli {
impl Run for App {
fn run(&self) -> Result<()> {
match self {
Cli::Add(cmd) => cmd.run(),
Cli::Import(cmd) => cmd.run(),
Cli::Init(cmd) => cmd.run(),
Cli::Query(cmd) => cmd.run(),
Cli::Remove(cmd) => cmd.run(),
App::Add(cmd) => cmd.run(),
App::Import(cmd) => cmd.run(),
App::Init(cmd) => cmd.run(),
App::Query(cmd) => cmd.run(),
App::Remove(cmd) => cmd.run(),
}
}
}

View File

@ -8,7 +8,7 @@ mod import;
mod shell;
mod util;
use crate::app::Cli;
use crate::app::App;
use crate::cmd::Run;
use crate::error::SilentExit;
@ -23,7 +23,7 @@ pub fn main() {
env::remove_var("RUST_LIB_BACKTRACE");
env::remove_var("RUST_BACKTRACE");
if let Err(e) = Cli::parse().run() {
if let Err(e) = App::parse().run() {
match e.downcast::<SilentExit>() {
Ok(SilentExit { code }) => process::exit(code),
Err(e) => {

View File

@ -1,9 +1,9 @@
use crate::app::Hook;
use crate::app::InitHook;
#[derive(Debug, Eq, PartialEq)]
pub struct Opts<'a> {
pub cmd: Option<&'a str>,
pub(crate) hook: Hook,
pub hook: InitHook,
pub echo: bool,
pub resolve_symlinks: bool,
}
@ -51,7 +51,7 @@ mod tests {
fn opts() -> &'static [Opts<'static>] {
static OPTS: OnceCell<Vec<Opts>> = OnceCell::new();
const BOOLS: &[bool] = &[false, true];
const HOOKS: &[Hook] = &[Hook::None, Hook::Prompt, Hook::Pwd];
const HOOKS: &[InitHook] = &[InitHook::None, InitHook::Prompt, InitHook::Pwd];
const CMDS: &[Option<&str>] = &[None, Some("z")];
OPTS.get_or_init(|| {
@ -203,7 +203,7 @@ mod tests {
.success()
.stderr("");
if opts.hook != Hook::Pwd {
if opts.hook != InitHook::Pwd {
assert.stdout("");
}
}
@ -218,7 +218,7 @@ mod tests {
.success()
.stderr("");
if opts.hook != Hook::Pwd {
if opts.hook != InitHook::Pwd {
assert.stdout("");
}
}
@ -233,7 +233,7 @@ mod tests {
.success()
.stderr("");
if opts.hook != Hook::Pwd {
if opts.hook != InitHook::Pwd {
assert.stdout("");
}
}

View File

@ -30,17 +30,17 @@ function __zoxide_cd() {
# Hook to add new entries to the database.
{%- match hook %}
{%- when Hook::None %}
{%- when InitHook::None %}
{{ not_configured }}
{%- when Hook::Prompt %}
{%- when InitHook::Prompt %}
function __zoxide_hook() {
\builtin local -r __zoxide_retval="$?"
zoxide add -- "$(__zoxide_pwd)"
return "${__zoxide_retval}"
}
{%- when Hook::Pwd %}
{%- when InitHook::Pwd %}
function __zoxide_hook() {
\builtin local -r __zoxide_retval="$?"
\builtin local -r __zoxide_pwd_tmp="$(__zoxide_pwd)"
@ -62,7 +62,7 @@ function __zoxide_hook() {
# Initialize hook.
if [ "${__zoxide_hooked}" != '1' ]; then
__zoxide_hooked='1'
{%- if hook == Hook::None %}
{%- if hook == InitHook::None %}
{{ not_configured }}
{%- else %}
PROMPT_COMMAND="__zoxide_hook;${PROMPT_COMMAND:+${PROMPT_COMMAND}}"

View File

@ -29,11 +29,11 @@ if (not (and (builtin:has-env __zoxide_hooked) (builtin:eq (builtin:get-env __zo
# Initialize hook to add directories to zoxide.
{%- match hook %}
{%- when Hook::None %}
{%- when InitHook::None %}
{{ not_configured }}
{%- when Hook::Prompt %}
{%- when InitHook::Prompt %}
edit:before-readline = [$@edit:before-readline []{ zoxide add -- $pwd }]
{%- when Hook::Pwd %}
{%- when InitHook::Pwd %}
after-chdir = [$@after-chdir [_]{ zoxide add -- $pwd }]
{%- endmatch %}
}

View File

@ -34,11 +34,11 @@ end
if test "$__zoxide_hooked" != 1
set __zoxide_hooked 1
{%- match hook %}
{%- when Hook::None %}
{%- when InitHook::None %}
function __zoxide_hook
{%- when Hook::Prompt %}
{%- when InitHook::Prompt %}
function __zoxide_hook --on-event fish_prompt
{%- when Hook::Pwd %}
{%- when InitHook::Pwd %}
function __zoxide_hook --on-variable PWD
{%- endmatch %}
command zoxide add -- (__zoxide_pwd)

View File

@ -17,15 +17,15 @@ def __zoxide_prompt [] {
# Hook to add new entries to the database.
{%- match hook %}
{%- when Hook::None %}
{%- when InitHook::None %}
def __zoxide_hook [] {}
{%- when Hook::Prompt %}
{%- when InitHook::Prompt %}
def __zoxide_hook [] {
shells | where active == $true && name == filesystem | get path | each { zoxide add -- $it }
}
{%- when Hook::Pwd %}
{%- when InitHook::Pwd %}
def __zoxide_hook [] {}
printf "zoxide: PWD hooks are not supported on Nushell.\n Use 'zoxide init nushell --hook prompt' instead.\n"

View File

@ -26,15 +26,15 @@ __zoxide_cd() {
# Hook to add new entries to the database.
{%- match hook %}
{%- when Hook::None %}
{%- when InitHook::None %}
{{ not_configured }}
{%- when Hook::Prompt %}
{%- when InitHook::Prompt %}
__zoxide_hook() {
zoxide add -- "$(__zoxide_pwd)"
}
{%- when Hook::Pwd %}
{%- when InitHook::Pwd %}
{{ not_configured }}
{%- endmatch %}
@ -43,11 +43,11 @@ __zoxide_hook() {
if [ "${__zoxide_hooked}" != '1' ]; then
__zoxide_hooked='1'
{%- match hook %}
{%- when Hook::None %}
{%- when InitHook::None %}
{{ not_configured }}
{%- when Hook::Prompt %}
{%- when InitHook::Prompt %}
PS1="${PS1}\$(__zoxide_hook)"
{%- when Hook::Pwd %}
{%- when InitHook::Pwd %}
\printf "%s\n%s\n" \
"zoxide: PWD hooks are not supported on POSIX shells." \
" Use 'zoxide init posix --hook prompt' instead."

View File

@ -31,15 +31,15 @@ function __zoxide_hook {
if ($__zoxide_hooked -ne '1') {
$__zoxide_hooked = '1'
{%- match hook %}
{%- when Hook::None %}
{%- when InitHook::None %}
{{ not_configured }}
{%- when Hook::Prompt %}
{%- when InitHook::Prompt %}
$__zoxide_prompt_old = $function:prompt
function prompt {
$null = __zoxide_hook
& $__zoxide_prompt_old
}
{%- when Hook::Pwd %}
{%- when InitHook::Pwd %}
if ($PSVersionTable.PSVersion.Major -ge 6) {
$ExecutionContext.InvokeCommand.LocationChangedAction = {
$null = __zoxide_hook

View File

@ -10,7 +10,7 @@ import sys
{%- if cmd.is_some() %}
from builtins import aliases # type: ignore # pylint: disable=no-name-in-module
{%- endif %}
{%- if hook != Hook::None %}
{%- if hook != InitHook::None %}
from builtins import events # type: ignore # pylint: disable=no-name-in-module
{%- endif %}
from subprocess import CalledProcessError
@ -88,11 +88,11 @@ def __zoxide_errhandler(func):
if globals().get("__zoxide_hooked") is not True:
globals()["__zoxide_hooked"] = True
{% match hook -%}
{%- when Hook::None %}
{%- when InitHook::None %}
{{ not_configured }}
{%- when Hook::Prompt %}
{%- when InitHook::Prompt %}
@events.on_post_prompt # type: ignore # pylint:disable=undefined-variable
{%- when Hook::Pwd %}
{%- when InitHook::Pwd %}
@events.on_chdir # type: ignore # pylint:disable=undefined-variable
{%- endmatch %}
def __zoxide_hook(**_kwargs):

View File

@ -33,11 +33,11 @@ function __zoxide_hook() {
if [ "${__zoxide_hooked}" != '1' ]; then
__zoxide_hooked='1'
{%- match hook %}
{%- when Hook::None %}
{%- when InitHook::None %}
{{ not_configured }}
{%- when Hook::Prompt %}
{%- when InitHook::Prompt %}
precmd_functions+=(__zoxide_hook)
{%- when Hook::Pwd %}
{%- when InitHook::Pwd %}
chpwd_functions=("${chpwd_functions[@]}" "__zoxide_hook")
{%- endmatch %}
fi