Pass justfile path to default chooser (#1759)
This commit is contained in:
parent
e6e1823359
commit
3dbbb2ed70
@ -51,7 +51,7 @@ edit:completion:arg-completer[just] = [@words]{
|
|||||||
cand -v 'Use verbose output'
|
cand -v 'Use verbose output'
|
||||||
cand --verbose 'Use verbose output'
|
cand --verbose 'Use verbose output'
|
||||||
cand --changelog 'Print changelog'
|
cand --changelog 'Print changelog'
|
||||||
cand --choose 'Select one or more recipes to run using a binary. If `--chooser` is not passed the chooser defaults to the value of $JUST_CHOOSER, falling back to `fzf`'
|
cand --choose 'Select one or more recipes to run using a binary chooser. If `--chooser` is not passed the chooser defaults to the value of $JUST_CHOOSER, falling back to `fzf`'
|
||||||
cand --dump 'Print justfile'
|
cand --dump 'Print justfile'
|
||||||
cand -e 'Edit justfile with editor given by $VISUAL or $EDITOR, falling back to `vim`'
|
cand -e 'Edit justfile with editor given by $VISUAL or $EDITOR, falling back to `vim`'
|
||||||
cand --edit 'Edit justfile with editor given by $VISUAL or $EDITOR, falling back to `vim`'
|
cand --edit 'Edit justfile with editor given by $VISUAL or $EDITOR, falling back to `vim`'
|
||||||
|
@ -64,7 +64,7 @@ complete -c just -n "__fish_use_subcommand" -s u -l unsorted -d 'Return list and
|
|||||||
complete -c just -n "__fish_use_subcommand" -l unstable -d 'Enable unstable features'
|
complete -c just -n "__fish_use_subcommand" -l unstable -d 'Enable unstable features'
|
||||||
complete -c just -n "__fish_use_subcommand" -s v -l verbose -d 'Use verbose output'
|
complete -c just -n "__fish_use_subcommand" -s v -l verbose -d 'Use verbose output'
|
||||||
complete -c just -n "__fish_use_subcommand" -l changelog -d 'Print changelog'
|
complete -c just -n "__fish_use_subcommand" -l changelog -d 'Print changelog'
|
||||||
complete -c just -n "__fish_use_subcommand" -l choose -d 'Select one or more recipes to run using a binary. If `--chooser` is not passed the chooser defaults to the value of $JUST_CHOOSER, falling back to `fzf`'
|
complete -c just -n "__fish_use_subcommand" -l choose -d 'Select one or more recipes to run using a binary chooser. If `--chooser` is not passed the chooser defaults to the value of $JUST_CHOOSER, falling back to `fzf`'
|
||||||
complete -c just -n "__fish_use_subcommand" -l dump -d 'Print justfile'
|
complete -c just -n "__fish_use_subcommand" -l dump -d 'Print justfile'
|
||||||
complete -c just -n "__fish_use_subcommand" -s e -l edit -d 'Edit justfile with editor given by $VISUAL or $EDITOR, falling back to `vim`'
|
complete -c just -n "__fish_use_subcommand" -s e -l edit -d 'Edit justfile with editor given by $VISUAL or $EDITOR, falling back to `vim`'
|
||||||
complete -c just -n "__fish_use_subcommand" -l evaluate -d 'Evaluate and print all variables. If a variable name is given as an argument, only print that variable\'s value.'
|
complete -c just -n "__fish_use_subcommand" -l evaluate -d 'Evaluate and print all variables. If a variable name is given as an argument, only print that variable\'s value.'
|
||||||
|
@ -56,7 +56,7 @@ Register-ArgumentCompleter -Native -CommandName 'just' -ScriptBlock {
|
|||||||
[CompletionResult]::new('-v', 'v', [CompletionResultType]::ParameterName, 'Use verbose output')
|
[CompletionResult]::new('-v', 'v', [CompletionResultType]::ParameterName, 'Use verbose output')
|
||||||
[CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Use verbose output')
|
[CompletionResult]::new('--verbose', 'verbose', [CompletionResultType]::ParameterName, 'Use verbose output')
|
||||||
[CompletionResult]::new('--changelog', 'changelog', [CompletionResultType]::ParameterName, 'Print changelog')
|
[CompletionResult]::new('--changelog', 'changelog', [CompletionResultType]::ParameterName, 'Print changelog')
|
||||||
[CompletionResult]::new('--choose', 'choose', [CompletionResultType]::ParameterName, 'Select one or more recipes to run using a binary. If `--chooser` is not passed the chooser defaults to the value of $JUST_CHOOSER, falling back to `fzf`')
|
[CompletionResult]::new('--choose', 'choose', [CompletionResultType]::ParameterName, 'Select one or more recipes to run using a binary chooser. If `--chooser` is not passed the chooser defaults to the value of $JUST_CHOOSER, falling back to `fzf`')
|
||||||
[CompletionResult]::new('--dump', 'dump', [CompletionResultType]::ParameterName, 'Print justfile')
|
[CompletionResult]::new('--dump', 'dump', [CompletionResultType]::ParameterName, 'Print justfile')
|
||||||
[CompletionResult]::new('-e', 'e', [CompletionResultType]::ParameterName, 'Edit justfile with editor given by $VISUAL or $EDITOR, falling back to `vim`')
|
[CompletionResult]::new('-e', 'e', [CompletionResultType]::ParameterName, 'Edit justfile with editor given by $VISUAL or $EDITOR, falling back to `vim`')
|
||||||
[CompletionResult]::new('--edit', 'edit', [CompletionResultType]::ParameterName, 'Edit justfile with editor given by $VISUAL or $EDITOR, falling back to `vim`')
|
[CompletionResult]::new('--edit', 'edit', [CompletionResultType]::ParameterName, 'Edit justfile with editor given by $VISUAL or $EDITOR, falling back to `vim`')
|
||||||
|
@ -52,7 +52,7 @@ _just() {
|
|||||||
'*-v[Use verbose output]' \
|
'*-v[Use verbose output]' \
|
||||||
'*--verbose[Use verbose output]' \
|
'*--verbose[Use verbose output]' \
|
||||||
'--changelog[Print changelog]' \
|
'--changelog[Print changelog]' \
|
||||||
'--choose[Select one or more recipes to run using a binary. If `--chooser` is not passed the chooser defaults to the value of $JUST_CHOOSER, falling back to `fzf`]' \
|
'--choose[Select one or more recipes to run using a binary chooser. If `--chooser` is not passed the chooser defaults to the value of $JUST_CHOOSER, falling back to `fzf`]' \
|
||||||
'--dump[Print justfile]' \
|
'--dump[Print justfile]' \
|
||||||
'-e[Edit justfile with editor given by $VISUAL or $EDITOR, falling back to `vim`]' \
|
'-e[Edit justfile with editor given by $VISUAL or $EDITOR, falling back to `vim`]' \
|
||||||
'--edit[Edit justfile with editor given by $VISUAL or $EDITOR, falling back to `vim`]' \
|
'--edit[Edit justfile with editor given by $VISUAL or $EDITOR, falling back to `vim`]' \
|
||||||
|
@ -3,13 +3,19 @@ use {
|
|||||||
clap::{App, AppSettings, Arg, ArgGroup, ArgMatches, ArgSettings},
|
clap::{App, AppSettings, Arg, ArgGroup, ArgMatches, ArgSettings},
|
||||||
};
|
};
|
||||||
|
|
||||||
// These three strings should be kept in sync:
|
|
||||||
pub(crate) const CHOOSER_DEFAULT: &str =
|
|
||||||
"fzf --multi --preview 'just --unstable --color always --show {}'";
|
|
||||||
pub(crate) const CHOOSER_ENVIRONMENT_KEY: &str = "JUST_CHOOSER";
|
pub(crate) const CHOOSER_ENVIRONMENT_KEY: &str = "JUST_CHOOSER";
|
||||||
pub(crate) const CHOOSE_HELP: &str = "Select one or more recipes to run using a binary. If \
|
|
||||||
`--chooser` is not passed the chooser defaults to the value \
|
pub(crate) const CHOOSE_HELP: &str = "Select one or more recipes to run using a binary chooser. \
|
||||||
of $JUST_CHOOSER, falling back to `fzf`";
|
If `--chooser` is not passed the chooser defaults to the \
|
||||||
|
value of $JUST_CHOOSER, falling back to `fzf`";
|
||||||
|
|
||||||
|
pub(crate) fn chooser_default(justfile: &Path) -> OsString {
|
||||||
|
let mut chooser = OsString::new();
|
||||||
|
chooser.push("fzf --multi --preview 'just --unstable --color always --justfile \"");
|
||||||
|
chooser.push(justfile);
|
||||||
|
chooser.push("\" --show {}'");
|
||||||
|
chooser
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Debug, PartialEq)]
|
#[derive(Debug, PartialEq)]
|
||||||
#[allow(clippy::struct_excessive_bools)]
|
#[allow(clippy::struct_excessive_bools)]
|
||||||
|
@ -216,7 +216,7 @@ impl Subcommand {
|
|||||||
let chooser = chooser
|
let chooser = chooser
|
||||||
.map(OsString::from)
|
.map(OsString::from)
|
||||||
.or_else(|| env::var_os(config::CHOOSER_ENVIRONMENT_KEY))
|
.or_else(|| env::var_os(config::CHOOSER_ENVIRONMENT_KEY))
|
||||||
.unwrap_or_else(|| OsString::from(config::CHOOSER_DEFAULT));
|
.unwrap_or_else(|| config::chooser_default(&search.justfile));
|
||||||
|
|
||||||
let result = justfile
|
let result = justfile
|
||||||
.settings
|
.settings
|
||||||
|
@ -152,7 +152,7 @@ fn invoke_error_function() {
|
|||||||
",
|
",
|
||||||
)
|
)
|
||||||
.stderr_regex(
|
.stderr_regex(
|
||||||
r"error: Chooser `/ -cu fzf --multi --preview 'just --unstable --color always --show \{\}'` invocation failed: .*\n",
|
r#"error: Chooser `/ -cu fzf --multi --preview 'just --unstable --color always --justfile ".*justfile" --show \{\}'` invocation failed: .*\n"#,
|
||||||
)
|
)
|
||||||
.status(EXIT_FAILURE)
|
.status(EXIT_FAILURE)
|
||||||
.shell(false)
|
.shell(false)
|
||||||
|
Loading…
Reference in New Issue
Block a user