mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-25 04:13:08 +00:00
Make --install install without confirmation, and not exit
This commit is contained in:
parent
6d28845c2b
commit
be16eeef69
3 changed files with 5 additions and 19 deletions
|
@ -173,7 +173,7 @@ You can also build fish as a self-installing binary.
|
|||
|
||||
This will include all the datafiles like the included functions or web configuration tool in the main ``fish`` binary.
|
||||
|
||||
On the first interactive run, and whenever it notices they are out of date, it will extract the datafiles to ~/.local/share/fish/install/ (currently, subject to change). You can do this manually by running ``fish --install`` (or ``fish --install=noconfirm`` to skip the confirmation).
|
||||
On the first interactive run, and whenever it notices they are out of date, it will extract the datafiles to ~/.local/share/fish/install/ (currently, subject to change). You can do this manually by running ``fish --install``.
|
||||
|
||||
To install fish as self-installable, just use ``cargo``, like::
|
||||
|
||||
|
|
|
@ -40,10 +40,9 @@ The following options are available:
|
|||
**-i** or **--interactive**
|
||||
The shell is interactive.
|
||||
|
||||
**--install[=noconfirm]**
|
||||
**--install**
|
||||
When built as self-installable (via cargo), this will unpack fish's datafiles and place them in ~/.local/share/fish/install/.
|
||||
Using ``--install=noconfirm`` will skip the confirmation step.
|
||||
Fish will also do this automatically when run interactively.
|
||||
Fish will also ask to do this automatically when run interactively.
|
||||
|
||||
**-l** or **--login**
|
||||
Act as if invoked as a login shell.
|
||||
|
|
|
@ -540,7 +540,7 @@ fn fish_parse_opt(args: &mut [WString], opts: &mut FishCmdOpts) -> ControlFlow<i
|
|||
wopt(L!("no-config"), NoArgument, 'N'),
|
||||
wopt(L!("no-execute"), NoArgument, 'n'),
|
||||
wopt(L!("print-rusage-self"), NoArgument, RUSAGE_ARG),
|
||||
wopt(L!("install"), OptionalArgument, 'I'),
|
||||
wopt(L!("install"), NoArgument, 'I'),
|
||||
wopt(
|
||||
L!("print-debug-categories"),
|
||||
NoArgument,
|
||||
|
@ -576,20 +576,7 @@ fn fish_parse_opt(args: &mut [WString], opts: &mut FishCmdOpts) -> ControlFlow<i
|
|||
'h' => opts.batch_cmds.push("__fish_print_help fish".into()),
|
||||
'i' => opts.is_interactive_session = true,
|
||||
'I' => {
|
||||
let noconfirm = match w.woptarg {
|
||||
None => false,
|
||||
Some(n) if n == L!("noconfirm") => true,
|
||||
_ => {
|
||||
FLOGF!(
|
||||
error,
|
||||
"Unknown argument to --install: '%ls'",
|
||||
w.woptarg.unwrap()
|
||||
);
|
||||
std::process::exit(1);
|
||||
}
|
||||
};
|
||||
let ret = install(!noconfirm);
|
||||
std::process::exit(if ret { 0 } else { 1 });
|
||||
install(false);
|
||||
}
|
||||
'l' => opts.is_login = true,
|
||||
'N' => {
|
||||
|
|
Loading…
Reference in a new issue