Compare commits

...

172 Commits

Author SHA1 Message Date
sorgel
bf59785377 completion: fix du to support both GNU and BSD
The current file has no platform detection, causing GNU-only completions
on macOS/BSD. It also has a factual error: -H is described as "Human
readable sizes, powers of 1000", but -H actually follows command-line
symlinks.

Rewritten using __fish_gnu_complete and GNU detection, following
the same pattern as sed.fish. Platform-specific flags added.

Closes #12767
2026-05-20 18:40:12 +08:00
Drazape
4c30c9ec2d (refactor) default mode prompt: multiple test equality checks → contains
While at it, use early return.

Closes #12766
2026-05-20 18:40:01 +08:00
Johannes Altmanninger
684d360ece completions/cargo: remove xtask completions for now
We source "COMPLETE=fish cargo xtask" at completion load time.

This means that completions will be missing if completions were requested 
before entering a fish-shell worktree.

Also, as reported in [1], this will compile xtask even for non-fish
projects, which is usually fast but not necessarily (it might download
crates etc).

As suggested in the initial revision of #12763, we could
hardcode the output of

	$ COMPLETE=fish cargo xtask
	complete --keep-order --exclusive --command cargo --arguments \
		"(COMPLETE=fish /home/johannes/git/fish-shell/target/debug/xtask --
			(commandline --current-process --tokenize --cut-at-cursor) (commandline --current-token))"

but that might still be too intrusive because according to [2],
calls to "cargo metadata" can be slow on big repos with hundreds of
Cargo.toml files.

[1]: 959cbb4259 (r185615416)
[2]: 959cbb4259 (r185637424)

FWIW, commit comments are also accessible via

	gh api -H "X-GitHub-Api-Version: 2026-03-10" \
	    /repos/fish-shell/fish-shell/commits/959cbb42597444577d26ed5ba6151ccb1d7f3600/comments
2026-05-19 13:38:51 +08:00
Johannes Altmanninger
30b9cababa completions/cargo: fix spurious error message if jq is not installed
Reported in 959cbb4259 (r185615058)
2026-05-18 16:22:13 +08:00
Johannes Altmanninger
29182dae54 completions/cargo: don't implicitly install cargo via rustup
Set RUSTUP_AUTO_INSTALL=0 for completions, to be consistent with
88d01f7eb8 (completions/cargo: avoid auto-installing toolchain via
rustup, 2026-03-27).
2026-05-18 16:20:40 +08:00
Johannes Altmanninger
f598a7b444 completions/cargo: remove redundant arguments 2026-05-18 16:20:40 +08:00
Johannes Altmanninger
5d317be52c completions/cargo: fix error completing "cargo asm"
"timeout __fish_cargo" doesn't work because "__fish_cargo" is a
fish function.  Work around this.
2026-05-18 16:20:39 +08:00
Johannes Altmanninger
e59a61e5e6 share/config.fish: lazy-load __fish_expand_pid_args
This is only needed when invoking fg/bg/disown/kill.
Trims down share/config.fish a bit more.
2026-05-18 16:20:39 +08:00
Johannes Altmanninger
1284527fac Path component movement to skip all escaped characters
Extend the hack added in ebc140a3ea (Hack path component movement to
skip escaped spaces, 2025-12-16) to apply to all characters, such as
";" that may be part of a file name.
2026-05-18 16:18:52 +08:00
Johannes Altmanninger
ec52a999b3 Use ST (\x1b\\) as OSC terminator
The test balloon in 012007ce7b (Test balloon for ST OSC terminator,
2025-11-18) released in 4.3.0 did not trigger problem reports.
Bravely switch over to the standard ST rather than xterm's BEL.

Closes #12032
2026-05-18 16:18:52 +08:00
David Adam
afd869be2a README: update Actions status badge URL 2026-05-18 06:12:12 +08:00
Johannes Altmanninger
d72e323a6f Replace occasional uses of EN DASH (U+2013) with ASCII HYPHEN MINUS
See #12745
2026-05-14 16:38:08 +08:00
Johannes Altmanninger
d383733747 doc terminal-compatibility: don't call out informative Git prompt's arrows
The up/down arrows (as well as lots of other non-ASCII characters) are
printed by the informative Git prompt, which is not eabled by default.
2026-05-14 16:35:31 +08:00
Johannes Altmanninger
1f18b9715f Fix repeated tab causing repeated smartcase completion insertion
Doing

	firefox --pro TAB TAB TAB

results in

	firefox --profile --ProfileManager

git-bisect points to 3546ffa3ef (reader
handle_completions(): remove dead filtering code, 2026-01-02)
but that regression has already been fixed by 85e76ba356
(Fix option substr completions not being filtered out, 2026-04-16).

However in between those two commits, the above case has also been
broken by 2f6b1eaaf9 (reader handle_completions(): don't consider
odd replacing completions for common prefix, 2026-01-02)

The first TAB inserts "--profile ", including the trailing space.
However it also shows the completion pager, which means that subsequent
TABs will insert after the space.

The trailing space does not make sense unless we navigate the pager.
Remove it in all cases, to fix this smartcase scenario.

Alternatively, we could start navigating the pager in this case
(and keep the trailing space), but that's probably too inconsistent.
2026-05-14 16:17:41 +08:00
Johannes Altmanninger
5876ff66ff fish_git_prompt: fix buggy rename parsing
Commit f86c9af455 (fish_git_prompt: skip rename/copy source paths in
status parsing, 2026-05-12).  filters from "git-status --porcelain"
output all lines that don't look like a status entry.  This is
to filter out the rename source path.  But the filtering has false
positives, e.g. if a rename source path starts with "AA".  Let's only
skip lines immediately after each rename entry.  Also for copy (C)
though I haven't found a test case for that yet.
2026-05-14 14:25:21 +08:00
Johannes Altmanninger
ee4eea51ec fish_git_prompt: extract function 2026-05-14 14:25:21 +08:00
Hans Larsen
a3984ace4a Add git pull/fetch --recurse-submodules to completion
Closes #12746
2026-05-13 19:58:52 +08:00
Daniel Rainer
4bdd35b8d1 feat: stop language fallback at English
Treating `en` the same as any other language is problematic as shown by
#12690. When the language precedence list contains entries after
English and we don't treat English specially, a lack of translations in
`en.po` (or a lack of `en.po`, once we delete it) results in
translations into those subsequent languages being displayed, instead of
the msgid, which is in English, and thus preferable.

By truncating the fallback list when we encounter `en`, this problem is
resolved. As it is implemented now, the `en.po` catalog is never used.
This is intended, as the plan is to delete it (#12745). In any case, its
translations are identical to the msgids modulo some fancy quotes.

While at it, also treat `LANGUAGE` values of `C` and `POSIX` as
referring to the English version of the messages.

Fixes #12690

Closes #12747
2026-05-13 19:58:52 +08:00
June Kim
a93fcd97a7 fish_git_prompt: include T (typechange) in status filter
The status entry filter regex was missing T, which is a valid
porcelain status code for file type changes (e.g. regular file
to symlink). Without it, typechange entries would be silently
dropped from dirty/staged detection.

Closes #12754
2026-05-13 19:58:52 +08:00
June Kim
f86c9af455 fish_git_prompt: skip rename/copy source paths in status parsing
When git status --porcelain -z reports renames or copies, it outputs
the source filename as a separate NUL-delimited field after the status
line. This extra entry was counted as an additional change, inflating
staged/dirty counts when the source filename started with [ACDMRTU].

Filter split results to entries matching a valid two-char status code
prefix, which excludes the bare source filenames.

Fixes #11296

Part of #12754
2026-05-13 19:58:52 +08:00
June Kim
f69f074f66 Add failing test for git prompt rename miscount (issue #11296)
git status --porcelain -z outputs the rename source filename as a
separate NUL-delimited entry after the status line. When the source
filename starts with [ACDMRTU], the informative prompt miscounts it
as an additional staged change.

Part of #12754
2026-05-13 19:58:52 +08:00
Nahor
f0054336ea man-pages: force encoding when reading doc sources
Force the encoding to not be dependent on the environment locale.

In particular on Windows, the encoding could default to an ANSI page
code, which would fail to load any file containing bytes 0x80+, i.e any
multi-byte UTF-8 character.

Closes #12748
2026-05-13 19:58:52 +08:00
Daniel Rainer
959cbb4259 feat: dynamic cargo xtask completions for fish
Use `clap_complete` to generate completions for our xtasks. This comes
with two complications:
- Due to the unusual CLI of the whole xtask CLI definition being itself
  a subcommand under `cargo` (via the `cargo xtask` alias), we need to
  tell `clap_complete` that we're generating completions for `cargo`,
  which is fairly straightforward to do via two new types which are only
  used for generating completions.
- Our completions for `cargo xtask` only make sense within fish's
  workspace, so we need to ensure that they are not active elsewhere.
  `clap_complete` does not support adding such conditions, so we hack
  them together by post-processing its output with sed.

Closes #12739
2026-05-13 19:58:52 +08:00
Collin Styles
fa6cbbdb40 Add completions for git history
This command was added in git 2.54:

94f057755b/Documentation/RelNotes/2.54.0.adoc

Both subcommands (`reword` and `split`) take a commit-ish object to
target. `split` also optionally accepts filenames so I tried to handle
that by copying the pattern from existing completions.

Closes #12737
2026-05-13 19:58:52 +08:00
Daniel Rainer
2b378b9c1f feat: add info how to update outdated PO files
Putting this in the error message makes it easier to find out how to
resolve the problem.

Closes #12735
2026-05-13 19:58:52 +08:00
Milo
2863960836 docs: update Homebrew link to HTTPS
Co-authored-by: KeloYuan <keloyuan@users.noreply.github.com>

Closes #12733
2026-05-13 19:58:52 +08:00
Johannes Altmanninger
c003ec3795 vi mode: fix "x" command in builtin read
When we push a new reader for builtin read, we use the default
CursorSelectionMode::Exclusive, which is wrong in Vi mode.
Add a haphazard fix for that.
This is very ugly, we should improve this.

Closes #12724
2026-05-13 19:58:52 +08:00
PowerUser64
51ab1f5d35 add example of how to set default variable values
Closes #12720
2026-05-13 19:58:52 +08:00
Nahor
01b9fd9e31 complete: remove unescaping of -c/-p values
This removes the need to double-escape the values on the command line
(once for the command line parser, another for the option handling)

This also brings it in line with the implicit case (`complete cmd ...`)

Fixes #12712

Closes #12718
2026-05-13 18:01:48 +08:00
Jian Weihang
b2c23eb397 completions/tmux: complete directories for new-session -c
Closes #12713
2026-05-13 17:25:39 +08:00
Johannes Altmanninger
ef8e62727c Pass Parser by exclusive reference
As described in
https://github.com/fish-shell/fish-shell/pull/9990#discussion_r1382494440,
prior to 77aeb6a2a8 (Port execution, 2023-10-08), "Parser" was
passed by mutable reference ("parser_t&"), even though operation
context was passed as "const operation_context_t &".  This worked
because C++ doesn't propagate const to pointers by default (see
https://en.cppreference.com/cpp/experimental/propagate_const).

	class operation_context_t {
		std::shared_ptr<parser_t> parser;
		...
	};

So "*ctx->parser" was a "parser_t&", not "const parser_t&".

Rust has stricter const propagation rules which means that const
operation context can't simply hand out a non-const reference to parser.

To be able to port code without changing its structure,
77aeb6a2a8 passed "Parser" by shared reference, using interior
mutability (RefCell) to modify parser fields. This is a bit ugly
(c.f. https://doc.rust-lang.org/std/cell/index.html "interior mutability
is something of a last resort") and means that some borrowing conflicts
are not found at compile time but runtime.

Pass both parser and operation context by exclusive reference, and
remove the interior mutability wrappers from parser's fields.
Since "libdata" is no longer inside a "RefCell", add a "ScopedRefCell"
around "transient_commandline".

The downside is that "ScopeGuard" use can become more intrusive
when we pass "Parser" or "OperationContext" as context (especially
when we use "zelf" since we can't shadow "self"), see
* 2930466d53 (Introduce ScopedCell and ScopedRefCell, 2025-03-15)
* 29ae571afa (Make scoped_push nicer, 2024-12-28)
Avoid this in some cases, specifically when using "ScopedCell" or
"ScopedRefCell". Since "&mut Parser" prevents the "ScopeCell"'s
"ScopeGuard" from holding a shared reference, use an "Rc" to capture
a dynamically-checked reference to the Cell. We could also use raw
pointers instead.

Change "Completer::apply_var_assignments" to return  a block ID, to
avoid the need to return a "zelf" "ScopeGuard".  In future, we could
probably untangle completer and get away with returning a "ScopeGuard"
called "ctx".

Closes #12694
2026-05-11 10:41:14 +08:00
Johannes Altmanninger
638777a4de Remove unused ScopeGuarding trait
As of commit 0441bdc634 (Remove ScopeGuard::commit in favor of drop,
2026-04-30), this trait is empty so there's not much use having it
for now.
2026-05-11 10:41:14 +08:00
Johannes Altmanninger
6705d27f93 Remove unused ScopeGuard::cancel() 2026-05-11 10:41:14 +08:00
Johannes Altmanninger
ef626cfdf9 uvar migration: clarify it's about 4.3 or higher 2026-05-11 10:41:14 +08:00
Johannes Altmanninger
30976d8970 uvar migration: recogize more historical defaults as such
During our one-time migration away from universal variables,
we create ~/.config/fish/conf.d/fish_frozen_theme.fish
if we think that the current theme is different from the default.

The default uvar-backed theme had changed over time, but existing
installations would not be upgraded.  Because of this, we have
a heuristic that assumes that values coinciding with historical
default values also stem from a default.  Some historical values are
missing. Add them.

There are more left, see 03b23dd1b6 (Update default colors,
2022-01-27).

Fixes #12725
2026-05-11 10:41:14 +08:00
Johannes Altmanninger
d601ceb55b fish_command_not_found: move non-interactive logic
In non-interactive shells we only ever use our simple command-not-found
handler; the fancy ones are only intended for interactive shells, see
537ab32dd9 (Add support for the Ubuntu 'command-no-found' handler,
which suggests a package to install in order to get a command.,
2008-01-15).

I'm not sure if this behavior difference is really a good idea,
but I guess we can avoid rocking the boat for now.

Make the implementation less surprising by moving it into the obvious
file. No behavior change intended.
2026-05-11 10:41:14 +08:00
Johannes Altmanninger
6e036740de fish_command_not_found: remove legacy event handler
We no longer emit the "fish_command_not_found" event ourselves,
so the event handlers are only useful to users who
1. run "emit fish_command_not_found"
2. copy the definition of "fish_command_not_found" to their config and run
   that with fish < 3.2.

Probably no one does 1; there are no matches in
https://github.com/search?utf8=%E2%9C%93&q=%22emit+fish_command_not_found%22+language%3Afish&type=code

Reason 2 is less relevant after 5 years.

For additional evidence, none of our specializations
("/usr/libexec/pk-command-not-found" etc.)  react to the event,
and no one has ever complained.

Stop registering any fish_command_not_found as event handler,
for consistency and simplicity.

While at it, remove the documentation on how to make it work for
version < 3.2.
2026-05-11 10:24:12 +08:00
Johannes Altmanninger
e25ebf1067 handle_command_not_found: extract constant 2026-05-11 10:24:12 +08:00
Johannes Altmanninger
1f870b360a fish_command_not_found: deduplicate /etc/os-release regex 2026-05-11 10:24:12 +08:00
Johannes Altmanninger
c1a6f6ddc8 fish_command_not_found: remove duplicate function definition 2026-05-11 10:24:12 +08:00
Johannes Altmanninger
184f4f6571 share: remove redundant continuation lines escaping 2026-05-11 10:24:12 +08:00
Johannes Altmanninger
3dc36f74bc Don't print greetings in interactive read in fake-interactive shell
If a user passes "-i" when running a script, they ought to expect
weird behavior i.e. fish might run the user's interactive-only
configuration which might print things to TTY etc.  But at least
for our part of the configuration, we can avoid depending on the
user-settable interactive bit.

__fish_config_interactive is already only called when we paint the
first prompt, either for a prompt (which implies we're an interactive
shell) or for builtin read (which does not imply anything about the
interactivity of the shell).

Only print greetings when not in interactive read. Notably, "status
is-interactive-read" is not overridable by the user.

This helps us get rid of more "status is-interactive" switches.
2026-05-11 10:21:56 +08:00
Johannes Altmanninger
9374410bb6 fish_git_prompt: remove checks for interactive bit
The "if status is-interactive" was added by ae593decfc (Replace
__fish_git_branch_prompt.fish with __fish_git_prompt.fish, 2012-06-20)
presumably to avoid repaints in noninteractive cases.  The repaints
have been removed in 76457bdc4e (fish_git_prompt: Remove repaint
from variable handlers, 2021-03-04) so this is no longer necessary.
2026-05-11 10:21:56 +08:00
Johannes Altmanninger
1e0ff8712d share: use "status is-*" instead of old-school "status --is-*" 2026-05-11 10:21:56 +08:00
Nahor
e697f960c8 windows build: disable lint checks
There is already a GitHub workflow doing lint checks so it is redundant
and wastes time (4+ min).
 
Moreover, other platforms do not do it, so when it fails, it gives
the appearance that there is a Windows specific build issue beyond
linting.

Closes #12740
2026-05-10 23:52:47 +02:00
Daniel Rainer
cab3bdabc4 l10n: update PO files 2026-05-10 15:18:40 +02:00
Fabian Boehm
5c6acdee09 string shorten: Don't produce output with --quiet
This would've printed stuff in case it didn't have to shorten (which
means it "failed" because the logic is "did something").

Fixes #12732
2026-05-10 11:16:41 +02:00
huaji2369
a9cc505d62 completions/waydroid:
add completions for adb/bugreport
add package name completions for app launch/remove
replace all -fr with -x
2026-05-09 21:55:20 -07:00
Nahor
6c6b53cdd8 check.sh: on Cygwin, only re-run the tests that mention ln
On Cygwin, check.sh was running all the tests twice, one with symlinks
enabled, and one without. But most tests do no use symlinks so
re-running those does not test anything new and it's just a major waste
of resources and time (and cygwin is quite slow already).
So only re-run the tests that use symlinks, i.e. that use `ln`.

Filter on mentions of `ln` and not `cygwin_nosymlink` because the latter
is only needed when a test would fail in one of the two scenarios, and
not all tests with symlinks do.
2026-05-09 20:38:50 -07:00
Remo Senekowitsch
f5ff9aac2b completions/dive: add image tags from podman 2026-05-09 20:20:11 -07:00
Remo Senekowitsch
0ddad4fcb1 completions/dive: use upstream completions for builtins 2026-05-09 20:20:11 -07:00
Justin Su
7d1604a116 docs/read: Clarify that --null cannot be used with --line
Fixes issue #12726
2026-05-09 20:04:33 -07:00
Peter Ammon
aa5ecd0efa Make the tmux-history-search2 test more reliable 2026-05-09 18:37:07 -07:00
David Adam
0fafff2c89 CMake: stop installing embedded files
Completions, functions, tools, and various ancillary files have been
shipped within the fish binary for some time. We don't need two copies
in packages, plus some of them are never read from the filesystem.
2026-05-10 02:06:04 +08:00
Johannes Altmanninger
1b18d08611 Fix zellij completions
Note that on some distros, this is shadowed by
/usr/share/fish/vendor_completions.d/zellij.fish.
2026-05-08 01:33:49 +08:00
Johannes Altmanninger
5a2e9f4f3c build_tools/release.sh: update milestones even when pushing fails 2026-05-08 01:33:49 +08:00
Johannes Altmanninger
c592b5d957 start new cycle
Created by ./build_tools/release.sh 4.7.1
2026-05-08 01:33:49 +08:00
Johannes Altmanninger
77285d46b8 Merge tag 4.7.1 2026-05-08 01:33:49 +08:00
Johannes Altmanninger
efb0223da1 Release 4.7.1
Created by ./build_tools/release.sh 4.7.1
2026-05-08 00:02:14 +08:00
Johannes Altmanninger
b6f30f11e4 webconfig: hack webconfig to fake interactive colors
Commit e2b18fc5b6 (config.fish: don't load default theme in
noninteractive shells, 2026-04-28) broke webconfig: since "fish_config
theme choose default" was removed from non-interactive shells,
webconfig won't know the current theme in interactive shells.

Fix this by adding secret knob that allows webconfig to have
noninteractive fish set the same colors as interactive fish again.

This assumes that plugins won't need the knob, i.e. won't need to
know the "current" theme.

Alternatively, webconfig could run "fish -i" but that could cause
issues if an "if status is-interactive" block in user-config does
something naughty such as writing to stdout even if it's not a terminal.

Alternatively, we could do

	fish -c '
		if test -z "$(__fish_theme_variables)"
			fish_config theme choose default
		end
		# can dump current theme now
	'

but that does not feel as reliable (what if the user explicitly does
"set -e" on all color variables or).

Fixes #12717
2026-05-08 00:01:25 +08:00
Remo Senekowitsch
4296e9bd75 completions/zellij: add upstream completions
Closes #12723
2026-05-07 17:52:21 +02:00
Remo Senekowitsch
894ca81464 completions/mise: add upstream completions
Part of #12723
2026-05-07 17:52:16 +02:00
Remo Senekowitsch
7c53bded3a completions/chezmoi: add upstream completions
Part of #12723
2026-05-07 17:52:00 +02:00
Remo Senekowitsch
163f25d516 completions/niri: add upstream completions
Part of #12723
2026-05-07 17:51:44 +02:00
Remo Senekowitsch
d8e73d2263 completions/just: use upstream completions
Closes #12722
2026-05-07 17:51:21 +02:00
Johannes Altmanninger
fb29c85a62 start new cycle
Created by ./build_tools/release.sh 4.7.0
2026-05-06 14:51:33 +08:00
Johannes Altmanninger
e071de3b68 Release 4.7.0
Created by ./build_tools/release.sh 4.7.0
2026-05-05 15:24:27 +08:00
Nahor
ed6fe3f315 tmux-history-search2: fix test on WSL or in console sessions
Those two do not use the "return symbol"

Closes #12704
2026-05-05 14:57:42 +08:00
Nahor
4f539dffaf cd: fix path when trying to cd out of the root directory
Part of #12704
2026-05-05 14:57:42 +08:00
Remo Senekowitsch
d885e0efd7 completions/date: add rfc-3339 option
Closes #12703
2026-05-05 14:57:23 +08:00
Johannes Altmanninger
330e897acc Update changelog 2026-05-05 14:55:56 +08:00
Peter Ammon
b638aa198f Make the tmux-history-search2.fish test pass reliably on macOS 2026-05-03 19:50:26 -07:00
Peter Ammon
fd44c23678 Suppress an annoying warning on nightly
Prior to this commit, running

> cargo +nightly bench --features benchmark --no-run

Reports:
warning: feature `test` is declared but not used
 --> src/lib.rs:1:58
  |
1 | #![cfg_attr(all(nightly, feature = "benchmark"), feature(test))]
  |                                                          ^^^^
  |
  = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default

Which is a false positive. Allow unused features in this cfg_attr.
2026-05-03 18:03:37 -07:00
David Adam
f84179f8fe RPM/Debian packaging: add pkg-config dependency
This is required by the pcre2 crate to find the system PCRE2 library.
2026-05-03 23:05:03 +08:00
Johannes Altmanninger
71d6ec4ab9 wcsfilecmp: make sure trailing slashes sort first
This command

	cd $(mktemp -d)
	mkdir a "a b"
	complete -C": "

prints

	a b/
	a/

which is wrong ordering.
Usually the trailing slash should not be compared.

Fix this by always sorting slashes first.  Not sure if this is correct
for middle slashes but I couldn't find a case where it matters.

Closes #12695
2026-05-03 20:04:21 +08:00
Johannes Altmanninger
683e4c8d15 wcsfilecmp: extract function, use shadowing 2026-05-03 20:04:21 +08:00
xtqqczze
d7cc3c7bb6 format: use 2-space indents in toml files
Closes #12699
2026-05-03 20:04:21 +08:00
Johannes Altmanninger
9370830733 Make profiling API a bit harder to misuse 2026-05-03 20:03:46 +08:00
Johannes Altmanninger
161f31f42b run_1_job: remove code clone for profiling 2026-05-03 20:03:46 +08:00
Johannes Altmanninger
5998421410 Remove obsolete Send/Sync impls for ParsedSource 2026-05-03 20:03:46 +08:00
David Adam
5b1e163f22 docs/function: add caution about shadowing builtins
See #3000, #12962
2026-05-02 15:14:33 +08:00
Johannes Altmanninger
7c5fc85d96 builtin commandline: fix unintuitive clone 2026-05-01 18:35:41 +08:00
Johannes Altmanninger
2f9f46b2a5 eval_node: extract function for getting exec counts 2026-05-01 18:35:41 +08:00
Johannes Altmanninger
4b069b51e7 Remove "get_" prefix from some getters
In C++ we can't have a field and method sharing a name,
but in Rust we can.

For some structs, most getters don't have a "get_", so it's weird
that some do.  Remove the "get_" prefix where it's obvious enough.

While at it, give some related getters better names.
2026-05-01 18:35:41 +08:00
Johannes Altmanninger
398fc17b81 reader: use simpler test environment constructor
A following commit wants to pass parser by exclusive reference,
which disallows passing "parser" as well as "parser.vars()"
in one function call.  This use case also doesn't make sense.
The "OperationContext::test_only_foreground" constructor is used to
inject a special "PwdEnvironment" into the context.  When we don't need
this environment, we can use a regular constructor, which already uses
"parser.vars()".
2026-05-01 18:03:13 +08:00
Johannes Altmanninger
12fa0d8b3d reader: make exec_prompt_cmd a free function
A following commit will pass parser as "&mut Parser".  This would
create aliasing issues in our calls to exec_prompt_cmd; make it a
free function so rustc can understand how the borrows are split.
2026-05-01 18:03:13 +08:00
Johannes Altmanninger
0441bdc634 Remove ScopeGuard::commit in favor of drop
As of commit a296ee085c (Stop returning a value from ScopeGuarding::commit,
2025-03-15) "ScopeGuard::commit()" is equivalent to "drop()".
Let's use that instead.
2026-05-01 18:03:13 +08:00
Johannes Altmanninger
d0e47cf58a Move current_filename out of LibraryData
The ScopedRefCell wrapping from library_data
is used for two things
1. to allow mutating library_data from a &Parser (for this, a RefCell would be enough)
2. to replace "current_filename" for a scope

A following commit wants to pass parser as "&mut Parser", which
voids reason 1.  It will also remove the ScopedRefCell wrapping
from LibraryData because reason 2 alone is not strong enough.  Move
"current_filename" outside of that, next to "current_node" which is
already a ScopedRefCell.  In future we could maybe consolidate them
into one field, like (or even merging with) ScopedData.
2026-05-01 18:03:13 +08:00
Johannes Altmanninger
d35aa3860a Fix weird initial value for internal job ID
InternalJobId(0) aka InternalJobId::default() is treated specially
so it should not be given to a regular job.
2026-05-01 18:03:13 +08:00
Johannes Altmanninger
5971e79c3f Strong type for internal job IDs 2026-05-01 18:03:13 +08:00
Johannes Altmanninger
dad660cda5 Move internal job ID type
Move this type to where its non-default instances are constructed.
2026-05-01 18:03:13 +08:00
Johannes Altmanninger
8328e53050 reader: reduce variable scope 2026-05-01 18:03:13 +08:00
Johannes Altmanninger
4aadeea184 parser: remove unused field
This has been moved to InputData.
2026-05-01 18:03:13 +08:00
Johannes Altmanninger
df5067cc1c parse_execution: remove pipeline node reference from ExecutionContext
Upcoming changes will pass Parser by exclusive reference ("&mut") which
prevents aliasing; let's remove an alias which seems simpler anyway.
2026-05-01 18:03:13 +08:00
Johannes Altmanninger
3d708d6fc1 history: remove redundant argument 2026-05-01 18:03:13 +08:00
Johannes Altmanninger
a564238d82 highlight_and_colorize: remove redundant environment argument
This highlighting function is always called with with an operation
context created from a parser; Since parser.context().vars() is the same
as parser.vars(), we can use the former, reducing the number of aliases.
2026-05-01 18:03:13 +08:00
Johannes Altmanninger
64443aa173 Lower OnceLock to LazyLock
LazyLock is less powerful so we should use it when possible.

Ref: https://github.com/fish-shell/fish-shell/pull/12661#discussion_r3158097032
2026-05-01 18:03:13 +08:00
Johannes Altmanninger
d2c2b23d1f Fix "fish -d reader" crash on left mouse click
See #12693
2026-05-01 18:00:37 +08:00
Daniel Rainer
4e3898d0d7 feat: xtask gettext
Rewrite the PO file handling logic in Rust and make it available via an
xtask. Replaces the
`build_tools/{update_translations,fish_xgettext}.fish` scripts.

Main benefits:
- Better ergonomics
- Better error handling
- Eliminates the need for a fish executable for updating PO files,
  which is particularly useful in CI
- Improved performance, mainly due to concurrent threads working on the
  PO files in parallel

The behavior is mostly unchanged, with the minor exception that section
headers for empty sections are now omitted in PO files.
The interface for invoking the tooling is quite different. Instead of
working with flags, `cargo xtask gettext` has 3 subcommands:
- `update` modifies the PO files to match the current sources
- `check` is like update, but instead of modifying the PO files, it
  shows diffs between the current version of the PO files and what they
  would look like after updating. When there is a difference, the xtask
  exits non-zero, making it useful for checks to detect outdated PO
  files.
- `new` creates a new PO file for the given language.

Both the `update` and `check` command take any number of file paths to
specify the PO files to consider. If none are specified, all files in
`localization/po/` are considered.

Extracting gettext messages from Rust still requires compiling with the
`gettext-extract` feature active. In situations where compilation is
needed for other purposes as well, it can make sense to only build once
and then tell the gettext xtask about the directory into which the
messages have been extracted. This can be done via the
`--rust-extraction-dir` flag. If we stop having gettext messages in
Rust, this logic can be removed.

Closes #12676
2026-04-30 17:31:03 +00:00
Daniel Rainer
3ad45d8fb1 feat: make as_os_strs easier to use
Make trailing comma optional.

Return array, rather than reference to array, to eliminate lifetime
issues.

Closes #12688
2026-04-30 18:16:43 +08:00
xtqqczze
39bd54cb49 highlight: derive Display trait for HighlightRole 2026-04-28 21:49:51 +02:00
Johannes Altmanninger
281399561b Distinguish builtin read history session ID from private mode
Fixes #12662
2026-04-29 01:55:32 +08:00
Johannes Altmanninger
e5f57b1daf history: fix constructor naming
The only public constructor should be called new().
2026-04-29 01:55:32 +08:00
Johannes Altmanninger
6c04a72697 history: hide private constructor 2026-04-29 01:55:32 +08:00
Johannes Altmanninger
1034945690 Fix regression causing "nosuchcommand || hello" to short-circuit
Commit 3534c07584 (Adopt the new AST in parse_execution, 2020-07-03)
added to parse_execution_context_t::run_job_conjunction an early
return when any job in a job conjunction fails to launch.  This causes
"nosuchcommand || echo hello" to not execute the continuation.

Fix this by restoring the previous behavior.

Fixes #12654
2026-04-29 01:55:32 +08:00
Johannes Altmanninger
e2b18fc5b6 config.fish: don't load default theme in noninteractive shells
We define colors in noninteractive shells for historical reasons
(because colors used to be universal variables).

The other potential reason is to get regular syntax highlighting for
commands like:

	fish -c 'read --shell'

but if anyone actually uses that they can probably load a theme
explicitly.

Stop defining colors in noninteractive shells.  It's usually not
a good idea to make them behave differently from interactive ones,
but color seems only relevant for interactive shells?

Let's see if anyone complains.. we may end up reverting this if people
want to use noninteractive fish to query colors..  but I'm not sure
why that would be necessary.

Closes #12673
2026-04-29 01:48:47 +08:00
Johannes Altmanninger
319b093ef8 autoload: improve enum naming 2026-04-28 23:11:33 +08:00
Johannes Altmanninger
ab2678082e builtin string: add names to RegexError enum fields 2026-04-28 23:11:33 +08:00
Johannes Altmanninger
81e8eebd8d Use UpperCamelCase for enum variants
Missed in 17ba602acf (Use PascalCase for Enums, 2025-12-14).

Fixes #12647
2026-04-28 23:11:33 +08:00
Johannes Altmanninger
2b41f132be Remove obsolete comment working around late fish_indent bug 2026-04-28 15:41:15 +08:00
Johannes Altmanninger
688d1954a8 Fix unused import on systems without eventfd (Cygwin) 2026-04-28 15:27:35 +08:00
Johannes Altmanninger
96695a2859 Document how to remove workaround for Cygwin select() 2026-04-28 14:49:28 +08:00
Johannes Altmanninger
f2b0706494 reader: repaint commands to not disable "last_cmd"-based UI states (pager etc.)
"commandline -f repaint" might be triggered for various reasons;
since this sets "last_cmd", it will reset some UI states, notably
pager selection:

1. press tab
2. trigger repaint
3. press tab

The repaint prevents us from selecting the first candidate.

Work around this by ignoring repaint events for the last_cmd logic.

Fixes #12683
2026-04-28 14:43:55 +08:00
Johannes Altmanninger
c91bfba08c env_dispatch: reduce scope of captured $TERM local var 2026-04-28 14:19:51 +08:00
Daniel Rainer
cc40fa4a4c completions: use typst's built-in completions
https://github.com/typst/typst/pull/6568 (merged 2025-07-09), presumably
released in 0.14.0 (2025-10-24) introduces completion generation in
typst. Use them to replace our outdated manual completions.

Closes #12679

Closes #12684
2026-04-28 13:51:24 +08:00
Johannes Altmanninger
ff6ee65deb Assert that FD monitor Drop implementation is really test-only 2026-04-28 13:51:24 +08:00
Nahor
1771a325aa CI: enable check.sh on Windows
Closes #12171
2026-04-28 13:51:24 +08:00
Nahor
58648054c0 fd_monitor: wait for select() to return when removing an item
It is unspecified what `select()` returns if a descriptor is closed
while `select()` uses it. This can result in spurious error messages,
notably in Cygwin.

Also delete corresponding tests since they don't really help with
anything. Any `select()` result is valid when a socket is closed, so
checking that result is pointless. Moreover, fish already does not rely
on any specific result beyond logging.

Part of #12171
2026-04-28 13:51:24 +08:00
Nahor
27fb4d6731 Always heightenize file descriptors
Fixes #12618

Closes #12681
2026-04-28 13:51:24 +08:00
Nahor
6701b7f6c8 parser: remove unused cwd_fd field
Part of #12681
2026-04-28 13:51:24 +08:00
Johannes Altmanninger
e175a317af proc: use shorthand method for reading file /proc/pid/stat 2026-04-28 13:51:24 +08:00
Jaakko Koivisto
7b98a275fe Added 'updates' -directory to the kernel module locations.
Linux kernel modules installed by target 'modules_install' are installed
to '/usr/lib/<kernel>/updates'. This applies to both out-of-tree kernel
modules, or when building in-tree modules individually.

Module tools like 'modprobe' and 'modinfo' search the
'updates'-directory automatically, so it should be expected that fish
autocomplete to provide these modules as well.

Closes #12682
2026-04-28 13:51:24 +08:00
Johannes Altmanninger
b78dc4fbec completions/sudo-rs: fix when sudo is not installed
Fixes #12678
2026-04-28 13:51:24 +08:00
Johannes Altmanninger
12e97ea7fc fd monitor: hide test-only method 2026-04-28 13:15:28 +08:00
Johannes Altmanninger
af8594c611 Fix inconsistent case 2026-04-27 15:18:01 +08:00
Johannes Altmanninger
006fa86ef4 tests/checks/tmux-source.fish: reduce flakiness
As seen in
https://github.com/fish-shell/fish-shell/actions/runs/24944417077/job/73043241890?pr=12171

	Failure:

	  The CHECK on line 12 wants:
	    prompt 1> source -

	  which failed to match line stdout:3:
	    source -

	  Context:
	    prompt 0> source
	    source: missing filename argument or input redirection
	    source - <= no check matches this, previous check on line 11
	    prompt 1> source -
	    prompt 1>
2026-04-26 13:15:23 +08:00
Daniel Rainer
9b04300dc3 refactor: use anyhow for xtask errors
Terminating the process at arbitrary points with `std::process::exit`
when errors occur has several problems. There is a lack of information
about what lead up to the error, and it prevents destructors from
running, which in the cases of xtasks can for example result in
temporary files being left on the file system.

Instead, use `anyhow` which conveniently integrates with Rust's Result
type, allowing to return `anyhow::Result<T>`, which is an alias for
`Result<T, anyhow::Error>`, which is compatible with any error type that
implements `std::error::Error`. The advantages of using `anyhow` over
plain `Result`s are that it makes it easier to handle different error
types, attach context to errors, and show the call/context stack
associated with the error. Returning an `anyhow::Result<()>` from `main`
is possible because it implements `std::process::Termination`, so we get
automatic error reporting and corresponding exit codes by simply
bubbling up errors to `main`, attaching context as desired, and finally
returning the result from `main.`

In addition to removing the `std::process::exit` calls, this commit also
improves error handling in a few spots in other ways, such as replacing
`unwrap` by returning errors.

Closes #12674
2026-04-26 13:12:25 +08:00
Daniel Rainer
c80496fad1 cleanup: remove useless variable
Closes #12675
2026-04-25 17:08:03 +08:00
Johannes Altmanninger
ca56949028 release-notes.sh: fix language 2026-04-24 18:28:02 +08:00
Nathaniel
fa74d0fe54 complections/systemctl add missing subcommands
reorder subcommand descriptions

remove unused subcommands

add extra subcommand descriptions

remove old version check

Closes #12672
2026-04-24 13:34:22 +08:00
cunlem
59f3719e95 Allow opening script read-only with editor
Closes #12671
2026-04-24 13:30:25 +08:00
Johannes Altmanninger
170c171e85 shellcheck: lower OnceLock to LazyLock 2026-04-24 13:28:54 +08:00
Johannes Altmanninger
c33ca660e3 Replace OnceLock<()> with better(?) alternatives 2026-04-24 13:26:22 +08:00
Johannes Altmanninger
f7c336021b threads: ThreadId type 2026-04-23 19:12:40 +08:00
Johannes Altmanninger
523e25df17 reader: fix improper use of get_or_init() 2026-04-23 19:12:40 +08:00
Johannes Altmanninger
c8b28d4d24 cargo-test: remove unnecessary TTY initialization 2026-04-23 19:12:40 +08:00
Johannes Altmanninger
ba35214e1e Fix exit handlers being called on panic in background threads
Commit 1286745e78 (Remove bits for async-signal-safety of old SIGTERM
handler, 2026-04-11) introduced inconsistency; fix that.
2026-04-23 16:17:45 +08:00
Johannes Altmanninger
d05d8557a7 build_tools/*.sh: fix inconsistent bash shebang 2026-04-22 14:47:51 +08:00
Daniel Rainer
a3dc57873c lint: run shellcheck in CI
Closes #12661
2026-04-22 14:38:22 +08:00
Daniel Rainer
0c078c179d lint: run shellcheck xtask in main checks
Part of #12661
2026-04-22 14:28:45 +08:00
Daniel Rainer
ca443e2e54 lint: add xtask for running ShellCheck
ShellCheck does not have a built-in way of detecting which files it
should check, so we use ripgrep's `ignore` library to find files not
ignored by our gitignore rules, and then look for a non-fish shebang in
the first line of the file. The resulting shell scripts are then passed
to ShellCheck.

Part of #12661
2026-04-22 14:28:45 +08:00
Daniel Rainer
63c3306e6c lint: fix ShellCheck warnings
Part of #12661
2026-04-22 14:23:25 +08:00
Johannes Altmanninger
923d0b7974 config: use default XDG_DATA_DIRS when unset or empty
Installing a program like sway to /usr/local installs fish
completions to /usr/local/share/fish/vendor_completions.d/sway.fish.
When $XDG_DATA_DIRS is empty, these will typically not
be picked up.

(Since "__extra_completionsdir" is usually
"/usr/share/fish/vendor_completions.d/", this issue typically only
affects "/usr/share", not "/usr".)

Fix this by using the correct fallback value for XDG_DATA_DIRS.

Fixes #11349

Closes #12656
2026-04-22 14:21:09 +08:00
joveian
52998635f9 Avoid losing work in funced when no changes between parse errors
From the inital dd69ca5 commit that started checking if the file was modified
the initial checksum to compare against has been updated in the loop, causing
funced to lose work silently if you get a parse error, can't find the issue,
and want to look at the error message again.

Closes #12663
2026-04-22 00:53:56 +08:00
Saúl Nogueras
1ccf4ad480 Fix wget completion typo: non-verbose -> no-verbose
Closes #12664
2026-04-22 00:48:26 +08:00
Johannes Altmanninger
23b5b01242 Prune stale gitignore rules
After a few changes to our build system, lots of gitignore rules
are obsolete. Meanwhile, in-tree CMake builds are missing some rules
like "/cargo/".

Drop the obsolete ones, and add the in-tree CMake ones for now.
Also add ".venv/" (used by build_tools/release.sh).
Also limit some rules like .vscode to top-level (?).
2026-04-22 00:09:57 +08:00
Daniel Rainer
ca2b5dc40b checks: run with all features enabled
As discussed in #12649, we should check builds with all Cargo features
enabled. Previously, this did cause issues with the `benchmark` feature,
since that only works with nightly Rust. #12653 resolves that by only
enabling the `benchmark` feature with the nightly toolchain, so now we
can use `--all-features` with stable Rust.

Closes #12657
2026-04-20 21:21:24 +08:00
Armandas Jarušauskas
0dfe06f4c9 webconfig: highlight table entries on hover
- Makes it easier to identify which history entry is being deleted.
- Remove gap between rows that becomes visible on hover.
- Makes delete button a bit nicer looking by centering it and giving it a bit more space from the edge.

Closes #12659
2026-04-20 21:21:24 +08:00
xtqqczze
4e47f47d85 clippy: fix question_mark lint
https://rust-lang.github.io/rust-clippy/master/index.html#question_mark

Closes #12658
2026-04-20 21:21:24 +08:00
xtqqczze
f3e43e932f clippy: fix byte_char_slices lint
https://rust-lang.github.io/rust-clippy/master/index.html#byte_char_slices

Part of #12658
2026-04-20 21:21:24 +08:00
Johannes Altmanninger
1dfc75bb9c Better name for async-signal-safe functions
In Rust, "safety" is usually used in the context of unsafe functions,
which have documented preconditions.  Our async-signal-safe functions
are different; they offer extra safety properties. Rename them to
reduce confusion.

Ref: https://github.com/fish-shell/fish-shell/pull/12625#discussion_r3067819966
2026-04-20 21:21:24 +08:00
Johannes Altmanninger
fa33f6f0e0 tests/checks/disown.fish: improve test robustness
If the job never gets into stopped state, it will keep running forever.
Narrow the wait condition, to prevent a timeout in failure scenarios.
2026-04-20 17:03:09 +08:00
Johannes Altmanninger
31363120aa build_tools/version-available-in-debian.sh: fix for BSD sed
Fixes https://github.com/fish-shell/fish-shell/pull/12651#issuecomment-4275827646
2026-04-20 09:57:42 +08:00
xtqqczze
2304077e0d gate benchmark feature on nightly toolchain
Closes #12653
2026-04-19 17:38:04 +08:00
xtqqczze
86c052b6ba fix non_upper_case_globals lint
Closes #12648
2026-04-19 17:37:41 +08:00
xtqqczze
68472da48a highlight: derive Display trait for HighlightRole
Closes #12645
2026-04-19 17:14:42 +08:00
Daniel D. Beck
4b172fc735 set_color: document output more prominently
Issue: https://github.com/fish-shell/fish-shell/issues/2378

Closes #12644
2026-04-19 17:14:42 +08:00
Nahor
944ab91fab tests: various fixes for Cygwin itself and ACL mounts
Most notably:
- Unlike MSYS, Cygwin seems to always properly handle symlinks (at least
in common scenarios)
- With ACL, "x" permission also requires "r" do to anything, be it files
or directories

Closes #12642
2026-04-19 17:09:36 +08:00
Johannes Altmanninger
34535fcb61 tests/checks/disown: fix signal delivery race
Intermittent test failure suggests that kill(3p) returns before the
signal is delivered.  Fix the failure by waiting until the signal
has been delivered before continuing the test.

Fixes #12635
2026-04-19 17:07:39 +08:00
Johannes Altmanninger
9e4eb37696 complete: remove stale comment
Commit a4b6348315 (clippy: fix collapsible_match lint, 2026-04-18) made
it so '$' characters are handled here, which contradicts the comment.
Remove it.
2026-04-19 15:55:13 +08:00
Johannes Altmanninger
dda76d7f18 Update to Rust 1.95 2026-04-19 15:53:36 +08:00
Johannes Altmanninger
fdb1d95521 updatecli.d/rust.yml: fix staleness check when using rustup 1.29 2026-04-19 15:53:08 +08:00
xtqqczze
937f3bc6cb Update to Rust 1.94 2026-04-19 00:17:30 +00:00
Daniel Rainer
ebc32adc09 clippy: fix map_unwrap_or lint
https://rust-lang.github.io/rust-clippy/rust-1.95.0/index.html#map_unwrap_or
2026-04-18 23:27:51 +00:00
xtqqczze
a4b6348315 clippy: fix collapsible_match lint
https://rust-lang.github.io/rust-clippy/rust-1.95.0/index.html#collapsible_match
2026-04-18 23:16:34 +00:00
xtqqczze
b21a4a7197 benchmark: fix unresolved import error
```rust
error[E0432]: unresolved import `crate::common::bytes2wcstring`
   --> src/common.rs:714:9
    |
714 |     use crate::common::bytes2wcstring;
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `bytes2wcstring` in `common`
```
2026-04-18 21:28:15 +00:00
xtqqczze
0cd227533f highlight: implement Display trait for HighlightRole 2026-04-17 20:27:24 -07:00
Johannes Altmanninger
5eb7687a64 tests/checks/tmux-complete4.fish: fix for macOS sed 2026-04-17 03:22:56 +08:00
Johannes Altmanninger
8d6426295e complete: automatically resolve REPLACES_TOKEN flag
This flag is implied by matches that require replacements.  Reflect that
in the Completion::new, reducing the number of places where we raise the
flag.  This slightly simplifies tasks like proving the parent commit.

There are other scenarios (e.g. wildcards) where we currently set
the flag additionally.
2026-04-17 01:31:29 +08:00
Johannes Altmanninger
85e76ba356 Fix option substr completions not being filtered out
Commit 3546ffa3ef (reader handle_completions(): remove dead filtering code,
2026-01-02) gives a proof of correctness that still makes sense;
The first lemma ("if will_replace_token") is trivially true, so no need to
assert it.
The second lemma ("if !will_replace_token") is violated in some edge cases:
we claim that given a token "-c", the option completion "--clip" is an exact match,
which is not true, it's a substring match.

Fix that, asserting the claim.
2026-04-17 01:31:29 +08:00
Johannes Altmanninger
fee4288122 complete: reuse string fuzzy match when completing ~$USER
If we get to this code path, we'll only get completions for user
names, so technically the full StringFuzzyMatch with its ranking of
samecase/smartcase/icase (only showing the best) might be overkill,
but it seems like a good idea to treat this the same way as other
completions.

The occasion for this commit is to correct a wrong
StringFuzzyMatch::exact_match() in the icase branch; which will be
important for a following commit.  Add a test for that.
2026-04-17 01:28:54 +08:00
Johannes Altmanninger
413246a93d reader handle_completions(): move loop-invariant code 2026-04-17 01:28:02 +08:00
236 changed files with 6001 additions and 4690 deletions

View File

@@ -30,5 +30,5 @@ max_line_length = unset
[{COMMIT_EDITMSG,git-revise-todo,*.jjdescription}]
max_line_length = 72
[*.yml]
[*.{toml,yml}]
indent_size = 2

View File

@@ -25,7 +25,7 @@ runs:
set -x
toolchain=$(
case "$toolchain_channel" in
(stable) echo 1.93 ;; # updatecli.d/rust.yml
(stable) echo 1.95 ;; # updatecli.d/rust.yml
(msrv) echo 1.85 ;; # updatecli.d/rust.yml
(*)
printf >&2 "error: unsupported toolchain channel %s" "$toolchain_channel"

View File

@@ -21,4 +21,4 @@ jobs:
with:
command: check licenses
arguments: --all-features --locked --exclude-dev
rust-version: 1.93 # updatecli.d/rust.yml
rust-version: 1.95 # updatecli.d/rust.yml

View File

@@ -22,6 +22,27 @@ jobs:
- name: check rustfmt
run: find build.rs crates src -type f -name '*.rs' | xargs rustfmt --check
shellcheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2, build_tools/update-dependencies.sh
- uses: ./.github/actions/rust-toolchain@stable
- name: Update package database
run: sudo apt-get update
- name: Install shellcheck
run: sudo apt install shellcheck
- name: shellcheck
run: cargo xtask shellcheck
po_files_up_to_date:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2, build_tools/update-dependencies.sh
- uses: ./.github/actions/rust-toolchain@stable
- name: Install deps
uses: ./.github/actions/install-dependencies
- name: Check PO files
run: cargo xtask gettext check
clippy:
runs-on: ubuntu-latest
@@ -32,6 +53,8 @@ jobs:
features: ""
- rust_version: "stable"
features: "--no-default-features"
- rust_version: "stable"
features: "--all-features"
- rust_version: "msrv"
features: ""
steps:

View File

@@ -32,14 +32,6 @@ jobs:
- name: make fish_run_tests
run: |
make -C build VERBOSE=1 fish_run_tests
- name: translation updates
run: |
# Generate PO files. This should not result it a change in the repo if all translations are
# up to date.
# Ensure that fish is available as an executable.
PATH="$PWD/build:$PATH" build_tools/update_translations.fish
# Show diff output. Fail if there is any.
git --no-pager diff --exit-code || { echo 'There are uncommitted changes after regenerating the gettext PO files. Make sure to update them via `build_tools/update_translations.fish` after changing source files.'; exit 1; }
ubuntu-32bit-static-pcre2:
runs-on: ubuntu-latest
@@ -167,7 +159,7 @@ jobs:
- name: Install deps
# Not using setup-msys2 `install` option to make it easier to copy/paste
run: |
pacman --noconfirm -S --needed git rust
pacman --noconfirm -S --needed git rust python3 diffutils tmux
- name: rebase
env:
MSYS2_LOCATION: ${{ steps.msys2.outputs.msys2-location }}
@@ -177,10 +169,8 @@ jobs:
- name: cargo build
run: |
cargo build
- name: smoketest
# We can't run `build_tools/check.sh` yet, there are just too many failures
# so this is just a quick check to make sure that fish can swim
- name: tests
env:
FISH_CHECK_LINT: false
run: |
set -x
[ "$(target/debug/fish.exe -c 'echo (math 1 + 1)')" = 2 ]
cargo test
cargo xtask check

53
.gitignore vendored
View File

@@ -20,7 +20,6 @@
*.o
*.obj
*.orig
!tests/*.out
*.out
*.pch
*.slo
@@ -36,46 +35,31 @@
Desktop.ini
Thumbs.db
ehthumbs.db
__pycache__/
.directory
.fuse_hidden*
# Directories that only contain transitory files from building and testing.
/doc/
/share/man/
/share/doc/
/test/
/user_doc/
# File names that can appear in the project root that represent artifacts from
# building and testing.
/FISH-BUILD-VERSION-FILE
/command_list.txt
/command_list_toc.txt
/compile_commands.json
/doc.h
# Artifacts from in-tree builds ("cmake .").
/build.ninja
/cargo/
/CMakeCache.txt
/CMakeFiles/
/cmake_install.cmake
/fish
/fish.pc
/fish_indent
/fish_key_reader
/fish_tests
/lexicon.txt
/lexicon_filter
/toc.txt
/version
fish-build-version-witness.txt
__pycache__
/fish-localization-map-cache/
/fish.pc
/fish.pc.noversion
/.ninja_log
# File names that can appear below the project root that represent artifacts
# from building and testing.
/doc_src/commands.hdr
/doc_src/index.hdr
/po/*.gmo
/share/__fish_build_paths.fish
/share/pkgconfig
/tests/*.tmp.*
/tests/.last-check-all-files
/.venv/
# xcode
## Build generated
@@ -83,24 +67,19 @@ __pycache__
*.xccheckout
*.xcscmblueprin
.vscode
/DerivedData/
/build/
/DerivedData/
/tags
xcuserdata/
/xcuserdata/
# Generated by Cargo
# will have compiled files and executables
debug/
target/
/target/
# These are backup files generated by rustfmt
**/*.rs.bk
# MSVC Windows builds of rustc generate these, which store debugging information
*.pdb
# Generated by clangd
/.cache
/.cache/
# JetBrains editors.
.idea/

View File

@@ -1,33 +1,63 @@
fish ?.?.? (released ???)
=========================
Notable improvements and fixes
------------------------------
Deprecations and removed features
---------------------------------
- `--command` and `--path` options in `complete` no longer unescape their value.
Interactive improvements
------------------------
- On the first run after upgrading from an older version, fish will try harder to check if the current theme matches a historical default, in which case fish won't create ``~/.config/fish/conf.d/fish_frozen_theme.fish``.
This means that on systems where fish version 3.x was installed originally, the update will avoid creating that file (:issue:`12725`).
Regression fixes:
-----------------
- (from 4.4) Vi mode ``x`` in :doc:`builtin read <cmds/read>` (:issue:`12724`).
- (from 4.3.3) Repeated tab would sometimes insert smartcase completions redundantly.
fish 4.7.1 (released May 08, 2026)
==================================
This release fixes a regression in 4.7.0 that caused the web config (``fish_config``) to fail to start (:issue:`12717`).
fish 4.7.0 (released May 05, 2026)
==================================
Deprecations and removed features
---------------------------------
- The default theme (i.e. the ``fish_color_*`` variables) is no longer set in non-interactive shells.
Interactive improvements
------------------------
- :doc:`prompt_pwd <cmds/prompt_pwd>` now strips control characters.
- Background color and underline color specified in :envvar:`fish_color_valid_path` are now respected (:issue:`12622`).
Improved terminal support
-------------------------
- Repaint events (as triggered by changes to color variables or by event handlers running ``commandline -f repaint``) no longer reset the completion pager and other transient UI states (:issue:`12683`).
- :envvar:`fish_color_valid_path` now respects background and underline colors (:issue:`12622`).
- :doc:`funced <cmds/funced>` will no longer lose work if there are parse errors multiple times without new changes to the file.
- Fixed a case where directory completions were sorted in a surprising order (:issue:`12695`).
- When at the command token, the :kbd:`alt-o` binding will now open read-only files too (:issue:`12671`).
- Private mode in-memory history (``set fish_history``) is no longer shared with :doc:`builtin read <cmds/read>` (:issue:`12662`).
Other improvements
------------------
- History is no longer corrupted with NUL bytes when fish receives SIGTERM or SIGHUP (:issue:`10300`).
- :doc:`fish_update_completions <cmds/fish_update_completions>` now handles groff ``\X'...'`` device control escapes, fixing completion generation for man pages produced by help2man 1.50 and later (such as coreutils 9.10).
- Removing history entries via the :doc:`web-based config <cmds/fish_config>` is more intuitive.
- If :envvar:`XDG_DATA_DIRS` is empty, the default value is assumed, which means that fish will now also use configuration from paths like ``$PREFIX/share/fish/vendor_completions.d`` (:issue:`11349`).
- Some internal file descriptors were moved to number 10 or higher, to reduce risk of clashes with those used by the user in scripts.
- The wording of error messages has been made consistent, especially for builtin subcommands (:issue:`12556`).
For distributors and developers
-------------------------------
- When the default global config directory (``$PREFIX/etc/fish``) exists but has been overridden via ``-DCMAKE_INSTALL_SYSCONFDIR``, fish will now respect that override (:issue:`10748`).
- ``build_tools/update_translations.fish`` has been replaced by ``cargo xtask gettext {check,new,update}`` (:issue:`12676`).
- ``cargo xtask shellcheck`` to lint shell-scripts.
Regression fixes:
-----------------
- Vi mode ``dl`` (:issue:`12461`).
- (from 4.6) Vi mode ``dl`` (:issue:`12461`).
- (from 4.6) Backspace after newline (:issue:`12583`).
- (from 4.3.3) Long options were spuriously completed after typing short options (85e76ba3561).
- (from 3.2) ``nosuchcommand || echo hello`` executes the right hand side again (:issue:`12654`).
fish 4.6.0 (released March 28, 2026)
====================================
@@ -3354,7 +3384,7 @@ For distributors and developers
standard sh instead.
- The ``hostname`` command is no longer required for fish to operate.
-
fish 2.7.1 (released December 23, 2017)
=======================================
@@ -3366,7 +3396,7 @@ session (:issue:`4521`).
If you are upgrading from version 2.6.0 or before, please also review
the release notes for 2.7.0 and 2.7b1 (included below).
-
fish 2.7.0 (released November 23, 2017)
=======================================
@@ -3378,7 +3408,7 @@ from version 2.6.0 or before, please also review the release notes for
Xcode builds and macOS packages could not be produced with 2.7b1, but
this is fixed in 2.7.0.
-
fish 2.7b1 (released October 31, 2017)
======================================
@@ -4079,7 +4109,7 @@ Other notable fixes and improvements
- Add support for bright colors (:issue:`1464`)
- Allow Ctrl-J (``\cj``) to be bound separately from Ctrl-M
(``\cm``) (:issue:`217`)
- psub now has a “-s”/“suffix” option to name the temporary file with
- psub now has a “-s”/“-suffix” option to name the temporary file with
that suffix
- Enable 24-bit colors on select terminals (:issue:`2495`)
- Support for SVN status in the prompt (:issue:`2582`)
@@ -4469,7 +4499,7 @@ Other Notable Fixes
- xsel is no longer built as part of fish. It will still be invoked if
installed separately :issue:`633`
- \__fish_filter_mime no longer spews :issue:`628`
- The no-execute option to fish no longer falls over when reaching the
- The -no-execute option to fish no longer falls over when reaching the
end of a block :issue:`624`
- fish_config knows how to find fish even if its not in the $PATH :issue:`621`
- A leading space now prevents writing to history, as is done in bash

View File

@@ -271,13 +271,14 @@ Adding translations for a new language
--------------------------------------
Creating new translations requires the Gettext tools.
More specifically, you will need ``msguniq`` and ``msgmerge`` for creating translations for a new
language.
To create a new translation, run::
More specifically, you will need ``msguniq``, ``msgmerge``, and ``msgattrib``
for creating translations for a new language.
To create a PO file for a new language ``ll_CC``, run::
build_tools/update_translations.fish localization/po/ll_CC.po
cargo xtask gettext new ll_CC
This will create a new PO file containing all messages available for translation.
This will create a new PO file in ``localization/po/``
containing all messages available for translation.
If the file already exists, it will be updated.
After modifying a PO file, you can recompile fish, and it will integrate the modifications you made.
@@ -347,10 +348,12 @@ Modifications to strings in source files
----------------------------------------
If a string changes in the sources, the old translations will no longer work.
They will be preserved in the PO files, but commented-out (starting with ``#~``).
If you add/remove/change a translatable strings in a source file,
run ``build_tools/update_translations.fish`` to propagate this to all translation files (``localization/po/*.po``).
run ``cargo xtask gettext update`` to propagate this to all translation files (``localization/po/*.po``).
This is only relevant for developers modifying the source files of fish or fish scripts.
Note translations for messages which are no longer present in the sources will be deleted from the PO files.
If the source string changed in a way which should not affect translations,
consider updating the ``msgid`` in the PO files such that translations are preserved.
Setting Code Up For Translations
--------------------------------

197
Cargo.lock generated
View File

@@ -53,7 +53,7 @@ version = "1.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc"
dependencies = [
"windows-sys",
"windows-sys 0.61.2",
]
[[package]]
@@ -64,9 +64,15 @@ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d"
dependencies = [
"anstyle",
"once_cell_polyfill",
"windows-sys",
"windows-sys 0.61.2",
]
[[package]]
name = "anyhow"
version = "1.0.102"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c"
[[package]]
name = "assert_matches"
version = "1.5.0"
@@ -146,10 +152,22 @@ checksum = "793207c7fa6300a0608d1080b858e5fdbe713cdc1c8db9fb17777d8a13e63df0"
dependencies = [
"anstream",
"anstyle",
"clap_lex",
"clap_lex 0.7.7",
"strsim",
]
[[package]]
name = "clap_complete"
version = "4.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3e962dae2b1e5007fe9e3db363ddc43a8bf25546d279f7a8a4401204690e80c"
dependencies = [
"clap",
"clap_lex 1.1.0",
"is_executable",
"shlex",
]
[[package]]
name = "clap_derive"
version = "4.5.55"
@@ -168,6 +186,12 @@ version = "0.7.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3e64b0cc0439b12df2fa678eae89a1c56a529fd067a9115f7827f1fffd22b32"
[[package]]
name = "clap_lex"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9"
[[package]]
name = "colorchoice"
version = "1.0.4"
@@ -183,6 +207,31 @@ dependencies = [
"libc",
]
[[package]]
name = "crossbeam-deque"
version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51"
dependencies = [
"crossbeam-epoch",
"crossbeam-utils",
]
[[package]]
name = "crossbeam-epoch"
version = "0.9.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
dependencies = [
"crossbeam-utils",
]
[[package]]
name = "crossbeam-utils"
version = "0.8.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
[[package]]
name = "crypto-common"
version = "0.1.7"
@@ -221,7 +270,7 @@ dependencies = [
"libc",
"option-ext",
"redox_users",
"windows-sys",
"windows-sys 0.61.2",
]
[[package]]
@@ -243,7 +292,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
dependencies = [
"libc",
"windows-sys",
"windows-sys 0.61.2",
]
[[package]]
@@ -260,7 +309,7 @@ checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
[[package]]
name = "fish"
version = "4.6.0"
version = "4.7.1"
dependencies = [
"assert_matches",
"bitflags",
@@ -296,7 +345,9 @@ dependencies = [
"rand",
"rsconf",
"rust-embed",
"rustc_version",
"serial_test",
"strum_macros",
"unix_path",
"xterm-color",
]
@@ -520,6 +571,31 @@ version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
[[package]]
name = "ignore"
version = "0.4.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3d782a365a015e0f5c04902246139249abf769125006fbe7649e2ee88169b4a"
dependencies = [
"crossbeam-deque",
"globset",
"log",
"memchr",
"regex-automata",
"same-file",
"walkdir",
"winapi-util",
]
[[package]]
name = "is_executable"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baabb8b4867b26294d818bf3f651a454b6901431711abb96e296245888d6e8c4"
dependencies = [
"windows-sys 0.60.2",
]
[[package]]
name = "is_terminal_polyfill"
version = "1.70.2"
@@ -889,6 +965,15 @@ dependencies = [
"walkdir",
]
[[package]]
name = "rustc_version"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
dependencies = [
"semver",
]
[[package]]
name = "same-file"
version = "1.0.6"
@@ -919,6 +1004,12 @@ version = "3.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "490dcfcbfef26be6800d11870ff2df8774fa6e86d047e3e8c8a76b25655e41ca"
[[package]]
name = "semver"
version = "1.0.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd"
[[package]]
name = "serde"
version = "1.0.228"
@@ -1015,6 +1106,18 @@ version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
[[package]]
name = "strum_macros"
version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab85eea0270ee17587ed4156089e10b9e6880ee688791d45a905f5b1ca36f664"
dependencies = [
"heck",
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "syn"
version = "2.0.114"
@@ -1134,7 +1237,7 @@ version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
dependencies = [
"windows-sys",
"windows-sys 0.61.2",
]
[[package]]
@@ -1143,6 +1246,15 @@ version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
[[package]]
name = "windows-sys"
version = "0.60.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb"
dependencies = [
"windows-targets",
]
[[package]]
name = "windows-sys"
version = "0.61.2"
@@ -1152,6 +1264,71 @@ dependencies = [
"windows-link",
]
[[package]]
name = "windows-targets"
version = "0.53.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3"
dependencies = [
"windows-link",
"windows_aarch64_gnullvm",
"windows_aarch64_msvc",
"windows_i686_gnu",
"windows_i686_gnullvm",
"windows_i686_msvc",
"windows_x86_64_gnu",
"windows_x86_64_gnullvm",
"windows_x86_64_msvc",
]
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53"
[[package]]
name = "windows_aarch64_msvc"
version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006"
[[package]]
name = "windows_i686_gnu"
version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3"
[[package]]
name = "windows_i686_gnullvm"
version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c"
[[package]]
name = "windows_i686_msvc"
version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2"
[[package]]
name = "windows_x86_64_gnu"
version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499"
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1"
[[package]]
name = "windows_x86_64_msvc"
version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650"
[[package]]
name = "wit-bindgen"
version = "0.46.0"
@@ -1163,9 +1340,15 @@ name = "xtask"
version = "0.0.0"
dependencies = [
"anstyle",
"anyhow",
"clap",
"clap_complete",
"fish-build-helper",
"fish-common",
"fish-tempfile",
"fish-widestring",
"ignore",
"pcre2",
"walkdir",
]

View File

@@ -12,11 +12,13 @@ license = "GPL-2.0-only AND LGPL-2.0-or-later AND MIT AND PSF-2.0"
[workspace.dependencies]
anstyle = "1.0.13"
anyhow = "1.0.102"
assert_matches = "1.5.0"
bitflags = "2.5.0"
cc = "1.0.94"
cfg-if = "1.0.3"
clap = { version = "4.5.54", features = ["derive"] }
clap_complete = { version = "4.6.4", features = ["unstable-dynamic"] }
errno = "0.3.0"
fish-build-helper = { path = "crates/build-helper" }
fish-build-man-pages = { path = "crates/build-man-pages" }
@@ -35,6 +37,7 @@ fish-wcstringutil = { path = "crates/wcstringutil" }
fish-widecharwidth = { path = "crates/widecharwidth" }
fish-widestring = { path = "crates/widestring" }
fish-wgetopt = { path = "crates/wgetopt" }
ignore = "0.4.25"
itertools = "0.14.0"
libc = "0.2.177"
# lru pulls in hashbrown by default, which uses a faster (though less DoS resistant) hashing algo.
@@ -42,38 +45,41 @@ libc = "0.2.177"
# files as of 22 April 2024.
lru = "0.16.2"
nix = { version = "0.31.1", default-features = false, features = [
"event",
"fs",
"inotify",
"hostname",
"resource",
"process",
"signal",
"term",
"user",
"event",
"fs",
"inotify",
"hostname",
"resource",
"process",
"signal",
"term",
"user",
] }
num-traits = "0.2.19"
once_cell = "1.19.0"
pcre2 = { git = "https://github.com/fish-shell/rust-pcre2", tag = "0.2.9-utf32", default-features = false, features = [
"utf32",
"utf32",
] }
phf = { version = "0.13", default-features = false }
phf_codegen = "0.13"
portable-atomic = { version = "1", default-features = false, features = [
"fallback",
"fallback",
] }
proc-macro2 = "1.0"
rand = { version = "0.9.2", default-features = false, features = [
"small_rng",
"thread_rng",
"small_rng",
"thread_rng",
] }
regex = "1.12.3"
rsconf = "0.3.0"
rust-embed = { version = "8.11.0", features = [
"deterministic-timestamps",
"include-exclude",
"interpolate-folder-path",
"deterministic-timestamps",
"include-exclude",
"interpolate-folder-path",
] }
rustc_version = "0.4.1"
serial_test = { version = "3", default-features = false }
strum_macros = "0.28.0"
widestring = "1.2.0"
unicode-segmentation = "1.12.0"
unicode-width = "0.2.0"
@@ -91,7 +97,7 @@ debug = true
[package]
name = "fish"
version = "4.6.0"
version = "4.7.1"
edition.workspace = true
rust-version.workspace = true
default-run = "fish"
@@ -128,6 +134,7 @@ num-traits.workspace = true
once_cell.workspace = true
pcre2.workspace = true
rand.workspace = true
strum_macros.workspace = true
xterm-color.workspace = true
[target.'cfg(not(target_has_atomic = "64"))'.dependencies]
@@ -135,16 +142,16 @@ portable-atomic.workspace = true
[target.'cfg(windows)'.dependencies]
rust-embed = { workspace = true, features = [
"deterministic-timestamps",
"debug-embed",
"include-exclude",
"interpolate-folder-path",
"deterministic-timestamps",
"debug-embed",
"include-exclude",
"interpolate-folder-path",
] }
[target.'cfg(not(windows))'.dependencies]
rust-embed = { workspace = true, features = [
"deterministic-timestamps",
"include-exclude",
"interpolate-folder-path",
"deterministic-timestamps",
"include-exclude",
"interpolate-folder-path",
] }
[dev-dependencies]
@@ -156,6 +163,7 @@ fish-build-helper.workspace = true
fish-gettext-mo-file-parser.workspace = true
phf_codegen = { workspace = true, optional = true }
rsconf.workspace = true
rustc_version.workspace = true
[target.'cfg(windows)'.build-dependencies]
unix_path.workspace = true
@@ -185,16 +193,14 @@ embed-manpages = ["dep:fish-build-man-pages"]
localize-messages = ["dep:fish-gettext"]
# This feature is used to enable extracting messages from the source code for localization.
# It only needs to be enabled if updating these messages (and the corresponding PO files) is
# desired. This happens when running tests via `cargo xtask check` and when calling
# `build_tools/update_translations.fish`, so there should not be a need to enable it manually.
# desired. This happens for the `gettext` xtask, which is also invoked via `cargo xtask check`.
# There should not be a need to enable this feature manually.
gettext-extract = ["dep:fish-gettext-extraction"]
# The following features are auto-detected by the build-script and should not be enabled manually.
tsan = []
[workspace.lints]
rust.non_camel_case_types = "allow"
rust.non_upper_case_globals = "allow"
rust.unknown_lints = { level = "allow", priority = -1 }
rust.unstable_name_collisions = "allow"
rustdoc.private_intra_doc_links = "allow"

View File

@@ -31,7 +31,7 @@ macOS
fish can be installed:
- using `Homebrew <http://brew.sh/>`__: ``brew install fish``
- using `Homebrew <https://brew.sh/>`__: ``brew install fish``
- using `MacPorts <https://www.macports.org/>`__:
``sudo port install fish``
- using the `installer from fishshell.com <https://fishshell.com/>`__
@@ -221,5 +221,5 @@ There is also a fish tag on Stackoverflow, but it is typically a poor fit.
Found a bug? Have an awesome idea? Please `open an
issue <https://github.com/fish-shell/fish-shell/issues/new>`__.
.. |Build Status| image:: https://github.com/fish-shell/fish-shell/workflows/make%20test/badge.svg
:target: https://github.com/fish-shell/fish-shell/actions
.. |Build Status| image:: https://github.com/fish-shell/fish-shell/actions/workflows/test.yml/badge.svg
:target: https://github.com/fish-shell/fish-shell/actions/workflows/test.yml

View File

@@ -6,6 +6,10 @@
use std::path::{Path, PathBuf};
fn main() {
let is_nightly =
rustc_version::version_meta().unwrap().channel == rustc_version::Channel::Nightly;
rsconf::declare_cfg("nightly", is_nightly);
setup_paths();
// Add our default to enable tools that don't go through CMake, like "cargo test" and the

View File

@@ -60,7 +60,7 @@ cargo() {
fi
}
# shellcheck disable=2329
# shellcheck disable=2317,2329
cleanup () {
if [ -n "$gettext_template_dir" ] && [ -e "$gettext_template_dir" ]; then
rm -r "$gettext_template_dir"
@@ -98,10 +98,17 @@ if $lint; then
if command -v cargo-deny >/dev/null; then
cargo deny --all-features --locked --exclude-dev check licenses
fi
if command -v shellcheck >/dev/null || { test -n "$CI" && ! $is_cygwin; }; then
cargo xtask shellcheck
fi
PATH="$build_dir:$PATH" cargo xtask format --all --check
for features in "" --no-default-features; do
for features in "" --no-default-features --all-features; do
cargo clippy --workspace --all-targets $features
done
cargo xtask gettext --rust-extraction-dir="$gettext_template_dir" check
fi
# When running `cargo test`, some binaries (e.g. `fish_gettext_extraction`)
@@ -125,23 +132,26 @@ if $lint; then
cargo doc --workspace --no-deps
fi
# Using "()" not "{}" because we do want a subshell (for the export)
system_tests() (
# shellcheck disable=2163
[ -n "$*" ] && export "$@"
# shellcheck disable=2031
export FISH_GETTEXT_EXTRACTION_DIR="$gettext_template_dir"
"$workspace_root/tests/test_driver.py" "$build_dir"
)
system_tests() {
"$workspace_root/tests/test_driver.py" "$build_dir" "$@"
}
if $is_cygwin; then
# shellcheck disable=2059
printf "=== Running ${green}integration tests ${yellow}with${green} symlinks${reset}\n"
system_tests "$cygwin_var"=winsymlinks
(
export "$cygwin_var"=winsymlinks
system_tests
)
# shellcheck disable=2059
printf "=== Running ${green}integration tests ${yellow}without${green} symlinks${reset}\n"
system_tests "$cygwin_var"=
(
# Only redo the tests that use `ln` to saves some time
export "$cygwin_var"=
# shellcheck disable=2046
system_tests $(grep -l -E '\bln\b' -r tests/checks/)
)
else
# shellcheck disable=2059
printf "=== Running ${green}integration tests${reset}\n"

View File

@@ -1,150 +0,0 @@
#!/usr/bin/env fish
#
# Tool to generate gettext messages template file.
# Writes to stdout.
# Intended to be called from `update_translations.fish`.
argparse use-existing-template= -- $argv
or exit $status
begin
# Write header. This is required by msguniq.
# Note that this results in the file being overwritten.
# This is desired behavior, to get rid of the results of prior invocations
# of this script.
set -l header 'msgid ""\nmsgstr "Content-Type: text/plain; charset=UTF-8\\\\n"\n\n'
printf $header
set -g workspace_root (path resolve (status dirname)/..)
set -l rust_extraction_dir
if set -l --query _flag_use_existing_template
set rust_extraction_dir $_flag_use_existing_template
else
set rust_extraction_dir (mktemp -d)
# We need to build to ensure that the proc macro for extracting strings runs.
FISH_GETTEXT_EXTRACTION_DIR=$rust_extraction_dir cargo check --features=gettext-extract
or exit 1
end
function mark_section
set -l section_name $argv[1]
echo 'msgid "fish-section-'$section_name'"'
echo 'msgstr ""'
echo ''
end
mark_section tier1-from-rust
# Get rid of duplicates and sort.
begin
# Without providing this header, msguniq complains when a msgid is non-ASCII.
printf $header
find $rust_extraction_dir -type f -exec cat {} +
end |
msguniq --no-wrap --sort-output |
# Remove the header again. Otherwise it would appear twice, breaking the msguniq at the end
# of this file.
sed '/^msgid ""$/ {N; /\nmsgstr "Content-Type: text\/plain; charset=UTF-8\\\\n"$/ {N; d}}'
if not set -l --query _flag_use_existing_template
rm -r $rust_extraction_dir
end
function extract_fish_script_messages_impl
set -l regex $argv[1]
set -e argv[1]
# Using xgettext causes more trouble than it helps.
# This is due to handling of escaping in fish differing from formats xgettext understands
# (e.g. POSIX shell strings).
# We work around this issue by manually writing the file content.
# Steps:
# 1. We extract strings to be translated from the relevant files and drop the rest. This step
# depends on the regex matching the entire line, and the first capture group matching the
# string.
# 2. We unescape. This gets rid of some escaping necessary in fish strings.
# 3. The resulting strings are sorted alphabetically. This step is optional. Not sorting would
# result in strings from the same file appearing together. Removing duplicates is also
# optional, since msguniq takes care of that later on as well.
# 4. Single backslashes are replaced by double backslashes. This results in the backslashes
# being interpreted as literal backslashes by gettext tooling.
# 5. Double quotes are escaped, such that they are not interpreted as the start or end of
# a msgid.
# 6. We transform the string into the format expected in a PO file.
cat $argv |
string replace --filter --regex $regex '$1' |
string unescape |
sort -u |
sed -E -e 's_\\\\_\\\\\\\\_g' -e 's_"_\\\\"_g' -e 's_^(.*)$_msgid "\1"\nmsgstr ""\n_'
end
function extract_fish_script_messages
set -l tier $argv[1]
set -e argv[1]
if not set -q argv[1]
return
end
# This regex handles explicit requests to translate a message. These are more important to translate
# than messages which should be implicitly translated.
set -l explicit_regex '.*\( *_ (([\'"]).+?(?<!\\\\)\\2) *\).*'
mark_section "$tier-from-script-explicitly-added"
extract_fish_script_messages_impl $explicit_regex $argv
# This regex handles descriptions for `complete` and `function` statements. These messages are not
# particularly important to translate. Hence the "implicit" label.
set -l implicit_regex '^(?:\s|and |or )*(?:complete|function).*? (?:-d|--description) (([\'"]).+?(?<!\\\\)\\2).*'
mark_section "$tier-from-script-implicitly-added"
extract_fish_script_messages_impl $implicit_regex $argv
end
set -g share_dir $workspace_root/share
set -l tier1 $share_dir/config.fish
set -l tier2
set -l tier3
for file in $share_dir/completions/*.fish $share_dir/functions/*.fish
# set -l tier (string match -r '^# localization: .*' <$file)
set -l tier (string replace -rf -m1 \
'^# localization: (.*)$' '$1' <$file)
if set -q tier[1]
switch "$tier"
case tier1 tier2 tier3
set -a $tier $file
case 'skip*'
case '*'
echo >&2 "$file:1 unexpected localization tier: $tier"
exit 1
end
continue
end
set -l dirname (path basename (path dirname $file))
set -l command_name (path basename --no-extension $file)
if test $dirname = functions &&
string match -q -- 'fish_*' $command_name
set -a tier1 $file
continue
end
if test $dirname != completions
echo >&2 "$file:1 missing localization tier for function file"
exit 1
end
if test -e $workspace_root/doc_src/cmds/$command_name.rst
set -a tier1 $file
else
set -a tier3 $file
end
end
extract_fish_script_messages tier1 $tier1
extract_fish_script_messages tier2 $tier2
extract_fish_script_messages tier3 $tier3
end |
# At this point, all extracted strings have been written to stdout,
# starting with the ones taken from the Rust sources,
# followed by strings explicitly marked for translation in fish scripts,
# and finally the strings from fish scripts which get translated implicitly.
# Because we do not eliminate duplicates across these categories,
# we do it here, since other gettext tools expect no duplicates.
msguniq --no-wrap

View File

@@ -16,7 +16,7 @@ manifest=$tmpdir/Cargo.toml
lockfile=$tmpdir/Cargo.lock
sed "s/^version = \".*\"\$/version = \"$VERSION\"/g" Cargo.toml >"$manifest"
awk -v version=$VERSION '
awk -v version="$VERSION" '
/^name = "fish"$/ { ok=1 }
ok == 1 && /^version = ".*"$/ {
ok = 2;

View File

@@ -48,7 +48,7 @@ if test -z "$CI" || [ "$(git -C "$workspace_root" tag | wc -l)" -gt 1 ]; then {
num_new_authors=$(wc -l <"$relnotes_tmp/committers-new")
printf %s \
"This release brings $num_commits new commits since $previous_version," \
" contributed by $num_authors authors, $num_new_authors of which are new committers."
" contributed by $num_authors authors, $num_new_authors of which are new faces."
echo
echo
)
@@ -86,10 +86,13 @@ if test -z "$CI" || [ "$(git -C "$workspace_root" tag | wc -l)" -gt 1 ]; then {
echo
echo 'Download links:'
echo 'To download the source code for fish, we suggest the file named ``fish-'"$version"'.tar.xz``.'
# shellcheck disable=2016
echo 'The file downloaded from ``Source code (tar.gz)`` will not build correctly.'
# shellcheck disable=2016
echo 'A GPG signature using `this key <'"${FISH_GPG_PUBLIC_KEY_URL:-???}"'>`__ is available as ``fish-'"$version"'.tar.xz.asc``.'
echo
echo 'The files called ``fish-'"$version"'-linux-*.tar.xz`` contain'
# shellcheck disable=2016
echo '`standalone fish binaries <https://github.com/fish-shell/fish-shell/?tab=readme-ov-file#building-fish-with-cargo>`__'
echo 'for any Linux with the given CPU architecture.'
} >"$relnotes_tmp/fake-workspace"/CHANGELOG.rst

View File

@@ -72,7 +72,7 @@ integration_branch=$(
--format='%(refname:strip=2)'
)
[ -n "$integration_branch" ] ||
git merge-base --is-ancestor $remote/master HEAD
git merge-base --is-ancestor "$remote"/master HEAD
sed -n 1p CHANGELOG.rst | grep -q '^fish .*(released .*)$'
sed -n 2p CHANGELOG.rst | grep -q '^===*$'
@@ -113,9 +113,9 @@ CreateCommit "Release $version"
# Tags must be full objects, not lightweight tags, for
# git_version-gen.sh to work.
git -c "user.signingKey=$committer" \
tag --sign --message="Release $version" $version
tag --sign --message="Release $version" "$version"
git push $remote $version
git push "$remote" "$version"
TIMEOUT=
gh() {
@@ -173,6 +173,7 @@ actual_tag_oid=$(git ls-remote "$remote" |
(
cd "$tmpdir/local-tarball/fish-$version"
uv --no-managed-python venv
# shellcheck disable=1091
. .venv/bin/activate
cmake -GNinja -DCMAKE_BUILD_TYPE=Debug .
ninja doc
@@ -180,14 +181,17 @@ actual_tag_oid=$(git ls-remote "$remote" |
CopyDocs() {
rm -rf "$fish_site/site/docs/$1"
cp -r "$tmpdir/local-tarball/fish-$version/cargo/fish-docs/html" "$fish_site/site/docs/$1"
git -C $fish_site add "site/docs/$1"
git -C "$fish_site" add "site/docs/$1"
}
minor_version=${version%.*}
CopyDocs "$minor_version"
latest_release=$(
releases=$(git tag | grep '^[0-9]*\.[0-9]*\.[0-9]*.*' |
sed $(: "De-prioritize release candidates (1.2.3-rc0)") \
's/-/~/g' | LC_ALL=C sort --version-sort)
sed '
# De-prioritize release candidates (1.2.3-rc0)
s/-/~/g
' | LC_ALL=C sort --version-sort
)
printf %s\\n "$releases" | tail -1
)
if [ "$version" = "$latest_release" ]; then
@@ -251,6 +255,28 @@ do
sleep 20
done
milestone_version="$(
if echo "$version" | grep -q '\.0$'; then
echo "$minor_version"
else
echo "$version"
fi
)"
milestone_number() {
gh_api_repo milestones?state=open |
jq --arg name "fish $1" '
.[] | select(.title == $name) | .number
'
}
gh_api_repo milestones/"$(milestone_number "$milestone_version")" \
--method PATCH --raw-field state=closed
next_minor_version=$(echo "$minor_version" |
awk -F. '{ printf "%s.%s", $1, $2+1 }')
if [ -z "$(milestone_number "$next_minor_version")" ]; then
gh_api_repo milestones --method POST \
--raw-field title="fish $next_minor_version"
fi
(
cd "$fish_site"
make new-release
@@ -272,7 +298,7 @@ done
)
if [ -n "$integration_branch" ]; then {
git push $remote "$version^{commit}":refs/heads/$integration_branch
git push "$remote" "$version^{commit}:refs/heads/$integration_branch"
} else {
changelog=$(cat - CHANGELOG.rst <<EOF
fish ?.?.? (released ???)
@@ -283,32 +309,9 @@ EOF
printf %s\\n "$changelog" >CHANGELOG.rst
git add CHANGELOG.rst
CreateCommit "start new cycle"
git push $remote HEAD:master
git push "$remote" HEAD:master
} fi
milestone_version="$(
if echo "$version" | grep -q '\.0$'; then
echo "$minor_version"
else
echo "$version"
fi
)"
milestone_number() {
gh_api_repo milestones?state=open |
jq --arg name "fish $1" '
.[] | select(.title == $name) | .number
'
}
gh_api_repo milestones/"$(milestone_number "$milestone_version")" \
--method PATCH --raw-field state=closed
next_minor_version=$(echo "$minor_version" |
awk -F. '{ printf "%s.%s", $1, $2+1 }')
if [ -z "$(milestone_number "$next_minor_version")" ]; then
gh_api_repo milestones --method POST \
--raw-field title="fish $next_minor_version"
fi
exit
}

View File

@@ -1,156 +0,0 @@
#!/usr/bin/env fish
# Updates the files used for gettext translations.
# By default, the whole xgettext + msgmerge pipeline runs,
# which extracts the messages from the source files into $template_file,
# and updates the PO files for each language from that.
#
# Use cases:
# For developers:
# - Run with no args to update all PO files after making changes to Rust/fish sources.
# For translators:
# - Specify the language you want to work on as an argument, which must be a file in the
# localization/po/ directory. You can specify a language which does not have translations
# yet by specifying the name of a file which does not yet exist.
# Make sure to follow the naming convention.
# For testing:
# - Specify `--dry-run` to see if any updates to the PO files would by applied by this script.
# If this flag is specified, the script will exit with an error if there are outstanding
# changes, and will display the diff. Do not specify other flags if `--dry-run` is specified.
#
# Specify `--use-existing-template=DIR` to prevent running cargo for extracting an up-to-date
# version of the localized strings. This flag is intended for testing setups which make it
# inconvenient to run cargo here, but run it in an earlier step to ensure up-to-date values.
# This argument is passed on to the `fish_xgettext.fish` script and has no other uses.
# `DIR` must be the path to a gettext template file generated from our compilation process.
# It can be obtained by running:
# set -l DIR (mktemp -d)
# FISH_GETTEXT_EXTRACTION_DIR=$DIR cargo check --features=gettext-extract
# The sort utility is locale-sensitive.
# Ensure that sorting output is consistent by setting LC_ALL here.
set -gx LC_ALL C.UTF-8
set -l build_tools (status dirname)
set -l po_dir $build_tools/../localization/po
set -l extract
argparse dry-run use-existing-template= -- $argv
or exit $status
if test -z $argv[1]
# Update everything if not specified otherwise.
set -g po_files $po_dir/*.po
else
set -l po_dir_id (stat --format='%d:%i' -- $po_dir)
for arg in $argv
set -l arg_dir_id (stat --format='%d:%i' -- (dirname $arg) 2>/dev/null)
if test $po_dir_id != "$arg_dir_id"
echo "Argument $arg is not a file in the directory $(realpath $po_dir)."
echo "Non-option arguments must specify paths to files in this directory."
echo ""
echo "If you want to add a new language to the translations not the following:"
echo "The filename must identify a language, with a two letter ISO 639-1 language code of the target language (e.g. 'pt' for Portuguese), and use the file extension '.po'."
echo "Optionally, you can specify a regional variant (e.g. 'pt_BR')."
echo "So valid filenames are of the shape 'll.po' or 'll_CC.po'."
exit 1
end
if not basename $arg | grep -qE '^[a-z]{2,3}(_[A-Z]{2})?\.po$'
echo "Filename does not match the expected format ('ll.po' or 'll_CC.po')."
exit 1
end
end
set -g po_files $argv
end
set -g template_file (mktemp)
# Protect from externally set $tmpdir leaking into this script.
set -g tmpdir
function cleanup_exit
set -l exit_status $status
rm $template_file
if set -g --query tmpdir[1]
rm -r $tmpdir
end
exit $exit_status
end
if set -l --query extract
set -l xgettext_args
if set -l --query _flag_use_existing_template
set xgettext_args --use-existing-template=$_flag_use_existing_template
end
$build_tools/fish_xgettext.fish $xgettext_args >$template_file
or cleanup_exit
end
if set -l --query _flag_dry_run
# On a dry run, we do not modify localization/po/ but write to a temporary directory instead
# and check if there is a difference between localization/po/ and the tmpdir after re-generating
# the PO files.
set -g tmpdir (mktemp -d)
# Ensure tmpdir has the same initial state as the po dir.
cp -r $po_dir/* $tmpdir
end
# This is used to identify lines which should be set here via $header_lines.
# Make sure that this prefix does not appear elsewhere in the file and only contains characters
# without special meaning in a sed pattern.
set -g header_prefix "# fish-note-sections: "
function print_header
set -l header_lines \
"Translations are divided into sections, each starting with a fish-section-* pseudo-message." \
"The first few sections are more important." \
"Ignore the tier3 sections unless you have a lot of time."
for line in $header_lines
printf '%s%s\n' $header_prefix $line
end
end
function merge_po_files --argument-names template_file po_file
msgmerge --no-wrap --update --no-fuzzy-matching --backup=none --quiet \
$po_file $template_file
or cleanup_exit
set -l new_po_file (mktemp) # TODO Remove on failure.
# Remove obsolete messages instead of keeping them as #~ entries.
and msgattrib --no-wrap --no-obsolete -o $new_po_file $po_file
or cleanup_exit
begin
print_header
# Paste PO file without old header lines.
sed '/^'$header_prefix'/d' $new_po_file
end >$po_file
rm $new_po_file
end
for po_file in $po_files
if set --query tmpdir[1]
set po_file $tmpdir/(basename $po_file)
end
if test -e $po_file
merge_po_files $template_file $po_file
else
begin
print_header
cat $template_file
end >$po_file
end
end
if set -g --query tmpdir[1]
diff -ur $po_dir $tmpdir
or begin
echo ERROR: translations in localization/po/ are stale. Try running build_tools/update_translations.fish
cleanup_exit
end
end
cleanup_exit

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
set -euo pipefail
@@ -11,6 +11,6 @@ codename=$(
curl -fsS https://sources.debian.org/api/src/"${package}"/ |
jq -r --arg codename "${codename}" '
.versions[] | select(.suites[] == $codename) | .version' |
sed 's/^\([0-9]\+\.[0-9]\+\).*/\1/' |
sed -E 's/^([0-9]+\.[0-9]+).*/\1/' |
sort --version-sort |
tail -1

View File

@@ -104,20 +104,12 @@ fish_create_dirs(${sysconfdir}/fish/conf.d ${sysconfdir}/fish/completions
install(FILES etc/config.fish DESTINATION ${sysconfdir}/fish/)
fish_create_dirs(
${rel_datadir}/fish ${rel_datadir}/fish/completions
${rel_datadir}/fish/functions
${rel_datadir}/fish/man/man1 ${rel_datadir}/fish/tools
${rel_datadir}/fish/tools/web_config
${rel_datadir}/fish/tools/web_config/js
${rel_datadir}/fish/prompts
${rel_datadir}/fish/themes
${rel_datadir}/fish
${rel_datadir}/fish/man/man1
)
# This file is embedded in the executable by rust-embed and never read from the filesystem
configure_file(share/__fish_build_paths.fish.in share/__fish_build_paths.fish)
install(FILES share/config.fish
${CMAKE_CURRENT_BINARY_DIR}/share/__fish_build_paths.fish
DESTINATION ${rel_datadir}/fish
)
# Create only the vendor directories inside the prefix (#5029 / #6508)
fish_create_dirs(
@@ -145,30 +137,6 @@ install(
DESTINATION ${rel_datadir}/pkgconfig
)
install(
DIRECTORY share/completions/
DESTINATION ${rel_datadir}/fish/completions
FILES_MATCHING PATTERN "*.fish"
)
install(
DIRECTORY share/functions/
DESTINATION ${rel_datadir}/fish/functions
FILES_MATCHING PATTERN "*.fish"
)
install(
DIRECTORY share/prompts/
DESTINATION ${rel_datadir}/fish/prompts
FILES_MATCHING PATTERN "*.fish"
)
install(
DIRECTORY share/themes/
DESTINATION ${rel_datadir}/fish/themes
FILES_MATCHING PATTERN "*.theme"
)
# CONDEMNED_PAGE is managed by the conditional above
# Building the man pages is optional: if sphinx isn't installed, they're not built
install(
@@ -179,22 +147,6 @@ install(
PATTERN ${CONDEMNED_PAGE} EXCLUDE
)
install(
PROGRAMS share/tools/create_manpage_completions.py
DESTINATION ${rel_datadir}/fish/tools/
)
install(
DIRECTORY share/tools/web_config
DESTINATION ${rel_datadir}/fish/tools/
FILES_MATCHING
PATTERN "*.png"
PATTERN "*.css"
PATTERN "*.html"
PATTERN "*.py"
PATTERN "*.js"
)
# Building the man pages is optional: if Sphinx isn't installed, they're not built
install(FILES ${MANUALS} DESTINATION ${mandir}/man1/ OPTIONAL)
install(

View File

@@ -1,3 +1,19 @@
fish (4.7.1-1) stable; urgency=medium
* Release of new version 4.7.1.
See https://github.com/fish-shell/fish-shell/releases/tag/4.7.1 for details.
-- Johannes Altmanninger <aclopte@gmail.com> Fri, 08 May 2026 00:02:14 +0800
fish (4.7.0-1) stable; urgency=medium
* Release of new version 4.7.0.
See https://github.com/fish-shell/fish-shell/releases/tag/4.7.0 for details.
-- Johannes Altmanninger <aclopte@gmail.com> Tue, 05 May 2026 15:24:27 +0800
fish (4.6.0-1) stable; urgency=medium
* Release of new version 4.6.0.

View File

@@ -10,6 +10,8 @@ Build-Depends: debhelper-compat (= 13),
gettext,
libpcre2-dev,
rustc (>= 1.85) | rustc-web (>= 1.85) | rustc-1.85,
# pkg-config is needed for the pcre2 crate to find the pcre2 system library
pkgconf | pkg-config,
python3-sphinx,
# Test dependencies
locales-all,

View File

@@ -98,14 +98,14 @@ pub fn target_os_is_cygwin() -> bool {
#[macro_export]
macro_rules! as_os_strs {
[ $( $x:expr, )* ] => {
[ $( $x:expr ),* $(,)? ] => {
{
use std::ffi::OsStr;
fn as_os_str<S: AsRef<OsStr> + ?Sized>(s: &S) -> &OsStr {
s.as_ref()
}
&[
$( as_os_str($x), )*
[
$( as_os_str($x) ),*
]
}
}

View File

@@ -17,8 +17,9 @@
fd::{AsRawFd, BorrowedFd, RawFd},
unix::ffi::OsStrExt as _,
},
rc::Rc,
sync::{
Arc, OnceLock,
Arc, LazyLock,
atomic::{AtomicI32, AtomicU32, Ordering},
},
time,
@@ -398,7 +399,7 @@ fn escape_string_url(input: &wstr) -> WString {
for byte in narrow {
if (byte & 0x80) == 0 {
let c = char::from_u32(u32::from(byte)).unwrap();
if c.is_alphanumeric() || [b'/', b'.', b'~', b'-', b'_'].contains(&byte) {
if c.is_alphanumeric() || b"/.~-_".contains(&byte) {
// The above characters don't need to be encoded.
out.push(c);
continue;
@@ -534,8 +535,8 @@ enum Mode {
let mut to_append_or_none = Some(c);
if mode == Mode::Unquoted {
match c {
'\\' => {
if !ignore_backslashes {
'\\'
if !ignore_backslashes => {
// Backslashes (escapes) are complicated and may result in errors, or
// appending INTERNAL_SEPARATORs, so we have to handle them specially.
if let Some(escape_chars) = read_unquoted_escape(
@@ -555,28 +556,25 @@ enum Mode {
// We've already appended, don't append anything else.
to_append_or_none = None;
}
}
'~' => {
'~'
if unescape_special
&& (input_position == 0 || Some(input_position) == potential_word_start)
{
=> {
to_append_or_none = Some(HOME_DIRECTORY);
}
}
'%' => {
'%'
// Note that this only recognizes %self if the string is literally %self.
// %self/foo will NOT match this.
if allow_percent_self
&& unescape_special
&& input_position == 0
&& input == PROCESS_EXPAND_SELF_STR
{
=> {
to_append_or_none = Some(PROCESS_EXPAND_SELF);
input_position += PROCESS_EXPAND_SELF_STR.len() - 1; // skip over 'self's
}
}
'*' => {
if unescape_special {
'*'
if unescape_special => {
// In general, this is ANY_STRING. But as a hack, if the last appended char
// is ANY_STRING, delete the last char and store ANY_STRING_RECURSIVE to
// reflect the fact that ** is the recursive wildcard.
@@ -588,14 +586,12 @@ enum Mode {
to_append_or_none = Some(ANY_STRING);
}
}
}
'?' => {
if unescape_special && !feature_test(FeatureFlag::QuestionMarkNoGlob) {
'?'
if unescape_special && !feature_test(FeatureFlag::QuestionMarkNoGlob) => {
to_append_or_none = Some(ANY_CHAR);
}
}
'$' => {
if unescape_special {
'$'
if unescape_special => {
let is_cmdsub = input_position + 1 < input.len()
&& input.char_at(input_position + 1) == '(';
if !is_cmdsub {
@@ -603,18 +599,16 @@ enum Mode {
vars_or_seps.push(input_position);
}
}
}
'{' => {
if unescape_special {
'{'
if unescape_special => {
brace_count += 1;
to_append_or_none = Some(BRACE_BEGIN);
// We need to store where the brace *ends up* in the output.
braces.push(result.len());
potential_word_start = Some(input_position + 1);
}
}
'}' => {
if unescape_special {
'}'
if unescape_special => {
// HACK: The completion machinery sometimes hands us partial tokens.
// We can't parse them properly, but it shouldn't hurt,
// so we don't assert here.
@@ -646,19 +640,16 @@ enum Mode {
}
}
}
}
',' => {
if unescape_special && brace_count > 0 {
','
if unescape_special && brace_count > 0 => {
to_append_or_none = Some(BRACE_SEP);
vars_or_seps.push(input_position);
potential_word_start = Some(input_position + 1);
}
}
' ' => {
if unescape_special && brace_count > 0 {
' '
if unescape_special && brace_count > 0 => {
to_append_or_none = Some(BRACE_SPACE);
}
}
'\'' => {
mode = Mode::SingleQuotes;
to_append_or_none = if unescape_special {
@@ -743,11 +734,9 @@ enum Mode {
}
}
}
'$' => {
if unescape_special {
to_append_or_none = Some(VARIABLE_EXPAND_SINGLE);
vars_or_seps.push(input_position);
}
'$' if unescape_special => {
to_append_or_none = Some(VARIABLE_EXPAND_SINGLE);
vars_or_seps.push(input_position);
}
_ => (),
}
@@ -1030,9 +1019,8 @@ pub fn read_unquoted_escape(
/// session. We err on the side of assuming it's not a console session. This approach isn't
/// bullet-proof and that's OK.
pub fn is_console_session() -> bool {
static IS_CONSOLE_SESSION: OnceLock<bool> = OnceLock::new();
// TODO(terminal-workaround)
*IS_CONSOLE_SESSION.get_or_init(|| {
static IS_CONSOLE_SESSION: LazyLock<bool> = LazyLock::new(||
// No console session on Apple, and ttyname may hang (#12506).
!cfg!(apple)
&& nix::unistd::ttyname(unsafe { std::os::fd::BorrowedFd::borrow_raw(STDIN_FILENO) })
@@ -1049,8 +1037,8 @@ pub fn is_console_session() -> bool {
// and that $TERM is simple, e.g. `xterm` or `vt100`, not `xterm-something` or `sun-color`.
is_console_tty
&& env::var_os("TERM").is_none_or(|t| !t.as_bytes().contains(&b'-'))
})
})
}));
*IS_CONSOLE_SESSION
}
/// Exits without invoking destructors (via _exit), useful for code after fork.
@@ -1197,10 +1185,10 @@ pub fn restore_term_foreground_process_group_for_exit() {
}
}
/// A wrapper around Cell which supports modifying the contents, scoped to a region of code.
/// This provides a somewhat nicer API than ScopedRefCell because you can directly modify the value,
/// instead of requiring an accessor function which returns a mutable reference to a field.
pub struct ScopedCell<T>(Cell<T>);
/// A wrapper around `Rc<Cell>` which supports modifying the contents, scoped to a region of code.
/// This provides a somewhat nicer API than ScopedRefCell because you can directly modify the
/// value, instead of requiring an accessor function which returns a mutable reference to a field.
pub struct ScopedCell<T>(Rc<Cell<T>>);
impl<T> Deref for ScopedCell<T> {
type Target = Cell<T>;
@@ -1210,15 +1198,9 @@ fn deref(&self) -> &Self::Target {
}
}
impl<T> DerefMut for ScopedCell<T> {
fn deref_mut(&mut self) -> &mut Self::Target {
&mut self.0
}
}
impl<T: Copy> ScopedCell<T> {
pub fn new(value: T) -> Self {
Self(Cell::new(value))
Self(Rc::new(Cell::new(value)))
}
/// Temporarily modify a value in the ScopedCell, restoring it when the returned object is dropped.
@@ -1242,19 +1224,22 @@ pub fn new(value: T) -> Self {
/// // Restored after scope
/// assert_eq!(cell.get(), 5);
/// ```
pub fn scoped_mod<'a, Modifier: FnOnce(&mut T)>(
&'a self,
pub fn scoped_mod<Modifier: FnOnce(&mut T)>(
&self,
modifier: Modifier,
) -> impl ScopeGuarding + 'a {
) -> impl DerefMut + use<T, Modifier> {
let mut val = self.get();
modifier(&mut val);
let saved = self.replace(val);
ScopeGuard::new(self, move |cell| cell.set(saved))
let inner = Rc::clone(&self.0);
ScopeGuard::new((), move |()| inner.set(saved))
}
}
/// A wrapper around RefCell which supports modifying the contents, scoped to a region of code.
pub struct ScopedRefCell<T>(RefCell<T>);
/// A wrapper around `Rc<RefCell>` which supports modifying the contents, scoped to a region
/// of code.
#[derive(Default)]
pub struct ScopedRefCell<T>(Rc<RefCell<T>>);
impl<T> Deref for ScopedRefCell<T> {
type Target = RefCell<T>;
@@ -1264,15 +1249,9 @@ fn deref(&self) -> &Self::Target {
}
}
impl<T> DerefMut for ScopedRefCell<T> {
fn deref_mut(&mut self) -> &mut Self::Target {
&mut self.0
}
}
impl<T> ScopedRefCell<T> {
pub fn new(value: T) -> Self {
Self(RefCell::new(value))
Self(Rc::new(RefCell::new(value)))
}
/// Temporarily modify a field in the ScopedRefCell, restoring it when the returned guard is dropped.
@@ -1299,19 +1278,20 @@ pub fn new(value: T) -> Self {
/// // Restored after scope
/// assert_eq!(cell.borrow().flag, false);
/// ```
pub fn scoped_set<'a, Accessor, Value: 'a>(
&'a self,
pub fn scoped_set<Accessor, Value>(
&self,
value: Value,
accessor: Accessor,
) -> impl ScopeGuarding + 'a
) -> impl DerefMut + use<T, Accessor, Value>
where
Accessor: Fn(&mut T) -> &mut Value + 'a,
Accessor: Fn(&mut T) -> &mut Value,
{
let mut data = self.borrow_mut();
let mut saved = std::mem::replace(accessor(&mut data), value);
ScopeGuard::new(self, move |cell| {
let mut data = cell.borrow_mut();
std::mem::swap((accessor)(&mut data), &mut saved);
let inner = Rc::clone(&self.0);
ScopeGuard::new((), move |()| {
let mut inner = inner.borrow_mut();
std::mem::swap((accessor)(&mut inner), &mut saved);
})
}
@@ -1333,7 +1313,7 @@ pub fn scoped_set<'a, Accessor, Value: 'a>(
///
/// assert_eq!(*cell.borrow(), 10);
/// ```
pub fn scoped_replace<'a>(&'a self, value: T) -> impl ScopeGuarding + 'a {
pub fn scoped_replace(&self, value: T) -> impl DerefMut + use<T> {
self.scoped_set(value, |s| s)
}
}
@@ -1372,17 +1352,6 @@ impl<T, F: FnOnce(T)> ScopeGuard<T, F> {
pub fn new(value: T, on_drop: F) -> Self {
Self(Some((value, on_drop)))
}
/// Invokes the callback, consuming the ScopeGuard.
pub fn commit(guard: Self) {
std::mem::drop(guard);
}
/// Cancels the invocation of the callback, returning the original wrapped value.
pub fn cancel(mut guard: Self) -> T {
let (value, _) = guard.0.take().expect("Should always have Some value");
value
}
}
impl<T, F: FnOnce(T)> Deref for ScopeGuard<T, F> {
@@ -1407,18 +1376,6 @@ fn drop(&mut self) {
}
}
/// A trait expressing what ScopeGuard can do. This is necessary because our scoped cells return an
/// `impl Trait` object and therefore methods on ScopeGuard which take a self parameter cannot be
/// used.
pub trait ScopeGuarding: DerefMut + Sized {
/// Invokes the callback, consuming the guard.
fn commit(guard: Self) {
std::mem::drop(guard);
}
}
impl<T, F: FnOnce(T)> ScopeGuarding for ScopeGuard<T, F> {}
pub const fn assert_send<T: Send>() {}
pub const fn assert_sync<T: Sync>() {}
@@ -1574,17 +1531,17 @@ fn test_scope_guard() {
counter.fetch_add(1, relaxed);
});
assert_eq!(counter.load(relaxed), 0);
std::mem::drop(guard);
drop(guard);
assert_eq!(counter.load(relaxed), 1);
}
// commit also invokes the callback.
// The callback is invoked on drop
{
let guard = ScopeGuard::new(123, |arg| {
assert_eq!(arg, 123);
counter.fetch_add(1, relaxed);
});
assert_eq!(counter.load(relaxed), 1);
ScopeGuard::commit(guard);
drop(guard);
assert_eq!(counter.load(relaxed), 2);
}
}

View File

@@ -63,14 +63,23 @@ pub fn wcsfilecmp(a: &wstr, b: &wstr) -> Ordering {
continue;
}
// Sort dashes after Z - see #5634
let mut acl = if ac == '-' { '[' } else { ac };
let mut bcl = if bc == '-' { '[' } else { bc };
let transform = |c| {
// Sort dashes after Z - see #5634
if c == '-' {
return '[';
}
if c == '/' {
return '\0';
}
c
};
let ac = transform(ac);
let bc = transform(bc);
// TODO Compare the tail (enabled by Rust's Unicode support).
acl = acl.to_uppercase().next().unwrap();
bcl = bcl.to_uppercase().next().unwrap();
let ac = ac.to_uppercase().next().unwrap();
let bc = bc.to_uppercase().next().unwrap();
match acl.cmp(&bcl) {
match ac.cmp(&bc) {
Ordering::Equal => {
ai += 1;
bi += 1;
@@ -133,9 +142,9 @@ pub fn wcsfilecmp_glob(a: &wstr, b: &wstr) -> Ordering {
}
// TODO Compare the tail (enabled by Rust's Unicode support).
let acl = ac.to_lowercase().next().unwrap();
let bcl = bc.to_lowercase().next().unwrap();
match acl.cmp(&bcl) {
let ac = ac.to_lowercase().next().unwrap();
let bc = bc.to_lowercase().next().unwrap();
match ac.cmp(&bc) {
Ordering::Equal => {
ai += 1;
bi += 1;
@@ -314,5 +323,8 @@ macro_rules! validate {
validate!("a00b", "a0b", Ordering::Less);
validate!("a0b", "a00b", Ordering::Greater);
validate!("a-b", "azb", Ordering::Greater);
validate!("a", "a b", Ordering::Less);
validate!("a/", "a b/", Ordering::Less);
validate!("a/b", "a b", Ordering::Less); // Note this is arbitrary.
}
}

View File

@@ -7,7 +7,13 @@ repository.workspace = true
[dependencies]
anstyle.workspace = true
anyhow.workspace = true
clap.workspace = true
clap_complete.workspace = true
fish-build-helper.workspace = true
fish-common.workspace = true
fish-tempfile.workspace = true
fish-widestring.workspace = true
ignore.workspace = true
pcre2.workspace = true
walkdir.workspace = true

View File

@@ -1,4 +1,5 @@
use anstyle::{AnsiColor, Style};
use anyhow::{Context, Result, bail};
use clap::Args;
use std::{
io::{ErrorKind, Write},
@@ -25,12 +26,12 @@ pub struct FormatArgs {
paths: Vec<PathBuf>,
}
pub fn format(args: FormatArgs) {
pub fn format(args: FormatArgs) -> Result<()> {
if !args.all && args.paths.is_empty() {
println!(
"{YELLOW}warning: No paths specified. Nothing to do. Use the \"--all\" flag to consider all eligible files.{YELLOW:#}"
);
return;
return Ok(());
}
if !args.force && !args.check {
match Command::new("git")
@@ -39,16 +40,22 @@ pub fn format(args: FormatArgs) {
{
Ok(output) => {
if !output.stdout.is_empty() {
std::io::stdout().write_all(&output.stdout).unwrap();
std::io::stdout()
.write_all(&output.stdout)
.context("Could not write to stdout.")?;
print!(
"You have uncommitted changes (listed above). Are you sure you want to format? (y/N): "
);
std::io::stdout().flush().unwrap();
std::io::stdout()
.flush()
.context("Could not flush stdout.")?;
let mut response = String::new();
std::io::stdin().read_line(&mut response).unwrap();
std::io::stdin()
.read_line(&mut response)
.context("Could not read from stdin.")?;
if response.trim_end() != "y" {
println!("Exiting without formatting.");
return;
return Ok(());
}
}
}
@@ -58,22 +65,25 @@ pub fn format(args: FormatArgs) {
"{YELLOW}warning: Did not find git, will proceed without checking for unstaged changes.{YELLOW:#}"
)
} else {
fail!("Failed to run git status:\n{e}")
bail!("Failed to run git status:\n{e}");
}
}
}
}
format_fish(&args);
format_python(&args);
format_rust(&args);
format_fish(&args)?;
format_python(&args)?;
format_rust(&args)?;
Ok(())
}
fn run_formatter(formatter: &mut Command, name: &str) {
fn run_formatter(formatter: &mut Command, name: &str) -> Result<()> {
println!("=== Running {GREEN}{name}{GREEN:#}");
match formatter.status() {
Ok(exit_status) => {
if !exit_status.success() {
fail!("{name:?}: Files are not formatted correctly.");
if exit_status.success() {
Ok(())
} else {
bail!("{name:?}: Files are not formatted correctly.");
}
}
Err(e) => {
@@ -81,15 +91,16 @@ fn run_formatter(formatter: &mut Command, name: &str) {
eprintln!(
"{YELLOW}Formatter not found: {name:?}. Skipping associated files.{YELLOW:#}"
);
Ok(())
} else {
fail!("Error occurred while running {name:?}:\n{e}")
Err(e).with_context(|| format!("Error occurred while running {name:?}"))
}
}
}
}
fn format_fish(args: &FormatArgs) {
let mut fish_paths = files_with_extension(&args.paths, "fish");
fn format_fish(args: &FormatArgs) -> Result<()> {
let mut fish_paths = files_with_extension(&args.paths, "fish")?;
if args.all {
let workspace_root = fish_build_helper::workspace_root();
let fish_formatting_dirs = ["benchmarks", "build_tools", "etc", "share"];
@@ -98,10 +109,10 @@ fn format_fish(args: &FormatArgs) {
.iter()
.map(|dir_name| workspace_root.join(dir_name)),
"fish",
));
)?);
};
if fish_paths.is_empty() {
return;
return Ok(());
}
// TODO: make `fish_indent` available as a Rust library function, to avoid needing a
// `fish_indent` binary in `$PATH`.
@@ -113,40 +124,40 @@ fn format_fish(args: &FormatArgs) {
}
formatter.arg("--");
formatter.args(fish_paths);
run_formatter(&mut formatter, "fish_indent");
run_formatter(&mut formatter, "fish_indent")
}
fn format_python(args: &FormatArgs) {
fn format_python(args: &FormatArgs) -> Result<()> {
let mut formatter = Command::new("ruff");
formatter.arg("format");
if args.check {
formatter.arg("--check");
}
let mut python_files = files_with_extension(&args.paths, "py");
let mut python_files = files_with_extension(&args.paths, "py")?;
if args.all {
python_files.push(fish_build_helper::workspace_root().to_owned());
};
if python_files.is_empty() {
return;
return Ok(());
}
formatter.args(python_files);
run_formatter(&mut formatter, "ruff format");
run_formatter(&mut formatter, "ruff format")
}
fn format_rust(args: &FormatArgs) {
fn format_rust(args: &FormatArgs) -> Result<()> {
let rustfmt_status = Command::new("cargo")
.arg("fmt")
.arg("--version")
.stdout(Stdio::null())
.status()
.unwrap();
.context("Failed to run cargo")?;
if !rustfmt_status.success() {
eprintln!(
"{YELLOW}Please install \"rustfmt\" to format Rust, e.g. via:\n\
rustup component add rustfmt{YELLOW:#}"
);
return;
return Ok(());
}
if args.all {
let mut formatter = Command::new("cargo");
@@ -155,16 +166,17 @@ fn format_rust(args: &FormatArgs) {
if args.check {
formatter.arg("--check");
}
run_formatter(&mut formatter, "cargo fmt");
run_formatter(&mut formatter, "cargo fmt")?;
}
let rust_files = files_with_extension(&args.paths, "rs");
if !rust_files.is_empty() {
let mut formatter = Command::new("rustfmt");
if args.check {
formatter.arg("--check");
formatter.arg("--files-with-diff");
}
formatter.args(rust_files);
run_formatter(&mut formatter, "rustfmt");
let rust_files = files_with_extension(&args.paths, "rs")?;
if rust_files.is_empty() {
return Ok(());
}
let mut formatter = Command::new("rustfmt");
if args.check {
formatter.arg("--check");
formatter.arg("--files-with-diff");
}
formatter.args(rust_files);
run_formatter(&mut formatter, "rustfmt")
}

552
crates/xtask/src/gettext.rs Normal file
View File

@@ -0,0 +1,552 @@
use crate::{CARGO, CommandExt, files_with_extension};
use anyhow::{Context as _, Result, bail};
use clap::{Args, Subcommand};
use fish_build_helper::po_dir;
use pcre2::bytes::Regex;
use std::{
fs::OpenOptions,
io::{Write as _, stdout},
path::{Path, PathBuf},
process::Command,
thread::spawn,
};
#[derive(Args)]
pub struct GettextArgs {
/// Path to the directory into which the messages from the Rust sources have been extracted.
/// If this is not specified, fish will be compiled with the `gettext-extract` feature to
/// obtain the messages.
#[arg(long)]
rust_extraction_dir: Option<PathBuf>,
#[command(subcommand)]
task: Task,
}
#[derive(Subcommand)]
enum Task {
/// Check whether the PO files are up to date.
/// Prints a diff and exits non-zero if they are outdated.
/// Considers all our PO files by default, also allows explicitly specifying which files to
/// consider.
Check { paths: Vec<PathBuf> },
/// Add a PO file for a new language.
New {
/// An ISO 639-1 language identifier (ISO 639-2 if the former does not exits),
/// optionally followed by and underscore and an ISO 3166-1 country code to specify the variant,
/// e.g. `de` or `pt_BR`.
language: String,
},
/// Update PO files.
/// This will delete entries for msgids which are no longer used in the sources and introduce
/// new, untranslated entries for messages which do not have an entry yet.
/// This tool should run every time a change to the messages localized via gettext occurs,
/// including fish script files, where many strings are implicitly localized.
/// Considers all our PO files by default, also allows explicitly specifying which files to
/// consider.
Update { paths: Vec<PathBuf> },
}
fn get_po_paths<P: AsRef<Path>>(specified_paths: &[P]) -> Result<Vec<PathBuf>> {
let extension = "po";
if specified_paths.is_empty() {
files_with_extension([po_dir()], extension)
} else {
files_with_extension(specified_paths, extension)
}
}
fn update_po_file<P: AsRef<Path>, Q: AsRef<Path>>(file_to_update: P, template: Q) -> Result<()> {
Command::new("msgmerge")
.args([
"--no-wrap",
"--update",
"--no-fuzzy-matching",
"--backup=none",
"--quiet",
])
.arg(file_to_update.as_ref())
.arg(template.as_ref())
.run()?;
let msgattrib_output_file = fish_tempfile::new_file().context("Failed to create temp file")?;
Command::new("msgattrib")
.args(["--no-wrap", "--no-obsolete"])
.arg("-o")
.arg(msgattrib_output_file.path())
.arg(file_to_update.as_ref())
.run()?;
crate::copy_file(msgattrib_output_file.path(), file_to_update.as_ref())?;
Ok(())
}
pub fn gettext(args: GettextArgs) -> Result<()> {
let template = match args.rust_extraction_dir {
Some(dir) => template::Template::new(dir)?,
None => {
let temp_dir = fish_tempfile::new_dir().context("Failed to create temp file")?;
Command::new(CARGO)
.args([
"check",
"--workspace",
"--all-targets",
"--features=gettext-extract",
])
.env("FISH_GETTEXT_EXTRACTION_DIR", temp_dir.path())
.run()?;
template::Template::new(temp_dir.path())?
}
};
let mut template_file = fish_tempfile::new_file().context("Failed to create temp file")?;
template_file
.get_mut()
.write_all(template.serialize())
.with_context(|| format!("Failed to write to temp file {:?}", template_file.path()))?;
template_file
.get_mut()
.flush()
.with_context(|| format!("Failed to flush temporary file {:?}", template_file.path()))?;
match args.task {
Task::Check { paths } => {
let mut thread_handles = vec![];
for path in get_po_paths(&paths)? {
let template_path_buf = template_file.path().to_owned();
let handle = spawn(move || -> Result<Option<Vec<u8>>> {
let tmp_copy =
fish_tempfile::new_file().context("Failed to create temp file")?;
crate::copy_file(&path, tmp_copy.path())?;
update_po_file(tmp_copy.path(), template_path_buf)?;
let diff_output = Command::new("diff")
.arg("-u")
.arg(&path)
.arg(tmp_copy.path())
.output()
.context("Failed to run diff")?;
if diff_output.status.success() {
Ok(None)
} else {
Ok(Some(diff_output.stdout))
}
});
thread_handles.push(handle);
}
let mut found_diff = false;
let mut error = None;
for handle in thread_handles {
// SAFETY: `handle.join()` only returns `Err` if the thread panicked.
// Our threads should not panic, and if they do, it's OK to deal with the unexpected
// behavior by panicking here as well.
match handle.join().unwrap() {
Ok(None) => {}
Ok(Some(diff)) => {
found_diff = true;
stdout()
.write_all(&diff)
.context("Could not write to stdout")?;
}
Err(e) => {
error = Some(e);
}
}
}
if let Some(e) = error {
return Err(e);
}
if found_diff {
bail!(
"Not all PO files are up to date.\n\
Run `cargo xtask gettext update` to bring them up to date automatically.\
"
);
}
Ok(())
}
Task::New { language } => {
let language_regex = Regex::new("^[a-z]{2,3}(_[A-Z]{2})?$").unwrap();
if !language_regex.is_match(language.as_bytes()).unwrap() {
bail!(
"The language name '{language}' does not match the expected format.\n\
It needs to be a two-letter ISO 639-1 language code, \
or a three-letter ISO 639-2 language code \
if no ISO 639-1 code exists for the language.\n\
Optionally, the language code can be followed be an underscore \
followed by an ISO 3166-1 country code to indicate a regional variant.\n\
Check the existing file names in {:?} for examples.",
po_dir()
);
}
// TODO (MSRV>=1.91): use with_added_extension instead of with_extension
let po_path = po_dir().join(&language).with_extension("po");
let mut new_po_file = OpenOptions::new()
.create_new(true)
.write(true)
.open(&po_path)
.with_context(|| format!("Failed to create file at {po_path:?}"))?;
let mut header = String::new();
let line_prefix = "# fish-note-sections: ";
let lines = [
"Translations are divided into sections, each starting with a fish-section-* pseudo-message.",
"The first few sections are more important.",
"Ignore the tier3 sections unless you have a lot of time.",
];
for line in lines {
use std::fmt::Write as _;
let _ = writeln!(header, "{line_prefix}{line}");
}
new_po_file
.write_all(header.as_bytes())
.with_context(|| format!("Failed to write to {po_path:?}"))?;
new_po_file
.write_all(template.serialize())
.with_context(|| format!("Failed to write to {po_path:?}"))?;
Ok(())
}
Task::Update { paths } => {
let mut thread_handles = vec![];
for path in get_po_paths(&paths)? {
let template_path_buf = template_file.path().to_owned();
let handle =
spawn(move || -> Result<()> { update_po_file(path, template_path_buf) });
thread_handles.push(handle);
}
let mut error = None;
for handle in thread_handles {
// SAFETY: `handle.join()` only returns `Err` if the thread panicked.
// Our threads should not panic, and if they do, it's OK to deal with the unexpected
// behavior by panicking here as well.
if let Err(e) = handle.join().unwrap() {
error = Some(e);
}
}
if let Some(e) = error {
return Err(e);
}
Ok(())
}
}
}
mod template {
use crate::{CommandExt as _, files_with_extension};
use anyhow::{Context as _, Result, bail};
use fish_build_helper::workspace_root;
use fish_common::{UnescapeFlags, unescape_string};
use fish_widestring::{str2wcstring, wcs2bytes};
use pcre2::bytes::Regex;
use std::{
collections::{HashMap, HashSet},
fmt::Display,
fs::OpenOptions,
io::Read as _,
path::Path,
process::Command,
sync::LazyLock,
};
// Gettext tools require this header to know which encoding is used.
const MINIMAL_HEADER: &str = r#"msgid ""
msgstr "Content-Type: text/plain; charset=UTF-8\n"
"#;
#[derive(PartialEq, Eq, PartialOrd, Ord, Clone, Copy, Hash)]
enum LocalizationTier {
Tier1,
Tier2,
Tier3,
}
impl TryFrom<&str> for LocalizationTier {
type Error = ();
fn try_from(value: &str) -> Result<Self, Self::Error> {
match value {
"tier1" => Ok(Self::Tier1),
"tier2" => Ok(Self::Tier2),
"tier3" => Ok(Self::Tier3),
_ => Err(()),
}
}
}
impl Display for LocalizationTier {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
f.write_str(match self {
Self::Tier1 => "tier1",
Self::Tier2 => "tier2",
Self::Tier3 => "tier3",
})
}
}
#[derive(Default)]
struct FishScriptMessages {
explicit: HashSet<String>,
implicit: HashSet<String>,
}
pub struct Template {
content: Vec<u8>,
}
impl Template {
pub fn serialize(&self) -> &[u8] {
&self.content
}
/// Create a gettext template.
/// `rust_extraction_dir` must be the path to a directory which contains the messages
/// extracted from the Rust sources.
pub fn new<P: AsRef<Path>>(rust_extraction_dir: P) -> Result<Self> {
let mut template = Self {
content: Vec::from(MINIMAL_HEADER.as_bytes()),
};
template.add_rust_messages(rust_extraction_dir)?;
template.add_fish_script_messages()?;
// TODO: keep internal set of msgids to avoid having to run msguniq. requires parsing
// gettext-extraction output
let msguniq_output = Command::new("msguniq")
.args(["--no-wrap"])
.run_with_stdio(template.content)?;
Ok(Template {
content: msguniq_output,
})
}
/// Expects `extraction_dir` to contain only files whose content are single PO entries which can be
/// concatenated into a valid PO file.
/// If this is the case, the messages are de-duplicated and sorted by `msguniq`.
/// The result is appended to `template`, with a leading section marker.
/// On failure, the process aborts.
fn add_rust_messages<P: AsRef<Path>>(&mut self, extraction_dir: P) -> Result<()> {
let extraction_dir = extraction_dir.as_ref();
let mut concatenated_content = Vec::from(MINIMAL_HEADER.as_bytes());
// Concatenate the content of all files in `extraction_dir` into `concatenated_content`.
for entry_result in extraction_dir
.read_dir()
.with_context(|| format!("Failed to read directory {extraction_dir:?}"))?
{
let entry = entry_result
.with_context(|| format!("Failed to get entry in {extraction_dir:?}"))?;
let entry_path = entry.path();
if !entry
.file_type()
.with_context(|| format!("Failed to get file type of {entry_path:?}"))?
.is_file()
{
bail!("Entry in {extraction_dir:?} is not a regular file");
}
let mut file = OpenOptions::new()
.read(true)
.open(&entry_path)
.with_context(|| format!("Failed to open file {entry_path:?}"))?;
file.read_to_end(&mut concatenated_content)
.with_context(|| format!("Failed to read file {entry_path:?}"))?;
}
// Get rid of duplicates and sort.
let msguniq_output = Command::new("msguniq")
.args(["--no-wrap", "--sort-output"])
.env("LC_ALL", "C.UTF-8")
.run_with_stdio(concatenated_content)?;
// The Header entry needs to be removed again,
// because it is added outside of this function.
let expected_prefix = MINIMAL_HEADER.as_bytes();
let actual_prefix = &msguniq_output[..expected_prefix.len()];
if expected_prefix != actual_prefix {
bail!(
"Prefix of msguniq output does not match expected header.\nExpected bytes:\n{expected_prefix:02x?}\nActual bytes:\n{actual_prefix:02x?}"
);
}
self.mark_section("tier1-from-rust");
self.content
.extend_from_slice(&msguniq_output[expected_prefix.len()..]);
self.content.push(b'\n');
Ok(())
}
fn mark_section(&mut self, section_name: &str) {
self.content
.extend_from_slice("msgid \"fish-section-".as_bytes());
self.content.extend_from_slice(section_name.as_bytes());
self.content
.extend_from_slice("\"\nmsgstr \"\"\n\n".as_bytes());
}
fn append_messages(&mut self, msgids: &HashSet<String>) -> Result<()> {
let mut unescaped_msgids = HashSet::new();
for msgid in msgids {
let unescaped_wstring = unescape_string(
&str2wcstring(msgid),
fish_common::UnescapeStringStyle::Script(UnescapeFlags::default()),
)
.with_context(|| format!("Failed to unescape the following string:\n{msgid}"))?;
unescaped_msgids.insert(
String::from_utf8(wcs2bytes(&unescaped_wstring))
.context("Parsed msgid is not valid UTF-8")?,
);
}
let mut unescaped_msgids = Vec::from_iter(unescaped_msgids);
unescaped_msgids.sort();
for msgid in &unescaped_msgids {
self.content
.extend_from_slice(format_msgid_for_po(msgid).as_bytes());
}
Ok(())
}
fn add_script_tier(
&mut self,
tier: LocalizationTier,
messages: FishScriptMessages,
) -> Result<()> {
if !messages.explicit.is_empty() {
self.mark_section(&format!("{tier}-from-script-explicitly-added"));
self.append_messages(&messages.explicit)?;
}
if !messages.implicit.is_empty() {
self.mark_section(&format!("{tier}-from-script-implicitly-added"));
self.append_messages(&messages.implicit)?;
}
Ok(())
}
fn add_fish_script_messages(&mut self) -> Result<()> {
let share_dir = workspace_root().join("share");
let relevant_file_paths = files_with_extension(
[
share_dir.join("config.fish"),
share_dir.join("completions"),
share_dir.join("functions"),
],
"fish",
)?;
let mut extracted_messages = HashMap::new();
for path in relevant_file_paths {
extract_messages_from_fish_script(path, &mut extracted_messages)?;
}
let mut messages_sorted_by_tier: Vec<_> = extracted_messages.into_iter().collect();
messages_sorted_by_tier.sort_by_key(|(tier, _)| *tier);
for (tier, messages) in messages_sorted_by_tier {
self.add_script_tier(tier, messages)?;
}
Ok(())
}
}
fn find_localization_tier<P: AsRef<Path>>(
input: &str,
path: P,
) -> Result<Option<LocalizationTier>> {
static L10N_ANNOTATION: LazyLock<Regex> = LazyLock::new(|| {
Regex::new(r"(?:^|\n)# localization: (?<annotation_value>.*)\n").unwrap()
});
if let Some(annotation) = L10N_ANNOTATION.captures(input.as_bytes()).unwrap() {
// SAFETY: `tier` is the name of a capture group in the regex whose captures we are looking
// at. The capture is done on the bytes of an UTF-8 encoded string, so the result will also
// be UTF-8 encoded, and the sub-slice we are looking at will start and end at codepoint
// boundaries.
let annotation_value =
std::str::from_utf8(annotation.name("annotation_value").unwrap().as_bytes())
.unwrap();
if let Ok(tier) = LocalizationTier::try_from(annotation_value) {
return Ok(Some(tier));
}
if annotation_value.starts_with("skip") {
return Ok(None);
}
bail!(
"Unexpected localization annotation in file {:?}: {annotation_value}",
path.as_ref()
);
}
let dirname = path
.as_ref()
.parent()
.with_context(|| {
format!(
"Tried to get the parent of a path which does not have a parent: {:?}",
path.as_ref()
)
})?
.file_name()
.with_context(|| {
format!(
"The parent of {:?} does not have a filename component",
path.as_ref()
)
})?;
let command_name = path
.as_ref()
.file_stem()
.with_context(|| format!("The path {:?} does not have a file stem", path.as_ref()))?;
if dirname == "functions"
&& command_name
.to_str()
.is_some_and(|name| name.starts_with("fish_"))
{
return Ok(Some(LocalizationTier::Tier1));
}
if dirname != "completions" {
bail!(
"Missing localization tier for function file {:?}",
path.as_ref()
);
}
// TODO (MSRV>=1.91): use with_added_extension instead of with_extension
let doc_path = workspace_root()
.join("doc_src")
.join("cmds")
.join(command_name)
.with_extension("rst");
let doc_path_exists = std::fs::exists(&doc_path)
.with_context(|| format!("Failed to check whether a file exists at {doc_path:?}"))?;
Ok(Some(if doc_path_exists {
LocalizationTier::Tier1
} else {
LocalizationTier::Tier3
}))
}
fn extract_messages_from_fish_script<P: AsRef<Path>>(
path: P,
extracted_messages: &mut HashMap<LocalizationTier, FishScriptMessages>,
) -> Result<()> {
let path = path.as_ref();
let file_content = std::fs::read_to_string(path)
.with_context(|| format!("Failed to read from {path:?}"))?;
let Some(tier) = find_localization_tier(&file_content, path)? else {
return Ok(());
};
// TODO: use proper parser instead of regex
static EXPLICIT_MESSAGE: LazyLock<Regex> =
LazyLock::new(|| Regex::new(r#"\( *_ (?<message>(['"]).+?(?<!\\)\2) *\)"#).unwrap());
static IMPLICIT_MESSAGE: LazyLock<Regex> = LazyLock::new(|| {
Regex::new(r#"(?:^|\n)(?:\s|and |or )*(?:complete|function).*? (?:-d|--description) (?<message>(['"]).+?(?<!\\)\2)"#).unwrap()
});
let messages_at_tier = extracted_messages.entry(tier).or_default();
for message in EXPLICIT_MESSAGE.captures_iter(file_content.as_bytes()) {
let message =
std::str::from_utf8(message.unwrap().name("message").unwrap().as_bytes()).unwrap();
messages_at_tier.explicit.insert(message.to_owned());
}
for message in IMPLICIT_MESSAGE.captures_iter(file_content.as_bytes()) {
let message =
std::str::from_utf8(message.unwrap().name("message").unwrap().as_bytes()).unwrap();
messages_at_tier.implicit.insert(message.to_owned());
}
Ok(())
}
fn format_msgid_for_po(msgid: &str) -> String {
let escaped_msgid = msgid.replace("\\", "\\\\").replace("\"", "\\\"");
format!(
"\
msgid \"{escaped_msgid}\"\n\
msgstr \"\"\n\
\n\
"
)
}
}

View File

@@ -1,70 +1,101 @@
use std::{
ffi::OsStr,
io::Write,
path::{Path, PathBuf},
process::Command,
process::{Command, Stdio},
};
use anyhow::{Context, Result, bail};
use walkdir::WalkDir;
macro_rules! fail {
($($arg:tt)+) => {{
eprintln!($($arg)+);
std::process::exit(1);
}}
}
pub mod format;
pub mod gettext;
pub mod shellcheck;
pub trait CommandExt {
fn run_or_fail(&mut self);
fn run(&mut self) -> Result<()>;
fn run_with_stdio(&mut self, stdin: Vec<u8>) -> Result<Vec<u8>>;
}
impl CommandExt for Command {
fn run_or_fail(&mut self) {
match self.status() {
Ok(exit_status) => {
if !exit_status.success() {
fail!("Command did not run successfully: {:?}", self.get_program())
}
}
Err(err) => {
fail!("Failed to run command: {err}")
}
fn run(&mut self) -> Result<()> {
if !self
.status()
.with_context(|| format!("Failed to run {:?}", self.get_program()))?
.success()
{
bail!("Command did not run successfully: {:?}", self.get_program())
}
Ok(())
}
fn run_with_stdio(&mut self, stdin: Vec<u8>) -> Result<Vec<u8>> {
let command_name = self.get_program().to_owned();
let mut child = self
.stdin(Stdio::piped())
.stdout(Stdio::piped())
.spawn()
.with_context(|| format!("Failed to run {command_name:?}"))?;
child
.stdin
.take()
.unwrap()
.write_all(&stdin)
.with_context(|| format!("Failed to write to stdin of {command_name:?}"))?;
let command_output = child
.wait_with_output()
.with_context(|| format!("Failed to read stdout of {command_name:?}"))?;
if !command_output.status.success() {
bail!("{command_name:?} failed");
}
Ok(command_output.stdout)
}
}
pub fn cargo<I, S>(cargo_args: I)
pub const CARGO: &str = env!("CARGO");
pub fn cargo<I, S>(cargo_args: I) -> Result<()>
where
I: IntoIterator<Item = S>,
S: AsRef<OsStr>,
{
Command::new(env!("CARGO")).args(cargo_args).run_or_fail();
Command::new(CARGO).args(cargo_args).run()
}
fn get_matching_files<P: AsRef<Path>, I: IntoIterator<Item = P>, M: Fn(&Path) -> bool>(
all_paths: I,
matcher: M,
) -> Vec<PathBuf> {
all_paths
.into_iter()
.flat_map(WalkDir::new)
.filter_map(|res| {
let entry = res.unwrap();
let path = entry.path();
if entry.file_type().is_file() && matcher(path) {
Some(path.to_owned())
} else {
None
) -> Result<Vec<PathBuf>> {
let mut matching_files = vec![];
for path in all_paths {
for dir_entry in WalkDir::new(path.as_ref()) {
let dir_entry = dir_entry
.with_context(|| format!("Failed to check paths at {:?}", path.as_ref()))?;
let path = dir_entry.path();
if dir_entry.file_type().is_file() && matcher(path) {
matching_files.push(path.to_owned());
}
})
.collect()
}
}
Ok(matching_files)
}
fn files_with_extension<P: AsRef<Path>, I: IntoIterator<Item = P>>(
all_paths: I,
extension: &str,
) -> Vec<PathBuf> {
) -> Result<Vec<PathBuf>> {
let matcher = |p: &Path| p.extension().is_some_and(|e| e == extension);
get_matching_files(all_paths, matcher)
}
fn copy_file<P: AsRef<Path>, Q: AsRef<Path>>(from: P, to: Q) -> Result<()> {
std::fs::copy(&from, &to)
.with_context(|| {
format!(
"Failed to copy from {:?} to {:?}",
from.as_ref(),
to.as_ref()
)
})
.map(|_| ())
}

View File

@@ -1,7 +1,9 @@
use clap::{Parser, Subcommand};
use anyhow::{Context, Result};
use clap::{CommandFactory, Parser, Subcommand};
use clap_complete::CompleteEnv;
use fish_build_helper::as_os_strs;
use std::{path::PathBuf, process::Command};
use xtask::{CommandExt as _, cargo, format::FormatArgs};
use xtask::{CommandExt, cargo, format::FormatArgs, gettext::GettextArgs, shellcheck::shellcheck};
#[derive(Parser)]
#[command(
@@ -20,6 +22,8 @@ enum Task {
Check,
/// Format files or check if they are correctly formatted.
Format(FormatArgs),
/// Work on the gettext PO files.
Gettext(GettextArgs),
/// Build HTML docs
HtmlDocs {
/// Path to a fish_indent executable. If none is specified, fish_indent will be built.
@@ -28,53 +32,85 @@ enum Task {
},
/// Build man pages
ManPages,
/// Run ShellCheck on non-fish shell scripts
#[command(name = "shellcheck")]
ShellCheck,
}
fn main() {
/// Only used to enable completion generation.
/// [`clap_complete`] is not built to account for the situation we have here, where the CLI does not
/// correspond to a top-level shell command.
/// We work around this here by pretending that we are building a CLI for the `cargo` command, which
/// only has the single subcommand `xtask`.
/// These completions can then be combined with the regular cargo completions.
#[derive(Parser)]
#[command(name = "cargo")]
struct FakeCargoWrapperForCompletion {
#[command(subcommand)]
xtask: FakeCliForCompletion,
}
#[derive(Subcommand)]
enum FakeCliForCompletion {
/// Run fish's xtasks
#[command(subcommand)]
Xtask(Task),
}
fn main() -> Result<()> {
CompleteEnv::with_factory(FakeCargoWrapperForCompletion::command).complete();
let cli = Cli::parse();
match cli.task {
Task::Check => run_checks(),
Task::Format(format_args) => xtask::format::format(format_args),
Task::Gettext(gettext_args) => xtask::gettext::gettext(gettext_args),
Task::HtmlDocs { fish_indent } => build_html_docs(fish_indent),
Task::ManPages => cargo(["build", "--package", "fish-build-man-pages"]),
Task::ShellCheck => shellcheck(),
}
}
fn run_checks() {
fn run_checks() -> Result<()> {
let repo_root_dir = fish_build_helper::workspace_root();
let check_script = repo_root_dir.join("build_tools").join("check.sh");
Command::new(check_script).run_or_fail();
Command::new(check_script).run()
}
fn build_html_docs(fish_indent: Option<PathBuf>) {
let fish_indent_path = fish_indent.unwrap_or_else(|| {
// Build fish_indent if no existing one is specified.
cargo([
"build",
"--bin",
"fish_indent",
"--profile",
"dev",
"--no-default-features",
]);
fish_build_helper::fish_build_dir()
.join("debug")
.join("fish_indent")
});
fn build_html_docs(fish_indent: Option<PathBuf>) -> Result<()> {
let fish_indent_path = match fish_indent {
Some(path) => path,
None => {
// Build fish_indent if no existing one is specified.
cargo([
"build",
"--bin",
"fish_indent",
"--profile",
"dev",
"--no-default-features",
])?;
fish_build_helper::fish_build_dir()
.join("debug")
.join("fish_indent")
}
};
// Set path so `sphinx-build` can find `fish_indent`.
// Create tempdir to store symlink to fish_indent.
// This is done to avoid adding other binaries to the PATH.
let tempdir = fish_tempfile::new_dir().unwrap();
let tempdir = fish_tempfile::new_dir().context("Failed to create tempdir")?;
std::os::unix::fs::symlink(
std::fs::canonicalize(fish_indent_path).unwrap(),
std::fs::canonicalize(&fish_indent_path).with_context(|| {
format!("Failed to canonicalize path to `fish_indent`: {fish_indent_path:?}")
})?,
tempdir.path().join("fish_indent"),
)
.unwrap();
let new_path = format!(
"{}:{}",
tempdir.path().to_str().unwrap(),
fish_build_helper::env_var("PATH").unwrap()
);
.context("Failed to create symlink for fish_indent")?;
let mut new_path = tempdir.path().as_os_str().to_owned();
if let Some(current_path) = std::env::var_os("PATH") {
new_path.push(":");
new_path.push(current_path);
}
let doc_src_dir = fish_build_helper::workspace_root().join("doc_src");
let doctrees_dir = fish_build_helper::fish_doc_dir().join(".doctrees-html");
let html_dir = fish_build_helper::fish_doc_dir().join("html");
@@ -94,5 +130,5 @@ fn build_html_docs(fish_indent: Option<PathBuf>) {
Command::new(option_env!("FISH_SPHINX").unwrap_or("sphinx-build"))
.env("PATH", new_path)
.args(args)
.run_or_fail();
.run()
}

View File

@@ -0,0 +1,52 @@
use anyhow::{Context, Result};
use fish_build_helper::workspace_root;
use ignore::Walk;
use pcre2::bytes::Regex;
use std::{
fs::File,
io::{BufRead, BufReader},
path::{Path, PathBuf},
process::Command,
sync::LazyLock,
};
use crate::CommandExt;
pub fn shellcheck() -> Result<()> {
Command::new("shellcheck")
.args(files_to_check()?)
.current_dir(workspace_root())
.run()
}
fn is_shell_script<P: AsRef<Path>>(path: P) -> Result<bool> {
let file = File::open(&path).with_context(|| format!("Failed to open {:?}", path.as_ref()))?;
let mut first_line = String::new();
let Ok(_) = BufReader::new(file).read_line(&mut first_line) else {
return Ok(false);
};
static SHEBANG_REGEX: LazyLock<Regex> = LazyLock::new(|| Regex::new("^#!.*[^i]sh").unwrap());
Ok(SHEBANG_REGEX
.is_match(first_line.trim().as_bytes())
.unwrap())
}
fn files_to_check() -> Result<Vec<PathBuf>> {
let mut files = vec![];
for dir_entry in Walk::new(workspace_root()) {
let dir_entry = dir_entry.context("Error traversing workspace")?;
if !dir_entry
.file_type()
.with_context(|| format!("Failed to determine file type of {dir_entry:?}"))?
.is_file()
{
continue;
}
let path = dir_entry.into_path();
if !is_shell_script(&path)? {
continue;
}
files.push(path);
}
Ok(files)
}

View File

@@ -3,22 +3,22 @@
confidence-threshold = 0.93
unused-allowed-license = "allow" # don't warn for unused licenses in this list
allow = [
"BSD-2-Clause",
"BSD-3-Clause",
"BSL-1.0",
"CC0-1.0",
"GPL-2.0",
"GPL-2.0-only",
"ISC",
"LGPL-2.0",
"LGPL-2.0-or-later",
"MIT",
"MPL-2.0",
"PSF-2.0",
"Unicode-DFS-2016",
"Unicode-3.0",
"WTFPL",
"Zlib",
"BSD-2-Clause",
"BSD-3-Clause",
"BSL-1.0",
"CC0-1.0",
"GPL-2.0",
"GPL-2.0-only",
"ISC",
"LGPL-2.0",
"LGPL-2.0-or-later",
"MIT",
"MPL-2.0",
"PSF-2.0",
"Unicode-DFS-2016",
"Unicode-3.0",
"WTFPL",
"Zlib",
]
[sources.allow-org]

View File

@@ -50,25 +50,3 @@ Or the simple default handler::
function fish_command_not_found
__fish_default_command_not_found_handler $argv
end
Backwards compatibility
-----------------------
This command was introduced in fish 3.2.0. Previous versions of fish used the "fish_command_not_found" :ref:`event <event>` instead.
To define a handler that works in older versions of fish as well, define it the old way::
function __fish_command_not_found_handler --on-event fish_command_not_found
echo COMMAND WAS NOT FOUND MY FRIEND $argv[1]
end
in which case fish will define a ``fish_command_not_found`` that calls it,
or define a wrapper::
function fish_command_not_found
echo "G'day mate, could not find your command: $argv"
end
function __fish_command_not_found_handler --on-event fish_command_not_found
fish_command_not_found $argv
end

View File

@@ -60,6 +60,8 @@ The event handler switches (``on-event``, ``on-variable``, ``on-job-exit``, ``on
Functions names cannot be reserved words. These are elements of fish syntax or builtin commands which are essential for the operations of the shell. Current reserved words are ``[``, ``_``, ``and``, ``argparse``, ``begin``, ``break``, ``builtin``, ``case``, ``command``, ``continue``, ``else``, ``end``, ``eval``, ``exec``, ``for``, ``function``, ``if``, ``not``, ``or``, ``read``, ``return``, ``set``, ``status``, ``string``, ``switch``, ``test``, ``time``, and ``while``.
Care should be taken when creating a function of the same name as an existing shell builtin or common program. If the function behaves differently, it is very common for problems to occur within fish or in scripts written by others. Consider writing an :doc:`abbreviation <abbr>` if you are wanting to replace one tool with another for interactive use.
Example
-------

View File

@@ -95,7 +95,7 @@ The following options control how much is read and how it is stored:
Marks the end of the line with the NUL character, instead of newline. This also disables interactive mode.
**-L** or **--line**
Reads each line into successive variables, and stops after each variable has been filled. This cannot be combined with the ``--delimiter`` option.
Reads each line into successive variables, and stops after each variable has been filled. This cannot be combined with the ``--null`` option, or options to control splitting like ``--delimiter``.
Without the ``--line`` option, ``read`` reads a single line of input from standard input, breaks it into tokens, and then assigns one token to each variable specified in *VARIABLES*. If there are more tokens than variables, the complete remainder is assigned to the last variable.

View File

@@ -11,8 +11,10 @@ Synopsis
Description
-----------
``set_color`` is used to control the color and styling of text in the terminal.
*VALUE* describes that styling.
``set_color`` controls the color and styling of text in the terminal.
It writes non-printing color and text style escape sequences to standard output.
*VALUE* describes the styling.
*VALUE* can be a reserved color name like **red** or an RGB color value given as 3 or 6 hexadecimal digits ("F27" or "FF2277").
A special keyword **normal** resets text formatting to terminal defaults, however it is not recommended and the **--reset** option is preferred as it is less confusing and more future-proof.
@@ -93,7 +95,9 @@ Notes
3. Because of the risk of confusion, ``set_color --reset`` is recommended over ``set_color normal``.
4. Setting the background color only affects subsequently written characters. Fish provides no way to set the background color for the entire terminal window. Configuring the window background color (and other attributes such as its opacity) has to be done using whatever mechanisms the terminal provides. Look for a config option.
5. Some terminals use the ``--bold`` escape sequence to switch to a brighter color set rather than increasing the weight of text.
6. ``set_color`` works by printing sequences of characters to standard output. If used in command substitution or a pipe, these characters will also be captured. This may or may not be desirable. Checking the exit status of ``isatty stdout`` before using ``set_color`` can be useful to decide not to colorize output in a script.
6. If you use ``set_color`` in a command substitution or a pipe, these characters will also be captured.
This may or may not be desirable.
Checking the exit status of ``isatty stdout`` before using ``set_color`` can be useful to decide not to colorize output in a script.
Examples
--------

View File

@@ -150,7 +150,7 @@ By default, Fish searches the following for completions, using the first availab
- A directory for systems administrators to install completions for all users on the system, usually ``/etc/fish/completions``;
- A user-specified directory for third-party vendor completions, usually ``~/.local/share/fish/vendor_completions.d`` (controlled by the ``XDG_DATA_HOME`` environment variable);
- A directory for third-party software vendors to ship their own completions for their software, usually ``/usr/share/fish/vendor_completions.d``;
- The completions shipped with fish, usually installed in ``/usr/share/fish/completions``; and
- The completions shipped with fish, which are stored in the fish program and can be seen with ``status list-files``; and
- Completions automatically generated from the operating system's manual, usually stored in ``~/.cache/fish/generated_completions`` (controlled by ``XDG_CACHE_HOME`` environment variable).
These paths are controlled by parameters set at build, install, or run time, and may vary from the defaults listed above.

View File

@@ -218,7 +218,7 @@ latex_engine = "xelatex"
def get_command_description(path, name):
"""Return the description for a command, by parsing its synopsis line"""
with open(path) as opened:
with open(path, encoding="utf8") as opened:
for line in opened:
if line.startswith(name + " - "):
_, desc = line.split(" - ", 1)

View File

@@ -99,6 +99,15 @@ See :ref:`Shell variables <variables>` for more.
.. _bash-globs:
Variable defaults (``${my_variable:-"default value"}``)
-------------------------------------------------------
Fish doesn't have ``${my_variable:-fallback}`` for providing default values to unset variables. Instead, you can set default values by checking whether the variable has been set yet::
# Ensure XDG_CONFIG_HOME is set or use a default value
set -q XDG_CONFIG_HOME || set XDG_CONFIG_HOME $HOME/.config
# now use XDG_CONFIG_HOME as normal
Wildcards (globs)
-----------------

View File

@@ -8,7 +8,6 @@ while others enable optional features and may be ignored by the terminal.
The terminal must be able to parse Control Sequence Introducer (CSI) commands, Operating System Commands (OSC) and :ref:`optionally <term-compat-dcs-gnu-screen>` Device Control Strings (DCS).
These are defined by ECMA-48.
If a valid CSI, OSC or DCS sequence does not represent a command implemented by the terminal, the terminal must ignore it.
For historical reasons, OSC sequences may be terminated with ``\x07`` instead of ``\e\\``.
Control sequences are denoted in a fish-like syntax.
Special characters other than ``\`` are not escaped.
@@ -333,7 +332,7 @@ Unicode Codepoints
By default, fish outputs the following non-ASCII characters::
× ► ¶ ⏎ • ● … μ “ ” ← → ↑ ↓
× ► ¶ ⏎ • ● … μ “ ”
as well as control pictures (U+2400 through U+241F),
and locale-specific ones in :ref:`translated strings <variables-locale>`.
and locale-specific ones in :ref:`translated messages <variables-locale>`.

View File

@@ -738,7 +738,7 @@ See the documentation for :doc:`funced <cmds/funced>` and :doc:`funcsave <cmds/f
Universal Variables
-------------------
A universal variable is a variable whose value is shared across all instances of fish, now and in the future even after a reboot. You can make a variable universal with ``set -U``::
A universal variable is a variable whose value is shared across all instances of fish, now and in the future - even after a reboot. You can make a variable universal with ``set -U``::
> set -U EDITOR vim

View File

@@ -17,6 +17,9 @@ BuildRequires: /usr/bin/sphinx-build
# OBS: add eg "FileProvides: /usr/bin/sphinx-build python3-sphinx python3-Sphinx" to project config
BuildRequires: /usr/bin/man
# OBS: add eg "FileProvides: /usr/bin/man man-db man" to project config
# pkg-config is needed for the pcre2 crate to find the pcre2 system librar
BuildRequires: /usr/bin/pkg-config
# OBS: add eg "FileProvides: /usr/bin/pkg-config pkgconf-pkg-config pkg-config" to project config
BuildRequires: cmake >= 3.15
# for tests

View File

@@ -3698,9 +3698,6 @@ msgstr ""
msgid "wait for app to exit"
msgstr ""
msgid "fish-section-tier3-from-script-explicitly-added"
msgstr ""
msgid "fish-section-tier3-from-script-implicitly-added"
msgstr ""
@@ -4376,7 +4373,7 @@ msgstr ""
msgid "(required) the path to the CSV file that defines the records to upsert"
msgstr ""
msgid "(required) the root directory containing the Metadata APIformatted metadata"
msgid "(required) the root directory containing the Metadata API-formatted metadata"
msgstr ""
msgid "(required) the sObject type of the records you want to upsert"
@@ -5318,12 +5315,18 @@ msgstr ""
msgid "Add OFFSET to file positions in hexdump"
msgstr ""
msgid "Add Requires dependencies to a target unit"
msgstr ""
msgid "Add Signed-off-by line at the end of the merge commit message"
msgstr ""
msgid "Add Signed-off-by line to the commit message"
msgstr ""
msgid "Add Wants dependencies to a target unit"
msgstr ""
msgid "Add Winelib to import"
msgstr ""
@@ -6122,9 +6125,6 @@ msgstr ""
msgid "Additional `Cargo.toml` to sync and vendor"
msgstr ""
msgid "Additional directories to search for fonts"
msgstr ""
msgid "Additional flag for strings inside the argument number ARG of keyword WORD"
msgstr ""
@@ -8069,6 +8069,9 @@ msgstr ""
msgid "Ask the server to reimport files for UTIs claimed by the listed plugin"
msgstr ""
msgid "Ask the service manager to exit"
msgstr ""
msgid "Ask the user for confirmation before killing a process"
msgstr ""
@@ -9068,6 +9071,9 @@ msgstr ""
msgid "Bind mount a file or directory from the host in the container"
msgstr ""
msgid "Bind mount a path into the mount namespace of a unit"
msgstr ""
msgid "Bind mounts src into CHROOTDIR/dest"
msgstr ""
@@ -9155,6 +9161,12 @@ msgstr ""
msgid "Block size"
msgstr "Blockgrösse"
msgid "Block size (e.g. 1M, KiB)"
msgstr ""
msgid "Block size in bytes"
msgstr ""
msgid "Block size to use in all I/O operations (default: 16K)"
msgstr ""
@@ -9368,9 +9380,6 @@ msgstr ""
msgid "Build an RPM package"
msgstr ""
msgid "Build and analyze a Docker image from a Dockerfile"
msgstr ""
msgid "Build and install a new package"
msgstr "Ein neues Paket erstellen und installieren"
@@ -9794,6 +9803,9 @@ msgstr ""
msgid "Cancel jobs owned by username"
msgstr ""
msgid "Cancel one or more jobs"
msgstr ""
msgid "Cancel pairing with device"
msgstr ""
@@ -11933,9 +11945,6 @@ msgstr ""
msgid "Compile all the methods in an assembly"
msgstr ""
msgid "Compile an input file"
msgstr ""
msgid "Compile and run an executable product"
msgstr ""
@@ -12227,9 +12236,6 @@ msgstr "Konfigurationsdatei"
msgid "Config and front matter format"
msgstr ""
msgid "Config file"
msgstr ""
msgid "Config file (default: $HOME/.s3cfg)"
msgstr ""
@@ -13166,9 +13172,6 @@ msgstr ""
msgid "Count executions of source lines"
msgstr ""
msgid "Count hard links multiple times"
msgstr "Harte Links mehrfach zählen"
msgid "Count hidden files, too"
msgstr ""
@@ -15422,12 +15425,6 @@ msgstr ""
msgid "Dereference TARGETs that are symbolic links"
msgstr ""
msgid "Dereference all symlinks"
msgstr "Alle symbolischen Links dereferenzieren"
msgid "Dereference file symlinks"
msgstr "Symbolische Links für Datei dereferenzieren"
msgid "Dereference structures for the specified set of system calls"
msgstr ""
@@ -16859,6 +16856,9 @@ msgstr ""
msgid "Disable the docs title"
msgstr ""
msgid "Disable the enable one or more units"
msgstr ""
msgid "Disable the eval extension"
msgstr ""
@@ -17435,6 +17435,9 @@ msgstr ""
msgid "Display answers as exclamation points and missing packets as dots"
msgstr ""
msgid "Display apparent size"
msgstr ""
msgid "Display architecture specific information"
msgstr ""
@@ -20174,6 +20177,9 @@ msgstr ""
msgid "Do not recurse unless -depth is specified"
msgstr ""
msgid "Do not recursively fetch submodules"
msgstr ""
msgid "Do not redirect output to a pager"
msgstr ""
@@ -20627,6 +20633,9 @@ msgstr "Nicht versuchen, den GnuPG-Agenten zu nutzen"
msgid "Do not update index or working tree"
msgstr ""
msgid "Do not update references"
msgstr ""
msgid "Do not update the cache in vendor/cache with the newly bundled gems"
msgstr ""
@@ -23093,6 +23102,9 @@ msgstr ""
msgid "Dump the relocated contents of of specified section"
msgstr ""
msgid "Dump the systemd manager environment block"
msgstr ""
msgid "Dump tree structures from a given device"
msgstr ""
@@ -23243,6 +23255,9 @@ msgstr ""
msgid "Edit a property with an external editor"
msgstr ""
msgid "Edit a unit file or drop-in snippet"
msgstr ""
msgid "Edit an entry"
msgstr ""
@@ -24635,12 +24650,18 @@ msgstr ""
msgid "Enable/Disable colored error messages"
msgstr ""
msgid "Enable/disable a unit depending on preset configuration"
msgstr ""
msgid "Enable/disable advertising with given type"
msgstr ""
msgid "Enable/disable agent with given capability"
msgstr ""
msgid "Enable/disable all units depending on preset configuration"
msgstr ""
msgid "Enable/disable bucket access logging"
msgstr ""
@@ -24884,6 +24905,9 @@ msgstr ""
msgid "End current session cleanly"
msgstr ""
msgid "End each output line with NUL"
msgstr ""
msgid "End each output line with NUL, not newline, and disable file name escaping"
msgstr ""
@@ -24977,6 +25001,15 @@ msgstr ""
msgid "Ensure value is of given type"
msgstr ""
msgid "Enter and isolate emergency mode"
msgstr ""
msgid "Enter and isolate rescue mode"
msgstr ""
msgid "Enter and isolate the default mode"
msgstr ""
msgid "Enter commit message as a string"
msgstr ""
@@ -26102,9 +26135,6 @@ msgstr "Aus Archiv extrahieren"
msgid "Extract into directory"
msgstr ""
msgid "Extract just one field"
msgstr ""
msgid "Extract most recent versions of files"
msgstr ""
@@ -27182,6 +27212,9 @@ msgstr ""
msgid "Follow command-line symbolic links"
msgstr ""
msgid "Follow command-line symlinks only"
msgstr ""
msgid "Follow given symlinks with -R"
msgstr ""
@@ -27380,9 +27413,6 @@ msgstr ""
msgid "Force a complete refresh"
msgstr ""
msgid "Force a downgrade to an older version"
msgstr ""
msgid "Force a fixed checksum block-size"
msgstr ""
@@ -28175,9 +28205,6 @@ msgstr ""
msgid "Format of the list command output"
msgstr ""
msgid "Format of the output file"
msgstr ""
msgid "Format of the output: text or json"
msgstr ""
@@ -28214,12 +28241,6 @@ msgstr ""
msgid "Format the print file with a shaded header: date, time, job name, and page no."
msgstr ""
msgid "Format to emit diagnostics in"
msgstr ""
msgid "Format to serialize in"
msgstr ""
msgid "Format to use for the output"
msgstr ""
@@ -30326,9 +30347,6 @@ msgstr ""
msgid "Help for convert"
msgstr ""
msgid "Help for dive"
msgstr ""
msgid "Help for doc"
msgstr ""
@@ -30488,12 +30506,6 @@ msgstr ""
msgid "Higher-order task to perform other tasks in succession."
msgstr ""
msgid "Highest allowable bytes wasted"
msgstr ""
msgid "Highest allowable percentage of bytes wasted"
msgstr ""
msgid "Highest compression, same as -12"
msgstr ""
@@ -30845,9 +30857,6 @@ msgstr ""
msgid "Idiomatically format Dart source code"
msgstr ""
msgid "If CI=true in the environment, use the given yaml to drive validation rules"
msgstr ""
msgid "If HTTP proxy is used, make curl tunnel through it"
msgstr ""
@@ -31133,6 +31142,9 @@ msgstr ""
msgid "Ignore files ending with ~"
msgstr "Dateien ignorieren, die mit ~ enden"
msgid "Ignore files matching mask"
msgstr ""
msgid "Ignore files that already exist on receiver"
msgstr ""
@@ -31148,9 +31160,6 @@ msgstr ""
msgid "Ignore host and package architecture mismatch"
msgstr ""
msgid "Ignore image parsing errors and run the analysis anyway"
msgstr ""
msgid "Ignore inhibitor locks on shutdown or sleep"
msgstr ""
@@ -31214,6 +31223,9 @@ msgstr ""
msgid "Ignore newer bugs than upgrade packages"
msgstr "Fehler, die neuer sind als Aktualisierungspakete, ignorieren"
msgid "Ignore nodump files"
msgstr ""
msgid "Ignore non-authenticated packages"
msgstr "Nicht authentifizierte Pakete ignorieren"
@@ -31469,6 +31481,9 @@ msgstr ""
msgid "Import cuesheet and store in CUESHEET block"
msgstr ""
msgid "Import environment variables into the service manager"
msgstr ""
msgid "Import every tag from a remote with git fetch <name>"
msgstr ""
@@ -32279,9 +32294,6 @@ msgstr ""
msgid "Initialize a new or existing Terraform configuration"
msgstr ""
msgid "Initialize a new project"
msgstr ""
msgid "Initialize a new repository for the given version control system"
msgstr ""
@@ -33431,6 +33443,9 @@ msgstr ""
msgid "Kick current connection from host side and make it reconnect."
msgstr ""
msgid "Kill one or more units"
msgstr ""
msgid "Kill only processes the specified user owns. Command names are optional"
msgstr ""
@@ -34055,6 +34070,9 @@ msgstr "Zeilen enden mit Null-Byte"
msgid "Linewrap entries as width[,indent1[,indent2]]"
msgstr ""
msgid "Link a unit file into the unit search path"
msgstr ""
msgid "Link against framework (Darwin)"
msgstr ""
@@ -34325,9 +34343,6 @@ msgstr ""
msgid "List all directories from which unit files may be loaded"
msgstr ""
msgid "List all discovered fonts"
msgstr ""
msgid "List all dist-tags"
msgstr ""
@@ -35204,6 +35219,9 @@ msgstr ""
msgid "List ingress zones added"
msgstr ""
msgid "List inode usage instead of block usage"
msgstr ""
msgid "List install_if rule"
msgstr ""
@@ -35930,9 +35948,6 @@ msgstr ""
msgid "List stemcells"
msgstr ""
msgid "List style variants of each family"
msgstr ""
msgid "List subcommands"
msgstr ""
@@ -36056,6 +36071,9 @@ msgstr ""
msgid "List the files that are supplied by the named package"
msgstr ""
msgid "List the host and all running local containers"
msgstr ""
msgid "List the installed extensions"
msgstr ""
@@ -37076,9 +37094,6 @@ msgstr ""
msgid "Lower the volume by 8%"
msgstr ""
msgid "Lowest allowable image efficiency"
msgstr ""
msgid "MAC address"
msgstr ""
@@ -38519,6 +38534,9 @@ msgstr ""
msgid "Mount an entire disk (all mountable volumes)"
msgstr ""
msgid "Mount an image into the mount namespace of a unit"
msgstr ""
msgid "Mount as mountable"
msgstr ""
@@ -40490,9 +40508,6 @@ msgstr ""
msgid "Open non-regular files"
msgstr "Nicht-reguläre Dateien öffnen"
msgid "Open output file after compilation"
msgstr ""
msgid "Open package repository page in the browser"
msgstr ""
@@ -41150,6 +41165,15 @@ msgstr ""
msgid "Output in RFC 2822 format"
msgstr ""
msgid "Output in RFC 3339 format with date precision"
msgstr ""
msgid "Output in RFC 3339 format with nanosecond precision"
msgstr ""
msgid "Output in RFC 3339 format with second precision"
msgstr ""
msgid "Output in an easy-to-parse format for scripts"
msgstr ""
@@ -42464,9 +42488,6 @@ msgstr ""
msgid "Path to config file. Default ~/.config/mariner/config.yaml"
msgstr ""
msgid "Path to custom CA certificate"
msgstr ""
msgid "Path to db to use"
msgstr ""
@@ -43151,9 +43172,6 @@ msgstr ""
msgid "Pixel storage type [type]"
msgstr ""
msgid "Pixels per inch for PNG export"
msgstr ""
msgid "Place comment block with TAG (or those preceding keyword lines) in output file"
msgstr ""
@@ -43793,6 +43811,9 @@ msgstr ""
msgid "Prevent including compiler-rt symbols"
msgstr ""
msgid "Prevent one or more units from starting"
msgstr ""
msgid "Prevent override"
msgstr ""
@@ -44765,9 +44786,6 @@ msgstr ""
msgid "Print help for `zig`"
msgstr ""
msgid "Print help for the given subcommand(s)"
msgstr ""
msgid "Print help info and exit"
msgstr ""
@@ -46730,9 +46748,6 @@ msgstr ""
msgid "Process all users' calendars and mail the results"
msgstr ""
msgid "Process an input file to extract metadata"
msgstr ""
msgid "Process at queue only once"
msgstr "at-Warteschlange nur einmal verarbeiten"
@@ -46895,9 +46910,6 @@ msgstr ""
msgid "Produce filenames as this string"
msgstr ""
msgid "Produce grand total"
msgstr "Gesamtsumme erstellen"
msgid "Produce less output to the terminal"
msgstr ""
@@ -46916,9 +46928,6 @@ msgstr ""
msgid "Produce output in JSON format"
msgstr ""
msgid "Produce performance timings"
msgstr ""
msgid "Produce report on all TAGs"
msgstr ""
@@ -46988,9 +46997,6 @@ msgstr ""
msgid "Project author"
msgstr ""
msgid "Project directory"
msgstr ""
msgid "Project language"
msgstr ""
@@ -47003,9 +47009,6 @@ msgstr ""
msgid "Project release"
msgstr ""
msgid "Project root (for absolute paths)"
msgstr ""
msgid "Project type"
msgstr ""
@@ -47624,6 +47627,9 @@ msgstr ""
msgid "Query the specified service"
msgstr ""
msgid "Query the unit that owns a process"
msgstr ""
msgid "Query to select investment transactions"
msgstr ""
@@ -48374,6 +48380,12 @@ msgstr ""
msgid "Reboot to EFI setup"
msgstr ""
msgid "Reboot userspace"
msgstr ""
msgid "Reboot via kexec"
msgstr ""
msgid "Reboots the device, optionally into the bootloader or recovery program"
msgstr ""
@@ -48551,9 +48563,6 @@ msgstr ""
msgid "Recursion (default for download)"
msgstr ""
msgid "Recursion limit"
msgstr "Rekursionsgrenze"
msgid "Recursive mode"
msgstr ""
@@ -48593,6 +48602,9 @@ msgstr ""
msgid "Recursively expand directory"
msgstr ""
msgid "Recursively fetch submodules"
msgstr ""
msgid "Recursively list ports depending on given port"
msgstr ""
@@ -49073,6 +49085,9 @@ msgstr ""
msgid "Reload server configuration"
msgstr ""
msgid "Reload the configuration of the system manager"
msgstr ""
msgid "Reload the default keys"
msgstr ""
@@ -50711,6 +50726,9 @@ msgstr ""
msgid "Request a subset of objects from server"
msgstr ""
msgid "Request a unit reload its configuration"
msgstr ""
msgid "Request allocation of a pseudo TTY for stdio"
msgstr ""
@@ -51524,9 +51542,6 @@ msgstr ""
msgid "Retrieve current host IP address and place it under a configurable project property"
msgstr ""
msgid "Retrieve exactly one element"
msgstr ""
msgid "Retrieve fresh bugs"
msgstr "Neue Bugs abrufen"
@@ -51863,9 +51878,6 @@ msgstr ""
msgid "Revert to the received value if available"
msgstr ""
msgid "Revert to the version from before the last update"
msgstr ""
msgid "Review the control file before creating a .deb"
msgstr ""
@@ -51893,6 +51905,9 @@ msgstr ""
msgid "Revokes an authentication token"
msgstr ""
msgid "Rewrite a commit message"
msgstr ""
msgid "Rewrite all not-found requests to `index.html`"
msgstr ""
@@ -51905,6 +51920,9 @@ msgstr ""
msgid "Rewrite file in FORMAT"
msgstr ""
msgid "Rewrite history"
msgstr ""
msgid "Rewrite rule (e.g., 'a[b:len(a)] -> a[b:]')"
msgstr ""
@@ -54464,9 +54482,6 @@ msgstr ""
msgid "Selects which device lsusb will examine"
msgstr ""
msgid "Self update the Typst CLI"
msgstr ""
msgid "Semantic version category for new version"
msgstr ""
@@ -57266,9 +57281,6 @@ msgstr ""
msgid "Set watches"
msgstr ""
msgid "Set when to use color"
msgstr ""
msgid "Set where to write formatted output"
msgstr ""
@@ -59609,6 +59621,9 @@ msgstr ""
msgid "Show properties of machines"
msgstr ""
msgid "Show properties of one or more units, jobs, or the manager itself"
msgstr ""
msgid "Show properties of systemd-timedated"
msgstr ""
@@ -59960,6 +59975,9 @@ msgstr ""
msgid "Show the author email instead of author name"
msgstr ""
msgid "Show the backing files of one or more units"
msgstr ""
msgid "Show the branch and tracking info even in short-format"
msgstr ""
@@ -60116,6 +60134,9 @@ msgstr ""
msgid "Show the manual page"
msgstr ""
msgid "Show the manual page for a unit"
msgstr ""
msgid "Show the menubar"
msgstr ""
@@ -60281,6 +60302,9 @@ msgstr ""
msgid "Show threads. With SPID"
msgstr ""
msgid "Show time as WORD instead of modification time"
msgstr ""
msgid "Show time stamping capabilities and PTP hardware clock"
msgstr ""
@@ -60293,6 +60317,9 @@ msgstr ""
msgid "Show timer"
msgstr ""
msgid "Show times using style (or +FORMAT)"
msgstr ""
msgid "Show timestamp"
msgstr ""
@@ -61241,9 +61268,6 @@ msgstr ""
msgid "Skip mount checks, repair is not possible"
msgstr ""
msgid "Skip other file systems"
msgstr ""
msgid "Skip package installation for this run"
msgstr ""
@@ -61292,12 +61316,6 @@ msgstr ""
msgid "Skip the given initial samples for each input {#|mm:ss.ss}"
msgstr ""
msgid "Skip the interactive TUI and validate against CI rules"
msgstr ""
msgid "Skip the interactive TUI and write the layer analysis statistics to a given file"
msgstr ""
msgid "Skip the normal function prologue and epilogue that sets up the stack-frame"
msgstr ""
@@ -63983,6 +64001,9 @@ msgstr ""
msgid "Split stdout and stderr in test logs"
msgstr ""
msgid "Split up a commit"
msgstr ""
msgid "Spoof MAC address"
msgstr ""
@@ -64709,6 +64730,9 @@ msgstr ""
msgid "Stop playing"
msgstr ""
msgid "Stop preventing one or more units from starting"
msgstr ""
msgid "Stop preventing package modification"
msgstr ""
@@ -64916,9 +64940,6 @@ msgstr ""
msgid "String as the value for the given key"
msgstr ""
msgid "String key-value pair for `sys.inputs`"
msgstr ""
msgid "String literal mode"
msgstr ""
@@ -65123,6 +65144,9 @@ msgstr ""
msgid "Summarize disk usage of each file."
msgstr ""
msgid "Summarize usage of NUL-terminated files in file"
msgstr ""
msgid "Super go mode: clean out generated files before processing"
msgstr ""
@@ -66422,9 +66446,6 @@ msgstr ""
msgid "The connection protocol to use"
msgstr ""
msgid "The container engine to fetch the image from"
msgstr ""
msgid "The copy job is not persisted if VM is turned off"
msgstr ""
@@ -69203,8 +69224,14 @@ msgstr ""
msgid "Use 1B block size"
msgstr "1B-Blockgröße verwenden"
msgid "Use 1kB block size"
msgstr "Blockgrösse von 1kB verwenden"
msgid "Use 1GB block size"
msgstr ""
msgid "Use 1KB block size"
msgstr ""
msgid "Use 1MB block size"
msgstr ""
msgid "Use 32-bit \"float\""
msgstr ""
@@ -72443,9 +72470,6 @@ msgstr ""
msgid "Watch a specific file or directory"
msgstr ""
msgid "Watch an input file and recompile on changes"
msgstr ""
msgid "Watch and list new logs"
msgstr ""
@@ -73256,9 +73280,6 @@ msgstr ""
msgid "Write selection"
msgstr "Auswahl schreiben"
msgid "Write size for all files"
msgstr "Größe für alle Dateien anzeigen"
msgid "Write special status strings to the specified file descriptor"
msgstr "Spezielle Statusmeldungen auf den angegebenen Dateideskriptor schreiben"
@@ -74363,6 +74384,9 @@ msgstr ""
msgid "configure the Salesforce CLI"
msgstr ""
msgid "connect adb to the Android container"
msgstr ""
msgid "connect to a custom bus"
msgstr ""
@@ -74453,6 +74477,9 @@ msgstr ""
msgid "create a backup of one or several jails"
msgstr ""
msgid "create a bugreport archive interactively"
msgstr ""
msgid "create a bundle for an Aura component or a Lightning web component"
msgstr ""
@@ -74801,6 +74828,9 @@ msgstr ""
msgid "discard uncommitted changes (no backup)"
msgstr ""
msgid "disconnect adb from the Android container"
msgstr ""
msgid "disconnect and wait for reassociate command before connecting"
msgstr ""
@@ -77039,6 +77069,9 @@ msgstr ""
msgid "make vendored copy of dependencies"
msgstr ""
msgid "manage adb connection"
msgstr ""
msgid "manage and query devices in the filesystem"
msgstr ""
@@ -77612,7 +77645,7 @@ msgstr ""
msgid "output diffstat-style summary of changes"
msgstr ""
msgid "output directory to store the Metadata APIformatted files in"
msgid "output directory to store the Metadata API-formatted files in"
msgstr ""
msgid "output encoding"
@@ -78857,6 +78890,9 @@ msgstr ""
msgid "run as if started in dir"
msgstr ""
msgid "run as user mode, connecting to the remote initializer service"
msgstr ""
msgid "run command"
msgstr ""
@@ -80033,7 +80069,7 @@ msgstr ""
msgid "the org to list the apps for"
msgstr ""
msgid "the output directory to store the sourceformatted files"
msgid "the output directory to store the source-formatted files"
msgstr ""
msgid "the streaming client socket timeout (in minutes)"

View File

@@ -3698,9 +3698,6 @@ msgstr "vi-like key bindings for fish"
msgid "wait for app to exit"
msgstr ""
msgid "fish-section-tier3-from-script-explicitly-added"
msgstr ""
msgid "fish-section-tier3-from-script-implicitly-added"
msgstr ""
@@ -4376,7 +4373,7 @@ msgstr ""
msgid "(required) the path to the CSV file that defines the records to upsert"
msgstr ""
msgid "(required) the root directory containing the Metadata APIformatted metadata"
msgid "(required) the root directory containing the Metadata API-formatted metadata"
msgstr ""
msgid "(required) the sObject type of the records you want to upsert"
@@ -5318,12 +5315,18 @@ msgstr ""
msgid "Add OFFSET to file positions in hexdump"
msgstr ""
msgid "Add Requires dependencies to a target unit"
msgstr ""
msgid "Add Signed-off-by line at the end of the merge commit message"
msgstr ""
msgid "Add Signed-off-by line to the commit message"
msgstr ""
msgid "Add Wants dependencies to a target unit"
msgstr ""
msgid "Add Winelib to import"
msgstr ""
@@ -6122,9 +6125,6 @@ msgstr ""
msgid "Additional `Cargo.toml` to sync and vendor"
msgstr ""
msgid "Additional directories to search for fonts"
msgstr ""
msgid "Additional flag for strings inside the argument number ARG of keyword WORD"
msgstr ""
@@ -8069,6 +8069,9 @@ msgstr ""
msgid "Ask the server to reimport files for UTIs claimed by the listed plugin"
msgstr ""
msgid "Ask the service manager to exit"
msgstr ""
msgid "Ask the user for confirmation before killing a process"
msgstr ""
@@ -9068,6 +9071,9 @@ msgstr ""
msgid "Bind mount a file or directory from the host in the container"
msgstr ""
msgid "Bind mount a path into the mount namespace of a unit"
msgstr ""
msgid "Bind mounts src into CHROOTDIR/dest"
msgstr ""
@@ -9155,6 +9161,12 @@ msgstr ""
msgid "Block size"
msgstr "Block size"
msgid "Block size (e.g. 1M, KiB)"
msgstr ""
msgid "Block size in bytes"
msgstr ""
msgid "Block size to use in all I/O operations (default: 16K)"
msgstr ""
@@ -9368,9 +9380,6 @@ msgstr ""
msgid "Build an RPM package"
msgstr ""
msgid "Build and analyze a Docker image from a Dockerfile"
msgstr ""
msgid "Build and install a new package"
msgstr "Build and install a new package"
@@ -9794,6 +9803,9 @@ msgstr "Cancel any scheduled actions on the packages"
msgid "Cancel jobs owned by username"
msgstr ""
msgid "Cancel one or more jobs"
msgstr ""
msgid "Cancel pairing with device"
msgstr ""
@@ -11933,9 +11945,6 @@ msgstr ""
msgid "Compile all the methods in an assembly"
msgstr ""
msgid "Compile an input file"
msgstr ""
msgid "Compile and run an executable product"
msgstr ""
@@ -12227,9 +12236,6 @@ msgstr ""
msgid "Config and front matter format"
msgstr ""
msgid "Config file"
msgstr ""
msgid "Config file (default: $HOME/.s3cfg)"
msgstr ""
@@ -13166,9 +13172,6 @@ msgstr ""
msgid "Count executions of source lines"
msgstr ""
msgid "Count hard links multiple times"
msgstr "Count hard links multiple times"
msgid "Count hidden files, too"
msgstr ""
@@ -15422,12 +15425,6 @@ msgstr ""
msgid "Dereference TARGETs that are symbolic links"
msgstr ""
msgid "Dereference all symlinks"
msgstr "Dereference all symlinks"
msgid "Dereference file symlinks"
msgstr "Dereference file symlinks"
msgid "Dereference structures for the specified set of system calls"
msgstr ""
@@ -16859,6 +16856,9 @@ msgstr ""
msgid "Disable the docs title"
msgstr ""
msgid "Disable the enable one or more units"
msgstr ""
msgid "Disable the eval extension"
msgstr ""
@@ -17435,6 +17435,9 @@ msgstr ""
msgid "Display answers as exclamation points and missing packets as dots"
msgstr ""
msgid "Display apparent size"
msgstr ""
msgid "Display architecture specific information"
msgstr ""
@@ -20174,6 +20177,9 @@ msgstr ""
msgid "Do not recurse unless -depth is specified"
msgstr ""
msgid "Do not recursively fetch submodules"
msgstr ""
msgid "Do not redirect output to a pager"
msgstr ""
@@ -20627,6 +20633,9 @@ msgstr "Do not try to use the GnuPG-Agent"
msgid "Do not update index or working tree"
msgstr ""
msgid "Do not update references"
msgstr ""
msgid "Do not update the cache in vendor/cache with the newly bundled gems"
msgstr "Do not update the cache in vendor/cache with the newly bundled gems"
@@ -23093,6 +23102,9 @@ msgstr ""
msgid "Dump the relocated contents of of specified section"
msgstr ""
msgid "Dump the systemd manager environment block"
msgstr ""
msgid "Dump tree structures from a given device"
msgstr ""
@@ -23243,6 +23255,9 @@ msgstr ""
msgid "Edit a property with an external editor"
msgstr ""
msgid "Edit a unit file or drop-in snippet"
msgstr ""
msgid "Edit an entry"
msgstr ""
@@ -24635,12 +24650,18 @@ msgstr ""
msgid "Enable/Disable colored error messages"
msgstr ""
msgid "Enable/disable a unit depending on preset configuration"
msgstr ""
msgid "Enable/disable advertising with given type"
msgstr ""
msgid "Enable/disable agent with given capability"
msgstr ""
msgid "Enable/disable all units depending on preset configuration"
msgstr ""
msgid "Enable/disable bucket access logging"
msgstr ""
@@ -24884,6 +24905,9 @@ msgstr ""
msgid "End current session cleanly"
msgstr ""
msgid "End each output line with NUL"
msgstr ""
msgid "End each output line with NUL, not newline, and disable file name escaping"
msgstr ""
@@ -24977,6 +25001,15 @@ msgstr ""
msgid "Ensure value is of given type"
msgstr ""
msgid "Enter and isolate emergency mode"
msgstr ""
msgid "Enter and isolate rescue mode"
msgstr ""
msgid "Enter and isolate the default mode"
msgstr ""
msgid "Enter commit message as a string"
msgstr ""
@@ -26102,9 +26135,6 @@ msgstr "Extract from archive"
msgid "Extract into directory"
msgstr ""
msgid "Extract just one field"
msgstr ""
msgid "Extract most recent versions of files"
msgstr ""
@@ -27182,6 +27212,9 @@ msgstr ""
msgid "Follow command-line symbolic links"
msgstr "Follow command-line symbolic links"
msgid "Follow command-line symlinks only"
msgstr ""
msgid "Follow given symlinks with -R"
msgstr ""
@@ -27380,9 +27413,6 @@ msgstr ""
msgid "Force a complete refresh"
msgstr ""
msgid "Force a downgrade to an older version"
msgstr ""
msgid "Force a fixed checksum block-size"
msgstr ""
@@ -28175,9 +28205,6 @@ msgstr ""
msgid "Format of the list command output"
msgstr ""
msgid "Format of the output file"
msgstr ""
msgid "Format of the output: text or json"
msgstr ""
@@ -28214,12 +28241,6 @@ msgstr ""
msgid "Format the print file with a shaded header: date, time, job name, and page no."
msgstr ""
msgid "Format to emit diagnostics in"
msgstr ""
msgid "Format to serialize in"
msgstr ""
msgid "Format to use for the output"
msgstr ""
@@ -30326,9 +30347,6 @@ msgstr ""
msgid "Help for convert"
msgstr ""
msgid "Help for dive"
msgstr ""
msgid "Help for doc"
msgstr ""
@@ -30488,12 +30506,6 @@ msgstr ""
msgid "Higher-order task to perform other tasks in succession."
msgstr ""
msgid "Highest allowable bytes wasted"
msgstr ""
msgid "Highest allowable percentage of bytes wasted"
msgstr ""
msgid "Highest compression, same as -12"
msgstr ""
@@ -30845,9 +30857,6 @@ msgstr "Identity types to display"
msgid "Idiomatically format Dart source code"
msgstr ""
msgid "If CI=true in the environment, use the given yaml to drive validation rules"
msgstr ""
msgid "If HTTP proxy is used, make curl tunnel through it"
msgstr ""
@@ -31133,6 +31142,9 @@ msgstr ""
msgid "Ignore files ending with ~"
msgstr "Ignore files ending with ~"
msgid "Ignore files matching mask"
msgstr ""
msgid "Ignore files that already exist on receiver"
msgstr ""
@@ -31148,9 +31160,6 @@ msgstr ""
msgid "Ignore host and package architecture mismatch"
msgstr ""
msgid "Ignore image parsing errors and run the analysis anyway"
msgstr ""
msgid "Ignore inhibitor locks on shutdown or sleep"
msgstr ""
@@ -31214,6 +31223,9 @@ msgstr ""
msgid "Ignore newer bugs than upgrade packages"
msgstr "Ignore newer bugs than upgrade packages"
msgid "Ignore nodump files"
msgstr ""
msgid "Ignore non-authenticated packages"
msgstr "Ignore non-authenticated packages"
@@ -31469,6 +31481,9 @@ msgstr ""
msgid "Import cuesheet and store in CUESHEET block"
msgstr ""
msgid "Import environment variables into the service manager"
msgstr ""
msgid "Import every tag from a remote with git fetch <name>"
msgstr ""
@@ -32279,9 +32294,6 @@ msgstr ""
msgid "Initialize a new or existing Terraform configuration"
msgstr ""
msgid "Initialize a new project"
msgstr ""
msgid "Initialize a new repository for the given version control system"
msgstr ""
@@ -33431,6 +33443,9 @@ msgstr ""
msgid "Kick current connection from host side and make it reconnect."
msgstr ""
msgid "Kill one or more units"
msgstr ""
msgid "Kill only processes the specified user owns. Command names are optional"
msgstr ""
@@ -34055,6 +34070,9 @@ msgstr "Lines end with 0 byte"
msgid "Linewrap entries as width[,indent1[,indent2]]"
msgstr ""
msgid "Link a unit file into the unit search path"
msgstr ""
msgid "Link against framework (Darwin)"
msgstr ""
@@ -34325,9 +34343,6 @@ msgstr ""
msgid "List all directories from which unit files may be loaded"
msgstr ""
msgid "List all discovered fonts"
msgstr ""
msgid "List all dist-tags"
msgstr ""
@@ -35204,6 +35219,9 @@ msgstr ""
msgid "List ingress zones added"
msgstr ""
msgid "List inode usage instead of block usage"
msgstr ""
msgid "List install_if rule"
msgstr ""
@@ -35930,9 +35948,6 @@ msgstr ""
msgid "List stemcells"
msgstr ""
msgid "List style variants of each family"
msgstr ""
msgid "List subcommands"
msgstr ""
@@ -36056,6 +36071,9 @@ msgstr ""
msgid "List the files that are supplied by the named package"
msgstr ""
msgid "List the host and all running local containers"
msgstr ""
msgid "List the installed extensions"
msgstr ""
@@ -37076,9 +37094,6 @@ msgstr ""
msgid "Lower the volume by 8%"
msgstr ""
msgid "Lowest allowable image efficiency"
msgstr ""
msgid "MAC address"
msgstr ""
@@ -38519,6 +38534,9 @@ msgstr "Mount all available ZFS filesystems"
msgid "Mount an entire disk (all mountable volumes)"
msgstr ""
msgid "Mount an image into the mount namespace of a unit"
msgstr ""
msgid "Mount as mountable"
msgstr ""
@@ -40490,9 +40508,6 @@ msgstr ""
msgid "Open non-regular files"
msgstr "Open non-regular files"
msgid "Open output file after compilation"
msgstr ""
msgid "Open package repository page in the browser"
msgstr ""
@@ -41150,6 +41165,15 @@ msgstr ""
msgid "Output in RFC 2822 format"
msgstr ""
msgid "Output in RFC 3339 format with date precision"
msgstr ""
msgid "Output in RFC 3339 format with nanosecond precision"
msgstr ""
msgid "Output in RFC 3339 format with second precision"
msgstr ""
msgid "Output in an easy-to-parse format for scripts"
msgstr ""
@@ -42464,9 +42488,6 @@ msgstr ""
msgid "Path to config file. Default ~/.config/mariner/config.yaml"
msgstr ""
msgid "Path to custom CA certificate"
msgstr ""
msgid "Path to db to use"
msgstr ""
@@ -43151,9 +43172,6 @@ msgstr ""
msgid "Pixel storage type [type]"
msgstr ""
msgid "Pixels per inch for PNG export"
msgstr ""
msgid "Place comment block with TAG (or those preceding keyword lines) in output file"
msgstr ""
@@ -43793,6 +43811,9 @@ msgstr ""
msgid "Prevent including compiler-rt symbols"
msgstr ""
msgid "Prevent one or more units from starting"
msgstr ""
msgid "Prevent override"
msgstr ""
@@ -44765,9 +44786,6 @@ msgstr ""
msgid "Print help for `zig`"
msgstr ""
msgid "Print help for the given subcommand(s)"
msgstr ""
msgid "Print help info and exit"
msgstr ""
@@ -46730,9 +46748,6 @@ msgstr ""
msgid "Process all users' calendars and mail the results"
msgstr ""
msgid "Process an input file to extract metadata"
msgstr ""
msgid "Process at queue only once"
msgstr "Process at queue only once"
@@ -46895,9 +46910,6 @@ msgstr ""
msgid "Produce filenames as this string"
msgstr ""
msgid "Produce grand total"
msgstr "Produce grand total"
msgid "Produce less output to the terminal"
msgstr ""
@@ -46916,9 +46928,6 @@ msgstr ""
msgid "Produce output in JSON format"
msgstr ""
msgid "Produce performance timings"
msgstr ""
msgid "Produce report on all TAGs"
msgstr ""
@@ -46988,9 +46997,6 @@ msgstr ""
msgid "Project author"
msgstr ""
msgid "Project directory"
msgstr ""
msgid "Project language"
msgstr ""
@@ -47003,9 +47009,6 @@ msgstr ""
msgid "Project release"
msgstr ""
msgid "Project root (for absolute paths)"
msgstr ""
msgid "Project type"
msgstr ""
@@ -47624,6 +47627,9 @@ msgstr ""
msgid "Query the specified service"
msgstr ""
msgid "Query the unit that owns a process"
msgstr ""
msgid "Query to select investment transactions"
msgstr ""
@@ -48374,6 +48380,12 @@ msgstr ""
msgid "Reboot to EFI setup"
msgstr ""
msgid "Reboot userspace"
msgstr ""
msgid "Reboot via kexec"
msgstr ""
msgid "Reboots the device, optionally into the bootloader or recovery program"
msgstr ""
@@ -48551,9 +48563,6 @@ msgstr ""
msgid "Recursion (default for download)"
msgstr ""
msgid "Recursion limit"
msgstr "Recursion limit"
msgid "Recursive mode"
msgstr ""
@@ -48593,6 +48602,9 @@ msgstr "Recursively destroy later snapshot, bookmarks and clones"
msgid "Recursively expand directory"
msgstr ""
msgid "Recursively fetch submodules"
msgstr ""
msgid "Recursively list ports depending on given port"
msgstr ""
@@ -49073,6 +49085,9 @@ msgstr ""
msgid "Reload server configuration"
msgstr ""
msgid "Reload the configuration of the system manager"
msgstr ""
msgid "Reload the default keys"
msgstr ""
@@ -50711,6 +50726,9 @@ msgstr ""
msgid "Request a subset of objects from server"
msgstr ""
msgid "Request a unit reload its configuration"
msgstr ""
msgid "Request allocation of a pseudo TTY for stdio"
msgstr ""
@@ -51524,9 +51542,6 @@ msgstr ""
msgid "Retrieve current host IP address and place it under a configurable project property"
msgstr ""
msgid "Retrieve exactly one element"
msgstr ""
msgid "Retrieve fresh bugs"
msgstr "Retrieve fresh bugs"
@@ -51863,9 +51878,6 @@ msgstr ""
msgid "Revert to the received value if available"
msgstr "Revert to the received value if available"
msgid "Revert to the version from before the last update"
msgstr ""
msgid "Review the control file before creating a .deb"
msgstr ""
@@ -51893,6 +51905,9 @@ msgstr ""
msgid "Revokes an authentication token"
msgstr ""
msgid "Rewrite a commit message"
msgstr ""
msgid "Rewrite all not-found requests to `index.html`"
msgstr ""
@@ -51905,6 +51920,9 @@ msgstr ""
msgid "Rewrite file in FORMAT"
msgstr ""
msgid "Rewrite history"
msgstr ""
msgid "Rewrite rule (e.g., 'a[b:len(a)] -> a[b:]')"
msgstr ""
@@ -54464,9 +54482,6 @@ msgstr ""
msgid "Selects which device lsusb will examine"
msgstr ""
msgid "Self update the Typst CLI"
msgstr ""
msgid "Semantic version category for new version"
msgstr ""
@@ -57266,9 +57281,6 @@ msgstr ""
msgid "Set watches"
msgstr ""
msgid "Set when to use color"
msgstr ""
msgid "Set where to write formatted output"
msgstr ""
@@ -59609,6 +59621,9 @@ msgstr ""
msgid "Show properties of machines"
msgstr ""
msgid "Show properties of one or more units, jobs, or the manager itself"
msgstr ""
msgid "Show properties of systemd-timedated"
msgstr ""
@@ -59960,6 +59975,9 @@ msgstr ""
msgid "Show the author email instead of author name"
msgstr ""
msgid "Show the backing files of one or more units"
msgstr ""
msgid "Show the branch and tracking info even in short-format"
msgstr ""
@@ -60116,6 +60134,9 @@ msgstr ""
msgid "Show the manual page"
msgstr ""
msgid "Show the manual page for a unit"
msgstr ""
msgid "Show the menubar"
msgstr ""
@@ -60281,6 +60302,9 @@ msgstr ""
msgid "Show threads. With SPID"
msgstr ""
msgid "Show time as WORD instead of modification time"
msgstr ""
msgid "Show time stamping capabilities and PTP hardware clock"
msgstr ""
@@ -60293,6 +60317,9 @@ msgstr ""
msgid "Show timer"
msgstr ""
msgid "Show times using style (or +FORMAT)"
msgstr ""
msgid "Show timestamp"
msgstr ""
@@ -61241,9 +61268,6 @@ msgstr ""
msgid "Skip mount checks, repair is not possible"
msgstr ""
msgid "Skip other file systems"
msgstr ""
msgid "Skip package installation for this run"
msgstr ""
@@ -61292,12 +61316,6 @@ msgstr ""
msgid "Skip the given initial samples for each input {#|mm:ss.ss}"
msgstr ""
msgid "Skip the interactive TUI and validate against CI rules"
msgstr ""
msgid "Skip the interactive TUI and write the layer analysis statistics to a given file"
msgstr ""
msgid "Skip the normal function prologue and epilogue that sets up the stack-frame"
msgstr ""
@@ -63983,6 +64001,9 @@ msgstr ""
msgid "Split stdout and stderr in test logs"
msgstr ""
msgid "Split up a commit"
msgstr ""
msgid "Spoof MAC address"
msgstr ""
@@ -64709,6 +64730,9 @@ msgstr ""
msgid "Stop playing"
msgstr ""
msgid "Stop preventing one or more units from starting"
msgstr ""
msgid "Stop preventing package modification"
msgstr ""
@@ -64916,9 +64940,6 @@ msgstr ""
msgid "String as the value for the given key"
msgstr ""
msgid "String key-value pair for `sys.inputs`"
msgstr ""
msgid "String literal mode"
msgstr ""
@@ -65123,6 +65144,9 @@ msgstr ""
msgid "Summarize disk usage of each file."
msgstr ""
msgid "Summarize usage of NUL-terminated files in file"
msgstr ""
msgid "Super go mode: clean out generated files before processing"
msgstr ""
@@ -66422,9 +66446,6 @@ msgstr ""
msgid "The connection protocol to use"
msgstr ""
msgid "The container engine to fetch the image from"
msgstr ""
msgid "The copy job is not persisted if VM is turned off"
msgstr ""
@@ -69203,8 +69224,14 @@ msgstr ""
msgid "Use 1B block size"
msgstr "Use 1B block size"
msgid "Use 1kB block size"
msgstr "Use 1kB block size"
msgid "Use 1GB block size"
msgstr ""
msgid "Use 1KB block size"
msgstr ""
msgid "Use 1MB block size"
msgstr ""
msgid "Use 32-bit \"float\""
msgstr ""
@@ -72443,9 +72470,6 @@ msgstr ""
msgid "Watch a specific file or directory"
msgstr ""
msgid "Watch an input file and recompile on changes"
msgstr ""
msgid "Watch and list new logs"
msgstr ""
@@ -73256,9 +73280,6 @@ msgstr ""
msgid "Write selection"
msgstr "Write selection"
msgid "Write size for all files"
msgstr "Write size for all files"
msgid "Write special status strings to the specified file descriptor"
msgstr "Write special status strings to the specified file descriptor"
@@ -74363,6 +74384,9 @@ msgstr ""
msgid "configure the Salesforce CLI"
msgstr ""
msgid "connect adb to the Android container"
msgstr ""
msgid "connect to a custom bus"
msgstr ""
@@ -74453,6 +74477,9 @@ msgstr ""
msgid "create a backup of one or several jails"
msgstr ""
msgid "create a bugreport archive interactively"
msgstr ""
msgid "create a bundle for an Aura component or a Lightning web component"
msgstr ""
@@ -74801,6 +74828,9 @@ msgstr ""
msgid "discard uncommitted changes (no backup)"
msgstr ""
msgid "disconnect adb from the Android container"
msgstr ""
msgid "disconnect and wait for reassociate command before connecting"
msgstr ""
@@ -77039,6 +77069,9 @@ msgstr ""
msgid "make vendored copy of dependencies"
msgstr ""
msgid "manage adb connection"
msgstr ""
msgid "manage and query devices in the filesystem"
msgstr ""
@@ -77612,7 +77645,7 @@ msgstr ""
msgid "output diffstat-style summary of changes"
msgstr ""
msgid "output directory to store the Metadata APIformatted files in"
msgid "output directory to store the Metadata API-formatted files in"
msgstr ""
msgid "output encoding"
@@ -78857,6 +78890,9 @@ msgstr ""
msgid "run as if started in dir"
msgstr ""
msgid "run as user mode, connecting to the remote initializer service"
msgstr ""
msgid "run command"
msgstr ""
@@ -80033,7 +80069,7 @@ msgstr ""
msgid "the org to list the apps for"
msgstr ""
msgid "the output directory to store the sourceformatted files"
msgid "the output directory to store the source-formatted files"
msgstr ""
msgid "the streaming client socket timeout (in minutes)"

View File

@@ -3698,9 +3698,6 @@ msgstr ""
msgid "wait for app to exit"
msgstr ""
msgid "fish-section-tier3-from-script-explicitly-added"
msgstr ""
msgid "fish-section-tier3-from-script-implicitly-added"
msgstr ""
@@ -4376,7 +4373,7 @@ msgstr ""
msgid "(required) the path to the CSV file that defines the records to upsert"
msgstr ""
msgid "(required) the root directory containing the Metadata APIformatted metadata"
msgid "(required) the root directory containing the Metadata API-formatted metadata"
msgstr ""
msgid "(required) the sObject type of the records you want to upsert"
@@ -5318,12 +5315,18 @@ msgstr ""
msgid "Add OFFSET to file positions in hexdump"
msgstr ""
msgid "Add Requires dependencies to a target unit"
msgstr ""
msgid "Add Signed-off-by line at the end of the merge commit message"
msgstr ""
msgid "Add Signed-off-by line to the commit message"
msgstr ""
msgid "Add Wants dependencies to a target unit"
msgstr ""
msgid "Add Winelib to import"
msgstr ""
@@ -6122,9 +6125,6 @@ msgstr ""
msgid "Additional `Cargo.toml` to sync and vendor"
msgstr ""
msgid "Additional directories to search for fonts"
msgstr ""
msgid "Additional flag for strings inside the argument number ARG of keyword WORD"
msgstr ""
@@ -8069,6 +8069,9 @@ msgstr ""
msgid "Ask the server to reimport files for UTIs claimed by the listed plugin"
msgstr ""
msgid "Ask the service manager to exit"
msgstr ""
msgid "Ask the user for confirmation before killing a process"
msgstr ""
@@ -9068,6 +9071,9 @@ msgstr ""
msgid "Bind mount a file or directory from the host in the container"
msgstr ""
msgid "Bind mount a path into the mount namespace of a unit"
msgstr ""
msgid "Bind mounts src into CHROOTDIR/dest"
msgstr ""
@@ -9155,6 +9161,12 @@ msgstr ""
msgid "Block size"
msgstr ""
msgid "Block size (e.g. 1M, KiB)"
msgstr ""
msgid "Block size in bytes"
msgstr ""
msgid "Block size to use in all I/O operations (default: 16K)"
msgstr ""
@@ -9368,9 +9380,6 @@ msgstr ""
msgid "Build an RPM package"
msgstr ""
msgid "Build and analyze a Docker image from a Dockerfile"
msgstr ""
msgid "Build and install a new package"
msgstr ""
@@ -9794,6 +9803,9 @@ msgstr ""
msgid "Cancel jobs owned by username"
msgstr ""
msgid "Cancel one or more jobs"
msgstr ""
msgid "Cancel pairing with device"
msgstr ""
@@ -11933,9 +11945,6 @@ msgstr ""
msgid "Compile all the methods in an assembly"
msgstr ""
msgid "Compile an input file"
msgstr ""
msgid "Compile and run an executable product"
msgstr ""
@@ -12227,9 +12236,6 @@ msgstr ""
msgid "Config and front matter format"
msgstr ""
msgid "Config file"
msgstr ""
msgid "Config file (default: $HOME/.s3cfg)"
msgstr ""
@@ -13166,9 +13172,6 @@ msgstr ""
msgid "Count executions of source lines"
msgstr ""
msgid "Count hard links multiple times"
msgstr ""
msgid "Count hidden files, too"
msgstr ""
@@ -15422,12 +15425,6 @@ msgstr ""
msgid "Dereference TARGETs that are symbolic links"
msgstr ""
msgid "Dereference all symlinks"
msgstr ""
msgid "Dereference file symlinks"
msgstr ""
msgid "Dereference structures for the specified set of system calls"
msgstr ""
@@ -16859,6 +16856,9 @@ msgstr ""
msgid "Disable the docs title"
msgstr ""
msgid "Disable the enable one or more units"
msgstr ""
msgid "Disable the eval extension"
msgstr ""
@@ -17435,6 +17435,9 @@ msgstr ""
msgid "Display answers as exclamation points and missing packets as dots"
msgstr ""
msgid "Display apparent size"
msgstr ""
msgid "Display architecture specific information"
msgstr ""
@@ -20174,6 +20177,9 @@ msgstr ""
msgid "Do not recurse unless -depth is specified"
msgstr ""
msgid "Do not recursively fetch submodules"
msgstr ""
msgid "Do not redirect output to a pager"
msgstr ""
@@ -20627,6 +20633,9 @@ msgstr ""
msgid "Do not update index or working tree"
msgstr ""
msgid "Do not update references"
msgstr ""
msgid "Do not update the cache in vendor/cache with the newly bundled gems"
msgstr ""
@@ -23093,6 +23102,9 @@ msgstr ""
msgid "Dump the relocated contents of of specified section"
msgstr ""
msgid "Dump the systemd manager environment block"
msgstr ""
msgid "Dump tree structures from a given device"
msgstr ""
@@ -23243,6 +23255,9 @@ msgstr ""
msgid "Edit a property with an external editor"
msgstr ""
msgid "Edit a unit file or drop-in snippet"
msgstr ""
msgid "Edit an entry"
msgstr ""
@@ -24635,12 +24650,18 @@ msgstr ""
msgid "Enable/Disable colored error messages"
msgstr ""
msgid "Enable/disable a unit depending on preset configuration"
msgstr ""
msgid "Enable/disable advertising with given type"
msgstr ""
msgid "Enable/disable agent with given capability"
msgstr ""
msgid "Enable/disable all units depending on preset configuration"
msgstr ""
msgid "Enable/disable bucket access logging"
msgstr ""
@@ -24884,6 +24905,9 @@ msgstr ""
msgid "End current session cleanly"
msgstr ""
msgid "End each output line with NUL"
msgstr ""
msgid "End each output line with NUL, not newline, and disable file name escaping"
msgstr ""
@@ -24977,6 +25001,15 @@ msgstr ""
msgid "Ensure value is of given type"
msgstr ""
msgid "Enter and isolate emergency mode"
msgstr ""
msgid "Enter and isolate rescue mode"
msgstr ""
msgid "Enter and isolate the default mode"
msgstr ""
msgid "Enter commit message as a string"
msgstr ""
@@ -26102,9 +26135,6 @@ msgstr ""
msgid "Extract into directory"
msgstr ""
msgid "Extract just one field"
msgstr ""
msgid "Extract most recent versions of files"
msgstr ""
@@ -27182,6 +27212,9 @@ msgstr ""
msgid "Follow command-line symbolic links"
msgstr ""
msgid "Follow command-line symlinks only"
msgstr ""
msgid "Follow given symlinks with -R"
msgstr ""
@@ -27380,9 +27413,6 @@ msgstr ""
msgid "Force a complete refresh"
msgstr ""
msgid "Force a downgrade to an older version"
msgstr ""
msgid "Force a fixed checksum block-size"
msgstr ""
@@ -28175,9 +28205,6 @@ msgstr ""
msgid "Format of the list command output"
msgstr ""
msgid "Format of the output file"
msgstr ""
msgid "Format of the output: text or json"
msgstr ""
@@ -28214,12 +28241,6 @@ msgstr ""
msgid "Format the print file with a shaded header: date, time, job name, and page no."
msgstr ""
msgid "Format to emit diagnostics in"
msgstr ""
msgid "Format to serialize in"
msgstr ""
msgid "Format to use for the output"
msgstr ""
@@ -30326,9 +30347,6 @@ msgstr ""
msgid "Help for convert"
msgstr ""
msgid "Help for dive"
msgstr ""
msgid "Help for doc"
msgstr ""
@@ -30488,12 +30506,6 @@ msgstr ""
msgid "Higher-order task to perform other tasks in succession."
msgstr ""
msgid "Highest allowable bytes wasted"
msgstr ""
msgid "Highest allowable percentage of bytes wasted"
msgstr ""
msgid "Highest compression, same as -12"
msgstr ""
@@ -30845,9 +30857,6 @@ msgstr ""
msgid "Idiomatically format Dart source code"
msgstr ""
msgid "If CI=true in the environment, use the given yaml to drive validation rules"
msgstr ""
msgid "If HTTP proxy is used, make curl tunnel through it"
msgstr ""
@@ -31133,6 +31142,9 @@ msgstr ""
msgid "Ignore files ending with ~"
msgstr ""
msgid "Ignore files matching mask"
msgstr ""
msgid "Ignore files that already exist on receiver"
msgstr ""
@@ -31148,9 +31160,6 @@ msgstr ""
msgid "Ignore host and package architecture mismatch"
msgstr ""
msgid "Ignore image parsing errors and run the analysis anyway"
msgstr ""
msgid "Ignore inhibitor locks on shutdown or sleep"
msgstr ""
@@ -31214,6 +31223,9 @@ msgstr ""
msgid "Ignore newer bugs than upgrade packages"
msgstr ""
msgid "Ignore nodump files"
msgstr ""
msgid "Ignore non-authenticated packages"
msgstr ""
@@ -31469,6 +31481,9 @@ msgstr ""
msgid "Import cuesheet and store in CUESHEET block"
msgstr ""
msgid "Import environment variables into the service manager"
msgstr ""
msgid "Import every tag from a remote with git fetch <name>"
msgstr ""
@@ -32279,9 +32294,6 @@ msgstr ""
msgid "Initialize a new or existing Terraform configuration"
msgstr ""
msgid "Initialize a new project"
msgstr ""
msgid "Initialize a new repository for the given version control system"
msgstr ""
@@ -33431,6 +33443,9 @@ msgstr ""
msgid "Kick current connection from host side and make it reconnect."
msgstr ""
msgid "Kill one or more units"
msgstr ""
msgid "Kill only processes the specified user owns. Command names are optional"
msgstr ""
@@ -34055,6 +34070,9 @@ msgstr ""
msgid "Linewrap entries as width[,indent1[,indent2]]"
msgstr ""
msgid "Link a unit file into the unit search path"
msgstr ""
msgid "Link against framework (Darwin)"
msgstr ""
@@ -34325,9 +34343,6 @@ msgstr ""
msgid "List all directories from which unit files may be loaded"
msgstr ""
msgid "List all discovered fonts"
msgstr ""
msgid "List all dist-tags"
msgstr ""
@@ -35204,6 +35219,9 @@ msgstr ""
msgid "List ingress zones added"
msgstr ""
msgid "List inode usage instead of block usage"
msgstr ""
msgid "List install_if rule"
msgstr ""
@@ -35930,9 +35948,6 @@ msgstr ""
msgid "List stemcells"
msgstr ""
msgid "List style variants of each family"
msgstr ""
msgid "List subcommands"
msgstr ""
@@ -36056,6 +36071,9 @@ msgstr ""
msgid "List the files that are supplied by the named package"
msgstr ""
msgid "List the host and all running local containers"
msgstr ""
msgid "List the installed extensions"
msgstr ""
@@ -37076,9 +37094,6 @@ msgstr ""
msgid "Lower the volume by 8%"
msgstr ""
msgid "Lowest allowable image efficiency"
msgstr ""
msgid "MAC address"
msgstr ""
@@ -38519,6 +38534,9 @@ msgstr ""
msgid "Mount an entire disk (all mountable volumes)"
msgstr ""
msgid "Mount an image into the mount namespace of a unit"
msgstr ""
msgid "Mount as mountable"
msgstr ""
@@ -40490,9 +40508,6 @@ msgstr ""
msgid "Open non-regular files"
msgstr ""
msgid "Open output file after compilation"
msgstr ""
msgid "Open package repository page in the browser"
msgstr ""
@@ -41150,6 +41165,15 @@ msgstr ""
msgid "Output in RFC 2822 format"
msgstr ""
msgid "Output in RFC 3339 format with date precision"
msgstr ""
msgid "Output in RFC 3339 format with nanosecond precision"
msgstr ""
msgid "Output in RFC 3339 format with second precision"
msgstr ""
msgid "Output in an easy-to-parse format for scripts"
msgstr ""
@@ -42464,9 +42488,6 @@ msgstr ""
msgid "Path to config file. Default ~/.config/mariner/config.yaml"
msgstr ""
msgid "Path to custom CA certificate"
msgstr ""
msgid "Path to db to use"
msgstr ""
@@ -43151,9 +43172,6 @@ msgstr ""
msgid "Pixel storage type [type]"
msgstr ""
msgid "Pixels per inch for PNG export"
msgstr ""
msgid "Place comment block with TAG (or those preceding keyword lines) in output file"
msgstr ""
@@ -43793,6 +43811,9 @@ msgstr ""
msgid "Prevent including compiler-rt symbols"
msgstr ""
msgid "Prevent one or more units from starting"
msgstr ""
msgid "Prevent override"
msgstr ""
@@ -44765,9 +44786,6 @@ msgstr ""
msgid "Print help for `zig`"
msgstr ""
msgid "Print help for the given subcommand(s)"
msgstr ""
msgid "Print help info and exit"
msgstr ""
@@ -46730,9 +46748,6 @@ msgstr ""
msgid "Process all users' calendars and mail the results"
msgstr ""
msgid "Process an input file to extract metadata"
msgstr ""
msgid "Process at queue only once"
msgstr ""
@@ -46895,9 +46910,6 @@ msgstr ""
msgid "Produce filenames as this string"
msgstr ""
msgid "Produce grand total"
msgstr ""
msgid "Produce less output to the terminal"
msgstr ""
@@ -46916,9 +46928,6 @@ msgstr ""
msgid "Produce output in JSON format"
msgstr ""
msgid "Produce performance timings"
msgstr ""
msgid "Produce report on all TAGs"
msgstr ""
@@ -46988,9 +46997,6 @@ msgstr ""
msgid "Project author"
msgstr ""
msgid "Project directory"
msgstr ""
msgid "Project language"
msgstr ""
@@ -47003,9 +47009,6 @@ msgstr ""
msgid "Project release"
msgstr ""
msgid "Project root (for absolute paths)"
msgstr ""
msgid "Project type"
msgstr ""
@@ -47624,6 +47627,9 @@ msgstr ""
msgid "Query the specified service"
msgstr ""
msgid "Query the unit that owns a process"
msgstr ""
msgid "Query to select investment transactions"
msgstr ""
@@ -48374,6 +48380,12 @@ msgstr ""
msgid "Reboot to EFI setup"
msgstr ""
msgid "Reboot userspace"
msgstr ""
msgid "Reboot via kexec"
msgstr ""
msgid "Reboots the device, optionally into the bootloader or recovery program"
msgstr ""
@@ -48551,9 +48563,6 @@ msgstr ""
msgid "Recursion (default for download)"
msgstr ""
msgid "Recursion limit"
msgstr ""
msgid "Recursive mode"
msgstr ""
@@ -48593,6 +48602,9 @@ msgstr ""
msgid "Recursively expand directory"
msgstr ""
msgid "Recursively fetch submodules"
msgstr ""
msgid "Recursively list ports depending on given port"
msgstr ""
@@ -49073,6 +49085,9 @@ msgstr ""
msgid "Reload server configuration"
msgstr ""
msgid "Reload the configuration of the system manager"
msgstr ""
msgid "Reload the default keys"
msgstr ""
@@ -50711,6 +50726,9 @@ msgstr ""
msgid "Request a subset of objects from server"
msgstr ""
msgid "Request a unit reload its configuration"
msgstr ""
msgid "Request allocation of a pseudo TTY for stdio"
msgstr ""
@@ -51524,9 +51542,6 @@ msgstr ""
msgid "Retrieve current host IP address and place it under a configurable project property"
msgstr ""
msgid "Retrieve exactly one element"
msgstr ""
msgid "Retrieve fresh bugs"
msgstr ""
@@ -51863,9 +51878,6 @@ msgstr ""
msgid "Revert to the received value if available"
msgstr ""
msgid "Revert to the version from before the last update"
msgstr ""
msgid "Review the control file before creating a .deb"
msgstr ""
@@ -51893,6 +51905,9 @@ msgstr ""
msgid "Revokes an authentication token"
msgstr ""
msgid "Rewrite a commit message"
msgstr ""
msgid "Rewrite all not-found requests to `index.html`"
msgstr ""
@@ -51905,6 +51920,9 @@ msgstr ""
msgid "Rewrite file in FORMAT"
msgstr ""
msgid "Rewrite history"
msgstr ""
msgid "Rewrite rule (e.g., 'a[b:len(a)] -> a[b:]')"
msgstr ""
@@ -54464,9 +54482,6 @@ msgstr ""
msgid "Selects which device lsusb will examine"
msgstr ""
msgid "Self update the Typst CLI"
msgstr ""
msgid "Semantic version category for new version"
msgstr ""
@@ -57266,9 +57281,6 @@ msgstr ""
msgid "Set watches"
msgstr ""
msgid "Set when to use color"
msgstr ""
msgid "Set where to write formatted output"
msgstr ""
@@ -59609,6 +59621,9 @@ msgstr ""
msgid "Show properties of machines"
msgstr ""
msgid "Show properties of one or more units, jobs, or the manager itself"
msgstr ""
msgid "Show properties of systemd-timedated"
msgstr ""
@@ -59960,6 +59975,9 @@ msgstr ""
msgid "Show the author email instead of author name"
msgstr ""
msgid "Show the backing files of one or more units"
msgstr ""
msgid "Show the branch and tracking info even in short-format"
msgstr ""
@@ -60116,6 +60134,9 @@ msgstr ""
msgid "Show the manual page"
msgstr ""
msgid "Show the manual page for a unit"
msgstr ""
msgid "Show the menubar"
msgstr ""
@@ -60281,6 +60302,9 @@ msgstr ""
msgid "Show threads. With SPID"
msgstr ""
msgid "Show time as WORD instead of modification time"
msgstr ""
msgid "Show time stamping capabilities and PTP hardware clock"
msgstr ""
@@ -60293,6 +60317,9 @@ msgstr ""
msgid "Show timer"
msgstr ""
msgid "Show times using style (or +FORMAT)"
msgstr ""
msgid "Show timestamp"
msgstr ""
@@ -61241,9 +61268,6 @@ msgstr ""
msgid "Skip mount checks, repair is not possible"
msgstr ""
msgid "Skip other file systems"
msgstr ""
msgid "Skip package installation for this run"
msgstr ""
@@ -61292,12 +61316,6 @@ msgstr ""
msgid "Skip the given initial samples for each input {#|mm:ss.ss}"
msgstr ""
msgid "Skip the interactive TUI and validate against CI rules"
msgstr ""
msgid "Skip the interactive TUI and write the layer analysis statistics to a given file"
msgstr ""
msgid "Skip the normal function prologue and epilogue that sets up the stack-frame"
msgstr ""
@@ -63983,6 +64001,9 @@ msgstr ""
msgid "Split stdout and stderr in test logs"
msgstr ""
msgid "Split up a commit"
msgstr ""
msgid "Spoof MAC address"
msgstr ""
@@ -64709,6 +64730,9 @@ msgstr ""
msgid "Stop playing"
msgstr ""
msgid "Stop preventing one or more units from starting"
msgstr ""
msgid "Stop preventing package modification"
msgstr ""
@@ -64916,9 +64940,6 @@ msgstr ""
msgid "String as the value for the given key"
msgstr ""
msgid "String key-value pair for `sys.inputs`"
msgstr ""
msgid "String literal mode"
msgstr ""
@@ -65123,6 +65144,9 @@ msgstr ""
msgid "Summarize disk usage of each file."
msgstr ""
msgid "Summarize usage of NUL-terminated files in file"
msgstr ""
msgid "Super go mode: clean out generated files before processing"
msgstr ""
@@ -66422,9 +66446,6 @@ msgstr ""
msgid "The connection protocol to use"
msgstr ""
msgid "The container engine to fetch the image from"
msgstr ""
msgid "The copy job is not persisted if VM is turned off"
msgstr ""
@@ -69203,7 +69224,13 @@ msgstr ""
msgid "Use 1B block size"
msgstr ""
msgid "Use 1kB block size"
msgid "Use 1GB block size"
msgstr ""
msgid "Use 1KB block size"
msgstr ""
msgid "Use 1MB block size"
msgstr ""
msgid "Use 32-bit \"float\""
@@ -72443,9 +72470,6 @@ msgstr ""
msgid "Watch a specific file or directory"
msgstr ""
msgid "Watch an input file and recompile on changes"
msgstr ""
msgid "Watch and list new logs"
msgstr ""
@@ -73256,9 +73280,6 @@ msgstr ""
msgid "Write selection"
msgstr ""
msgid "Write size for all files"
msgstr ""
msgid "Write special status strings to the specified file descriptor"
msgstr ""
@@ -74363,6 +74384,9 @@ msgstr ""
msgid "configure the Salesforce CLI"
msgstr ""
msgid "connect adb to the Android container"
msgstr ""
msgid "connect to a custom bus"
msgstr ""
@@ -74453,6 +74477,9 @@ msgstr ""
msgid "create a backup of one or several jails"
msgstr ""
msgid "create a bugreport archive interactively"
msgstr ""
msgid "create a bundle for an Aura component or a Lightning web component"
msgstr ""
@@ -74801,6 +74828,9 @@ msgstr ""
msgid "discard uncommitted changes (no backup)"
msgstr ""
msgid "disconnect adb from the Android container"
msgstr ""
msgid "disconnect and wait for reassociate command before connecting"
msgstr ""
@@ -77039,6 +77069,9 @@ msgstr ""
msgid "make vendored copy of dependencies"
msgstr ""
msgid "manage adb connection"
msgstr ""
msgid "manage and query devices in the filesystem"
msgstr ""
@@ -77612,7 +77645,7 @@ msgstr ""
msgid "output diffstat-style summary of changes"
msgstr ""
msgid "output directory to store the Metadata APIformatted files in"
msgid "output directory to store the Metadata API-formatted files in"
msgstr ""
msgid "output encoding"
@@ -78857,6 +78890,9 @@ msgstr ""
msgid "run as if started in dir"
msgstr ""
msgid "run as user mode, connecting to the remote initializer service"
msgstr ""
msgid "run command"
msgstr ""
@@ -80033,7 +80069,7 @@ msgstr ""
msgid "the org to list the apps for"
msgstr ""
msgid "the output directory to store the sourceformatted files"
msgid "the output directory to store the source-formatted files"
msgstr ""
msgid "the streaming client socket timeout (in minutes)"

View File

@@ -3827,9 +3827,6 @@ msgstr ""
msgid "wait for app to exit"
msgstr ""
msgid "fish-section-tier3-from-script-explicitly-added"
msgstr ""
msgid "fish-section-tier3-from-script-implicitly-added"
msgstr ""
@@ -4505,7 +4502,7 @@ msgstr ""
msgid "(required) the path to the CSV file that defines the records to upsert"
msgstr ""
msgid "(required) the root directory containing the Metadata APIformatted metadata"
msgid "(required) the root directory containing the Metadata API-formatted metadata"
msgstr ""
msgid "(required) the sObject type of the records you want to upsert"
@@ -5447,12 +5444,18 @@ msgstr ""
msgid "Add OFFSET to file positions in hexdump"
msgstr ""
msgid "Add Requires dependencies to a target unit"
msgstr ""
msgid "Add Signed-off-by line at the end of the merge commit message"
msgstr ""
msgid "Add Signed-off-by line to the commit message"
msgstr "Ajouter une ligne Signed-off-by dans le message de validation"
msgid "Add Wants dependencies to a target unit"
msgstr ""
msgid "Add Winelib to import"
msgstr ""
@@ -6251,9 +6254,6 @@ msgstr ""
msgid "Additional `Cargo.toml` to sync and vendor"
msgstr ""
msgid "Additional directories to search for fonts"
msgstr ""
msgid "Additional flag for strings inside the argument number ARG of keyword WORD"
msgstr ""
@@ -8198,6 +8198,9 @@ msgstr ""
msgid "Ask the server to reimport files for UTIs claimed by the listed plugin"
msgstr ""
msgid "Ask the service manager to exit"
msgstr ""
msgid "Ask the user for confirmation before killing a process"
msgstr "Demander confirmation avant de tuer un processus"
@@ -9197,6 +9200,9 @@ msgstr ""
msgid "Bind mount a file or directory from the host in the container"
msgstr ""
msgid "Bind mount a path into the mount namespace of a unit"
msgstr ""
msgid "Bind mounts src into CHROOTDIR/dest"
msgstr ""
@@ -9284,6 +9290,12 @@ msgstr "Indépendance des blocs (par défaut)"
msgid "Block size"
msgstr "Taille de bloc"
msgid "Block size (e.g. 1M, KiB)"
msgstr ""
msgid "Block size in bytes"
msgstr ""
msgid "Block size to use in all I/O operations (default: 16K)"
msgstr "Taille des blocs à utiliser dans toutes les opérations de lecture et écriture (par défaut : 16K)"
@@ -9497,9 +9509,6 @@ msgstr ""
msgid "Build an RPM package"
msgstr ""
msgid "Build and analyze a Docker image from a Dockerfile"
msgstr ""
msgid "Build and install a new package"
msgstr "Construire et installer un nouveau paquet"
@@ -9923,6 +9932,9 @@ msgstr "Annuler toute action programmée pour un paquet"
msgid "Cancel jobs owned by username"
msgstr "Annuler les tâches de lutilisateur"
msgid "Cancel one or more jobs"
msgstr ""
msgid "Cancel pairing with device"
msgstr ""
@@ -12062,9 +12074,6 @@ msgstr ""
msgid "Compile all the methods in an assembly"
msgstr ""
msgid "Compile an input file"
msgstr ""
msgid "Compile and run an executable product"
msgstr ""
@@ -12356,9 +12365,6 @@ msgstr "Ficher de configuration"
msgid "Config and front matter format"
msgstr "Configuration et format du frontal"
msgid "Config file"
msgstr ""
msgid "Config file (default: $HOME/.s3cfg)"
msgstr ""
@@ -13295,9 +13301,6 @@ msgstr ""
msgid "Count executions of source lines"
msgstr ""
msgid "Count hard links multiple times"
msgstr "Compter plusieurs fois les liens matériels"
msgid "Count hidden files, too"
msgstr ""
@@ -15551,12 +15554,6 @@ msgstr ""
msgid "Dereference TARGETs that are symbolic links"
msgstr "Déréférencer les CIBLEs si elles sont des liens symboliques"
msgid "Dereference all symlinks"
msgstr "Déréférencer les liens symboliques"
msgid "Dereference file symlinks"
msgstr "Déréférencer les liens symboliques"
msgid "Dereference structures for the specified set of system calls"
msgstr ""
@@ -16988,6 +16985,9 @@ msgstr ""
msgid "Disable the docs title"
msgstr ""
msgid "Disable the enable one or more units"
msgstr ""
msgid "Disable the eval extension"
msgstr ""
@@ -17564,6 +17564,9 @@ msgstr ""
msgid "Display answers as exclamation points and missing packets as dots"
msgstr ""
msgid "Display apparent size"
msgstr ""
msgid "Display architecture specific information"
msgstr ""
@@ -20303,6 +20306,9 @@ msgstr "Ne pas opérer récursivement dans les sous-projets"
msgid "Do not recurse unless -depth is specified"
msgstr "Ne pas faire de récursion sauf si -depth est spécifié"
msgid "Do not recursively fetch submodules"
msgstr ""
msgid "Do not redirect output to a pager"
msgstr ""
@@ -20756,6 +20762,9 @@ msgstr "Ne pas essayer dutiliser lagent GnuPG"
msgid "Do not update index or working tree"
msgstr ""
msgid "Do not update references"
msgstr ""
msgid "Do not update the cache in vendor/cache with the newly bundled gems"
msgstr "Ne pas mettre à jour le cache de vendor/cache avec les gemmes nouvellement empaquetées"
@@ -23222,6 +23231,9 @@ msgstr "Afficher larborescence des périphériques USB physiques"
msgid "Dump the relocated contents of of specified section"
msgstr ""
msgid "Dump the systemd manager environment block"
msgstr ""
msgid "Dump tree structures from a given device"
msgstr ""
@@ -23372,6 +23384,9 @@ msgstr ""
msgid "Edit a property with an external editor"
msgstr ""
msgid "Edit a unit file or drop-in snippet"
msgstr ""
msgid "Edit an entry"
msgstr ""
@@ -24764,12 +24779,18 @@ msgstr ""
msgid "Enable/Disable colored error messages"
msgstr ""
msgid "Enable/disable a unit depending on preset configuration"
msgstr ""
msgid "Enable/disable advertising with given type"
msgstr ""
msgid "Enable/disable agent with given capability"
msgstr ""
msgid "Enable/disable all units depending on preset configuration"
msgstr ""
msgid "Enable/disable bucket access logging"
msgstr ""
@@ -25013,6 +25034,9 @@ msgstr ""
msgid "End current session cleanly"
msgstr ""
msgid "End each output line with NUL"
msgstr ""
msgid "End each output line with NUL, not newline, and disable file name escaping"
msgstr ""
@@ -25106,6 +25130,15 @@ msgstr ""
msgid "Ensure value is of given type"
msgstr ""
msgid "Enter and isolate emergency mode"
msgstr ""
msgid "Enter and isolate rescue mode"
msgstr ""
msgid "Enter and isolate the default mode"
msgstr ""
msgid "Enter commit message as a string"
msgstr ""
@@ -26231,9 +26264,6 @@ msgstr "Extraire les fichiers dune archive"
msgid "Extract into directory"
msgstr ""
msgid "Extract just one field"
msgstr ""
msgid "Extract most recent versions of files"
msgstr ""
@@ -27311,6 +27341,9 @@ msgstr ""
msgid "Follow command-line symbolic links"
msgstr ""
msgid "Follow command-line symlinks only"
msgstr ""
msgid "Follow given symlinks with -R"
msgstr ""
@@ -27509,9 +27542,6 @@ msgstr ""
msgid "Force a complete refresh"
msgstr ""
msgid "Force a downgrade to an older version"
msgstr ""
msgid "Force a fixed checksum block-size"
msgstr ""
@@ -28304,9 +28334,6 @@ msgstr ""
msgid "Format of the list command output"
msgstr ""
msgid "Format of the output file"
msgstr ""
msgid "Format of the output: text or json"
msgstr ""
@@ -28343,12 +28370,6 @@ msgstr ""
msgid "Format the print file with a shaded header: date, time, job name, and page no."
msgstr ""
msgid "Format to emit diagnostics in"
msgstr ""
msgid "Format to serialize in"
msgstr ""
msgid "Format to use for the output"
msgstr ""
@@ -30455,9 +30476,6 @@ msgstr "Aide sur « config »"
msgid "Help for convert"
msgstr "Aide sur « convert »"
msgid "Help for dive"
msgstr ""
msgid "Help for doc"
msgstr "Aide sur « doc »"
@@ -30617,12 +30635,6 @@ msgstr ""
msgid "Higher-order task to perform other tasks in succession."
msgstr ""
msgid "Highest allowable bytes wasted"
msgstr ""
msgid "Highest allowable percentage of bytes wasted"
msgstr ""
msgid "Highest compression, same as -12"
msgstr ""
@@ -30974,9 +30986,6 @@ msgstr "Types didentité à afficher"
msgid "Idiomatically format Dart source code"
msgstr ""
msgid "If CI=true in the environment, use the given yaml to drive validation rules"
msgstr ""
msgid "If HTTP proxy is used, make curl tunnel through it"
msgstr ""
@@ -31262,6 +31271,9 @@ msgstr ""
msgid "Ignore files ending with ~"
msgstr "Omettre les entrées se terminant par « ~ »"
msgid "Ignore files matching mask"
msgstr ""
msgid "Ignore files that already exist on receiver"
msgstr "Ignorer les fichiers pré-existants sur la destination"
@@ -31277,9 +31289,6 @@ msgstr ""
msgid "Ignore host and package architecture mismatch"
msgstr ""
msgid "Ignore image parsing errors and run the analysis anyway"
msgstr ""
msgid "Ignore inhibitor locks on shutdown or sleep"
msgstr "Ignorer les verrous dinhibition lors de larrêt ou de la mise en veille"
@@ -31343,6 +31352,9 @@ msgstr ""
msgid "Ignore newer bugs than upgrade packages"
msgstr "Ignorer les nouveaux bogues et mettre à jour les paquets"
msgid "Ignore nodump files"
msgstr ""
msgid "Ignore non-authenticated packages"
msgstr "Ignorer les paquets non-authentifiés"
@@ -31598,6 +31610,9 @@ msgstr ""
msgid "Import cuesheet and store in CUESHEET block"
msgstr "Importer un fichier cue et le stocker dans le bloc CUESHEET"
msgid "Import environment variables into the service manager"
msgstr ""
msgid "Import every tag from a remote with git fetch <name>"
msgstr "Importer toutes les étiquettes dun serveur distant avec git fetch <nom>"
@@ -32408,9 +32423,6 @@ msgstr ""
msgid "Initialize a new or existing Terraform configuration"
msgstr ""
msgid "Initialize a new project"
msgstr ""
msgid "Initialize a new repository for the given version control system"
msgstr ""
@@ -33560,6 +33572,9 @@ msgstr "Terminer la connexion actuelle depuis le périphérique et le faire se r
msgid "Kick current connection from host side and make it reconnect."
msgstr "Terminer la connexion actuelle depuis lhôte et le faire se reconnecter"
msgid "Kill one or more units"
msgstr ""
msgid "Kill only processes the specified user owns. Command names are optional"
msgstr "Ne tuer que les processus appartenant à lutilisateur spécifié. Les noms des commandes sont alors optionnels"
@@ -34184,6 +34199,9 @@ msgstr "Utiliser \\0 comme fin de ligne"
msgid "Linewrap entries as width[,indent1[,indent2]]"
msgstr ""
msgid "Link a unit file into the unit search path"
msgstr ""
msgid "Link against framework (Darwin)"
msgstr ""
@@ -34454,9 +34472,6 @@ msgstr ""
msgid "List all directories from which unit files may be loaded"
msgstr ""
msgid "List all discovered fonts"
msgstr ""
msgid "List all dist-tags"
msgstr ""
@@ -35333,6 +35348,9 @@ msgstr ""
msgid "List ingress zones added"
msgstr ""
msgid "List inode usage instead of block usage"
msgstr ""
msgid "List install_if rule"
msgstr ""
@@ -36059,9 +36077,6 @@ msgstr "Lister les informations statistiques du serveur"
msgid "List stemcells"
msgstr ""
msgid "List style variants of each family"
msgstr ""
msgid "List subcommands"
msgstr ""
@@ -36185,6 +36200,9 @@ msgstr ""
msgid "List the files that are supplied by the named package"
msgstr ""
msgid "List the host and all running local containers"
msgstr ""
msgid "List the installed extensions"
msgstr ""
@@ -37205,9 +37223,6 @@ msgstr ""
msgid "Lower the volume by 8%"
msgstr ""
msgid "Lowest allowable image efficiency"
msgstr ""
msgid "MAC address"
msgstr ""
@@ -38648,6 +38663,9 @@ msgstr "Monter tous les systèmes de fichiers ZFS disponibles"
msgid "Mount an entire disk (all mountable volumes)"
msgstr "Monter tous les volumes montables dun disque"
msgid "Mount an image into the mount namespace of a unit"
msgstr ""
msgid "Mount as mountable"
msgstr ""
@@ -40619,9 +40637,6 @@ msgstr ""
msgid "Open non-regular files"
msgstr "Ouvrir même les fichiers spéciaux"
msgid "Open output file after compilation"
msgstr ""
msgid "Open package repository page in the browser"
msgstr ""
@@ -41279,6 +41294,15 @@ msgstr ""
msgid "Output in RFC 2822 format"
msgstr ""
msgid "Output in RFC 3339 format with date precision"
msgstr ""
msgid "Output in RFC 3339 format with nanosecond precision"
msgstr ""
msgid "Output in RFC 3339 format with second precision"
msgstr ""
msgid "Output in an easy-to-parse format for scripts"
msgstr ""
@@ -42593,9 +42617,6 @@ msgstr ""
msgid "Path to config file. Default ~/.config/mariner/config.yaml"
msgstr ""
msgid "Path to custom CA certificate"
msgstr ""
msgid "Path to db to use"
msgstr ""
@@ -43280,9 +43301,6 @@ msgstr ""
msgid "Pixel storage type [type]"
msgstr ""
msgid "Pixels per inch for PNG export"
msgstr ""
msgid "Place comment block with TAG (or those preceding keyword lines) in output file"
msgstr ""
@@ -43922,6 +43940,9 @@ msgstr "Empêcher lutilisation, de quelque manière que ce soit, les registre
msgid "Prevent including compiler-rt symbols"
msgstr ""
msgid "Prevent one or more units from starting"
msgstr ""
msgid "Prevent override"
msgstr ""
@@ -44894,9 +44915,6 @@ msgstr ""
msgid "Print help for `zig`"
msgstr ""
msgid "Print help for the given subcommand(s)"
msgstr ""
msgid "Print help info and exit"
msgstr ""
@@ -46859,9 +46877,6 @@ msgstr ""
msgid "Process all users' calendars and mail the results"
msgstr ""
msgid "Process an input file to extract metadata"
msgstr ""
msgid "Process at queue only once"
msgstr "Traiter la file at une seule fois"
@@ -47024,9 +47039,6 @@ msgstr ""
msgid "Produce filenames as this string"
msgstr ""
msgid "Produce grand total"
msgstr "Calculer le total des totaux"
msgid "Produce less output to the terminal"
msgstr ""
@@ -47045,9 +47057,6 @@ msgstr ""
msgid "Produce output in JSON format"
msgstr ""
msgid "Produce performance timings"
msgstr ""
msgid "Produce report on all TAGs"
msgstr ""
@@ -47117,9 +47126,6 @@ msgstr ""
msgid "Project author"
msgstr ""
msgid "Project directory"
msgstr ""
msgid "Project language"
msgstr ""
@@ -47132,9 +47138,6 @@ msgstr ""
msgid "Project release"
msgstr ""
msgid "Project root (for absolute paths)"
msgstr ""
msgid "Project type"
msgstr ""
@@ -47753,6 +47756,9 @@ msgstr "Obtenir seulement les noms de paquet"
msgid "Query the specified service"
msgstr ""
msgid "Query the unit that owns a process"
msgstr ""
msgid "Query to select investment transactions"
msgstr ""
@@ -47817,7 +47823,7 @@ msgid "Quiet output (default=verbose)"
msgstr "Sortie silencieuse (verbeuse par défaut)"
msgid "Quiet output - only show errors"
msgstr "Sortie silencieuse  nafficher que les erreurs"
msgstr "Sortie silencieuse - nafficher que les erreurs"
msgid "Quiet some status messages"
msgstr ""
@@ -48503,6 +48509,12 @@ msgstr "Redémarrer lordinateur"
msgid "Reboot to EFI setup"
msgstr "Redémarrer sur linterface dadministration de lEFI"
msgid "Reboot userspace"
msgstr ""
msgid "Reboot via kexec"
msgstr ""
msgid "Reboots the device, optionally into the bootloader or recovery program"
msgstr "Redémarrer le périphérique, possiblement vers le chargeur damorçage ou le programme de récupération"
@@ -48680,9 +48692,6 @@ msgstr ""
msgid "Recursion (default for download)"
msgstr "Opérer récursivement (par défaut lors des téléchargements)"
msgid "Recursion limit"
msgstr "Limite de récursion"
msgid "Recursive mode"
msgstr "Mode récursif"
@@ -48722,6 +48731,9 @@ msgstr "Détruire récursivement les instantanés, marque-pages et clones posté
msgid "Recursively expand directory"
msgstr ""
msgid "Recursively fetch submodules"
msgstr ""
msgid "Recursively list ports depending on given port"
msgstr ""
@@ -49202,6 +49214,9 @@ msgstr ""
msgid "Reload server configuration"
msgstr ""
msgid "Reload the configuration of the system manager"
msgstr ""
msgid "Reload the default keys"
msgstr ""
@@ -50840,6 +50855,9 @@ msgstr "Demander lID du serveur de noms"
msgid "Request a subset of objects from server"
msgstr ""
msgid "Request a unit reload its configuration"
msgstr ""
msgid "Request allocation of a pseudo TTY for stdio"
msgstr ""
@@ -51653,9 +51671,6 @@ msgstr ""
msgid "Retrieve current host IP address and place it under a configurable project property"
msgstr ""
msgid "Retrieve exactly one element"
msgstr ""
msgid "Retrieve fresh bugs"
msgstr "Récupérer les nouveaux bogues"
@@ -51992,9 +52007,6 @@ msgstr ""
msgid "Revert to the received value if available"
msgstr "Revenir à la valeur reçue, le cas échéant"
msgid "Revert to the version from before the last update"
msgstr ""
msgid "Review the control file before creating a .deb"
msgstr ""
@@ -52002,7 +52014,7 @@ msgid "Review the dpec file before creating a .rpm"
msgstr ""
msgid "Revision - symbolic or numeric."
msgstr "Révision  symbolique ou numérique"
msgstr "Révision - symbolique ou numérique"
msgid "Revoke access from users"
msgstr ""
@@ -52022,6 +52034,9 @@ msgstr ""
msgid "Revokes an authentication token"
msgstr ""
msgid "Rewrite a commit message"
msgstr ""
msgid "Rewrite all not-found requests to `index.html`"
msgstr ""
@@ -52034,6 +52049,9 @@ msgstr ""
msgid "Rewrite file in FORMAT"
msgstr ""
msgid "Rewrite history"
msgstr ""
msgid "Rewrite rule (e.g., 'a[b:len(a)] -> a[b:]')"
msgstr "Règle de réécriture (par ex. : « a[b:len(a)] -> a[b:] »)"
@@ -54593,9 +54611,6 @@ msgstr ""
msgid "Selects which device lsusb will examine"
msgstr "Sélectionner le périphérique que lsusb doit examiner"
msgid "Self update the Typst CLI"
msgstr ""
msgid "Semantic version category for new version"
msgstr ""
@@ -57395,9 +57410,6 @@ msgstr ""
msgid "Set watches"
msgstr "Définir les surveillances"
msgid "Set when to use color"
msgstr ""
msgid "Set where to write formatted output"
msgstr ""
@@ -57870,7 +57882,7 @@ msgid "Short name or spec of CompUnit::Repository to install to"
msgstr ""
msgid "Short patch - one liner per file."
msgstr "Patch concis  une ligne par fichier"
msgstr "Patch concis - une ligne par fichier"
msgid "Short title for start of progress meter"
msgstr ""
@@ -59738,6 +59750,9 @@ msgstr ""
msgid "Show properties of machines"
msgstr "Afficher les propriétés des machines"
msgid "Show properties of one or more units, jobs, or the manager itself"
msgstr ""
msgid "Show properties of systemd-timedated"
msgstr ""
@@ -60089,6 +60104,9 @@ msgstr ""
msgid "Show the author email instead of author name"
msgstr "Afficher ladresse email de lauteur au lieu de son nom"
msgid "Show the backing files of one or more units"
msgstr ""
msgid "Show the branch and tracking info even in short-format"
msgstr "Afficher la branche et les informations de suivi même en format concis"
@@ -60245,6 +60263,9 @@ msgstr ""
msgid "Show the manual page"
msgstr ""
msgid "Show the manual page for a unit"
msgstr ""
msgid "Show the menubar"
msgstr ""
@@ -60410,6 +60431,9 @@ msgstr "Montrer les processus légers avec les colonnes LWP/NLWP"
msgid "Show threads. With SPID"
msgstr "Montrer les processus légers avec la colonne SPID"
msgid "Show time as WORD instead of modification time"
msgstr ""
msgid "Show time stamping capabilities and PTP hardware clock"
msgstr ""
@@ -60422,6 +60446,9 @@ msgstr "Afficher la chronologie"
msgid "Show timer"
msgstr "Afficher le chronométrage"
msgid "Show times using style (or +FORMAT)"
msgstr ""
msgid "Show timestamp"
msgstr ""
@@ -61370,9 +61397,6 @@ msgstr ""
msgid "Skip mount checks, repair is not possible"
msgstr ""
msgid "Skip other file systems"
msgstr "Passer les systèmes de fichiers tiers"
msgid "Skip package installation for this run"
msgstr ""
@@ -61421,12 +61445,6 @@ msgstr ""
msgid "Skip the given initial samples for each input {#|mm:ss.ss}"
msgstr "Partir de léchantillon spécifié pour chaque fichier en entrée (#|mm:ss.ss)"
msgid "Skip the interactive TUI and validate against CI rules"
msgstr ""
msgid "Skip the interactive TUI and write the layer analysis statistics to a given file"
msgstr ""
msgid "Skip the normal function prologue and epilogue that sets up the stack-frame"
msgstr ""
@@ -64112,6 +64130,9 @@ msgstr ""
msgid "Split stdout and stderr in test logs"
msgstr ""
msgid "Split up a commit"
msgstr ""
msgid "Spoof MAC address"
msgstr ""
@@ -64838,6 +64859,9 @@ msgstr "Arrêter lappairage au périphérique spécifié"
msgid "Stop playing"
msgstr ""
msgid "Stop preventing one or more units from starting"
msgstr ""
msgid "Stop preventing package modification"
msgstr ""
@@ -65045,9 +65069,6 @@ msgstr ""
msgid "String as the value for the given key"
msgstr ""
msgid "String key-value pair for `sys.inputs`"
msgstr ""
msgid "String literal mode"
msgstr ""
@@ -65252,6 +65273,9 @@ msgstr "Résumer les modifications de la copie de travail"
msgid "Summarize disk usage of each file."
msgstr ""
msgid "Summarize usage of NUL-terminated files in file"
msgstr ""
msgid "Super go mode: clean out generated files before processing"
msgstr ""
@@ -66551,9 +66575,6 @@ msgstr "Le fichier de configuration à utiliser pour lutilisation"
msgid "The connection protocol to use"
msgstr ""
msgid "The container engine to fetch the image from"
msgstr ""
msgid "The copy job is not persisted if VM is turned off"
msgstr ""
@@ -69332,8 +69353,14 @@ msgstr "Utiliser « int » sur 16 bits"
msgid "Use 1B block size"
msgstr "Utiliser des blocs dun octet"
msgid "Use 1kB block size"
msgstr "Utiliser des blocs dun kilo-octet"
msgid "Use 1GB block size"
msgstr ""
msgid "Use 1KB block size"
msgstr ""
msgid "Use 1MB block size"
msgstr ""
msgid "Use 32-bit \"float\""
msgstr "Utiliser « float » sur 32 bits"
@@ -72572,9 +72599,6 @@ msgstr "Surveiller les modifications dune clé ou dun dossier"
msgid "Watch a specific file or directory"
msgstr ""
msgid "Watch an input file and recompile on changes"
msgstr ""
msgid "Watch and list new logs"
msgstr ""
@@ -73385,9 +73409,6 @@ msgstr "Afficher des statistiques dencodage et décodage à lexécution"
msgid "Write selection"
msgstr "Écrire la sélection"
msgid "Write size for all files"
msgstr "Afficher la taille de tous les fichiers"
msgid "Write special status strings to the specified file descriptor"
msgstr "Écrire les messages détat dans le descripteur de fichier spécifié"
@@ -74492,6 +74513,9 @@ msgstr ""
msgid "configure the Salesforce CLI"
msgstr ""
msgid "connect adb to the Android container"
msgstr ""
msgid "connect to a custom bus"
msgstr ""
@@ -74582,6 +74606,9 @@ msgstr ""
msgid "create a backup of one or several jails"
msgstr "Créer une sauvegarde dun ou plusieurs environnements jail"
msgid "create a bugreport archive interactively"
msgstr ""
msgid "create a bundle for an Aura component or a Lightning web component"
msgstr ""
@@ -74930,6 +74957,9 @@ msgstr ""
msgid "discard uncommitted changes (no backup)"
msgstr "Ignorer les modifications non validées (pas de sauvegarde)"
msgid "disconnect adb from the Android container"
msgstr ""
msgid "disconnect and wait for reassociate command before connecting"
msgstr ""
@@ -77168,6 +77198,9 @@ msgstr "Rendre locale létiquette"
msgid "make vendored copy of dependencies"
msgstr ""
msgid "manage adb connection"
msgstr ""
msgid "manage and query devices in the filesystem"
msgstr ""
@@ -77741,7 +77774,7 @@ msgstr "Afficher les variables de configuration au format shell"
msgid "output diffstat-style summary of changes"
msgstr "Afficher un résumé des modifications à la diffstat"
msgid "output directory to store the Metadata APIformatted files in"
msgid "output directory to store the Metadata API-formatted files in"
msgstr ""
msgid "output encoding"
@@ -78986,6 +79019,9 @@ msgstr ""
msgid "run as if started in dir"
msgstr ""
msgid "run as user mode, connecting to the remote initializer service"
msgstr ""
msgid "run command"
msgstr ""
@@ -80162,7 +80198,7 @@ msgstr "Nombre de lignes à afficher"
msgid "the org to list the apps for"
msgstr "Spécifier lorganisation dont les applications sont à lister"
msgid "the output directory to store the sourceformatted files"
msgid "the output directory to store the source-formatted files"
msgstr ""
msgid "the streaming client socket timeout (in minutes)"

View File

@@ -3701,9 +3701,6 @@ msgstr "fish 用の vi 風キーバインド"
msgid "wait for app to exit"
msgstr "アプリが終了するまで待機"
msgid "fish-section-tier3-from-script-explicitly-added"
msgstr ""
msgid "fish-section-tier3-from-script-implicitly-added"
msgstr ""
@@ -4379,7 +4376,7 @@ msgstr ""
msgid "(required) the path to the CSV file that defines the records to upsert"
msgstr ""
msgid "(required) the root directory containing the Metadata APIformatted metadata"
msgid "(required) the root directory containing the Metadata API-formatted metadata"
msgstr ""
msgid "(required) the sObject type of the records you want to upsert"
@@ -5321,12 +5318,18 @@ msgstr ""
msgid "Add OFFSET to file positions in hexdump"
msgstr ""
msgid "Add Requires dependencies to a target unit"
msgstr ""
msgid "Add Signed-off-by line at the end of the merge commit message"
msgstr ""
msgid "Add Signed-off-by line to the commit message"
msgstr ""
msgid "Add Wants dependencies to a target unit"
msgstr ""
msgid "Add Winelib to import"
msgstr ""
@@ -6125,9 +6128,6 @@ msgstr ""
msgid "Additional `Cargo.toml` to sync and vendor"
msgstr ""
msgid "Additional directories to search for fonts"
msgstr ""
msgid "Additional flag for strings inside the argument number ARG of keyword WORD"
msgstr ""
@@ -8072,6 +8072,9 @@ msgstr ""
msgid "Ask the server to reimport files for UTIs claimed by the listed plugin"
msgstr ""
msgid "Ask the service manager to exit"
msgstr ""
msgid "Ask the user for confirmation before killing a process"
msgstr ""
@@ -9071,6 +9074,9 @@ msgstr ""
msgid "Bind mount a file or directory from the host in the container"
msgstr ""
msgid "Bind mount a path into the mount namespace of a unit"
msgstr ""
msgid "Bind mounts src into CHROOTDIR/dest"
msgstr ""
@@ -9158,6 +9164,12 @@ msgstr ""
msgid "Block size"
msgstr ""
msgid "Block size (e.g. 1M, KiB)"
msgstr ""
msgid "Block size in bytes"
msgstr ""
msgid "Block size to use in all I/O operations (default: 16K)"
msgstr ""
@@ -9371,9 +9383,6 @@ msgstr ""
msgid "Build an RPM package"
msgstr ""
msgid "Build and analyze a Docker image from a Dockerfile"
msgstr ""
msgid "Build and install a new package"
msgstr ""
@@ -9797,6 +9806,9 @@ msgstr ""
msgid "Cancel jobs owned by username"
msgstr ""
msgid "Cancel one or more jobs"
msgstr ""
msgid "Cancel pairing with device"
msgstr ""
@@ -11936,9 +11948,6 @@ msgstr ""
msgid "Compile all the methods in an assembly"
msgstr ""
msgid "Compile an input file"
msgstr ""
msgid "Compile and run an executable product"
msgstr ""
@@ -12230,9 +12239,6 @@ msgstr ""
msgid "Config and front matter format"
msgstr ""
msgid "Config file"
msgstr ""
msgid "Config file (default: $HOME/.s3cfg)"
msgstr ""
@@ -13169,9 +13175,6 @@ msgstr ""
msgid "Count executions of source lines"
msgstr ""
msgid "Count hard links multiple times"
msgstr ""
msgid "Count hidden files, too"
msgstr ""
@@ -15425,12 +15428,6 @@ msgstr ""
msgid "Dereference TARGETs that are symbolic links"
msgstr ""
msgid "Dereference all symlinks"
msgstr ""
msgid "Dereference file symlinks"
msgstr ""
msgid "Dereference structures for the specified set of system calls"
msgstr ""
@@ -16862,6 +16859,9 @@ msgstr ""
msgid "Disable the docs title"
msgstr ""
msgid "Disable the enable one or more units"
msgstr ""
msgid "Disable the eval extension"
msgstr ""
@@ -17438,6 +17438,9 @@ msgstr ""
msgid "Display answers as exclamation points and missing packets as dots"
msgstr ""
msgid "Display apparent size"
msgstr ""
msgid "Display architecture specific information"
msgstr ""
@@ -20177,6 +20180,9 @@ msgstr ""
msgid "Do not recurse unless -depth is specified"
msgstr ""
msgid "Do not recursively fetch submodules"
msgstr ""
msgid "Do not redirect output to a pager"
msgstr ""
@@ -20630,6 +20636,9 @@ msgstr ""
msgid "Do not update index or working tree"
msgstr ""
msgid "Do not update references"
msgstr ""
msgid "Do not update the cache in vendor/cache with the newly bundled gems"
msgstr ""
@@ -23096,6 +23105,9 @@ msgstr ""
msgid "Dump the relocated contents of of specified section"
msgstr ""
msgid "Dump the systemd manager environment block"
msgstr ""
msgid "Dump tree structures from a given device"
msgstr ""
@@ -23246,6 +23258,9 @@ msgstr ""
msgid "Edit a property with an external editor"
msgstr ""
msgid "Edit a unit file or drop-in snippet"
msgstr ""
msgid "Edit an entry"
msgstr ""
@@ -24638,12 +24653,18 @@ msgstr ""
msgid "Enable/Disable colored error messages"
msgstr ""
msgid "Enable/disable a unit depending on preset configuration"
msgstr ""
msgid "Enable/disable advertising with given type"
msgstr ""
msgid "Enable/disable agent with given capability"
msgstr ""
msgid "Enable/disable all units depending on preset configuration"
msgstr ""
msgid "Enable/disable bucket access logging"
msgstr ""
@@ -24887,6 +24908,9 @@ msgstr ""
msgid "End current session cleanly"
msgstr ""
msgid "End each output line with NUL"
msgstr ""
msgid "End each output line with NUL, not newline, and disable file name escaping"
msgstr ""
@@ -24980,6 +25004,15 @@ msgstr ""
msgid "Ensure value is of given type"
msgstr ""
msgid "Enter and isolate emergency mode"
msgstr ""
msgid "Enter and isolate rescue mode"
msgstr ""
msgid "Enter and isolate the default mode"
msgstr ""
msgid "Enter commit message as a string"
msgstr ""
@@ -26105,9 +26138,6 @@ msgstr ""
msgid "Extract into directory"
msgstr ""
msgid "Extract just one field"
msgstr ""
msgid "Extract most recent versions of files"
msgstr ""
@@ -27185,6 +27215,9 @@ msgstr ""
msgid "Follow command-line symbolic links"
msgstr ""
msgid "Follow command-line symlinks only"
msgstr ""
msgid "Follow given symlinks with -R"
msgstr ""
@@ -27383,9 +27416,6 @@ msgstr ""
msgid "Force a complete refresh"
msgstr ""
msgid "Force a downgrade to an older version"
msgstr ""
msgid "Force a fixed checksum block-size"
msgstr ""
@@ -28178,9 +28208,6 @@ msgstr ""
msgid "Format of the list command output"
msgstr ""
msgid "Format of the output file"
msgstr ""
msgid "Format of the output: text or json"
msgstr ""
@@ -28217,12 +28244,6 @@ msgstr ""
msgid "Format the print file with a shaded header: date, time, job name, and page no."
msgstr ""
msgid "Format to emit diagnostics in"
msgstr ""
msgid "Format to serialize in"
msgstr ""
msgid "Format to use for the output"
msgstr ""
@@ -30329,9 +30350,6 @@ msgstr ""
msgid "Help for convert"
msgstr ""
msgid "Help for dive"
msgstr ""
msgid "Help for doc"
msgstr ""
@@ -30491,12 +30509,6 @@ msgstr ""
msgid "Higher-order task to perform other tasks in succession."
msgstr ""
msgid "Highest allowable bytes wasted"
msgstr ""
msgid "Highest allowable percentage of bytes wasted"
msgstr ""
msgid "Highest compression, same as -12"
msgstr ""
@@ -30848,9 +30860,6 @@ msgstr ""
msgid "Idiomatically format Dart source code"
msgstr ""
msgid "If CI=true in the environment, use the given yaml to drive validation rules"
msgstr ""
msgid "If HTTP proxy is used, make curl tunnel through it"
msgstr ""
@@ -31136,6 +31145,9 @@ msgstr ""
msgid "Ignore files ending with ~"
msgstr ""
msgid "Ignore files matching mask"
msgstr ""
msgid "Ignore files that already exist on receiver"
msgstr ""
@@ -31151,9 +31163,6 @@ msgstr ""
msgid "Ignore host and package architecture mismatch"
msgstr ""
msgid "Ignore image parsing errors and run the analysis anyway"
msgstr ""
msgid "Ignore inhibitor locks on shutdown or sleep"
msgstr ""
@@ -31217,6 +31226,9 @@ msgstr ""
msgid "Ignore newer bugs than upgrade packages"
msgstr ""
msgid "Ignore nodump files"
msgstr ""
msgid "Ignore non-authenticated packages"
msgstr ""
@@ -31472,6 +31484,9 @@ msgstr ""
msgid "Import cuesheet and store in CUESHEET block"
msgstr ""
msgid "Import environment variables into the service manager"
msgstr ""
msgid "Import every tag from a remote with git fetch <name>"
msgstr ""
@@ -32282,9 +32297,6 @@ msgstr ""
msgid "Initialize a new or existing Terraform configuration"
msgstr ""
msgid "Initialize a new project"
msgstr ""
msgid "Initialize a new repository for the given version control system"
msgstr ""
@@ -33434,6 +33446,9 @@ msgstr ""
msgid "Kick current connection from host side and make it reconnect."
msgstr ""
msgid "Kill one or more units"
msgstr ""
msgid "Kill only processes the specified user owns. Command names are optional"
msgstr ""
@@ -34058,6 +34073,9 @@ msgstr ""
msgid "Linewrap entries as width[,indent1[,indent2]]"
msgstr ""
msgid "Link a unit file into the unit search path"
msgstr ""
msgid "Link against framework (Darwin)"
msgstr ""
@@ -34328,9 +34346,6 @@ msgstr ""
msgid "List all directories from which unit files may be loaded"
msgstr ""
msgid "List all discovered fonts"
msgstr ""
msgid "List all dist-tags"
msgstr ""
@@ -35207,6 +35222,9 @@ msgstr ""
msgid "List ingress zones added"
msgstr ""
msgid "List inode usage instead of block usage"
msgstr ""
msgid "List install_if rule"
msgstr ""
@@ -35933,9 +35951,6 @@ msgstr ""
msgid "List stemcells"
msgstr ""
msgid "List style variants of each family"
msgstr ""
msgid "List subcommands"
msgstr ""
@@ -36059,6 +36074,9 @@ msgstr ""
msgid "List the files that are supplied by the named package"
msgstr ""
msgid "List the host and all running local containers"
msgstr ""
msgid "List the installed extensions"
msgstr ""
@@ -37079,9 +37097,6 @@ msgstr ""
msgid "Lower the volume by 8%"
msgstr ""
msgid "Lowest allowable image efficiency"
msgstr ""
msgid "MAC address"
msgstr ""
@@ -38522,6 +38537,9 @@ msgstr ""
msgid "Mount an entire disk (all mountable volumes)"
msgstr ""
msgid "Mount an image into the mount namespace of a unit"
msgstr ""
msgid "Mount as mountable"
msgstr ""
@@ -40493,9 +40511,6 @@ msgstr ""
msgid "Open non-regular files"
msgstr ""
msgid "Open output file after compilation"
msgstr ""
msgid "Open package repository page in the browser"
msgstr ""
@@ -41153,6 +41168,15 @@ msgstr ""
msgid "Output in RFC 2822 format"
msgstr ""
msgid "Output in RFC 3339 format with date precision"
msgstr ""
msgid "Output in RFC 3339 format with nanosecond precision"
msgstr ""
msgid "Output in RFC 3339 format with second precision"
msgstr ""
msgid "Output in an easy-to-parse format for scripts"
msgstr ""
@@ -42467,9 +42491,6 @@ msgstr ""
msgid "Path to config file. Default ~/.config/mariner/config.yaml"
msgstr ""
msgid "Path to custom CA certificate"
msgstr ""
msgid "Path to db to use"
msgstr ""
@@ -43154,9 +43175,6 @@ msgstr ""
msgid "Pixel storage type [type]"
msgstr ""
msgid "Pixels per inch for PNG export"
msgstr ""
msgid "Place comment block with TAG (or those preceding keyword lines) in output file"
msgstr ""
@@ -43796,6 +43814,9 @@ msgstr ""
msgid "Prevent including compiler-rt symbols"
msgstr ""
msgid "Prevent one or more units from starting"
msgstr ""
msgid "Prevent override"
msgstr ""
@@ -44768,9 +44789,6 @@ msgstr ""
msgid "Print help for `zig`"
msgstr ""
msgid "Print help for the given subcommand(s)"
msgstr ""
msgid "Print help info and exit"
msgstr ""
@@ -46733,9 +46751,6 @@ msgstr ""
msgid "Process all users' calendars and mail the results"
msgstr ""
msgid "Process an input file to extract metadata"
msgstr ""
msgid "Process at queue only once"
msgstr ""
@@ -46898,9 +46913,6 @@ msgstr ""
msgid "Produce filenames as this string"
msgstr ""
msgid "Produce grand total"
msgstr ""
msgid "Produce less output to the terminal"
msgstr ""
@@ -46919,9 +46931,6 @@ msgstr ""
msgid "Produce output in JSON format"
msgstr ""
msgid "Produce performance timings"
msgstr ""
msgid "Produce report on all TAGs"
msgstr ""
@@ -46991,9 +47000,6 @@ msgstr ""
msgid "Project author"
msgstr ""
msgid "Project directory"
msgstr ""
msgid "Project language"
msgstr ""
@@ -47006,9 +47012,6 @@ msgstr ""
msgid "Project release"
msgstr ""
msgid "Project root (for absolute paths)"
msgstr ""
msgid "Project type"
msgstr ""
@@ -47627,6 +47630,9 @@ msgstr ""
msgid "Query the specified service"
msgstr ""
msgid "Query the unit that owns a process"
msgstr ""
msgid "Query to select investment transactions"
msgstr ""
@@ -48377,6 +48383,12 @@ msgstr ""
msgid "Reboot to EFI setup"
msgstr ""
msgid "Reboot userspace"
msgstr ""
msgid "Reboot via kexec"
msgstr ""
msgid "Reboots the device, optionally into the bootloader or recovery program"
msgstr ""
@@ -48554,9 +48566,6 @@ msgstr ""
msgid "Recursion (default for download)"
msgstr ""
msgid "Recursion limit"
msgstr ""
msgid "Recursive mode"
msgstr ""
@@ -48596,6 +48605,9 @@ msgstr ""
msgid "Recursively expand directory"
msgstr ""
msgid "Recursively fetch submodules"
msgstr ""
msgid "Recursively list ports depending on given port"
msgstr ""
@@ -49076,6 +49088,9 @@ msgstr ""
msgid "Reload server configuration"
msgstr ""
msgid "Reload the configuration of the system manager"
msgstr ""
msgid "Reload the default keys"
msgstr ""
@@ -50714,6 +50729,9 @@ msgstr ""
msgid "Request a subset of objects from server"
msgstr ""
msgid "Request a unit reload its configuration"
msgstr ""
msgid "Request allocation of a pseudo TTY for stdio"
msgstr ""
@@ -51527,9 +51545,6 @@ msgstr ""
msgid "Retrieve current host IP address and place it under a configurable project property"
msgstr ""
msgid "Retrieve exactly one element"
msgstr ""
msgid "Retrieve fresh bugs"
msgstr ""
@@ -51866,9 +51881,6 @@ msgstr ""
msgid "Revert to the received value if available"
msgstr ""
msgid "Revert to the version from before the last update"
msgstr ""
msgid "Review the control file before creating a .deb"
msgstr ""
@@ -51896,6 +51908,9 @@ msgstr ""
msgid "Revokes an authentication token"
msgstr ""
msgid "Rewrite a commit message"
msgstr ""
msgid "Rewrite all not-found requests to `index.html`"
msgstr ""
@@ -51908,6 +51923,9 @@ msgstr ""
msgid "Rewrite file in FORMAT"
msgstr ""
msgid "Rewrite history"
msgstr ""
msgid "Rewrite rule (e.g., 'a[b:len(a)] -> a[b:]')"
msgstr ""
@@ -54467,9 +54485,6 @@ msgstr ""
msgid "Selects which device lsusb will examine"
msgstr ""
msgid "Self update the Typst CLI"
msgstr ""
msgid "Semantic version category for new version"
msgstr ""
@@ -57269,9 +57284,6 @@ msgstr ""
msgid "Set watches"
msgstr ""
msgid "Set when to use color"
msgstr ""
msgid "Set where to write formatted output"
msgstr ""
@@ -59612,6 +59624,9 @@ msgstr ""
msgid "Show properties of machines"
msgstr ""
msgid "Show properties of one or more units, jobs, or the manager itself"
msgstr ""
msgid "Show properties of systemd-timedated"
msgstr ""
@@ -59963,6 +59978,9 @@ msgstr ""
msgid "Show the author email instead of author name"
msgstr ""
msgid "Show the backing files of one or more units"
msgstr ""
msgid "Show the branch and tracking info even in short-format"
msgstr ""
@@ -60119,6 +60137,9 @@ msgstr ""
msgid "Show the manual page"
msgstr ""
msgid "Show the manual page for a unit"
msgstr ""
msgid "Show the menubar"
msgstr ""
@@ -60284,6 +60305,9 @@ msgstr ""
msgid "Show threads. With SPID"
msgstr ""
msgid "Show time as WORD instead of modification time"
msgstr ""
msgid "Show time stamping capabilities and PTP hardware clock"
msgstr ""
@@ -60296,6 +60320,9 @@ msgstr ""
msgid "Show timer"
msgstr ""
msgid "Show times using style (or +FORMAT)"
msgstr ""
msgid "Show timestamp"
msgstr ""
@@ -61244,9 +61271,6 @@ msgstr ""
msgid "Skip mount checks, repair is not possible"
msgstr ""
msgid "Skip other file systems"
msgstr ""
msgid "Skip package installation for this run"
msgstr ""
@@ -61295,12 +61319,6 @@ msgstr ""
msgid "Skip the given initial samples for each input {#|mm:ss.ss}"
msgstr ""
msgid "Skip the interactive TUI and validate against CI rules"
msgstr ""
msgid "Skip the interactive TUI and write the layer analysis statistics to a given file"
msgstr ""
msgid "Skip the normal function prologue and epilogue that sets up the stack-frame"
msgstr ""
@@ -63986,6 +64004,9 @@ msgstr ""
msgid "Split stdout and stderr in test logs"
msgstr ""
msgid "Split up a commit"
msgstr ""
msgid "Spoof MAC address"
msgstr ""
@@ -64712,6 +64733,9 @@ msgstr ""
msgid "Stop playing"
msgstr ""
msgid "Stop preventing one or more units from starting"
msgstr ""
msgid "Stop preventing package modification"
msgstr ""
@@ -64919,9 +64943,6 @@ msgstr ""
msgid "String as the value for the given key"
msgstr ""
msgid "String key-value pair for `sys.inputs`"
msgstr ""
msgid "String literal mode"
msgstr ""
@@ -65126,6 +65147,9 @@ msgstr ""
msgid "Summarize disk usage of each file."
msgstr ""
msgid "Summarize usage of NUL-terminated files in file"
msgstr ""
msgid "Super go mode: clean out generated files before processing"
msgstr ""
@@ -66425,9 +66449,6 @@ msgstr ""
msgid "The connection protocol to use"
msgstr ""
msgid "The container engine to fetch the image from"
msgstr ""
msgid "The copy job is not persisted if VM is turned off"
msgstr ""
@@ -69206,7 +69227,13 @@ msgstr ""
msgid "Use 1B block size"
msgstr ""
msgid "Use 1kB block size"
msgid "Use 1GB block size"
msgstr ""
msgid "Use 1KB block size"
msgstr ""
msgid "Use 1MB block size"
msgstr ""
msgid "Use 32-bit \"float\""
@@ -72446,9 +72473,6 @@ msgstr ""
msgid "Watch a specific file or directory"
msgstr ""
msgid "Watch an input file and recompile on changes"
msgstr ""
msgid "Watch and list new logs"
msgstr ""
@@ -73259,9 +73283,6 @@ msgstr ""
msgid "Write selection"
msgstr ""
msgid "Write size for all files"
msgstr ""
msgid "Write special status strings to the specified file descriptor"
msgstr ""
@@ -74366,6 +74387,9 @@ msgstr ""
msgid "configure the Salesforce CLI"
msgstr ""
msgid "connect adb to the Android container"
msgstr ""
msgid "connect to a custom bus"
msgstr ""
@@ -74456,6 +74480,9 @@ msgstr ""
msgid "create a backup of one or several jails"
msgstr ""
msgid "create a bugreport archive interactively"
msgstr ""
msgid "create a bundle for an Aura component or a Lightning web component"
msgstr ""
@@ -74804,6 +74831,9 @@ msgstr ""
msgid "discard uncommitted changes (no backup)"
msgstr ""
msgid "disconnect adb from the Android container"
msgstr ""
msgid "disconnect and wait for reassociate command before connecting"
msgstr ""
@@ -77042,6 +77072,9 @@ msgstr ""
msgid "make vendored copy of dependencies"
msgstr ""
msgid "manage adb connection"
msgstr ""
msgid "manage and query devices in the filesystem"
msgstr ""
@@ -77615,7 +77648,7 @@ msgstr ""
msgid "output diffstat-style summary of changes"
msgstr ""
msgid "output directory to store the Metadata APIformatted files in"
msgid "output directory to store the Metadata API-formatted files in"
msgstr ""
msgid "output encoding"
@@ -78860,6 +78893,9 @@ msgstr ""
msgid "run as if started in dir"
msgstr ""
msgid "run as user mode, connecting to the remote initializer service"
msgstr ""
msgid "run command"
msgstr ""
@@ -80036,7 +80072,7 @@ msgstr ""
msgid "the org to list the apps for"
msgstr ""
msgid "the output directory to store the sourceformatted files"
msgid "the output directory to store the source-formatted files"
msgstr ""
msgid "the streaming client socket timeout (in minutes)"

View File

@@ -3694,9 +3694,6 @@ msgstr ""
msgid "wait for app to exit"
msgstr ""
msgid "fish-section-tier3-from-script-explicitly-added"
msgstr ""
msgid "fish-section-tier3-from-script-implicitly-added"
msgstr ""
@@ -4372,7 +4369,7 @@ msgstr ""
msgid "(required) the path to the CSV file that defines the records to upsert"
msgstr ""
msgid "(required) the root directory containing the Metadata APIformatted metadata"
msgid "(required) the root directory containing the Metadata API-formatted metadata"
msgstr ""
msgid "(required) the sObject type of the records you want to upsert"
@@ -5314,12 +5311,18 @@ msgstr ""
msgid "Add OFFSET to file positions in hexdump"
msgstr ""
msgid "Add Requires dependencies to a target unit"
msgstr ""
msgid "Add Signed-off-by line at the end of the merge commit message"
msgstr ""
msgid "Add Signed-off-by line to the commit message"
msgstr ""
msgid "Add Wants dependencies to a target unit"
msgstr ""
msgid "Add Winelib to import"
msgstr ""
@@ -6118,9 +6121,6 @@ msgstr ""
msgid "Additional `Cargo.toml` to sync and vendor"
msgstr ""
msgid "Additional directories to search for fonts"
msgstr ""
msgid "Additional flag for strings inside the argument number ARG of keyword WORD"
msgstr ""
@@ -8065,6 +8065,9 @@ msgstr ""
msgid "Ask the server to reimport files for UTIs claimed by the listed plugin"
msgstr ""
msgid "Ask the service manager to exit"
msgstr ""
msgid "Ask the user for confirmation before killing a process"
msgstr ""
@@ -9064,6 +9067,9 @@ msgstr ""
msgid "Bind mount a file or directory from the host in the container"
msgstr ""
msgid "Bind mount a path into the mount namespace of a unit"
msgstr ""
msgid "Bind mounts src into CHROOTDIR/dest"
msgstr ""
@@ -9151,6 +9157,12 @@ msgstr ""
msgid "Block size"
msgstr ""
msgid "Block size (e.g. 1M, KiB)"
msgstr ""
msgid "Block size in bytes"
msgstr ""
msgid "Block size to use in all I/O operations (default: 16K)"
msgstr ""
@@ -9364,9 +9376,6 @@ msgstr ""
msgid "Build an RPM package"
msgstr ""
msgid "Build and analyze a Docker image from a Dockerfile"
msgstr ""
msgid "Build and install a new package"
msgstr ""
@@ -9790,6 +9799,9 @@ msgstr ""
msgid "Cancel jobs owned by username"
msgstr ""
msgid "Cancel one or more jobs"
msgstr ""
msgid "Cancel pairing with device"
msgstr ""
@@ -11929,9 +11941,6 @@ msgstr ""
msgid "Compile all the methods in an assembly"
msgstr ""
msgid "Compile an input file"
msgstr ""
msgid "Compile and run an executable product"
msgstr ""
@@ -12223,9 +12232,6 @@ msgstr ""
msgid "Config and front matter format"
msgstr ""
msgid "Config file"
msgstr ""
msgid "Config file (default: $HOME/.s3cfg)"
msgstr ""
@@ -13162,9 +13168,6 @@ msgstr ""
msgid "Count executions of source lines"
msgstr ""
msgid "Count hard links multiple times"
msgstr ""
msgid "Count hidden files, too"
msgstr ""
@@ -15418,12 +15421,6 @@ msgstr ""
msgid "Dereference TARGETs that are symbolic links"
msgstr ""
msgid "Dereference all symlinks"
msgstr ""
msgid "Dereference file symlinks"
msgstr ""
msgid "Dereference structures for the specified set of system calls"
msgstr ""
@@ -16855,6 +16852,9 @@ msgstr ""
msgid "Disable the docs title"
msgstr ""
msgid "Disable the enable one or more units"
msgstr ""
msgid "Disable the eval extension"
msgstr ""
@@ -17431,6 +17431,9 @@ msgstr ""
msgid "Display answers as exclamation points and missing packets as dots"
msgstr ""
msgid "Display apparent size"
msgstr ""
msgid "Display architecture specific information"
msgstr ""
@@ -20170,6 +20173,9 @@ msgstr ""
msgid "Do not recurse unless -depth is specified"
msgstr ""
msgid "Do not recursively fetch submodules"
msgstr ""
msgid "Do not redirect output to a pager"
msgstr ""
@@ -20623,6 +20629,9 @@ msgstr ""
msgid "Do not update index or working tree"
msgstr ""
msgid "Do not update references"
msgstr ""
msgid "Do not update the cache in vendor/cache with the newly bundled gems"
msgstr ""
@@ -23089,6 +23098,9 @@ msgstr ""
msgid "Dump the relocated contents of of specified section"
msgstr ""
msgid "Dump the systemd manager environment block"
msgstr ""
msgid "Dump tree structures from a given device"
msgstr ""
@@ -23239,6 +23251,9 @@ msgstr ""
msgid "Edit a property with an external editor"
msgstr ""
msgid "Edit a unit file or drop-in snippet"
msgstr ""
msgid "Edit an entry"
msgstr ""
@@ -24631,12 +24646,18 @@ msgstr ""
msgid "Enable/Disable colored error messages"
msgstr ""
msgid "Enable/disable a unit depending on preset configuration"
msgstr ""
msgid "Enable/disable advertising with given type"
msgstr ""
msgid "Enable/disable agent with given capability"
msgstr ""
msgid "Enable/disable all units depending on preset configuration"
msgstr ""
msgid "Enable/disable bucket access logging"
msgstr ""
@@ -24880,6 +24901,9 @@ msgstr ""
msgid "End current session cleanly"
msgstr ""
msgid "End each output line with NUL"
msgstr ""
msgid "End each output line with NUL, not newline, and disable file name escaping"
msgstr ""
@@ -24973,6 +24997,15 @@ msgstr ""
msgid "Ensure value is of given type"
msgstr ""
msgid "Enter and isolate emergency mode"
msgstr ""
msgid "Enter and isolate rescue mode"
msgstr ""
msgid "Enter and isolate the default mode"
msgstr ""
msgid "Enter commit message as a string"
msgstr ""
@@ -26098,9 +26131,6 @@ msgstr ""
msgid "Extract into directory"
msgstr ""
msgid "Extract just one field"
msgstr ""
msgid "Extract most recent versions of files"
msgstr ""
@@ -27178,6 +27208,9 @@ msgstr ""
msgid "Follow command-line symbolic links"
msgstr ""
msgid "Follow command-line symlinks only"
msgstr ""
msgid "Follow given symlinks with -R"
msgstr ""
@@ -27376,9 +27409,6 @@ msgstr ""
msgid "Force a complete refresh"
msgstr ""
msgid "Force a downgrade to an older version"
msgstr ""
msgid "Force a fixed checksum block-size"
msgstr ""
@@ -28171,9 +28201,6 @@ msgstr ""
msgid "Format of the list command output"
msgstr ""
msgid "Format of the output file"
msgstr ""
msgid "Format of the output: text or json"
msgstr ""
@@ -28210,12 +28237,6 @@ msgstr ""
msgid "Format the print file with a shaded header: date, time, job name, and page no."
msgstr ""
msgid "Format to emit diagnostics in"
msgstr ""
msgid "Format to serialize in"
msgstr ""
msgid "Format to use for the output"
msgstr ""
@@ -30322,9 +30343,6 @@ msgstr ""
msgid "Help for convert"
msgstr ""
msgid "Help for dive"
msgstr ""
msgid "Help for doc"
msgstr ""
@@ -30484,12 +30502,6 @@ msgstr ""
msgid "Higher-order task to perform other tasks in succession."
msgstr ""
msgid "Highest allowable bytes wasted"
msgstr ""
msgid "Highest allowable percentage of bytes wasted"
msgstr ""
msgid "Highest compression, same as -12"
msgstr ""
@@ -30841,9 +30853,6 @@ msgstr ""
msgid "Idiomatically format Dart source code"
msgstr ""
msgid "If CI=true in the environment, use the given yaml to drive validation rules"
msgstr ""
msgid "If HTTP proxy is used, make curl tunnel through it"
msgstr ""
@@ -31129,6 +31138,9 @@ msgstr ""
msgid "Ignore files ending with ~"
msgstr ""
msgid "Ignore files matching mask"
msgstr ""
msgid "Ignore files that already exist on receiver"
msgstr ""
@@ -31144,9 +31156,6 @@ msgstr ""
msgid "Ignore host and package architecture mismatch"
msgstr ""
msgid "Ignore image parsing errors and run the analysis anyway"
msgstr ""
msgid "Ignore inhibitor locks on shutdown or sleep"
msgstr ""
@@ -31210,6 +31219,9 @@ msgstr ""
msgid "Ignore newer bugs than upgrade packages"
msgstr ""
msgid "Ignore nodump files"
msgstr ""
msgid "Ignore non-authenticated packages"
msgstr ""
@@ -31465,6 +31477,9 @@ msgstr ""
msgid "Import cuesheet and store in CUESHEET block"
msgstr ""
msgid "Import environment variables into the service manager"
msgstr ""
msgid "Import every tag from a remote with git fetch <name>"
msgstr ""
@@ -32275,9 +32290,6 @@ msgstr ""
msgid "Initialize a new or existing Terraform configuration"
msgstr ""
msgid "Initialize a new project"
msgstr ""
msgid "Initialize a new repository for the given version control system"
msgstr ""
@@ -33427,6 +33439,9 @@ msgstr ""
msgid "Kick current connection from host side and make it reconnect."
msgstr ""
msgid "Kill one or more units"
msgstr ""
msgid "Kill only processes the specified user owns. Command names are optional"
msgstr ""
@@ -34051,6 +34066,9 @@ msgstr ""
msgid "Linewrap entries as width[,indent1[,indent2]]"
msgstr ""
msgid "Link a unit file into the unit search path"
msgstr ""
msgid "Link against framework (Darwin)"
msgstr ""
@@ -34321,9 +34339,6 @@ msgstr ""
msgid "List all directories from which unit files may be loaded"
msgstr ""
msgid "List all discovered fonts"
msgstr ""
msgid "List all dist-tags"
msgstr ""
@@ -35200,6 +35215,9 @@ msgstr ""
msgid "List ingress zones added"
msgstr ""
msgid "List inode usage instead of block usage"
msgstr ""
msgid "List install_if rule"
msgstr ""
@@ -35926,9 +35944,6 @@ msgstr ""
msgid "List stemcells"
msgstr ""
msgid "List style variants of each family"
msgstr ""
msgid "List subcommands"
msgstr ""
@@ -36052,6 +36067,9 @@ msgstr ""
msgid "List the files that are supplied by the named package"
msgstr ""
msgid "List the host and all running local containers"
msgstr ""
msgid "List the installed extensions"
msgstr ""
@@ -37072,9 +37090,6 @@ msgstr ""
msgid "Lower the volume by 8%"
msgstr ""
msgid "Lowest allowable image efficiency"
msgstr ""
msgid "MAC address"
msgstr ""
@@ -38515,6 +38530,9 @@ msgstr ""
msgid "Mount an entire disk (all mountable volumes)"
msgstr ""
msgid "Mount an image into the mount namespace of a unit"
msgstr ""
msgid "Mount as mountable"
msgstr ""
@@ -40486,9 +40504,6 @@ msgstr ""
msgid "Open non-regular files"
msgstr ""
msgid "Open output file after compilation"
msgstr ""
msgid "Open package repository page in the browser"
msgstr ""
@@ -41146,6 +41161,15 @@ msgstr ""
msgid "Output in RFC 2822 format"
msgstr ""
msgid "Output in RFC 3339 format with date precision"
msgstr ""
msgid "Output in RFC 3339 format with nanosecond precision"
msgstr ""
msgid "Output in RFC 3339 format with second precision"
msgstr ""
msgid "Output in an easy-to-parse format for scripts"
msgstr ""
@@ -42460,9 +42484,6 @@ msgstr ""
msgid "Path to config file. Default ~/.config/mariner/config.yaml"
msgstr ""
msgid "Path to custom CA certificate"
msgstr ""
msgid "Path to db to use"
msgstr ""
@@ -43147,9 +43168,6 @@ msgstr ""
msgid "Pixel storage type [type]"
msgstr ""
msgid "Pixels per inch for PNG export"
msgstr ""
msgid "Place comment block with TAG (or those preceding keyword lines) in output file"
msgstr ""
@@ -43789,6 +43807,9 @@ msgstr ""
msgid "Prevent including compiler-rt symbols"
msgstr ""
msgid "Prevent one or more units from starting"
msgstr ""
msgid "Prevent override"
msgstr ""
@@ -44761,9 +44782,6 @@ msgstr ""
msgid "Print help for `zig`"
msgstr ""
msgid "Print help for the given subcommand(s)"
msgstr ""
msgid "Print help info and exit"
msgstr ""
@@ -46726,9 +46744,6 @@ msgstr ""
msgid "Process all users' calendars and mail the results"
msgstr ""
msgid "Process an input file to extract metadata"
msgstr ""
msgid "Process at queue only once"
msgstr ""
@@ -46891,9 +46906,6 @@ msgstr ""
msgid "Produce filenames as this string"
msgstr ""
msgid "Produce grand total"
msgstr ""
msgid "Produce less output to the terminal"
msgstr ""
@@ -46912,9 +46924,6 @@ msgstr ""
msgid "Produce output in JSON format"
msgstr ""
msgid "Produce performance timings"
msgstr ""
msgid "Produce report on all TAGs"
msgstr ""
@@ -46984,9 +46993,6 @@ msgstr ""
msgid "Project author"
msgstr ""
msgid "Project directory"
msgstr ""
msgid "Project language"
msgstr ""
@@ -46999,9 +47005,6 @@ msgstr ""
msgid "Project release"
msgstr ""
msgid "Project root (for absolute paths)"
msgstr ""
msgid "Project type"
msgstr ""
@@ -47620,6 +47623,9 @@ msgstr ""
msgid "Query the specified service"
msgstr ""
msgid "Query the unit that owns a process"
msgstr ""
msgid "Query to select investment transactions"
msgstr ""
@@ -48370,6 +48376,12 @@ msgstr ""
msgid "Reboot to EFI setup"
msgstr ""
msgid "Reboot userspace"
msgstr ""
msgid "Reboot via kexec"
msgstr ""
msgid "Reboots the device, optionally into the bootloader or recovery program"
msgstr ""
@@ -48547,9 +48559,6 @@ msgstr ""
msgid "Recursion (default for download)"
msgstr ""
msgid "Recursion limit"
msgstr ""
msgid "Recursive mode"
msgstr ""
@@ -48589,6 +48598,9 @@ msgstr ""
msgid "Recursively expand directory"
msgstr ""
msgid "Recursively fetch submodules"
msgstr ""
msgid "Recursively list ports depending on given port"
msgstr ""
@@ -49069,6 +49081,9 @@ msgstr ""
msgid "Reload server configuration"
msgstr ""
msgid "Reload the configuration of the system manager"
msgstr ""
msgid "Reload the default keys"
msgstr ""
@@ -50707,6 +50722,9 @@ msgstr ""
msgid "Request a subset of objects from server"
msgstr ""
msgid "Request a unit reload its configuration"
msgstr ""
msgid "Request allocation of a pseudo TTY for stdio"
msgstr ""
@@ -51520,9 +51538,6 @@ msgstr ""
msgid "Retrieve current host IP address and place it under a configurable project property"
msgstr ""
msgid "Retrieve exactly one element"
msgstr ""
msgid "Retrieve fresh bugs"
msgstr ""
@@ -51859,9 +51874,6 @@ msgstr ""
msgid "Revert to the received value if available"
msgstr ""
msgid "Revert to the version from before the last update"
msgstr ""
msgid "Review the control file before creating a .deb"
msgstr ""
@@ -51889,6 +51901,9 @@ msgstr ""
msgid "Revokes an authentication token"
msgstr ""
msgid "Rewrite a commit message"
msgstr ""
msgid "Rewrite all not-found requests to `index.html`"
msgstr ""
@@ -51901,6 +51916,9 @@ msgstr ""
msgid "Rewrite file in FORMAT"
msgstr ""
msgid "Rewrite history"
msgstr ""
msgid "Rewrite rule (e.g., 'a[b:len(a)] -> a[b:]')"
msgstr ""
@@ -54460,9 +54478,6 @@ msgstr ""
msgid "Selects which device lsusb will examine"
msgstr ""
msgid "Self update the Typst CLI"
msgstr ""
msgid "Semantic version category for new version"
msgstr ""
@@ -57262,9 +57277,6 @@ msgstr ""
msgid "Set watches"
msgstr ""
msgid "Set when to use color"
msgstr ""
msgid "Set where to write formatted output"
msgstr ""
@@ -59605,6 +59617,9 @@ msgstr ""
msgid "Show properties of machines"
msgstr ""
msgid "Show properties of one or more units, jobs, or the manager itself"
msgstr ""
msgid "Show properties of systemd-timedated"
msgstr ""
@@ -59956,6 +59971,9 @@ msgstr ""
msgid "Show the author email instead of author name"
msgstr ""
msgid "Show the backing files of one or more units"
msgstr ""
msgid "Show the branch and tracking info even in short-format"
msgstr ""
@@ -60112,6 +60130,9 @@ msgstr ""
msgid "Show the manual page"
msgstr ""
msgid "Show the manual page for a unit"
msgstr ""
msgid "Show the menubar"
msgstr ""
@@ -60277,6 +60298,9 @@ msgstr ""
msgid "Show threads. With SPID"
msgstr ""
msgid "Show time as WORD instead of modification time"
msgstr ""
msgid "Show time stamping capabilities and PTP hardware clock"
msgstr ""
@@ -60289,6 +60313,9 @@ msgstr ""
msgid "Show timer"
msgstr ""
msgid "Show times using style (or +FORMAT)"
msgstr ""
msgid "Show timestamp"
msgstr ""
@@ -61237,9 +61264,6 @@ msgstr ""
msgid "Skip mount checks, repair is not possible"
msgstr ""
msgid "Skip other file systems"
msgstr ""
msgid "Skip package installation for this run"
msgstr ""
@@ -61288,12 +61312,6 @@ msgstr ""
msgid "Skip the given initial samples for each input {#|mm:ss.ss}"
msgstr ""
msgid "Skip the interactive TUI and validate against CI rules"
msgstr ""
msgid "Skip the interactive TUI and write the layer analysis statistics to a given file"
msgstr ""
msgid "Skip the normal function prologue and epilogue that sets up the stack-frame"
msgstr ""
@@ -63979,6 +63997,9 @@ msgstr ""
msgid "Split stdout and stderr in test logs"
msgstr ""
msgid "Split up a commit"
msgstr ""
msgid "Spoof MAC address"
msgstr ""
@@ -64705,6 +64726,9 @@ msgstr ""
msgid "Stop playing"
msgstr ""
msgid "Stop preventing one or more units from starting"
msgstr ""
msgid "Stop preventing package modification"
msgstr ""
@@ -64912,9 +64936,6 @@ msgstr ""
msgid "String as the value for the given key"
msgstr ""
msgid "String key-value pair for `sys.inputs`"
msgstr ""
msgid "String literal mode"
msgstr ""
@@ -65119,6 +65140,9 @@ msgstr ""
msgid "Summarize disk usage of each file."
msgstr ""
msgid "Summarize usage of NUL-terminated files in file"
msgstr ""
msgid "Super go mode: clean out generated files before processing"
msgstr ""
@@ -66418,9 +66442,6 @@ msgstr ""
msgid "The connection protocol to use"
msgstr ""
msgid "The container engine to fetch the image from"
msgstr ""
msgid "The copy job is not persisted if VM is turned off"
msgstr ""
@@ -69199,7 +69220,13 @@ msgstr ""
msgid "Use 1B block size"
msgstr ""
msgid "Use 1kB block size"
msgid "Use 1GB block size"
msgstr ""
msgid "Use 1KB block size"
msgstr ""
msgid "Use 1MB block size"
msgstr ""
msgid "Use 32-bit \"float\""
@@ -72439,9 +72466,6 @@ msgstr ""
msgid "Watch a specific file or directory"
msgstr ""
msgid "Watch an input file and recompile on changes"
msgstr ""
msgid "Watch and list new logs"
msgstr ""
@@ -73252,9 +73276,6 @@ msgstr ""
msgid "Write selection"
msgstr ""
msgid "Write size for all files"
msgstr ""
msgid "Write special status strings to the specified file descriptor"
msgstr ""
@@ -74359,6 +74380,9 @@ msgstr ""
msgid "configure the Salesforce CLI"
msgstr ""
msgid "connect adb to the Android container"
msgstr ""
msgid "connect to a custom bus"
msgstr ""
@@ -74449,6 +74473,9 @@ msgstr ""
msgid "create a backup of one or several jails"
msgstr ""
msgid "create a bugreport archive interactively"
msgstr ""
msgid "create a bundle for an Aura component or a Lightning web component"
msgstr ""
@@ -74797,6 +74824,9 @@ msgstr ""
msgid "discard uncommitted changes (no backup)"
msgstr ""
msgid "disconnect adb from the Android container"
msgstr ""
msgid "disconnect and wait for reassociate command before connecting"
msgstr ""
@@ -77035,6 +77065,9 @@ msgstr ""
msgid "make vendored copy of dependencies"
msgstr ""
msgid "manage adb connection"
msgstr ""
msgid "manage and query devices in the filesystem"
msgstr ""
@@ -77608,7 +77641,7 @@ msgstr ""
msgid "output diffstat-style summary of changes"
msgstr ""
msgid "output directory to store the Metadata APIformatted files in"
msgid "output directory to store the Metadata API-formatted files in"
msgstr ""
msgid "output encoding"
@@ -78853,6 +78886,9 @@ msgstr ""
msgid "run as if started in dir"
msgstr ""
msgid "run as user mode, connecting to the remote initializer service"
msgstr ""
msgid "run command"
msgstr ""
@@ -80029,7 +80065,7 @@ msgstr ""
msgid "the org to list the apps for"
msgstr ""
msgid "the output directory to store the sourceformatted files"
msgid "the output directory to store the source-formatted files"
msgstr ""
msgid "the streaming client socket timeout (in minutes)"

View File

@@ -3699,9 +3699,6 @@ msgstr ""
msgid "wait for app to exit"
msgstr ""
msgid "fish-section-tier3-from-script-explicitly-added"
msgstr ""
msgid "fish-section-tier3-from-script-implicitly-added"
msgstr ""
@@ -4377,7 +4374,7 @@ msgstr ""
msgid "(required) the path to the CSV file that defines the records to upsert"
msgstr ""
msgid "(required) the root directory containing the Metadata APIformatted metadata"
msgid "(required) the root directory containing the Metadata API-formatted metadata"
msgstr ""
msgid "(required) the sObject type of the records you want to upsert"
@@ -5319,12 +5316,18 @@ msgstr ""
msgid "Add OFFSET to file positions in hexdump"
msgstr ""
msgid "Add Requires dependencies to a target unit"
msgstr ""
msgid "Add Signed-off-by line at the end of the merge commit message"
msgstr ""
msgid "Add Signed-off-by line to the commit message"
msgstr ""
msgid "Add Wants dependencies to a target unit"
msgstr ""
msgid "Add Winelib to import"
msgstr ""
@@ -6123,9 +6126,6 @@ msgstr ""
msgid "Additional `Cargo.toml` to sync and vendor"
msgstr ""
msgid "Additional directories to search for fonts"
msgstr ""
msgid "Additional flag for strings inside the argument number ARG of keyword WORD"
msgstr ""
@@ -8070,6 +8070,9 @@ msgstr ""
msgid "Ask the server to reimport files for UTIs claimed by the listed plugin"
msgstr ""
msgid "Ask the service manager to exit"
msgstr ""
msgid "Ask the user for confirmation before killing a process"
msgstr ""
@@ -9069,6 +9072,9 @@ msgstr ""
msgid "Bind mount a file or directory from the host in the container"
msgstr ""
msgid "Bind mount a path into the mount namespace of a unit"
msgstr ""
msgid "Bind mounts src into CHROOTDIR/dest"
msgstr ""
@@ -9156,6 +9162,12 @@ msgstr ""
msgid "Block size"
msgstr "Tamanho do bloco"
msgid "Block size (e.g. 1M, KiB)"
msgstr ""
msgid "Block size in bytes"
msgstr ""
msgid "Block size to use in all I/O operations (default: 16K)"
msgstr ""
@@ -9369,9 +9381,6 @@ msgstr ""
msgid "Build an RPM package"
msgstr ""
msgid "Build and analyze a Docker image from a Dockerfile"
msgstr ""
msgid "Build and install a new package"
msgstr ""
@@ -9795,6 +9804,9 @@ msgstr ""
msgid "Cancel jobs owned by username"
msgstr ""
msgid "Cancel one or more jobs"
msgstr ""
msgid "Cancel pairing with device"
msgstr ""
@@ -11934,9 +11946,6 @@ msgstr ""
msgid "Compile all the methods in an assembly"
msgstr ""
msgid "Compile an input file"
msgstr ""
msgid "Compile and run an executable product"
msgstr ""
@@ -12228,9 +12237,6 @@ msgstr ""
msgid "Config and front matter format"
msgstr ""
msgid "Config file"
msgstr ""
msgid "Config file (default: $HOME/.s3cfg)"
msgstr ""
@@ -13167,9 +13173,6 @@ msgstr ""
msgid "Count executions of source lines"
msgstr ""
msgid "Count hard links multiple times"
msgstr "Count hard links multiple times"
msgid "Count hidden files, too"
msgstr ""
@@ -15423,12 +15426,6 @@ msgstr ""
msgid "Dereference TARGETs that are symbolic links"
msgstr ""
msgid "Dereference all symlinks"
msgstr "Dereference all symlinks"
msgid "Dereference file symlinks"
msgstr "Dereference file symlinks"
msgid "Dereference structures for the specified set of system calls"
msgstr ""
@@ -16860,6 +16857,9 @@ msgstr ""
msgid "Disable the docs title"
msgstr ""
msgid "Disable the enable one or more units"
msgstr ""
msgid "Disable the eval extension"
msgstr ""
@@ -17436,6 +17436,9 @@ msgstr ""
msgid "Display answers as exclamation points and missing packets as dots"
msgstr ""
msgid "Display apparent size"
msgstr ""
msgid "Display architecture specific information"
msgstr ""
@@ -20175,6 +20178,9 @@ msgstr ""
msgid "Do not recurse unless -depth is specified"
msgstr ""
msgid "Do not recursively fetch submodules"
msgstr ""
msgid "Do not redirect output to a pager"
msgstr ""
@@ -20628,6 +20634,9 @@ msgstr "Do not try to use the GnuPG-Agent"
msgid "Do not update index or working tree"
msgstr ""
msgid "Do not update references"
msgstr ""
msgid "Do not update the cache in vendor/cache with the newly bundled gems"
msgstr ""
@@ -23094,6 +23103,9 @@ msgstr ""
msgid "Dump the relocated contents of of specified section"
msgstr ""
msgid "Dump the systemd manager environment block"
msgstr ""
msgid "Dump tree structures from a given device"
msgstr ""
@@ -23244,6 +23256,9 @@ msgstr ""
msgid "Edit a property with an external editor"
msgstr ""
msgid "Edit a unit file or drop-in snippet"
msgstr ""
msgid "Edit an entry"
msgstr ""
@@ -24636,12 +24651,18 @@ msgstr ""
msgid "Enable/Disable colored error messages"
msgstr ""
msgid "Enable/disable a unit depending on preset configuration"
msgstr ""
msgid "Enable/disable advertising with given type"
msgstr ""
msgid "Enable/disable agent with given capability"
msgstr ""
msgid "Enable/disable all units depending on preset configuration"
msgstr ""
msgid "Enable/disable bucket access logging"
msgstr ""
@@ -24885,6 +24906,9 @@ msgstr ""
msgid "End current session cleanly"
msgstr ""
msgid "End each output line with NUL"
msgstr ""
msgid "End each output line with NUL, not newline, and disable file name escaping"
msgstr ""
@@ -24978,6 +25002,15 @@ msgstr ""
msgid "Ensure value is of given type"
msgstr ""
msgid "Enter and isolate emergency mode"
msgstr ""
msgid "Enter and isolate rescue mode"
msgstr ""
msgid "Enter and isolate the default mode"
msgstr ""
msgid "Enter commit message as a string"
msgstr ""
@@ -26103,9 +26136,6 @@ msgstr "Extract from archive"
msgid "Extract into directory"
msgstr ""
msgid "Extract just one field"
msgstr ""
msgid "Extract most recent versions of files"
msgstr ""
@@ -27183,6 +27213,9 @@ msgstr ""
msgid "Follow command-line symbolic links"
msgstr ""
msgid "Follow command-line symlinks only"
msgstr ""
msgid "Follow given symlinks with -R"
msgstr ""
@@ -27381,9 +27414,6 @@ msgstr ""
msgid "Force a complete refresh"
msgstr ""
msgid "Force a downgrade to an older version"
msgstr ""
msgid "Force a fixed checksum block-size"
msgstr ""
@@ -28176,9 +28206,6 @@ msgstr ""
msgid "Format of the list command output"
msgstr ""
msgid "Format of the output file"
msgstr ""
msgid "Format of the output: text or json"
msgstr ""
@@ -28215,12 +28242,6 @@ msgstr ""
msgid "Format the print file with a shaded header: date, time, job name, and page no."
msgstr ""
msgid "Format to emit diagnostics in"
msgstr ""
msgid "Format to serialize in"
msgstr ""
msgid "Format to use for the output"
msgstr ""
@@ -30327,9 +30348,6 @@ msgstr ""
msgid "Help for convert"
msgstr ""
msgid "Help for dive"
msgstr ""
msgid "Help for doc"
msgstr ""
@@ -30489,12 +30507,6 @@ msgstr ""
msgid "Higher-order task to perform other tasks in succession."
msgstr ""
msgid "Highest allowable bytes wasted"
msgstr ""
msgid "Highest allowable percentage of bytes wasted"
msgstr ""
msgid "Highest compression, same as -12"
msgstr ""
@@ -30846,9 +30858,6 @@ msgstr ""
msgid "Idiomatically format Dart source code"
msgstr ""
msgid "If CI=true in the environment, use the given yaml to drive validation rules"
msgstr ""
msgid "If HTTP proxy is used, make curl tunnel through it"
msgstr ""
@@ -31134,6 +31143,9 @@ msgstr ""
msgid "Ignore files ending with ~"
msgstr "Ignora arquivos terminados com ~"
msgid "Ignore files matching mask"
msgstr ""
msgid "Ignore files that already exist on receiver"
msgstr ""
@@ -31149,9 +31161,6 @@ msgstr ""
msgid "Ignore host and package architecture mismatch"
msgstr ""
msgid "Ignore image parsing errors and run the analysis anyway"
msgstr ""
msgid "Ignore inhibitor locks on shutdown or sleep"
msgstr ""
@@ -31215,6 +31224,9 @@ msgstr ""
msgid "Ignore newer bugs than upgrade packages"
msgstr ""
msgid "Ignore nodump files"
msgstr ""
msgid "Ignore non-authenticated packages"
msgstr ""
@@ -31470,6 +31482,9 @@ msgstr ""
msgid "Import cuesheet and store in CUESHEET block"
msgstr ""
msgid "Import environment variables into the service manager"
msgstr ""
msgid "Import every tag from a remote with git fetch <name>"
msgstr ""
@@ -32280,9 +32295,6 @@ msgstr ""
msgid "Initialize a new or existing Terraform configuration"
msgstr ""
msgid "Initialize a new project"
msgstr ""
msgid "Initialize a new repository for the given version control system"
msgstr ""
@@ -33432,6 +33444,9 @@ msgstr ""
msgid "Kick current connection from host side and make it reconnect."
msgstr ""
msgid "Kill one or more units"
msgstr ""
msgid "Kill only processes the specified user owns. Command names are optional"
msgstr ""
@@ -34056,6 +34071,9 @@ msgstr "Lines end with 0 byte"
msgid "Linewrap entries as width[,indent1[,indent2]]"
msgstr ""
msgid "Link a unit file into the unit search path"
msgstr ""
msgid "Link against framework (Darwin)"
msgstr ""
@@ -34326,9 +34344,6 @@ msgstr ""
msgid "List all directories from which unit files may be loaded"
msgstr ""
msgid "List all discovered fonts"
msgstr ""
msgid "List all dist-tags"
msgstr ""
@@ -35205,6 +35220,9 @@ msgstr ""
msgid "List ingress zones added"
msgstr ""
msgid "List inode usage instead of block usage"
msgstr ""
msgid "List install_if rule"
msgstr ""
@@ -35931,9 +35949,6 @@ msgstr ""
msgid "List stemcells"
msgstr ""
msgid "List style variants of each family"
msgstr ""
msgid "List subcommands"
msgstr ""
@@ -36057,6 +36072,9 @@ msgstr ""
msgid "List the files that are supplied by the named package"
msgstr ""
msgid "List the host and all running local containers"
msgstr ""
msgid "List the installed extensions"
msgstr ""
@@ -37077,9 +37095,6 @@ msgstr ""
msgid "Lower the volume by 8%"
msgstr ""
msgid "Lowest allowable image efficiency"
msgstr ""
msgid "MAC address"
msgstr ""
@@ -38520,6 +38535,9 @@ msgstr ""
msgid "Mount an entire disk (all mountable volumes)"
msgstr ""
msgid "Mount an image into the mount namespace of a unit"
msgstr ""
msgid "Mount as mountable"
msgstr ""
@@ -40491,9 +40509,6 @@ msgstr ""
msgid "Open non-regular files"
msgstr "Open non-regular files"
msgid "Open output file after compilation"
msgstr ""
msgid "Open package repository page in the browser"
msgstr ""
@@ -41151,6 +41166,15 @@ msgstr ""
msgid "Output in RFC 2822 format"
msgstr ""
msgid "Output in RFC 3339 format with date precision"
msgstr ""
msgid "Output in RFC 3339 format with nanosecond precision"
msgstr ""
msgid "Output in RFC 3339 format with second precision"
msgstr ""
msgid "Output in an easy-to-parse format for scripts"
msgstr ""
@@ -42465,9 +42489,6 @@ msgstr ""
msgid "Path to config file. Default ~/.config/mariner/config.yaml"
msgstr ""
msgid "Path to custom CA certificate"
msgstr ""
msgid "Path to db to use"
msgstr ""
@@ -43152,9 +43173,6 @@ msgstr ""
msgid "Pixel storage type [type]"
msgstr ""
msgid "Pixels per inch for PNG export"
msgstr ""
msgid "Place comment block with TAG (or those preceding keyword lines) in output file"
msgstr ""
@@ -43794,6 +43812,9 @@ msgstr ""
msgid "Prevent including compiler-rt symbols"
msgstr ""
msgid "Prevent one or more units from starting"
msgstr ""
msgid "Prevent override"
msgstr ""
@@ -44766,9 +44787,6 @@ msgstr ""
msgid "Print help for `zig`"
msgstr ""
msgid "Print help for the given subcommand(s)"
msgstr ""
msgid "Print help info and exit"
msgstr ""
@@ -46731,9 +46749,6 @@ msgstr ""
msgid "Process all users' calendars and mail the results"
msgstr ""
msgid "Process an input file to extract metadata"
msgstr ""
msgid "Process at queue only once"
msgstr ""
@@ -46896,9 +46911,6 @@ msgstr ""
msgid "Produce filenames as this string"
msgstr ""
msgid "Produce grand total"
msgstr "Produce grand total"
msgid "Produce less output to the terminal"
msgstr ""
@@ -46917,9 +46929,6 @@ msgstr ""
msgid "Produce output in JSON format"
msgstr ""
msgid "Produce performance timings"
msgstr ""
msgid "Produce report on all TAGs"
msgstr ""
@@ -46989,9 +46998,6 @@ msgstr ""
msgid "Project author"
msgstr ""
msgid "Project directory"
msgstr ""
msgid "Project language"
msgstr ""
@@ -47004,9 +47010,6 @@ msgstr ""
msgid "Project release"
msgstr ""
msgid "Project root (for absolute paths)"
msgstr ""
msgid "Project type"
msgstr ""
@@ -47625,6 +47628,9 @@ msgstr ""
msgid "Query the specified service"
msgstr ""
msgid "Query the unit that owns a process"
msgstr ""
msgid "Query to select investment transactions"
msgstr ""
@@ -48375,6 +48381,12 @@ msgstr ""
msgid "Reboot to EFI setup"
msgstr ""
msgid "Reboot userspace"
msgstr ""
msgid "Reboot via kexec"
msgstr ""
msgid "Reboots the device, optionally into the bootloader or recovery program"
msgstr ""
@@ -48552,9 +48564,6 @@ msgstr ""
msgid "Recursion (default for download)"
msgstr ""
msgid "Recursion limit"
msgstr ""
msgid "Recursive mode"
msgstr ""
@@ -48594,6 +48603,9 @@ msgstr ""
msgid "Recursively expand directory"
msgstr ""
msgid "Recursively fetch submodules"
msgstr ""
msgid "Recursively list ports depending on given port"
msgstr ""
@@ -49074,6 +49086,9 @@ msgstr ""
msgid "Reload server configuration"
msgstr ""
msgid "Reload the configuration of the system manager"
msgstr ""
msgid "Reload the default keys"
msgstr ""
@@ -50712,6 +50727,9 @@ msgstr ""
msgid "Request a subset of objects from server"
msgstr ""
msgid "Request a unit reload its configuration"
msgstr ""
msgid "Request allocation of a pseudo TTY for stdio"
msgstr ""
@@ -51525,9 +51543,6 @@ msgstr ""
msgid "Retrieve current host IP address and place it under a configurable project property"
msgstr ""
msgid "Retrieve exactly one element"
msgstr ""
msgid "Retrieve fresh bugs"
msgstr ""
@@ -51864,9 +51879,6 @@ msgstr ""
msgid "Revert to the received value if available"
msgstr ""
msgid "Revert to the version from before the last update"
msgstr ""
msgid "Review the control file before creating a .deb"
msgstr ""
@@ -51894,6 +51906,9 @@ msgstr ""
msgid "Revokes an authentication token"
msgstr ""
msgid "Rewrite a commit message"
msgstr ""
msgid "Rewrite all not-found requests to `index.html`"
msgstr ""
@@ -51906,6 +51921,9 @@ msgstr ""
msgid "Rewrite file in FORMAT"
msgstr ""
msgid "Rewrite history"
msgstr ""
msgid "Rewrite rule (e.g., 'a[b:len(a)] -> a[b:]')"
msgstr ""
@@ -54465,9 +54483,6 @@ msgstr ""
msgid "Selects which device lsusb will examine"
msgstr ""
msgid "Self update the Typst CLI"
msgstr ""
msgid "Semantic version category for new version"
msgstr ""
@@ -57267,9 +57282,6 @@ msgstr ""
msgid "Set watches"
msgstr ""
msgid "Set when to use color"
msgstr ""
msgid "Set where to write formatted output"
msgstr ""
@@ -59610,6 +59622,9 @@ msgstr ""
msgid "Show properties of machines"
msgstr ""
msgid "Show properties of one or more units, jobs, or the manager itself"
msgstr ""
msgid "Show properties of systemd-timedated"
msgstr ""
@@ -59961,6 +59976,9 @@ msgstr ""
msgid "Show the author email instead of author name"
msgstr ""
msgid "Show the backing files of one or more units"
msgstr ""
msgid "Show the branch and tracking info even in short-format"
msgstr ""
@@ -60117,6 +60135,9 @@ msgstr ""
msgid "Show the manual page"
msgstr ""
msgid "Show the manual page for a unit"
msgstr ""
msgid "Show the menubar"
msgstr ""
@@ -60282,6 +60303,9 @@ msgstr ""
msgid "Show threads. With SPID"
msgstr ""
msgid "Show time as WORD instead of modification time"
msgstr ""
msgid "Show time stamping capabilities and PTP hardware clock"
msgstr ""
@@ -60294,6 +60318,9 @@ msgstr ""
msgid "Show timer"
msgstr ""
msgid "Show times using style (or +FORMAT)"
msgstr ""
msgid "Show timestamp"
msgstr ""
@@ -61242,9 +61269,6 @@ msgstr ""
msgid "Skip mount checks, repair is not possible"
msgstr ""
msgid "Skip other file systems"
msgstr ""
msgid "Skip package installation for this run"
msgstr ""
@@ -61293,12 +61317,6 @@ msgstr ""
msgid "Skip the given initial samples for each input {#|mm:ss.ss}"
msgstr ""
msgid "Skip the interactive TUI and validate against CI rules"
msgstr ""
msgid "Skip the interactive TUI and write the layer analysis statistics to a given file"
msgstr ""
msgid "Skip the normal function prologue and epilogue that sets up the stack-frame"
msgstr ""
@@ -63984,6 +64002,9 @@ msgstr ""
msgid "Split stdout and stderr in test logs"
msgstr ""
msgid "Split up a commit"
msgstr ""
msgid "Spoof MAC address"
msgstr ""
@@ -64710,6 +64731,9 @@ msgstr ""
msgid "Stop playing"
msgstr ""
msgid "Stop preventing one or more units from starting"
msgstr ""
msgid "Stop preventing package modification"
msgstr ""
@@ -64917,9 +64941,6 @@ msgstr ""
msgid "String as the value for the given key"
msgstr ""
msgid "String key-value pair for `sys.inputs`"
msgstr ""
msgid "String literal mode"
msgstr ""
@@ -65124,6 +65145,9 @@ msgstr ""
msgid "Summarize disk usage of each file."
msgstr ""
msgid "Summarize usage of NUL-terminated files in file"
msgstr ""
msgid "Super go mode: clean out generated files before processing"
msgstr ""
@@ -66423,9 +66447,6 @@ msgstr ""
msgid "The connection protocol to use"
msgstr ""
msgid "The container engine to fetch the image from"
msgstr ""
msgid "The copy job is not persisted if VM is turned off"
msgstr ""
@@ -69204,8 +69225,14 @@ msgstr ""
msgid "Use 1B block size"
msgstr "Use 1B block size"
msgid "Use 1kB block size"
msgstr "Use 1kB block size"
msgid "Use 1GB block size"
msgstr ""
msgid "Use 1KB block size"
msgstr ""
msgid "Use 1MB block size"
msgstr ""
msgid "Use 32-bit \"float\""
msgstr ""
@@ -72444,9 +72471,6 @@ msgstr ""
msgid "Watch a specific file or directory"
msgstr ""
msgid "Watch an input file and recompile on changes"
msgstr ""
msgid "Watch and list new logs"
msgstr ""
@@ -73257,9 +73281,6 @@ msgstr ""
msgid "Write selection"
msgstr "Write selection"
msgid "Write size for all files"
msgstr "Write size for all files"
msgid "Write special status strings to the specified file descriptor"
msgstr "Escreve strings de estado no descritor de arquivo especificado"
@@ -74364,6 +74385,9 @@ msgstr ""
msgid "configure the Salesforce CLI"
msgstr ""
msgid "connect adb to the Android container"
msgstr ""
msgid "connect to a custom bus"
msgstr ""
@@ -74454,6 +74478,9 @@ msgstr ""
msgid "create a backup of one or several jails"
msgstr ""
msgid "create a bugreport archive interactively"
msgstr ""
msgid "create a bundle for an Aura component or a Lightning web component"
msgstr ""
@@ -74802,6 +74829,9 @@ msgstr ""
msgid "discard uncommitted changes (no backup)"
msgstr ""
msgid "disconnect adb from the Android container"
msgstr ""
msgid "disconnect and wait for reassociate command before connecting"
msgstr ""
@@ -77040,6 +77070,9 @@ msgstr ""
msgid "make vendored copy of dependencies"
msgstr ""
msgid "manage adb connection"
msgstr ""
msgid "manage and query devices in the filesystem"
msgstr ""
@@ -77613,7 +77646,7 @@ msgstr ""
msgid "output diffstat-style summary of changes"
msgstr ""
msgid "output directory to store the Metadata APIformatted files in"
msgid "output directory to store the Metadata API-formatted files in"
msgstr ""
msgid "output encoding"
@@ -78858,6 +78891,9 @@ msgstr ""
msgid "run as if started in dir"
msgstr ""
msgid "run as user mode, connecting to the remote initializer service"
msgstr ""
msgid "run command"
msgstr ""
@@ -80034,7 +80070,7 @@ msgstr ""
msgid "the org to list the apps for"
msgstr ""
msgid "the output directory to store the sourceformatted files"
msgid "the output directory to store the source-formatted files"
msgstr ""
msgid "the streaming client socket timeout (in minutes)"

View File

@@ -3695,9 +3695,6 @@ msgstr ""
msgid "wait for app to exit"
msgstr ""
msgid "fish-section-tier3-from-script-explicitly-added"
msgstr ""
msgid "fish-section-tier3-from-script-implicitly-added"
msgstr ""
@@ -4373,7 +4370,7 @@ msgstr ""
msgid "(required) the path to the CSV file that defines the records to upsert"
msgstr ""
msgid "(required) the root directory containing the Metadata APIformatted metadata"
msgid "(required) the root directory containing the Metadata API-formatted metadata"
msgstr ""
msgid "(required) the sObject type of the records you want to upsert"
@@ -5315,12 +5312,18 @@ msgstr ""
msgid "Add OFFSET to file positions in hexdump"
msgstr ""
msgid "Add Requires dependencies to a target unit"
msgstr ""
msgid "Add Signed-off-by line at the end of the merge commit message"
msgstr ""
msgid "Add Signed-off-by line to the commit message"
msgstr ""
msgid "Add Wants dependencies to a target unit"
msgstr ""
msgid "Add Winelib to import"
msgstr ""
@@ -6119,9 +6122,6 @@ msgstr ""
msgid "Additional `Cargo.toml` to sync and vendor"
msgstr ""
msgid "Additional directories to search for fonts"
msgstr ""
msgid "Additional flag for strings inside the argument number ARG of keyword WORD"
msgstr ""
@@ -8066,6 +8066,9 @@ msgstr ""
msgid "Ask the server to reimport files for UTIs claimed by the listed plugin"
msgstr ""
msgid "Ask the service manager to exit"
msgstr ""
msgid "Ask the user for confirmation before killing a process"
msgstr ""
@@ -9065,6 +9068,9 @@ msgstr ""
msgid "Bind mount a file or directory from the host in the container"
msgstr ""
msgid "Bind mount a path into the mount namespace of a unit"
msgstr ""
msgid "Bind mounts src into CHROOTDIR/dest"
msgstr ""
@@ -9152,6 +9158,12 @@ msgstr ""
msgid "Block size"
msgstr "Blockstorlek"
msgid "Block size (e.g. 1M, KiB)"
msgstr ""
msgid "Block size in bytes"
msgstr ""
msgid "Block size to use in all I/O operations (default: 16K)"
msgstr ""
@@ -9365,9 +9377,6 @@ msgstr ""
msgid "Build an RPM package"
msgstr ""
msgid "Build and analyze a Docker image from a Dockerfile"
msgstr ""
msgid "Build and install a new package"
msgstr "Bygg och installera nytt paket"
@@ -9791,6 +9800,9 @@ msgstr ""
msgid "Cancel jobs owned by username"
msgstr ""
msgid "Cancel one or more jobs"
msgstr ""
msgid "Cancel pairing with device"
msgstr ""
@@ -11930,9 +11942,6 @@ msgstr ""
msgid "Compile all the methods in an assembly"
msgstr ""
msgid "Compile an input file"
msgstr ""
msgid "Compile and run an executable product"
msgstr ""
@@ -12224,9 +12233,6 @@ msgstr ""
msgid "Config and front matter format"
msgstr ""
msgid "Config file"
msgstr ""
msgid "Config file (default: $HOME/.s3cfg)"
msgstr ""
@@ -13163,9 +13169,6 @@ msgstr ""
msgid "Count executions of source lines"
msgstr ""
msgid "Count hard links multiple times"
msgstr "Räkna hårda länkar alla gånger de förekommer"
msgid "Count hidden files, too"
msgstr ""
@@ -15419,12 +15422,6 @@ msgstr ""
msgid "Dereference TARGETs that are symbolic links"
msgstr ""
msgid "Dereference all symlinks"
msgstr "Följ alla symboliska länkar"
msgid "Dereference file symlinks"
msgstr "Följ symboliska länkar till filer"
msgid "Dereference structures for the specified set of system calls"
msgstr ""
@@ -16856,6 +16853,9 @@ msgstr ""
msgid "Disable the docs title"
msgstr ""
msgid "Disable the enable one or more units"
msgstr ""
msgid "Disable the eval extension"
msgstr ""
@@ -17432,6 +17432,9 @@ msgstr ""
msgid "Display answers as exclamation points and missing packets as dots"
msgstr ""
msgid "Display apparent size"
msgstr ""
msgid "Display architecture specific information"
msgstr ""
@@ -20171,6 +20174,9 @@ msgstr ""
msgid "Do not recurse unless -depth is specified"
msgstr ""
msgid "Do not recursively fetch submodules"
msgstr ""
msgid "Do not redirect output to a pager"
msgstr ""
@@ -20624,6 +20630,9 @@ msgstr "Försök inte använda GnuPG-Agent"
msgid "Do not update index or working tree"
msgstr ""
msgid "Do not update references"
msgstr ""
msgid "Do not update the cache in vendor/cache with the newly bundled gems"
msgstr ""
@@ -23090,6 +23099,9 @@ msgstr ""
msgid "Dump the relocated contents of of specified section"
msgstr ""
msgid "Dump the systemd manager environment block"
msgstr ""
msgid "Dump tree structures from a given device"
msgstr ""
@@ -23240,6 +23252,9 @@ msgstr ""
msgid "Edit a property with an external editor"
msgstr ""
msgid "Edit a unit file or drop-in snippet"
msgstr ""
msgid "Edit an entry"
msgstr ""
@@ -24632,12 +24647,18 @@ msgstr ""
msgid "Enable/Disable colored error messages"
msgstr ""
msgid "Enable/disable a unit depending on preset configuration"
msgstr ""
msgid "Enable/disable advertising with given type"
msgstr ""
msgid "Enable/disable agent with given capability"
msgstr ""
msgid "Enable/disable all units depending on preset configuration"
msgstr ""
msgid "Enable/disable bucket access logging"
msgstr ""
@@ -24881,6 +24902,9 @@ msgstr ""
msgid "End current session cleanly"
msgstr ""
msgid "End each output line with NUL"
msgstr ""
msgid "End each output line with NUL, not newline, and disable file name escaping"
msgstr ""
@@ -24974,6 +24998,15 @@ msgstr ""
msgid "Ensure value is of given type"
msgstr ""
msgid "Enter and isolate emergency mode"
msgstr ""
msgid "Enter and isolate rescue mode"
msgstr ""
msgid "Enter and isolate the default mode"
msgstr ""
msgid "Enter commit message as a string"
msgstr ""
@@ -26099,9 +26132,6 @@ msgstr "Hämta från arkiv"
msgid "Extract into directory"
msgstr ""
msgid "Extract just one field"
msgstr ""
msgid "Extract most recent versions of files"
msgstr ""
@@ -27179,6 +27209,9 @@ msgstr ""
msgid "Follow command-line symbolic links"
msgstr "Följ symboliska länkar från kommandoraden"
msgid "Follow command-line symlinks only"
msgstr ""
msgid "Follow given symlinks with -R"
msgstr ""
@@ -27377,9 +27410,6 @@ msgstr ""
msgid "Force a complete refresh"
msgstr ""
msgid "Force a downgrade to an older version"
msgstr ""
msgid "Force a fixed checksum block-size"
msgstr ""
@@ -28172,9 +28202,6 @@ msgstr ""
msgid "Format of the list command output"
msgstr ""
msgid "Format of the output file"
msgstr ""
msgid "Format of the output: text or json"
msgstr ""
@@ -28211,12 +28238,6 @@ msgstr ""
msgid "Format the print file with a shaded header: date, time, job name, and page no."
msgstr ""
msgid "Format to emit diagnostics in"
msgstr ""
msgid "Format to serialize in"
msgstr ""
msgid "Format to use for the output"
msgstr ""
@@ -30323,9 +30344,6 @@ msgstr ""
msgid "Help for convert"
msgstr ""
msgid "Help for dive"
msgstr ""
msgid "Help for doc"
msgstr ""
@@ -30485,12 +30503,6 @@ msgstr ""
msgid "Higher-order task to perform other tasks in succession."
msgstr ""
msgid "Highest allowable bytes wasted"
msgstr ""
msgid "Highest allowable percentage of bytes wasted"
msgstr ""
msgid "Highest compression, same as -12"
msgstr ""
@@ -30842,9 +30854,6 @@ msgstr ""
msgid "Idiomatically format Dart source code"
msgstr ""
msgid "If CI=true in the environment, use the given yaml to drive validation rules"
msgstr ""
msgid "If HTTP proxy is used, make curl tunnel through it"
msgstr ""
@@ -31130,6 +31139,9 @@ msgstr ""
msgid "Ignore files ending with ~"
msgstr "Ignorera filer som slutar på ~"
msgid "Ignore files matching mask"
msgstr ""
msgid "Ignore files that already exist on receiver"
msgstr ""
@@ -31145,9 +31157,6 @@ msgstr ""
msgid "Ignore host and package architecture mismatch"
msgstr ""
msgid "Ignore image parsing errors and run the analysis anyway"
msgstr ""
msgid "Ignore inhibitor locks on shutdown or sleep"
msgstr ""
@@ -31211,6 +31220,9 @@ msgstr ""
msgid "Ignore newer bugs than upgrade packages"
msgstr "Ignorera nyare buggar än uppgraderade paket"
msgid "Ignore nodump files"
msgstr ""
msgid "Ignore non-authenticated packages"
msgstr "Ignorera oautentiserande paket"
@@ -31466,6 +31478,9 @@ msgstr ""
msgid "Import cuesheet and store in CUESHEET block"
msgstr ""
msgid "Import environment variables into the service manager"
msgstr ""
msgid "Import every tag from a remote with git fetch <name>"
msgstr ""
@@ -32276,9 +32291,6 @@ msgstr ""
msgid "Initialize a new or existing Terraform configuration"
msgstr ""
msgid "Initialize a new project"
msgstr ""
msgid "Initialize a new repository for the given version control system"
msgstr ""
@@ -33428,6 +33440,9 @@ msgstr ""
msgid "Kick current connection from host side and make it reconnect."
msgstr ""
msgid "Kill one or more units"
msgstr ""
msgid "Kill only processes the specified user owns. Command names are optional"
msgstr ""
@@ -34052,6 +34067,9 @@ msgstr "Rader slutar ned nolltecken"
msgid "Linewrap entries as width[,indent1[,indent2]]"
msgstr ""
msgid "Link a unit file into the unit search path"
msgstr ""
msgid "Link against framework (Darwin)"
msgstr ""
@@ -34322,9 +34340,6 @@ msgstr ""
msgid "List all directories from which unit files may be loaded"
msgstr ""
msgid "List all discovered fonts"
msgstr ""
msgid "List all dist-tags"
msgstr ""
@@ -35201,6 +35216,9 @@ msgstr ""
msgid "List ingress zones added"
msgstr ""
msgid "List inode usage instead of block usage"
msgstr ""
msgid "List install_if rule"
msgstr ""
@@ -35927,9 +35945,6 @@ msgstr ""
msgid "List stemcells"
msgstr ""
msgid "List style variants of each family"
msgstr ""
msgid "List subcommands"
msgstr ""
@@ -36053,6 +36068,9 @@ msgstr ""
msgid "List the files that are supplied by the named package"
msgstr ""
msgid "List the host and all running local containers"
msgstr ""
msgid "List the installed extensions"
msgstr ""
@@ -37073,9 +37091,6 @@ msgstr ""
msgid "Lower the volume by 8%"
msgstr ""
msgid "Lowest allowable image efficiency"
msgstr ""
msgid "MAC address"
msgstr ""
@@ -38516,6 +38531,9 @@ msgstr ""
msgid "Mount an entire disk (all mountable volumes)"
msgstr ""
msgid "Mount an image into the mount namespace of a unit"
msgstr ""
msgid "Mount as mountable"
msgstr ""
@@ -40487,9 +40505,6 @@ msgstr ""
msgid "Open non-regular files"
msgstr "Öppna icke-reguljär fil"
msgid "Open output file after compilation"
msgstr ""
msgid "Open package repository page in the browser"
msgstr ""
@@ -41147,6 +41162,15 @@ msgstr ""
msgid "Output in RFC 2822 format"
msgstr ""
msgid "Output in RFC 3339 format with date precision"
msgstr ""
msgid "Output in RFC 3339 format with nanosecond precision"
msgstr ""
msgid "Output in RFC 3339 format with second precision"
msgstr ""
msgid "Output in an easy-to-parse format for scripts"
msgstr ""
@@ -42461,9 +42485,6 @@ msgstr ""
msgid "Path to config file. Default ~/.config/mariner/config.yaml"
msgstr ""
msgid "Path to custom CA certificate"
msgstr ""
msgid "Path to db to use"
msgstr ""
@@ -43148,9 +43169,6 @@ msgstr ""
msgid "Pixel storage type [type]"
msgstr ""
msgid "Pixels per inch for PNG export"
msgstr ""
msgid "Place comment block with TAG (or those preceding keyword lines) in output file"
msgstr ""
@@ -43790,6 +43808,9 @@ msgstr ""
msgid "Prevent including compiler-rt symbols"
msgstr ""
msgid "Prevent one or more units from starting"
msgstr ""
msgid "Prevent override"
msgstr ""
@@ -44762,9 +44783,6 @@ msgstr ""
msgid "Print help for `zig`"
msgstr ""
msgid "Print help for the given subcommand(s)"
msgstr ""
msgid "Print help info and exit"
msgstr ""
@@ -46727,9 +46745,6 @@ msgstr ""
msgid "Process all users' calendars and mail the results"
msgstr ""
msgid "Process an input file to extract metadata"
msgstr ""
msgid "Process at queue only once"
msgstr "Processa 'at'-kö bara en gång"
@@ -46892,9 +46907,6 @@ msgstr ""
msgid "Produce filenames as this string"
msgstr ""
msgid "Produce grand total"
msgstr "Visa totalsumma"
msgid "Produce less output to the terminal"
msgstr ""
@@ -46913,9 +46925,6 @@ msgstr ""
msgid "Produce output in JSON format"
msgstr ""
msgid "Produce performance timings"
msgstr ""
msgid "Produce report on all TAGs"
msgstr ""
@@ -46985,9 +46994,6 @@ msgstr ""
msgid "Project author"
msgstr ""
msgid "Project directory"
msgstr ""
msgid "Project language"
msgstr ""
@@ -47000,9 +47006,6 @@ msgstr ""
msgid "Project release"
msgstr ""
msgid "Project root (for absolute paths)"
msgstr ""
msgid "Project type"
msgstr ""
@@ -47621,6 +47624,9 @@ msgstr ""
msgid "Query the specified service"
msgstr ""
msgid "Query the unit that owns a process"
msgstr ""
msgid "Query to select investment transactions"
msgstr ""
@@ -48371,6 +48377,12 @@ msgstr ""
msgid "Reboot to EFI setup"
msgstr ""
msgid "Reboot userspace"
msgstr ""
msgid "Reboot via kexec"
msgstr ""
msgid "Reboots the device, optionally into the bootloader or recovery program"
msgstr ""
@@ -48548,9 +48560,6 @@ msgstr ""
msgid "Recursion (default for download)"
msgstr ""
msgid "Recursion limit"
msgstr "Rekursionsgräns"
msgid "Recursive mode"
msgstr ""
@@ -48590,6 +48599,9 @@ msgstr ""
msgid "Recursively expand directory"
msgstr ""
msgid "Recursively fetch submodules"
msgstr ""
msgid "Recursively list ports depending on given port"
msgstr ""
@@ -49070,6 +49082,9 @@ msgstr ""
msgid "Reload server configuration"
msgstr ""
msgid "Reload the configuration of the system manager"
msgstr ""
msgid "Reload the default keys"
msgstr ""
@@ -50708,6 +50723,9 @@ msgstr ""
msgid "Request a subset of objects from server"
msgstr ""
msgid "Request a unit reload its configuration"
msgstr ""
msgid "Request allocation of a pseudo TTY for stdio"
msgstr ""
@@ -51521,9 +51539,6 @@ msgstr ""
msgid "Retrieve current host IP address and place it under a configurable project property"
msgstr ""
msgid "Retrieve exactly one element"
msgstr ""
msgid "Retrieve fresh bugs"
msgstr "Hämta färska buggar"
@@ -51860,9 +51875,6 @@ msgstr ""
msgid "Revert to the received value if available"
msgstr ""
msgid "Revert to the version from before the last update"
msgstr ""
msgid "Review the control file before creating a .deb"
msgstr ""
@@ -51890,6 +51902,9 @@ msgstr ""
msgid "Revokes an authentication token"
msgstr ""
msgid "Rewrite a commit message"
msgstr ""
msgid "Rewrite all not-found requests to `index.html`"
msgstr ""
@@ -51902,6 +51917,9 @@ msgstr ""
msgid "Rewrite file in FORMAT"
msgstr ""
msgid "Rewrite history"
msgstr ""
msgid "Rewrite rule (e.g., 'a[b:len(a)] -> a[b:]')"
msgstr ""
@@ -54461,9 +54479,6 @@ msgstr ""
msgid "Selects which device lsusb will examine"
msgstr ""
msgid "Self update the Typst CLI"
msgstr ""
msgid "Semantic version category for new version"
msgstr ""
@@ -57263,9 +57278,6 @@ msgstr ""
msgid "Set watches"
msgstr ""
msgid "Set when to use color"
msgstr ""
msgid "Set where to write formatted output"
msgstr ""
@@ -59606,6 +59618,9 @@ msgstr ""
msgid "Show properties of machines"
msgstr ""
msgid "Show properties of one or more units, jobs, or the manager itself"
msgstr ""
msgid "Show properties of systemd-timedated"
msgstr ""
@@ -59957,6 +59972,9 @@ msgstr ""
msgid "Show the author email instead of author name"
msgstr ""
msgid "Show the backing files of one or more units"
msgstr ""
msgid "Show the branch and tracking info even in short-format"
msgstr ""
@@ -60113,6 +60131,9 @@ msgstr ""
msgid "Show the manual page"
msgstr ""
msgid "Show the manual page for a unit"
msgstr ""
msgid "Show the menubar"
msgstr ""
@@ -60278,6 +60299,9 @@ msgstr ""
msgid "Show threads. With SPID"
msgstr ""
msgid "Show time as WORD instead of modification time"
msgstr ""
msgid "Show time stamping capabilities and PTP hardware clock"
msgstr ""
@@ -60290,6 +60314,9 @@ msgstr ""
msgid "Show timer"
msgstr ""
msgid "Show times using style (or +FORMAT)"
msgstr ""
msgid "Show timestamp"
msgstr ""
@@ -61238,9 +61265,6 @@ msgstr ""
msgid "Skip mount checks, repair is not possible"
msgstr ""
msgid "Skip other file systems"
msgstr ""
msgid "Skip package installation for this run"
msgstr ""
@@ -61289,12 +61313,6 @@ msgstr ""
msgid "Skip the given initial samples for each input {#|mm:ss.ss}"
msgstr ""
msgid "Skip the interactive TUI and validate against CI rules"
msgstr ""
msgid "Skip the interactive TUI and write the layer analysis statistics to a given file"
msgstr ""
msgid "Skip the normal function prologue and epilogue that sets up the stack-frame"
msgstr ""
@@ -63980,6 +63998,9 @@ msgstr ""
msgid "Split stdout and stderr in test logs"
msgstr ""
msgid "Split up a commit"
msgstr ""
msgid "Spoof MAC address"
msgstr ""
@@ -64706,6 +64727,9 @@ msgstr ""
msgid "Stop playing"
msgstr ""
msgid "Stop preventing one or more units from starting"
msgstr ""
msgid "Stop preventing package modification"
msgstr ""
@@ -64913,9 +64937,6 @@ msgstr ""
msgid "String as the value for the given key"
msgstr ""
msgid "String key-value pair for `sys.inputs`"
msgstr ""
msgid "String literal mode"
msgstr ""
@@ -65120,6 +65141,9 @@ msgstr ""
msgid "Summarize disk usage of each file."
msgstr ""
msgid "Summarize usage of NUL-terminated files in file"
msgstr ""
msgid "Super go mode: clean out generated files before processing"
msgstr ""
@@ -66419,9 +66443,6 @@ msgstr ""
msgid "The connection protocol to use"
msgstr ""
msgid "The container engine to fetch the image from"
msgstr ""
msgid "The copy job is not persisted if VM is turned off"
msgstr ""
@@ -69200,8 +69221,14 @@ msgstr ""
msgid "Use 1B block size"
msgstr "Använd 1B som blockstorlek"
msgid "Use 1kB block size"
msgstr "Använd 1kB blockstorlek"
msgid "Use 1GB block size"
msgstr ""
msgid "Use 1KB block size"
msgstr ""
msgid "Use 1MB block size"
msgstr ""
msgid "Use 32-bit \"float\""
msgstr ""
@@ -72440,9 +72467,6 @@ msgstr ""
msgid "Watch a specific file or directory"
msgstr ""
msgid "Watch an input file and recompile on changes"
msgstr ""
msgid "Watch and list new logs"
msgstr ""
@@ -73253,9 +73277,6 @@ msgstr ""
msgid "Write selection"
msgstr "Visa urval"
msgid "Write size for all files"
msgstr "Skriv ut storlek för alla filer"
msgid "Write special status strings to the specified file descriptor"
msgstr "Skriv speciella statussträngar till den angivna filidentifieraren"
@@ -74360,6 +74381,9 @@ msgstr ""
msgid "configure the Salesforce CLI"
msgstr ""
msgid "connect adb to the Android container"
msgstr ""
msgid "connect to a custom bus"
msgstr ""
@@ -74450,6 +74474,9 @@ msgstr ""
msgid "create a backup of one or several jails"
msgstr ""
msgid "create a bugreport archive interactively"
msgstr ""
msgid "create a bundle for an Aura component or a Lightning web component"
msgstr ""
@@ -74798,6 +74825,9 @@ msgstr ""
msgid "discard uncommitted changes (no backup)"
msgstr ""
msgid "disconnect adb from the Android container"
msgstr ""
msgid "disconnect and wait for reassociate command before connecting"
msgstr ""
@@ -77036,6 +77066,9 @@ msgstr ""
msgid "make vendored copy of dependencies"
msgstr ""
msgid "manage adb connection"
msgstr ""
msgid "manage and query devices in the filesystem"
msgstr ""
@@ -77609,7 +77642,7 @@ msgstr ""
msgid "output diffstat-style summary of changes"
msgstr ""
msgid "output directory to store the Metadata APIformatted files in"
msgid "output directory to store the Metadata API-formatted files in"
msgstr ""
msgid "output encoding"
@@ -78854,6 +78887,9 @@ msgstr ""
msgid "run as if started in dir"
msgstr ""
msgid "run as user mode, connecting to the remote initializer service"
msgstr ""
msgid "run command"
msgstr ""
@@ -80030,7 +80066,7 @@ msgstr ""
msgid "the org to list the apps for"
msgstr ""
msgid "the output directory to store the sourceformatted files"
msgid "the output directory to store the source-formatted files"
msgstr ""
msgid "the streaming client socket timeout (in minutes)"

View File

@@ -3719,9 +3719,6 @@ msgstr "fish 中类似 vi 的键位绑定"
msgid "wait for app to exit"
msgstr "等待应用程序退出"
msgid "fish-section-tier3-from-script-explicitly-added"
msgstr ""
msgid "fish-section-tier3-from-script-implicitly-added"
msgstr ""
@@ -4397,7 +4394,7 @@ msgstr ""
msgid "(required) the path to the CSV file that defines the records to upsert"
msgstr ""
msgid "(required) the root directory containing the Metadata APIformatted metadata"
msgid "(required) the root directory containing the Metadata API-formatted metadata"
msgstr ""
msgid "(required) the sObject type of the records you want to upsert"
@@ -5339,12 +5336,18 @@ msgstr ""
msgid "Add OFFSET to file positions in hexdump"
msgstr ""
msgid "Add Requires dependencies to a target unit"
msgstr ""
msgid "Add Signed-off-by line at the end of the merge commit message"
msgstr ""
msgid "Add Signed-off-by line to the commit message"
msgstr ""
msgid "Add Wants dependencies to a target unit"
msgstr ""
msgid "Add Winelib to import"
msgstr ""
@@ -6143,9 +6146,6 @@ msgstr ""
msgid "Additional `Cargo.toml` to sync and vendor"
msgstr ""
msgid "Additional directories to search for fonts"
msgstr ""
msgid "Additional flag for strings inside the argument number ARG of keyword WORD"
msgstr ""
@@ -8090,6 +8090,9 @@ msgstr ""
msgid "Ask the server to reimport files for UTIs claimed by the listed plugin"
msgstr ""
msgid "Ask the service manager to exit"
msgstr ""
msgid "Ask the user for confirmation before killing a process"
msgstr ""
@@ -9089,6 +9092,9 @@ msgstr ""
msgid "Bind mount a file or directory from the host in the container"
msgstr ""
msgid "Bind mount a path into the mount namespace of a unit"
msgstr ""
msgid "Bind mounts src into CHROOTDIR/dest"
msgstr ""
@@ -9176,6 +9182,12 @@ msgstr ""
msgid "Block size"
msgstr ""
msgid "Block size (e.g. 1M, KiB)"
msgstr ""
msgid "Block size in bytes"
msgstr ""
msgid "Block size to use in all I/O operations (default: 16K)"
msgstr ""
@@ -9389,9 +9401,6 @@ msgstr ""
msgid "Build an RPM package"
msgstr ""
msgid "Build and analyze a Docker image from a Dockerfile"
msgstr ""
msgid "Build and install a new package"
msgstr ""
@@ -9815,6 +9824,9 @@ msgstr ""
msgid "Cancel jobs owned by username"
msgstr ""
msgid "Cancel one or more jobs"
msgstr ""
msgid "Cancel pairing with device"
msgstr ""
@@ -11954,9 +11966,6 @@ msgstr ""
msgid "Compile all the methods in an assembly"
msgstr ""
msgid "Compile an input file"
msgstr ""
msgid "Compile and run an executable product"
msgstr "编译并运行一个可执行产品"
@@ -12248,9 +12257,6 @@ msgstr ""
msgid "Config and front matter format"
msgstr ""
msgid "Config file"
msgstr ""
msgid "Config file (default: $HOME/.s3cfg)"
msgstr ""
@@ -13187,9 +13193,6 @@ msgstr ""
msgid "Count executions of source lines"
msgstr ""
msgid "Count hard links multiple times"
msgstr ""
msgid "Count hidden files, too"
msgstr ""
@@ -15443,12 +15446,6 @@ msgstr ""
msgid "Dereference TARGETs that are symbolic links"
msgstr ""
msgid "Dereference all symlinks"
msgstr ""
msgid "Dereference file symlinks"
msgstr ""
msgid "Dereference structures for the specified set of system calls"
msgstr ""
@@ -16880,6 +16877,9 @@ msgstr ""
msgid "Disable the docs title"
msgstr ""
msgid "Disable the enable one or more units"
msgstr ""
msgid "Disable the eval extension"
msgstr ""
@@ -17456,6 +17456,9 @@ msgstr ""
msgid "Display answers as exclamation points and missing packets as dots"
msgstr ""
msgid "Display apparent size"
msgstr ""
msgid "Display architecture specific information"
msgstr ""
@@ -20195,6 +20198,9 @@ msgstr ""
msgid "Do not recurse unless -depth is specified"
msgstr ""
msgid "Do not recursively fetch submodules"
msgstr ""
msgid "Do not redirect output to a pager"
msgstr ""
@@ -20648,6 +20654,9 @@ msgstr ""
msgid "Do not update index or working tree"
msgstr ""
msgid "Do not update references"
msgstr ""
msgid "Do not update the cache in vendor/cache with the newly bundled gems"
msgstr ""
@@ -23114,6 +23123,9 @@ msgstr ""
msgid "Dump the relocated contents of of specified section"
msgstr ""
msgid "Dump the systemd manager environment block"
msgstr ""
msgid "Dump tree structures from a given device"
msgstr ""
@@ -23264,6 +23276,9 @@ msgstr ""
msgid "Edit a property with an external editor"
msgstr ""
msgid "Edit a unit file or drop-in snippet"
msgstr ""
msgid "Edit an entry"
msgstr ""
@@ -24656,12 +24671,18 @@ msgstr ""
msgid "Enable/Disable colored error messages"
msgstr ""
msgid "Enable/disable a unit depending on preset configuration"
msgstr ""
msgid "Enable/disable advertising with given type"
msgstr ""
msgid "Enable/disable agent with given capability"
msgstr ""
msgid "Enable/disable all units depending on preset configuration"
msgstr ""
msgid "Enable/disable bucket access logging"
msgstr ""
@@ -24905,6 +24926,9 @@ msgstr ""
msgid "End current session cleanly"
msgstr ""
msgid "End each output line with NUL"
msgstr ""
msgid "End each output line with NUL, not newline, and disable file name escaping"
msgstr ""
@@ -24998,6 +25022,15 @@ msgstr ""
msgid "Ensure value is of given type"
msgstr ""
msgid "Enter and isolate emergency mode"
msgstr ""
msgid "Enter and isolate rescue mode"
msgstr ""
msgid "Enter and isolate the default mode"
msgstr ""
msgid "Enter commit message as a string"
msgstr ""
@@ -26123,9 +26156,6 @@ msgstr ""
msgid "Extract into directory"
msgstr ""
msgid "Extract just one field"
msgstr ""
msgid "Extract most recent versions of files"
msgstr ""
@@ -27203,6 +27233,9 @@ msgstr ""
msgid "Follow command-line symbolic links"
msgstr ""
msgid "Follow command-line symlinks only"
msgstr ""
msgid "Follow given symlinks with -R"
msgstr ""
@@ -27401,9 +27434,6 @@ msgstr ""
msgid "Force a complete refresh"
msgstr ""
msgid "Force a downgrade to an older version"
msgstr ""
msgid "Force a fixed checksum block-size"
msgstr ""
@@ -28196,9 +28226,6 @@ msgstr ""
msgid "Format of the list command output"
msgstr ""
msgid "Format of the output file"
msgstr ""
msgid "Format of the output: text or json"
msgstr ""
@@ -28235,12 +28262,6 @@ msgstr ""
msgid "Format the print file with a shaded header: date, time, job name, and page no."
msgstr ""
msgid "Format to emit diagnostics in"
msgstr ""
msgid "Format to serialize in"
msgstr ""
msgid "Format to use for the output"
msgstr ""
@@ -30347,9 +30368,6 @@ msgstr ""
msgid "Help for convert"
msgstr ""
msgid "Help for dive"
msgstr ""
msgid "Help for doc"
msgstr ""
@@ -30509,12 +30527,6 @@ msgstr ""
msgid "Higher-order task to perform other tasks in succession."
msgstr ""
msgid "Highest allowable bytes wasted"
msgstr ""
msgid "Highest allowable percentage of bytes wasted"
msgstr ""
msgid "Highest compression, same as -12"
msgstr ""
@@ -30866,9 +30878,6 @@ msgstr ""
msgid "Idiomatically format Dart source code"
msgstr ""
msgid "If CI=true in the environment, use the given yaml to drive validation rules"
msgstr ""
msgid "If HTTP proxy is used, make curl tunnel through it"
msgstr ""
@@ -31154,6 +31163,9 @@ msgstr ""
msgid "Ignore files ending with ~"
msgstr ""
msgid "Ignore files matching mask"
msgstr ""
msgid "Ignore files that already exist on receiver"
msgstr ""
@@ -31169,9 +31181,6 @@ msgstr ""
msgid "Ignore host and package architecture mismatch"
msgstr ""
msgid "Ignore image parsing errors and run the analysis anyway"
msgstr ""
msgid "Ignore inhibitor locks on shutdown or sleep"
msgstr ""
@@ -31235,6 +31244,9 @@ msgstr ""
msgid "Ignore newer bugs than upgrade packages"
msgstr ""
msgid "Ignore nodump files"
msgstr ""
msgid "Ignore non-authenticated packages"
msgstr ""
@@ -31490,6 +31502,9 @@ msgstr ""
msgid "Import cuesheet and store in CUESHEET block"
msgstr ""
msgid "Import environment variables into the service manager"
msgstr ""
msgid "Import every tag from a remote with git fetch <name>"
msgstr ""
@@ -32300,9 +32315,6 @@ msgstr ""
msgid "Initialize a new or existing Terraform configuration"
msgstr ""
msgid "Initialize a new project"
msgstr ""
msgid "Initialize a new repository for the given version control system"
msgstr ""
@@ -33452,6 +33464,9 @@ msgstr ""
msgid "Kick current connection from host side and make it reconnect."
msgstr ""
msgid "Kill one or more units"
msgstr ""
msgid "Kill only processes the specified user owns. Command names are optional"
msgstr ""
@@ -34076,6 +34091,9 @@ msgstr ""
msgid "Linewrap entries as width[,indent1[,indent2]]"
msgstr ""
msgid "Link a unit file into the unit search path"
msgstr ""
msgid "Link against framework (Darwin)"
msgstr ""
@@ -34346,9 +34364,6 @@ msgstr ""
msgid "List all directories from which unit files may be loaded"
msgstr ""
msgid "List all discovered fonts"
msgstr ""
msgid "List all dist-tags"
msgstr ""
@@ -35225,6 +35240,9 @@ msgstr ""
msgid "List ingress zones added"
msgstr ""
msgid "List inode usage instead of block usage"
msgstr ""
msgid "List install_if rule"
msgstr ""
@@ -35951,9 +35969,6 @@ msgstr ""
msgid "List stemcells"
msgstr ""
msgid "List style variants of each family"
msgstr ""
msgid "List subcommands"
msgstr ""
@@ -36077,6 +36092,9 @@ msgstr ""
msgid "List the files that are supplied by the named package"
msgstr ""
msgid "List the host and all running local containers"
msgstr ""
msgid "List the installed extensions"
msgstr ""
@@ -37097,9 +37115,6 @@ msgstr ""
msgid "Lower the volume by 8%"
msgstr ""
msgid "Lowest allowable image efficiency"
msgstr ""
msgid "MAC address"
msgstr ""
@@ -38540,6 +38555,9 @@ msgstr ""
msgid "Mount an entire disk (all mountable volumes)"
msgstr ""
msgid "Mount an image into the mount namespace of a unit"
msgstr ""
msgid "Mount as mountable"
msgstr ""
@@ -40511,9 +40529,6 @@ msgstr ""
msgid "Open non-regular files"
msgstr ""
msgid "Open output file after compilation"
msgstr ""
msgid "Open package repository page in the browser"
msgstr ""
@@ -41171,6 +41186,15 @@ msgstr ""
msgid "Output in RFC 2822 format"
msgstr ""
msgid "Output in RFC 3339 format with date precision"
msgstr ""
msgid "Output in RFC 3339 format with nanosecond precision"
msgstr ""
msgid "Output in RFC 3339 format with second precision"
msgstr ""
msgid "Output in an easy-to-parse format for scripts"
msgstr ""
@@ -42485,9 +42509,6 @@ msgstr ""
msgid "Path to config file. Default ~/.config/mariner/config.yaml"
msgstr ""
msgid "Path to custom CA certificate"
msgstr ""
msgid "Path to db to use"
msgstr ""
@@ -43172,9 +43193,6 @@ msgstr ""
msgid "Pixel storage type [type]"
msgstr ""
msgid "Pixels per inch for PNG export"
msgstr ""
msgid "Place comment block with TAG (or those preceding keyword lines) in output file"
msgstr ""
@@ -43814,6 +43832,9 @@ msgstr ""
msgid "Prevent including compiler-rt symbols"
msgstr ""
msgid "Prevent one or more units from starting"
msgstr ""
msgid "Prevent override"
msgstr ""
@@ -44786,9 +44807,6 @@ msgstr ""
msgid "Print help for `zig`"
msgstr ""
msgid "Print help for the given subcommand(s)"
msgstr ""
msgid "Print help info and exit"
msgstr ""
@@ -46751,9 +46769,6 @@ msgstr ""
msgid "Process all users' calendars and mail the results"
msgstr ""
msgid "Process an input file to extract metadata"
msgstr ""
msgid "Process at queue only once"
msgstr ""
@@ -46916,9 +46931,6 @@ msgstr ""
msgid "Produce filenames as this string"
msgstr ""
msgid "Produce grand total"
msgstr ""
msgid "Produce less output to the terminal"
msgstr ""
@@ -46937,9 +46949,6 @@ msgstr ""
msgid "Produce output in JSON format"
msgstr ""
msgid "Produce performance timings"
msgstr ""
msgid "Produce report on all TAGs"
msgstr ""
@@ -47009,9 +47018,6 @@ msgstr ""
msgid "Project author"
msgstr ""
msgid "Project directory"
msgstr ""
msgid "Project language"
msgstr ""
@@ -47024,9 +47030,6 @@ msgstr ""
msgid "Project release"
msgstr ""
msgid "Project root (for absolute paths)"
msgstr ""
msgid "Project type"
msgstr ""
@@ -47645,6 +47648,9 @@ msgstr ""
msgid "Query the specified service"
msgstr ""
msgid "Query the unit that owns a process"
msgstr ""
msgid "Query to select investment transactions"
msgstr ""
@@ -48395,6 +48401,12 @@ msgstr ""
msgid "Reboot to EFI setup"
msgstr ""
msgid "Reboot userspace"
msgstr ""
msgid "Reboot via kexec"
msgstr ""
msgid "Reboots the device, optionally into the bootloader or recovery program"
msgstr ""
@@ -48572,9 +48584,6 @@ msgstr ""
msgid "Recursion (default for download)"
msgstr ""
msgid "Recursion limit"
msgstr ""
msgid "Recursive mode"
msgstr ""
@@ -48614,6 +48623,9 @@ msgstr ""
msgid "Recursively expand directory"
msgstr ""
msgid "Recursively fetch submodules"
msgstr ""
msgid "Recursively list ports depending on given port"
msgstr ""
@@ -49094,6 +49106,9 @@ msgstr ""
msgid "Reload server configuration"
msgstr ""
msgid "Reload the configuration of the system manager"
msgstr ""
msgid "Reload the default keys"
msgstr ""
@@ -50732,6 +50747,9 @@ msgstr ""
msgid "Request a subset of objects from server"
msgstr ""
msgid "Request a unit reload its configuration"
msgstr ""
msgid "Request allocation of a pseudo TTY for stdio"
msgstr ""
@@ -51545,9 +51563,6 @@ msgstr ""
msgid "Retrieve current host IP address and place it under a configurable project property"
msgstr ""
msgid "Retrieve exactly one element"
msgstr ""
msgid "Retrieve fresh bugs"
msgstr ""
@@ -51884,9 +51899,6 @@ msgstr ""
msgid "Revert to the received value if available"
msgstr ""
msgid "Revert to the version from before the last update"
msgstr ""
msgid "Review the control file before creating a .deb"
msgstr ""
@@ -51914,6 +51926,9 @@ msgstr ""
msgid "Revokes an authentication token"
msgstr ""
msgid "Rewrite a commit message"
msgstr ""
msgid "Rewrite all not-found requests to `index.html`"
msgstr ""
@@ -51926,6 +51941,9 @@ msgstr ""
msgid "Rewrite file in FORMAT"
msgstr ""
msgid "Rewrite history"
msgstr ""
msgid "Rewrite rule (e.g., 'a[b:len(a)] -> a[b:]')"
msgstr ""
@@ -54485,9 +54503,6 @@ msgstr ""
msgid "Selects which device lsusb will examine"
msgstr ""
msgid "Self update the Typst CLI"
msgstr ""
msgid "Semantic version category for new version"
msgstr ""
@@ -57287,9 +57302,6 @@ msgstr ""
msgid "Set watches"
msgstr ""
msgid "Set when to use color"
msgstr ""
msgid "Set where to write formatted output"
msgstr ""
@@ -59630,6 +59642,9 @@ msgstr ""
msgid "Show properties of machines"
msgstr ""
msgid "Show properties of one or more units, jobs, or the manager itself"
msgstr ""
msgid "Show properties of systemd-timedated"
msgstr ""
@@ -59981,6 +59996,9 @@ msgstr ""
msgid "Show the author email instead of author name"
msgstr ""
msgid "Show the backing files of one or more units"
msgstr ""
msgid "Show the branch and tracking info even in short-format"
msgstr ""
@@ -60137,6 +60155,9 @@ msgstr ""
msgid "Show the manual page"
msgstr ""
msgid "Show the manual page for a unit"
msgstr ""
msgid "Show the menubar"
msgstr ""
@@ -60302,6 +60323,9 @@ msgstr ""
msgid "Show threads. With SPID"
msgstr ""
msgid "Show time as WORD instead of modification time"
msgstr ""
msgid "Show time stamping capabilities and PTP hardware clock"
msgstr ""
@@ -60314,6 +60338,9 @@ msgstr ""
msgid "Show timer"
msgstr ""
msgid "Show times using style (or +FORMAT)"
msgstr ""
msgid "Show timestamp"
msgstr ""
@@ -61262,9 +61289,6 @@ msgstr ""
msgid "Skip mount checks, repair is not possible"
msgstr ""
msgid "Skip other file systems"
msgstr ""
msgid "Skip package installation for this run"
msgstr ""
@@ -61313,12 +61337,6 @@ msgstr ""
msgid "Skip the given initial samples for each input {#|mm:ss.ss}"
msgstr ""
msgid "Skip the interactive TUI and validate against CI rules"
msgstr ""
msgid "Skip the interactive TUI and write the layer analysis statistics to a given file"
msgstr ""
msgid "Skip the normal function prologue and epilogue that sets up the stack-frame"
msgstr ""
@@ -64004,6 +64022,9 @@ msgstr ""
msgid "Split stdout and stderr in test logs"
msgstr ""
msgid "Split up a commit"
msgstr ""
msgid "Spoof MAC address"
msgstr ""
@@ -64730,6 +64751,9 @@ msgstr ""
msgid "Stop playing"
msgstr ""
msgid "Stop preventing one or more units from starting"
msgstr ""
msgid "Stop preventing package modification"
msgstr ""
@@ -64937,9 +64961,6 @@ msgstr ""
msgid "String as the value for the given key"
msgstr ""
msgid "String key-value pair for `sys.inputs`"
msgstr ""
msgid "String literal mode"
msgstr ""
@@ -65144,6 +65165,9 @@ msgstr ""
msgid "Summarize disk usage of each file."
msgstr ""
msgid "Summarize usage of NUL-terminated files in file"
msgstr ""
msgid "Super go mode: clean out generated files before processing"
msgstr ""
@@ -66443,9 +66467,6 @@ msgstr ""
msgid "The connection protocol to use"
msgstr ""
msgid "The container engine to fetch the image from"
msgstr ""
msgid "The copy job is not persisted if VM is turned off"
msgstr ""
@@ -69224,7 +69245,13 @@ msgstr ""
msgid "Use 1B block size"
msgstr ""
msgid "Use 1kB block size"
msgid "Use 1GB block size"
msgstr ""
msgid "Use 1KB block size"
msgstr ""
msgid "Use 1MB block size"
msgstr ""
msgid "Use 32-bit \"float\""
@@ -72464,9 +72491,6 @@ msgstr ""
msgid "Watch a specific file or directory"
msgstr ""
msgid "Watch an input file and recompile on changes"
msgstr ""
msgid "Watch and list new logs"
msgstr ""
@@ -73277,9 +73301,6 @@ msgstr ""
msgid "Write selection"
msgstr ""
msgid "Write size for all files"
msgstr ""
msgid "Write special status strings to the specified file descriptor"
msgstr ""
@@ -74384,6 +74405,9 @@ msgstr ""
msgid "configure the Salesforce CLI"
msgstr ""
msgid "connect adb to the Android container"
msgstr ""
msgid "connect to a custom bus"
msgstr ""
@@ -74474,6 +74498,9 @@ msgstr ""
msgid "create a backup of one or several jails"
msgstr ""
msgid "create a bugreport archive interactively"
msgstr ""
msgid "create a bundle for an Aura component or a Lightning web component"
msgstr ""
@@ -74822,6 +74849,9 @@ msgstr ""
msgid "discard uncommitted changes (no backup)"
msgstr ""
msgid "disconnect adb from the Android container"
msgstr ""
msgid "disconnect and wait for reassociate command before connecting"
msgstr ""
@@ -77060,6 +77090,9 @@ msgstr ""
msgid "make vendored copy of dependencies"
msgstr ""
msgid "manage adb connection"
msgstr ""
msgid "manage and query devices in the filesystem"
msgstr ""
@@ -77633,7 +77666,7 @@ msgstr ""
msgid "output diffstat-style summary of changes"
msgstr ""
msgid "output directory to store the Metadata APIformatted files in"
msgid "output directory to store the Metadata API-formatted files in"
msgstr ""
msgid "output encoding"
@@ -78878,6 +78911,9 @@ msgstr ""
msgid "run as if started in dir"
msgstr ""
msgid "run as user mode, connecting to the remote initializer service"
msgstr ""
msgid "run command"
msgstr ""
@@ -80054,7 +80090,7 @@ msgstr ""
msgid "the org to list the apps for"
msgstr ""
msgid "the output directory to store the sourceformatted files"
msgid "the output directory to store the source-formatted files"
msgstr ""
msgid "the streaming client socket timeout (in minutes)"

View File

@@ -3696,9 +3696,6 @@ msgstr "vi 風格的按鍵綁定"
msgid "wait for app to exit"
msgstr "等待應用程式結束"
msgid "fish-section-tier3-from-script-explicitly-added"
msgstr ""
msgid "fish-section-tier3-from-script-implicitly-added"
msgstr ""
@@ -4374,7 +4371,7 @@ msgstr ""
msgid "(required) the path to the CSV file that defines the records to upsert"
msgstr ""
msgid "(required) the root directory containing the Metadata APIformatted metadata"
msgid "(required) the root directory containing the Metadata API-formatted metadata"
msgstr ""
msgid "(required) the sObject type of the records you want to upsert"
@@ -5316,12 +5313,18 @@ msgstr ""
msgid "Add OFFSET to file positions in hexdump"
msgstr ""
msgid "Add Requires dependencies to a target unit"
msgstr ""
msgid "Add Signed-off-by line at the end of the merge commit message"
msgstr ""
msgid "Add Signed-off-by line to the commit message"
msgstr ""
msgid "Add Wants dependencies to a target unit"
msgstr ""
msgid "Add Winelib to import"
msgstr ""
@@ -6120,9 +6123,6 @@ msgstr ""
msgid "Additional `Cargo.toml` to sync and vendor"
msgstr ""
msgid "Additional directories to search for fonts"
msgstr ""
msgid "Additional flag for strings inside the argument number ARG of keyword WORD"
msgstr ""
@@ -8067,6 +8067,9 @@ msgstr ""
msgid "Ask the server to reimport files for UTIs claimed by the listed plugin"
msgstr ""
msgid "Ask the service manager to exit"
msgstr ""
msgid "Ask the user for confirmation before killing a process"
msgstr ""
@@ -9066,6 +9069,9 @@ msgstr ""
msgid "Bind mount a file or directory from the host in the container"
msgstr ""
msgid "Bind mount a path into the mount namespace of a unit"
msgstr ""
msgid "Bind mounts src into CHROOTDIR/dest"
msgstr ""
@@ -9153,6 +9159,12 @@ msgstr ""
msgid "Block size"
msgstr ""
msgid "Block size (e.g. 1M, KiB)"
msgstr ""
msgid "Block size in bytes"
msgstr ""
msgid "Block size to use in all I/O operations (default: 16K)"
msgstr ""
@@ -9366,9 +9378,6 @@ msgstr ""
msgid "Build an RPM package"
msgstr ""
msgid "Build and analyze a Docker image from a Dockerfile"
msgstr ""
msgid "Build and install a new package"
msgstr ""
@@ -9792,6 +9801,9 @@ msgstr ""
msgid "Cancel jobs owned by username"
msgstr ""
msgid "Cancel one or more jobs"
msgstr ""
msgid "Cancel pairing with device"
msgstr ""
@@ -11931,9 +11943,6 @@ msgstr ""
msgid "Compile all the methods in an assembly"
msgstr ""
msgid "Compile an input file"
msgstr ""
msgid "Compile and run an executable product"
msgstr ""
@@ -12225,9 +12234,6 @@ msgstr ""
msgid "Config and front matter format"
msgstr ""
msgid "Config file"
msgstr ""
msgid "Config file (default: $HOME/.s3cfg)"
msgstr ""
@@ -13164,9 +13170,6 @@ msgstr ""
msgid "Count executions of source lines"
msgstr ""
msgid "Count hard links multiple times"
msgstr ""
msgid "Count hidden files, too"
msgstr ""
@@ -15420,12 +15423,6 @@ msgstr ""
msgid "Dereference TARGETs that are symbolic links"
msgstr ""
msgid "Dereference all symlinks"
msgstr ""
msgid "Dereference file symlinks"
msgstr ""
msgid "Dereference structures for the specified set of system calls"
msgstr ""
@@ -16857,6 +16854,9 @@ msgstr ""
msgid "Disable the docs title"
msgstr ""
msgid "Disable the enable one or more units"
msgstr ""
msgid "Disable the eval extension"
msgstr ""
@@ -17433,6 +17433,9 @@ msgstr ""
msgid "Display answers as exclamation points and missing packets as dots"
msgstr ""
msgid "Display apparent size"
msgstr ""
msgid "Display architecture specific information"
msgstr ""
@@ -20172,6 +20175,9 @@ msgstr ""
msgid "Do not recurse unless -depth is specified"
msgstr ""
msgid "Do not recursively fetch submodules"
msgstr ""
msgid "Do not redirect output to a pager"
msgstr ""
@@ -20625,6 +20631,9 @@ msgstr ""
msgid "Do not update index or working tree"
msgstr ""
msgid "Do not update references"
msgstr ""
msgid "Do not update the cache in vendor/cache with the newly bundled gems"
msgstr ""
@@ -23091,6 +23100,9 @@ msgstr ""
msgid "Dump the relocated contents of of specified section"
msgstr ""
msgid "Dump the systemd manager environment block"
msgstr ""
msgid "Dump tree structures from a given device"
msgstr ""
@@ -23241,6 +23253,9 @@ msgstr ""
msgid "Edit a property with an external editor"
msgstr ""
msgid "Edit a unit file or drop-in snippet"
msgstr ""
msgid "Edit an entry"
msgstr ""
@@ -24633,12 +24648,18 @@ msgstr ""
msgid "Enable/Disable colored error messages"
msgstr ""
msgid "Enable/disable a unit depending on preset configuration"
msgstr ""
msgid "Enable/disable advertising with given type"
msgstr ""
msgid "Enable/disable agent with given capability"
msgstr ""
msgid "Enable/disable all units depending on preset configuration"
msgstr ""
msgid "Enable/disable bucket access logging"
msgstr ""
@@ -24882,6 +24903,9 @@ msgstr ""
msgid "End current session cleanly"
msgstr ""
msgid "End each output line with NUL"
msgstr ""
msgid "End each output line with NUL, not newline, and disable file name escaping"
msgstr ""
@@ -24975,6 +24999,15 @@ msgstr ""
msgid "Ensure value is of given type"
msgstr ""
msgid "Enter and isolate emergency mode"
msgstr ""
msgid "Enter and isolate rescue mode"
msgstr ""
msgid "Enter and isolate the default mode"
msgstr ""
msgid "Enter commit message as a string"
msgstr ""
@@ -26100,9 +26133,6 @@ msgstr ""
msgid "Extract into directory"
msgstr ""
msgid "Extract just one field"
msgstr ""
msgid "Extract most recent versions of files"
msgstr ""
@@ -27180,6 +27210,9 @@ msgstr ""
msgid "Follow command-line symbolic links"
msgstr ""
msgid "Follow command-line symlinks only"
msgstr ""
msgid "Follow given symlinks with -R"
msgstr ""
@@ -27378,9 +27411,6 @@ msgstr ""
msgid "Force a complete refresh"
msgstr ""
msgid "Force a downgrade to an older version"
msgstr ""
msgid "Force a fixed checksum block-size"
msgstr ""
@@ -28173,9 +28203,6 @@ msgstr ""
msgid "Format of the list command output"
msgstr ""
msgid "Format of the output file"
msgstr ""
msgid "Format of the output: text or json"
msgstr ""
@@ -28212,12 +28239,6 @@ msgstr ""
msgid "Format the print file with a shaded header: date, time, job name, and page no."
msgstr ""
msgid "Format to emit diagnostics in"
msgstr ""
msgid "Format to serialize in"
msgstr ""
msgid "Format to use for the output"
msgstr ""
@@ -30324,9 +30345,6 @@ msgstr ""
msgid "Help for convert"
msgstr ""
msgid "Help for dive"
msgstr ""
msgid "Help for doc"
msgstr ""
@@ -30486,12 +30504,6 @@ msgstr ""
msgid "Higher-order task to perform other tasks in succession."
msgstr ""
msgid "Highest allowable bytes wasted"
msgstr ""
msgid "Highest allowable percentage of bytes wasted"
msgstr ""
msgid "Highest compression, same as -12"
msgstr ""
@@ -30843,9 +30855,6 @@ msgstr ""
msgid "Idiomatically format Dart source code"
msgstr ""
msgid "If CI=true in the environment, use the given yaml to drive validation rules"
msgstr ""
msgid "If HTTP proxy is used, make curl tunnel through it"
msgstr ""
@@ -31131,6 +31140,9 @@ msgstr ""
msgid "Ignore files ending with ~"
msgstr ""
msgid "Ignore files matching mask"
msgstr ""
msgid "Ignore files that already exist on receiver"
msgstr ""
@@ -31146,9 +31158,6 @@ msgstr ""
msgid "Ignore host and package architecture mismatch"
msgstr ""
msgid "Ignore image parsing errors and run the analysis anyway"
msgstr ""
msgid "Ignore inhibitor locks on shutdown or sleep"
msgstr ""
@@ -31212,6 +31221,9 @@ msgstr ""
msgid "Ignore newer bugs than upgrade packages"
msgstr ""
msgid "Ignore nodump files"
msgstr ""
msgid "Ignore non-authenticated packages"
msgstr ""
@@ -31467,6 +31479,9 @@ msgstr ""
msgid "Import cuesheet and store in CUESHEET block"
msgstr ""
msgid "Import environment variables into the service manager"
msgstr ""
msgid "Import every tag from a remote with git fetch <name>"
msgstr ""
@@ -32277,9 +32292,6 @@ msgstr ""
msgid "Initialize a new or existing Terraform configuration"
msgstr ""
msgid "Initialize a new project"
msgstr ""
msgid "Initialize a new repository for the given version control system"
msgstr ""
@@ -33429,6 +33441,9 @@ msgstr ""
msgid "Kick current connection from host side and make it reconnect."
msgstr ""
msgid "Kill one or more units"
msgstr ""
msgid "Kill only processes the specified user owns. Command names are optional"
msgstr ""
@@ -34053,6 +34068,9 @@ msgstr ""
msgid "Linewrap entries as width[,indent1[,indent2]]"
msgstr ""
msgid "Link a unit file into the unit search path"
msgstr ""
msgid "Link against framework (Darwin)"
msgstr ""
@@ -34323,9 +34341,6 @@ msgstr ""
msgid "List all directories from which unit files may be loaded"
msgstr ""
msgid "List all discovered fonts"
msgstr ""
msgid "List all dist-tags"
msgstr ""
@@ -35202,6 +35217,9 @@ msgstr ""
msgid "List ingress zones added"
msgstr ""
msgid "List inode usage instead of block usage"
msgstr ""
msgid "List install_if rule"
msgstr ""
@@ -35928,9 +35946,6 @@ msgstr ""
msgid "List stemcells"
msgstr ""
msgid "List style variants of each family"
msgstr ""
msgid "List subcommands"
msgstr ""
@@ -36054,6 +36069,9 @@ msgstr ""
msgid "List the files that are supplied by the named package"
msgstr ""
msgid "List the host and all running local containers"
msgstr ""
msgid "List the installed extensions"
msgstr ""
@@ -37074,9 +37092,6 @@ msgstr ""
msgid "Lower the volume by 8%"
msgstr ""
msgid "Lowest allowable image efficiency"
msgstr ""
msgid "MAC address"
msgstr ""
@@ -38517,6 +38532,9 @@ msgstr ""
msgid "Mount an entire disk (all mountable volumes)"
msgstr ""
msgid "Mount an image into the mount namespace of a unit"
msgstr ""
msgid "Mount as mountable"
msgstr ""
@@ -40488,9 +40506,6 @@ msgstr ""
msgid "Open non-regular files"
msgstr ""
msgid "Open output file after compilation"
msgstr ""
msgid "Open package repository page in the browser"
msgstr ""
@@ -41148,6 +41163,15 @@ msgstr ""
msgid "Output in RFC 2822 format"
msgstr ""
msgid "Output in RFC 3339 format with date precision"
msgstr ""
msgid "Output in RFC 3339 format with nanosecond precision"
msgstr ""
msgid "Output in RFC 3339 format with second precision"
msgstr ""
msgid "Output in an easy-to-parse format for scripts"
msgstr ""
@@ -42462,9 +42486,6 @@ msgstr ""
msgid "Path to config file. Default ~/.config/mariner/config.yaml"
msgstr ""
msgid "Path to custom CA certificate"
msgstr ""
msgid "Path to db to use"
msgstr ""
@@ -43149,9 +43170,6 @@ msgstr ""
msgid "Pixel storage type [type]"
msgstr ""
msgid "Pixels per inch for PNG export"
msgstr ""
msgid "Place comment block with TAG (or those preceding keyword lines) in output file"
msgstr ""
@@ -43791,6 +43809,9 @@ msgstr ""
msgid "Prevent including compiler-rt symbols"
msgstr ""
msgid "Prevent one or more units from starting"
msgstr ""
msgid "Prevent override"
msgstr ""
@@ -44763,9 +44784,6 @@ msgstr ""
msgid "Print help for `zig`"
msgstr ""
msgid "Print help for the given subcommand(s)"
msgstr ""
msgid "Print help info and exit"
msgstr ""
@@ -46728,9 +46746,6 @@ msgstr ""
msgid "Process all users' calendars and mail the results"
msgstr ""
msgid "Process an input file to extract metadata"
msgstr ""
msgid "Process at queue only once"
msgstr ""
@@ -46893,9 +46908,6 @@ msgstr ""
msgid "Produce filenames as this string"
msgstr ""
msgid "Produce grand total"
msgstr ""
msgid "Produce less output to the terminal"
msgstr ""
@@ -46914,9 +46926,6 @@ msgstr ""
msgid "Produce output in JSON format"
msgstr ""
msgid "Produce performance timings"
msgstr ""
msgid "Produce report on all TAGs"
msgstr ""
@@ -46986,9 +46995,6 @@ msgstr ""
msgid "Project author"
msgstr ""
msgid "Project directory"
msgstr ""
msgid "Project language"
msgstr ""
@@ -47001,9 +47007,6 @@ msgstr ""
msgid "Project release"
msgstr ""
msgid "Project root (for absolute paths)"
msgstr ""
msgid "Project type"
msgstr ""
@@ -47622,6 +47625,9 @@ msgstr ""
msgid "Query the specified service"
msgstr ""
msgid "Query the unit that owns a process"
msgstr ""
msgid "Query to select investment transactions"
msgstr ""
@@ -48372,6 +48378,12 @@ msgstr ""
msgid "Reboot to EFI setup"
msgstr ""
msgid "Reboot userspace"
msgstr ""
msgid "Reboot via kexec"
msgstr ""
msgid "Reboots the device, optionally into the bootloader or recovery program"
msgstr ""
@@ -48549,9 +48561,6 @@ msgstr ""
msgid "Recursion (default for download)"
msgstr ""
msgid "Recursion limit"
msgstr ""
msgid "Recursive mode"
msgstr ""
@@ -48591,6 +48600,9 @@ msgstr ""
msgid "Recursively expand directory"
msgstr ""
msgid "Recursively fetch submodules"
msgstr ""
msgid "Recursively list ports depending on given port"
msgstr ""
@@ -49071,6 +49083,9 @@ msgstr ""
msgid "Reload server configuration"
msgstr ""
msgid "Reload the configuration of the system manager"
msgstr ""
msgid "Reload the default keys"
msgstr ""
@@ -50709,6 +50724,9 @@ msgstr ""
msgid "Request a subset of objects from server"
msgstr ""
msgid "Request a unit reload its configuration"
msgstr ""
msgid "Request allocation of a pseudo TTY for stdio"
msgstr ""
@@ -51522,9 +51540,6 @@ msgstr ""
msgid "Retrieve current host IP address and place it under a configurable project property"
msgstr ""
msgid "Retrieve exactly one element"
msgstr ""
msgid "Retrieve fresh bugs"
msgstr ""
@@ -51861,9 +51876,6 @@ msgstr ""
msgid "Revert to the received value if available"
msgstr ""
msgid "Revert to the version from before the last update"
msgstr ""
msgid "Review the control file before creating a .deb"
msgstr ""
@@ -51891,6 +51903,9 @@ msgstr ""
msgid "Revokes an authentication token"
msgstr ""
msgid "Rewrite a commit message"
msgstr ""
msgid "Rewrite all not-found requests to `index.html`"
msgstr ""
@@ -51903,6 +51918,9 @@ msgstr ""
msgid "Rewrite file in FORMAT"
msgstr ""
msgid "Rewrite history"
msgstr ""
msgid "Rewrite rule (e.g., 'a[b:len(a)] -> a[b:]')"
msgstr ""
@@ -54462,9 +54480,6 @@ msgstr ""
msgid "Selects which device lsusb will examine"
msgstr ""
msgid "Self update the Typst CLI"
msgstr ""
msgid "Semantic version category for new version"
msgstr ""
@@ -57264,9 +57279,6 @@ msgstr ""
msgid "Set watches"
msgstr ""
msgid "Set when to use color"
msgstr ""
msgid "Set where to write formatted output"
msgstr ""
@@ -59607,6 +59619,9 @@ msgstr ""
msgid "Show properties of machines"
msgstr ""
msgid "Show properties of one or more units, jobs, or the manager itself"
msgstr ""
msgid "Show properties of systemd-timedated"
msgstr ""
@@ -59958,6 +59973,9 @@ msgstr ""
msgid "Show the author email instead of author name"
msgstr ""
msgid "Show the backing files of one or more units"
msgstr ""
msgid "Show the branch and tracking info even in short-format"
msgstr ""
@@ -60114,6 +60132,9 @@ msgstr ""
msgid "Show the manual page"
msgstr ""
msgid "Show the manual page for a unit"
msgstr ""
msgid "Show the menubar"
msgstr ""
@@ -60279,6 +60300,9 @@ msgstr ""
msgid "Show threads. With SPID"
msgstr ""
msgid "Show time as WORD instead of modification time"
msgstr ""
msgid "Show time stamping capabilities and PTP hardware clock"
msgstr ""
@@ -60291,6 +60315,9 @@ msgstr ""
msgid "Show timer"
msgstr ""
msgid "Show times using style (or +FORMAT)"
msgstr ""
msgid "Show timestamp"
msgstr ""
@@ -61239,9 +61266,6 @@ msgstr ""
msgid "Skip mount checks, repair is not possible"
msgstr ""
msgid "Skip other file systems"
msgstr ""
msgid "Skip package installation for this run"
msgstr ""
@@ -61290,12 +61314,6 @@ msgstr ""
msgid "Skip the given initial samples for each input {#|mm:ss.ss}"
msgstr ""
msgid "Skip the interactive TUI and validate against CI rules"
msgstr ""
msgid "Skip the interactive TUI and write the layer analysis statistics to a given file"
msgstr ""
msgid "Skip the normal function prologue and epilogue that sets up the stack-frame"
msgstr ""
@@ -63981,6 +63999,9 @@ msgstr ""
msgid "Split stdout and stderr in test logs"
msgstr ""
msgid "Split up a commit"
msgstr ""
msgid "Spoof MAC address"
msgstr ""
@@ -64707,6 +64728,9 @@ msgstr ""
msgid "Stop playing"
msgstr ""
msgid "Stop preventing one or more units from starting"
msgstr ""
msgid "Stop preventing package modification"
msgstr ""
@@ -64914,9 +64938,6 @@ msgstr ""
msgid "String as the value for the given key"
msgstr ""
msgid "String key-value pair for `sys.inputs`"
msgstr ""
msgid "String literal mode"
msgstr ""
@@ -65121,6 +65142,9 @@ msgstr ""
msgid "Summarize disk usage of each file."
msgstr ""
msgid "Summarize usage of NUL-terminated files in file"
msgstr ""
msgid "Super go mode: clean out generated files before processing"
msgstr ""
@@ -66420,9 +66444,6 @@ msgstr ""
msgid "The connection protocol to use"
msgstr ""
msgid "The container engine to fetch the image from"
msgstr ""
msgid "The copy job is not persisted if VM is turned off"
msgstr ""
@@ -69201,7 +69222,13 @@ msgstr ""
msgid "Use 1B block size"
msgstr ""
msgid "Use 1kB block size"
msgid "Use 1GB block size"
msgstr ""
msgid "Use 1KB block size"
msgstr ""
msgid "Use 1MB block size"
msgstr ""
msgid "Use 32-bit \"float\""
@@ -72441,9 +72468,6 @@ msgstr ""
msgid "Watch a specific file or directory"
msgstr ""
msgid "Watch an input file and recompile on changes"
msgstr ""
msgid "Watch and list new logs"
msgstr ""
@@ -73254,9 +73278,6 @@ msgstr ""
msgid "Write selection"
msgstr ""
msgid "Write size for all files"
msgstr ""
msgid "Write special status strings to the specified file descriptor"
msgstr ""
@@ -74361,6 +74382,9 @@ msgstr ""
msgid "configure the Salesforce CLI"
msgstr ""
msgid "connect adb to the Android container"
msgstr ""
msgid "connect to a custom bus"
msgstr ""
@@ -74451,6 +74475,9 @@ msgstr ""
msgid "create a backup of one or several jails"
msgstr ""
msgid "create a bugreport archive interactively"
msgstr ""
msgid "create a bundle for an Aura component or a Lightning web component"
msgstr ""
@@ -74799,6 +74826,9 @@ msgstr ""
msgid "discard uncommitted changes (no backup)"
msgstr ""
msgid "disconnect adb from the Android container"
msgstr ""
msgid "disconnect and wait for reassociate command before connecting"
msgstr ""
@@ -77037,6 +77067,9 @@ msgstr ""
msgid "make vendored copy of dependencies"
msgstr ""
msgid "manage adb connection"
msgstr ""
msgid "manage and query devices in the filesystem"
msgstr ""
@@ -77610,7 +77643,7 @@ msgstr ""
msgid "output diffstat-style summary of changes"
msgstr ""
msgid "output directory to store the Metadata APIformatted files in"
msgid "output directory to store the Metadata API-formatted files in"
msgstr ""
msgid "output encoding"
@@ -78855,6 +78888,9 @@ msgstr ""
msgid "run as if started in dir"
msgstr ""
msgid "run as user mode, connecting to the remote initializer service"
msgstr ""
msgid "run command"
msgstr ""
@@ -80031,7 +80067,7 @@ msgstr ""
msgid "the org to list the apps for"
msgstr ""
msgid "the output directory to store the sourceformatted files"
msgid "the output directory to store the source-formatted files"
msgstr ""
msgid "the streaming client socket timeout (in minutes)"

View File

@@ -8,8 +8,8 @@ dependencies = []
[dependency-groups]
dev = [
"sphinx>=9.1", # updatecli.d/python.yml
"sphinx-markdown-builder",
"sphinx>=9.1", # updatecli.d/python.yml
"sphinx-markdown-builder",
]
[tool.uv.sources]

View File

@@ -3,13 +3,14 @@
## --- WRITTEN MANUALLY ---
function __fish_cargo
RUSTUP_AUTO_INSTALL=0 cargo --color=never $argv
set -l tmp $__fish_cargo_wrapping cargo --color=never $argv
RUSTUP_AUTO_INSTALL=0 $tmp
end
set -l __fish_cargo_subcommands (__fish_cargo --list 2>&1 | string replace -rf '^\s+([^\s]+)\s*(.*)' '$1\t$2' | string escape)
complete -c cargo -f -c cargo -n __fish_use_subcommand -a "$__fish_cargo_subcommands"
complete -c cargo -x -c cargo -n '__fish_seen_subcommand_from help' -a "$__fish_cargo_subcommands"
complete -c cargo -f -n __fish_use_subcommand -a "$__fish_cargo_subcommands"
complete -c cargo -x -n '__fish_seen_subcommand_from help' -a "$__fish_cargo_subcommands"
for x in bench b build c check rustc t test
complete -c cargo -x -n "__fish_seen_subcommand_from $x" -l bench -a "(__fish_cargo bench --bench 2>&1 | string replace -rf '^\s+' '')"
@@ -845,7 +846,7 @@ if command -q cargo-asm
# Warning: this will build the project and can take time! We make sure to only call it if it's not a switch so completions
# for --foo will always be fast.
if command -q timeout
complete -c cargo -n "__fish_seen_subcommand_from asm; and not __fish_is_switch" -xa "(timeout 1 __fish_cargo asm)"
complete -c cargo -n "__fish_seen_subcommand_from asm; and not __fish_is_switch" -xa "(__fish_cargo_wrapping={timeout,1} __fish_cargo asm)"
else
complete -c cargo -n "__fish_seen_subcommand_from asm; and not __fish_is_switch" -xa "(__fish_cargo asm)"
end

View File

@@ -0,0 +1 @@
chezmoi completion fish | source

View File

@@ -5,6 +5,9 @@ if date --version >/dev/null 2>/dev/null
complete -c date -s I -l iso-8601 -d "Use ISO 8601 output format" -x -a "date hours minutes seconds"
complete -c date -s s -l set -d "Set time" -x
complete -c date -s R -l rfc-2822 -d "Output in RFC 2822 format"
complete -c date -l rfc-3339=date -d "Output in RFC 3339 format with date precision"
complete -c date -l rfc-3339=second -d "Output in RFC 3339 format with second precision"
complete -c date -l rfc-3339=ns -d "Output in RFC 3339 format with nanosecond precision"
complete -c date -s r -l reference -d "Display last modification time of file" -r
complete -c date -s u -l utc -d "Print/set UTC time" -f
complete -c date -l universal -d "Print/set UTC time" -f

View File

@@ -1,24 +1,22 @@
# Completion for dive: https://github.com/wagoodman/dive
# Options
complete -c dive -l ci -d "Skip the interactive TUI and validate against CI rules"
complete -c dive -l ci-config -F -r -d "If CI=true in the environment, use the given yaml to drive validation rules"
complete -c dive -l config -F -r -d "Config file"
complete -c dive -s h -l help -d "Help for dive"
complete -c dive -l highestUserWastedPercent -r -n "__fish_seen_argument -l ci" -d "Highest allowable percentage of bytes wasted"
complete -c dive -l highestWastedBytes -r -n "__fish_seen_argument -l ci" -d "Highest allowable bytes wasted"
complete -c dive -s i -l ignore-errors -d "Ignore image parsing errors and run the analysis anyway"
complete -c dive -s j -l json -r -d "Skip the interactive TUI and write the layer analysis statistics to a given file"
complete -c dive -l lowestEfficiency -r -d "Lowest allowable image efficiency"
complete -c dive -l source -a "docker podman docker-archive" -d "The container engine to fetch the image from"
complete -c dive -s v -l version -d "Display version number"
# Subcommands
complete -c dive -a "build help version"
complete -c dive -n __fish_use_subcommand -xa build -d "Build and analyze a Docker image from a Dockerfile"
complete -c dive -n __fish_use_subcommand -xa help -d "Help about any command"
complete -c dive -n __fish_use_subcommand -xa version -d "Print the version number and exit"
complete -c dive -n "__fish_seen_subcommand_from help" -a "build help version"
# Builtin options and subcommands
dive completion fish | source
# Arguments
complete -c dive -xa "(docker images --format '{{.Repository}}:{{.Tag}}' | command grep -v '<none>')"
function __fish_docker_or_podman_image_tags
command -v docker >/dev/null
set --local docker_status $status
command -v podman >/dev/null
set --local podman_status $status
if test $docker_status -eq 0 && test $podman_status -eq 0
docker images --format '{{.Repository}}:{{.Tag}}' 2>/dev/null | command grep -v '<none>' | sed 's#^#docker://#'
podman images --format '{{.Repository}}:{{.Tag}}' 2>/dev/null | command grep -v '<none>' | sed 's#^#podman://#'
else if test $docker_status -eq 0
docker images --format '{{.Repository}}:{{.Tag}}' 2>/dev/null | command grep -v '<none>'
else if test $podman_status -eq 0
podman images --format '{{.Repository}}:{{.Tag}}' 2>/dev/null | command grep -v '<none>'
end
end
complete -c dive -xa "(__fish_docker_or_podman_image_tags)"

View File

@@ -1,19 +1,50 @@
complete -c du -s a -l all -d "Write size for all files"
complete -c du -l apparent-size -d "Print file size, not disk usage"
complete -c du -s B -l block-size -d "Block size"
complete -c du -s b -l bytes -d "Use 1B block size"
complete -c du -s c -l total -d "Produce grand total"
complete -c du -s D -l dereference-args -d "Dereference file symlinks"
complete -c du -s h -l human-readable -d "Human readable sizes"
complete -c du -s H -l si -d "Human readable sizes, powers of 1000"
complete -c du -s k -d "Use 1kB block size"
complete -c du -s l -l count-links -d "Count hard links multiple times"
complete -c du -s L -l dereference -d "Dereference all symlinks"
complete -c du -s S -l separate-dirs -d "Do not include subdirectory size"
complete -c du -s s -l summarize -d "Display only a total for each argument"
complete -c du -s x -l one-file-system -d "Skip other file systems"
complete -c du -s X -l exclude-from -r -d "Exclude files that match pattern in file"
complete -c du -l exclude -r -d "Exclude files that match pattern"
complete -c du -l max-depth -r -d "Recursion limit"
complete -c du -l help -d "Display help and exit"
complete -c du -l version -d "Display version and exit"
# test if we are using GNU du
set -l is_gnu
if du --version &>/dev/null
set is_gnu --is-gnu
end
# shared switches - short on both, long on GNU
__fish_gnu_complete -c du -s a -l all -d "Write size for all files" $is_gnu
__fish_gnu_complete -c du -s c -l total -d "Produce grand total" $is_gnu
__fish_gnu_complete -c du -s d -l max-depth -x -d "Recursion limit" $is_gnu
__fish_gnu_complete -c du -s h -l human-readable -d "Human readable sizes" $is_gnu
__fish_gnu_complete -c du -s l -l count-links -d "Count hard links multiple times" $is_gnu
__fish_gnu_complete -c du -s L -l dereference -d "Follow all symlinks" $is_gnu
__fish_gnu_complete -c du -s P -l no-dereference -d "Do not follow symlinks (default)" $is_gnu
__fish_gnu_complete -c du -s s -l summarize -d "Display only a total for each argument" $is_gnu
__fish_gnu_complete -c du -s t -l threshold -x -d "Threshold size" $is_gnu
__fish_gnu_complete -c du -s x -l one-file-system -d "Skip other file systems" $is_gnu
# shared switches without long options or with shared long options (--si)
complete -c du -s H -d "Follow command-line symlinks only"
complete -c du -s k -d "Use 1KB block size"
complete -c du -s m -d "Use 1MB block size"
complete -c du -l si -d "Human readable sizes, powers of 1000"
# platform-specific switches
if test -n "$is_gnu"
# GNU specific switches
complete -c du -s 0 -l null -d "End each output line with NUL"
complete -c du -l apparent-size -d "Print file size, not disk usage"
complete -c du -s B -l block-size -x -a "K M G T P E KiB MiB GiB TiB PiB EiB KB MB GB TB PB EB" -d "Block size (e.g. 1M, KiB)"
complete -c du -s b -l bytes -d "Use 1B block size"
complete -c du -s D -l dereference-args -d "Follow command-line symlinks only"
complete -c du -l files0-from -r -d "Summarize usage of NUL-terminated files in file"
complete -c du -l inodes -d "List inode usage instead of block usage"
complete -c du -s S -l separate-dirs -d "Do not include subdirectory size"
complete -c du -l time -f -a "atime access use ctime status" -d "Show time as WORD instead of modification time"
complete -c du -l time-style -x -a "full-iso long-iso iso" -d "Show times using style (or +FORMAT)"
complete -c du -s X -l exclude-from -r -d "Exclude files that match pattern in file"
complete -c du -l exclude -x -d "Exclude files that match pattern"
complete -c du -l help -d "Display help and exit"
complete -c du -l version -d "Display version and exit"
else
# macOS/BSD specific features
complete -c du -s A -d "Display apparent size"
complete -c du -s g -d "Use 1GB block size"
complete -c du -s I -x -d "Ignore files matching mask"
complete -c du -s n -d "Ignore nodump files"
complete -c du -s B -x -d "Block size in bytes"
#complete -c du -s r -d "Generate read error messages. The flag exists for portability"
end

View File

@@ -1,5 +1,5 @@
#function __fish_emerge_print_all_pkgs_with_version_compare -d 'Print completions for all packages including the version compare if that is already typed'
# set -l version_comparator (commandline -t | string match -r '^[\'"]*[<>]\?=\?' | \
# set -l version_comparator (commandline -t | string match -r '^[\'"]*[<>]\?=\?' |
# sed -r 's/^[\'"]*(.*)/\1/g')
# set -l sedstring
#

View File

@@ -1047,6 +1047,9 @@ complete -x -c git -n '__fish_git_using_command diff log show range-diff' -l ws-
complete -f -c git -n '__fish_git_using_command fetch pull' -l unshallow -d 'Convert a shallow repository to a complete one'
complete -f -c git -n '__fish_git_using_command fetch pull' -l set-upstream -d 'Add upstream (tracking) reference'
complete -x -c git -n '__fish_git_using_command fetch pull' -l recurse-submodules -a 'yes on-demand no' -d 'Recursively fetch submodules'
complete -f -c git -n '__fish_git_using_command fetch pull' -l no-recurse-submodules -d 'Do not recursively fetch submodules'
#### fetch
complete -f -c git -n __fish_git_needs_command -a fetch -d 'Download objects from another repo'
# Suggest "repository", then "refspec" - this also applies to e.g. push/pull
@@ -1684,6 +1687,18 @@ complete -f -c git -n '__fish_git_using_command grep' -l untracked -d 'Search in
complete -f -c git -n '__fish_git_using_command grep' -l no-index -d 'Search files in current directory that is not managed by Git'
complete -f -c git -n '__fish_git_using_command grep' -l recurse-submodules -d 'Recursively search in each submodule'
### history
set -l git_history_commands reword split
complete -f -c git -n __fish_git_needs_command -a history -d 'Rewrite history'
complete -f -c git -n "__fish_git_using_command history" -n "not __fish_seen_subcommand_from $git_history_commands" -a reword -d 'Rewrite a commit message'
complete -f -c git -n "__fish_git_using_command history" -n "not __fish_seen_subcommand_from $git_history_commands" -a split -d 'Split up a commit'
complete -f -c git -n '__fish_git_using_command history' -n '__fish_seen_subcommand_from reword split' -l dry-run -d 'Do not update references'
complete -x -c git -n '__fish_git_using_command history' -n '__fish_seen_subcommand_from reword split' -l update-refs -a 'branches head'
complete -x -c git -n '__fish_git_using_command history' -n '__fish_seen_subcommand_from reword' -ka '(__fish_git_recent_commits)'
complete -x -c git -n '__fish_git_using_command history' -n '__fish_seen_subcommand_from split' -n 'not contains -- -- (commandline -xpc)' -ka '(__fish_git_recent_commits)'
complete -F -c git -n '__fish_git_using_command history' -n '__fish_seen_subcommand_from split' -n 'contains -- -- (commandline -xpc)'
### init
complete -f -c git -n __fish_git_needs_command -a init -d 'Create an empty git repository'
complete -f -c git -n '__fish_git_using_command init' -s q -l quiet -d 'Only print error and warning messages'

View File

@@ -157,6 +157,8 @@ function __fish_help_describe -a help_item
return
case fish_for_bash_users#test-test
return
case fish_for_bash_users#variable-defaults-my-variable-default-value
return
case fish_for_bash_users#variables
return
case fish_for_bash_users#wildcards-globs

View File

@@ -1,4 +1 @@
function _justfile_targets
just -l | tail -n +2 | string trim -l | string replace -r '(\s*#\s*)' '\t' | string replace -r '(\s*[\*\+][^\s]*)' ''
end
complete -c just -f -a '(_justfile_targets)'
just --completions fish | source

View File

@@ -0,0 +1 @@
mise completion fish | source

View File

@@ -0,0 +1 @@
niri completions fish | source

View File

@@ -411,8 +411,8 @@ complete -c sfdx -n '__fish_sfdx_using_command force:limits:api:display' -l logl
complete $sfdx_looking -xa force:mdapi -d 'retrieve and deploy metadata using Metadata'
complete $sfdx_looking -xa force:mdapi:convert -d 'convert metadata from the Metadata API format into the source format'
complete -c sfdx -n '__fish_sfdx_using_command force:mdapi:convert' -s d -l outputdir -d 'the output directory to store the sourceformatted files'
complete -c sfdx -n '__fish_sfdx_using_command force:mdapi:convert' -s r -l rootdir -d '(required) the root directory containing the Metadata APIformatted metadata'
complete -c sfdx -n '__fish_sfdx_using_command force:mdapi:convert' -s d -l outputdir -d 'the output directory to store the source-formatted files'
complete -c sfdx -n '__fish_sfdx_using_command force:mdapi:convert' -s r -l rootdir -d '(required) the root directory containing the Metadata API-formatted metadata'
complete -c sfdx -n '__fish_sfdx_using_command force:mdapi:convert' -l json -d 'format output as json'
complete -c sfdx -n '__fish_sfdx_using_command force:mdapi:convert' -l loglevel -d '[default: warn] logging level for this command invocation' -xa $sfdx_loglevels
@@ -820,7 +820,7 @@ complete -c sfdx -n '__fish_sfdx_using_command force:schema:sobject:list' -l log
complete $sfdx_looking -xa force:source -d 'sync your project with your orgs'
complete $sfdx_looking -xa force:source:convert -d 'convert source into Metadata API format'
complete -c sfdx -n '__fish_sfdx_using_command force:source:conevrt' -s d -l outputdir -d 'output directory to store the Metadata APIformatted files in'
complete -c sfdx -n '__fish_sfdx_using_command force:source:conevrt' -s d -l outputdir -d 'output directory to store the Metadata API-formatted files in'
complete -c sfdx -n '__fish_sfdx_using_command force:source:conevrt' -s n -l packagename -d 'name of the package to associate with the metadata-formatted files'
complete -c sfdx -n '__fish_sfdx_using_command force:source:conevrt' -s r -l rootdir -d 'a source directory other than the default package to convert'
complete -c sfdx -n '__fish_sfdx_using_command force:schema:convert' -l json -d 'format output as json'

View File

@@ -1 +1 @@
complete sudo-rs --wraps sudo
__fish_complete_sudo sudo-rs

View File

@@ -1,63 +1 @@
#
# Completion for sudo
#
function __fish_sudo_print_remaining_args
set -l tokens (commandline -xpc | string escape) (commandline -ct)
set -e tokens[1]
# These are all the options mentioned in the man page for Todd Miller's "sudo.ws" sudo (in that order).
# If any other implementation has different options, this should be harmless, since they shouldn't be used anyway.
set -l opts A/askpass b/background C/close-from= E/preserve-env='?'
# Note that "-h" is both "--host" (which takes an option) and "--help" (which doesn't).
# But `-h` as `--help` only counts when it's the only argument (`sudo -h`),
# so any argument completion after that should take it as "--host".
set -a opts e/edit g/group= H/set-home h/host= 1-help
set -a opts i/login K/remove-timestamp k/reset-timestamp l/list n/non-interactive
set -a opts P/preserve-groups p/prompt= S/stdin s/shell U/other-user=
set -a opts u/user= T/command-timeout= V/version v/validate
argparse -s $opts -- $tokens 2>/dev/null
# The remaining argv is the subcommand with all its options, which is what
# we want.
if test -n "$argv"
and not string match -qr '^-' $argv[1]
string join0 -- $argv
return 0
else
return 1
end
end
function __fish_sudo_no_subcommand
not __fish_sudo_print_remaining_args >/dev/null
end
function __fish_complete_sudo_subcommand
set -l args (__fish_sudo_print_remaining_args | string split0)
set -lx -a PATH /usr/local/sbin /sbin /usr/sbin
__fish_complete_subcommand --commandline $args
end
# All these options should be valid for GNU and OSX sudo
complete -c sudo -n __fish_no_arguments -s h -d "Display help and exit"
complete -c sudo -n __fish_no_arguments -s V -d "Display version information and exit"
complete -c sudo -n __fish_sudo_no_subcommand -s A -d "Ask for password via the askpass or \$SSH_ASKPASS program"
complete -c sudo -n __fish_sudo_no_subcommand -s C -d "Close all file descriptors greater or equal to the given number" -xa "0 1 2 255"
complete -c sudo -n __fish_sudo_no_subcommand -s E -d "Preserve environment"
complete -c sudo -n __fish_sudo_no_subcommand -s H -d "Set home"
complete -c sudo -n __fish_sudo_no_subcommand -s K -d "Remove the credential timestamp entirely"
complete -c sudo -n __fish_sudo_no_subcommand -s P -d "Preserve group vector"
complete -c sudo -n __fish_sudo_no_subcommand -s S -d "Read password from stdin"
complete -c sudo -n __fish_sudo_no_subcommand -s b -d "Run command in the background"
complete -c sudo -n __fish_sudo_no_subcommand -s e -rF -d Edit
complete -c sudo -n __fish_sudo_no_subcommand -s g -a "(__fish_complete_groups)" -x -d "Run command as group"
complete -c sudo -n __fish_sudo_no_subcommand -s i -d "Run a login shell"
complete -c sudo -n __fish_sudo_no_subcommand -s k -d "Reset or ignore the credential timestamp"
complete -c sudo -n __fish_sudo_no_subcommand -s l -d "List the allowed and forbidden commands for the given user"
complete -c sudo -n __fish_sudo_no_subcommand -s n -d "Do not prompt for a password - if one is needed, fail"
complete -c sudo -n __fish_sudo_no_subcommand -s p -d "Specify a custom password prompt"
complete -c sudo -n __fish_sudo_no_subcommand -s s -d "Run the given command in a shell"
complete -c sudo -n __fish_sudo_no_subcommand -s u -a "(__fish_complete_users)" -x -d "Run command as user"
complete -c sudo -n __fish_sudo_no_subcommand -s v -n __fish_no_arguments -d "Validate the credentials, extending timeout"
# Complete the command we are executed under sudo
complete -c sudo -x -n 'not __fish_seen_argument -s e' -a "(__fish_complete_sudo_subcommand)"
__fish_complete_sudo sudo

View File

@@ -1,17 +1,24 @@
set -l systemd_version (systemctl --version | string match "systemd*" | string replace -r "\D*(\d+)\D.*" '$1')
set -l commands list-units list-sockets start stop reload restart try-restart reload-or-restart reload-or-try-restart \
isolate kill is-active is-failed status show get-cgroup-attr set-cgroup-attr unset-cgroup-attr set-cgroup help \
reset-failed list-unit-files enable disable is-enabled reenable preset mask unmask link load list-jobs cancel dump \
list-dependencies snapshot delete daemon-reload daemon-reexec show-environment set-environment unset-environment \
reset-failed list-unit-files enable disable is-enabled reenable preset mask unmask link list-jobs cancel \
list-dependencies daemon-reload daemon-reexec show-environment set-environment unset-environment \
default rescue emergency halt poweroff reboot kexec exit suspend suspend-then-hibernate hibernate hybrid-sleep switch-root \
list-timers set-property import-environment get-default list-automounts is-system-running try-reload-or-restart freeze \
thaw mount-image bind clean
if test $systemd_version -gt 208 2>/dev/null
set commands $commands cat
if test $systemd_version -gt 217 2>/dev/null
set commands $commands edit
end
thaw mount-image bind clean set-default cat list-machines preset-all add-wants add-requires edit
if test $systemd_version -gt 243 2>/dev/null
set commands $commands log-level log-target service-watchdogs
end
if test $systemd_version -gt 246 2>/dev/null
set commands $commands service-log-level service-log-target
end
if test $systemd_version -gt 253 2>/dev/null
set commands $commands list-paths soft-reboot whoami
end
if test $systemd_version -gt 255 2>/dev/null
set commands $commands sleep
end
set -l types services sockets mounts service_paths targets automounts timers
function __fish_systemd_properties
@@ -28,23 +35,51 @@ end
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a "$commands"
#### Units commands
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a start -d 'Start one or more units'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a stop -d 'Stop one or more units'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a restart -d 'Restart one or more units'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a reload-or-restart -d 'Reload units if supported or restart them'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a try-reload-or-restart -d 'Reload units if supported or restart them, if running'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a status -d 'Runtime status about one or more units'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a enable -d 'Enable one or more units'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a disable -d 'Disable one or more units'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a isolate -d 'Start a unit and dependencies and disable all others'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a set-default -d 'Set the default target to boot into'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a get-default -d 'Show the default target to boot into'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a set-property -d 'Sets one or more properties of a unit'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a list-automounts -d 'List automount units'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a is-system-running -d 'Return if system is running/starting/degraded'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a freeze -d 'Freeze units with the cgroup freezer'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a thaw -d 'Unfreeze frozen units'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a add-requires -d 'Add Requires dependencies to a target unit'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a add-wants -d 'Add Wants dependencies to a target unit'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a bind -d 'Bind mount a path into the mount namespace of a unit'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a cancel -d 'Cancel one or more jobs'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a cat -d 'Show the backing files of one or more units'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a clean -d 'Remove config/state/logs for the given units'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a daemon-reload -d 'Reload the configuration of the system manager'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a default -d 'Enter and isolate the default mode'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a disable -d 'Disable one or more units'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a edit -d 'Edit a unit file or drop-in snippet'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a enable -d 'Enable one or more units'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a emergency -d 'Enter and isolate emergency mode'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a exit -d 'Ask the service manager to exit'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a freeze -d 'Freeze units with the cgroup freezer'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a get-default -d 'Show the default target to boot into'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a help -d 'Show the manual page for a unit'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a import-environment -d 'Import environment variables into the service manager'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a isolate -d 'Start a unit and dependencies and disable all others'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a is-system-running -d 'Return if system is running/starting/degraded'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a kexec -d 'Reboot via kexec'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a kill -d 'Kill one or more units'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a link -d 'Link a unit file into the unit search path'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a list-automounts -d 'List automount units'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a list-machines -d 'List the host and all running local containers'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a mask -d 'Prevent one or more units from starting'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a mount-image -d 'Mount an image into the mount namespace of a unit'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a preset -d 'Enable/disable a unit depending on preset configuration'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a preset-all -d 'Enable/disable all units depending on preset configuration'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a reenable -d 'Disable the enable one or more units'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a reload -d 'Request a unit reload its configuration'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a reload-or-restart -d 'Reload units if supported or restart them'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a rescue -d 'Enter and isolate rescue mode'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a restart -d 'Restart one or more units'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a set-default -d 'Set the default target to boot into'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a set-property -d 'Sets one or more properties of a unit'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a show -d 'Show properties of one or more units, jobs, or the manager itself'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a show-environment -d 'Dump the systemd manager environment block'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a soft-reboot -d 'Reboot userspace'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a start -d 'Start one or more units'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a status -d 'Runtime status about one or more units'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a stop -d 'Stop one or more units'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a thaw -d 'Unfreeze frozen units'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a try-reload-or-restart -d 'Reload units if supported or restart them, if running'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a unmask -d 'Stop preventing one or more units from starting'
complete -f -c systemctl -n "not __fish_seen_subcommand_from $commands" -a whoami -d 'Query the unit that owns a process'
# Command completion done via argparse.
complete -c systemctl -a '(__fish_systemctl)' -f
@@ -87,13 +122,9 @@ complete -x -c systemctl -s M -l machine -d 'Execute operation on a VM or contai
complete -f -c systemctl -s h -l help -d 'Print a short help and exit'
complete -f -c systemctl -l version -d 'Print a short version and exit'
complete -f -c systemctl -l no-pager -d 'Do not pipe output into a pager'
# New options since systemd 220
if test $systemd_version -gt 219 2>/dev/null
complete -f -c systemctl -l firmware-setup -n "__fish_seen_subcommand_from reboot" -d "Reboot to EFI setup"
complete -f -c systemctl -l now -n "__fish_seen_subcommand_from enable" -d "Also start unit"
complete -f -c systemctl -l now -n "__fish_seen_subcommand_from disable mask" -d "Also stop unit"
end
complete -f -c systemctl -l firmware-setup -n "__fish_seen_subcommand_from reboot" -d "Reboot to EFI setup"
complete -f -c systemctl -l now -n "__fish_seen_subcommand_from enable" -d "Also start unit"
complete -f -c systemctl -l now -n "__fish_seen_subcommand_from disable mask" -d "Also stop unit"
# New options since systemd 242
if test $systemd_version -ge 242 2>/dev/null

View File

@@ -166,7 +166,7 @@ complete -c tmux -n "__fish_seen_subcommand_from $new" -s A -d "attach to existi
complete -c tmux -n "__fish_seen_subcommand_from $new" -s D -d "if -A is specified, detach other clients attached to the session"
complete -c tmux -n "__fish_seen_subcommand_from $new" -s P -d "print information about the new session after creation"
complete -c tmux -n "__fish_seen_subcommand_from $new" -s E -d "don't apply update-environment option"
complete -c tmux -n "__fish_seen_subcommand_from $new" -xs c -d start-directory
complete -c tmux -n "__fish_seen_subcommand_from $new" -xs c -d start-directory -a "(__fish_complete_directories)"
complete -c tmux -n "__fish_seen_subcommand_from $new" -xs F -d format
complete -c tmux -n "__fish_seen_subcommand_from $new" -xs n -d window-name
complete -c tmux -n "__fish_seen_subcommand_from $new" -xs s -d session-name

View File

@@ -1,52 +1 @@
set -l commands compile watch init query fonts update help
# global options
complete -c typst -n __fish_use_subcommand -f -l color -d 'Set when to use color' -a 'auto always never'
complete -c typst -n __fish_use_subcommand -r -l cert -d 'Path to custom CA certificate'
complete -c typst -n __fish_use_subcommand -f -l version -s v -d 'Print version'
# help option/subcommand
complete -c typst -f -l help -s h -d 'Print help'
complete -c typst -f -n __fish_use_subcommand -a help -d 'Print help for the given subcommand(s)'
complete -c typst -n '__fish_seen_subcommand_from help' -x -a "$commands"
# subcommands
complete -c typst -n __fish_use_subcommand -f -a compile -d 'Compile an input file'
complete -c typst -n __fish_use_subcommand -f -a watch -d 'Watch an input file and recompile on changes'
complete -c typst -n __fish_use_subcommand -f -a init -d 'Initialize a new project'
complete -c typst -n __fish_use_subcommand -f -a query -d 'Process an input file to extract metadata'
complete -c typst -n __fish_use_subcommand -f -a fonts -d 'List all discovered fonts'
complete -c typst -n __fish_use_subcommand -f -a update -d 'Self update the Typst CLI'
complete -c typst -n "__fish_seen_subcommand_from $commands" -x
# common subcommand options
# FIXME: only one input file
complete -c typst -n '__fish_seen_subcommand_from compile c watch w query' -x -ka '(__fish_complete_suffix .typ)' -d 'Input file'
#complete -c typst -n '__fish_seen_subcommand_from compile c watch w' -d 'Output file'
complete -c typst -n '__fish_seen_subcommand_from compile c watch w query' -x -l root -a '(__fish_complete_directories)' -d 'Project root (for absolute paths)'
complete -c typst -n '__fish_seen_subcommand_from compile c watch w query' -x -l input -d 'String key-value pair for `sys.inputs`'
complete -c typst -n '__fish_seen_subcommand_from compile c watch w query fonts' -x -l font-path -a '(__fish_complete_directories)' -d 'Additional directories to search for fonts'
complete -c typst -n '__fish_seen_subcommand_from compile c watch w query' -x -l diagnostic-format -a 'human short' -d 'Format to emit diagnostics in'
# compile/watch subcommands
complete -c typst -n '__fish_seen_subcommand_from compile c watch w' -x -l format -s f -a 'pdf png svg' -d 'Format of the output file'
complete -c typst -n '__fish_seen_subcommand_from compile c watch w' -l open -d 'Open output file after compilation'
complete -c typst -n '__fish_seen_subcommand_from compile c watch w' -x -l ppi -d 'Pixels per inch for PNG export'
complete -c typst -n '__fish_seen_subcommand_from compile c watch w' -l timings -d 'Produce performance timings'
# init subcommand
complete -c typst -n '__fish_seen_subcommand_from init' -n '__fish_is_nth_token 2' -x -d 'Template to use'
complete -c typst -n '__fish_seen_subcommand_from init' -n '__fish_is_nth_token 3' -x -a '(__fish_complete_directories)' -d 'Project directory'
# query subcommand
complete -c typst -n '__fish_seen_subcommand_from query' -x -l field -d 'Extract just one field'
complete -c typst -n '__fish_seen_subcommand_from query' -f -l one -d 'Retrieve exactly one element'
complete -c typst -n '__fish_seen_subcommand_from query' -x -l format -a 'json yaml' -d 'Format to serialize in'
# fonts subcommand
complete -c typst -n '__fish_seen_subcommand_from fonts' -f -l variants -d 'List style variants of each family'
# update subcommand
complete -c typst -n '__fish_seen_subcommand_from update' -f -l force -d 'Force a downgrade to an older version'
complete -c typst -n '__fish_seen_subcommand_from update' -f -l revert -d 'Revert to the version from before the last update'
typst completions fish | source

View File

@@ -1,5 +1,14 @@
function __fish_print_waydroid_container_package_name
set -l applist (waydroid app list 2>/dev/null | grep -E '^(Name: |packageName: )')
set -l name (string replace -f -r '^Name: ' '' $applist)
set -l packagename (string replace -f 'packageName: ' '' $applist)
for i in (seq (count $name))
echo $packagename[$i]\t$name[$i]
end
end
#all subcommands avaliable
set -l commands status log init upgrade session container app prop show-full-ui first-launch shell logcat
set -l commands status log init upgrade session container app prop show-full-ui first-launch shell logcat adb bugreport
#help parameter can be used on any (sub)commands
complete -f waydroid -s h -l help -d "show help message and exit"
@@ -28,6 +37,8 @@ complete -f waydroid -n "not __fish_seen_subcommand_from $commands" -a show-full
complete -f waydroid -n "not __fish_seen_subcommand_from $commands" -a first-launch -d "initialize waydroid and start it"
complete -f waydroid -n "not __fish_seen_subcommand_from $commands" -a shell -d "run remote shell command"
complete -f waydroid -n "not __fish_seen_subcommand_from $commands" -a logcat -d "show android logcat"
complete -f waydroid -n "not __fish_seen_subcommand_from $commands" -a adb -d "manage adb connection"
complete -f waydroid -n "not __fish_seen_subcommand_from $commands" -a bugreport -d "create a bugreport archive interactively"
#log
complete -f waydroid -n "__fish_seen_subcommand_from log" -s n -l lines -d "count of initial output lines"
@@ -38,8 +49,9 @@ complete -F waydroid -n "__fish_seen_subcommand_from init" -s i -l images_path -
complete -f waydroid -n "__fish_seen_subcommand_from init" -s f -l force -d "re-initialize configs and images"
complete -f waydroid -n "__fish_seen_subcommand_from init" -s c -l system_channel -d "custom system channel"
complete -f waydroid -n "__fish_seen_subcommand_from init" -s v -l vendor_channel -d "custom vendor channel"
complete -f waydroid -n "__fish_seen_subcommand_from init" -s r -l rom_type -ra "lineage bliss" -d "rom type"
complete -f waydroid -n "__fish_seen_subcommand_from init" -s s -l system_type -ra "VANILLA FOSS GAPPS" -d "system type"
complete -x waydroid -n "__fish_seen_subcommand_from init" -s r -l rom_type -a "lineage bliss" -d "rom type"
complete -x waydroid -n "__fish_seen_subcommand_from init" -s s -l system_type -a "VANILLA FOSS GAPPS" -d "system type"
complete -f waydroid -n "__fish_seen_subcommand_from init" -l client -d "run as user mode, connecting to the remote initializer service"
#upgrade
complete -f waydroid -n "__fish_seen_subcommand_from upgrade" -s o -l offline -d "just for updating configs"
@@ -56,13 +68,16 @@ complete -f waydroid -n "__fish_seen_subcommand_from container; and not __fish_s
complete -f waydroid -n "__fish_seen_subcommand_from container; and not __fish_seen_subcommand_from start stop restart freeze unfreeze" -a unfreeze -d "unfreeze container"
#app
complete -f waydroid -n "__fish_seen_subcommand_from app; and not __fish_seen_subcommand_from install remove launch intent list" -a install -r -d "push a single package to the container and install it"
complete -x waydroid -n "__fish_seen_subcommand_from app; and not __fish_seen_subcommand_from install remove launch intent list" -a install -d "push a single package to the container and install it"
complete -f waydroid -n "__fish_seen_subcommand_from app; and not __fish_seen_subcommand_from install remove launch intent list" -a remove -d "remove single app package from the container"
complete -f waydroid -n "__fish_seen_subcommand_from app; and not __fish_seen_subcommand_from install remove launch intent list" -a launch -d "start single application"
complete -f waydroid -n "__fish_seen_subcommand_from app; and not __fish_seen_subcommand_from install remove launch intent list" -a intent -d "start single application"
complete -f waydroid -n "__fish_seen_subcommand_from app; and not __fish_seen_subcommand_from install remove launch intent list" -a list -d "list installed applications"
#enable file completions on app install
complete -F waydroid -n "__fish_seen_subcommand_from app; and __fish_seen_subcommand_from install"
#package name completions for app launch and remove
complete -x waydroid -n "__fish_seen_subcommand_from app; and __fish_seen_subcommand_from launch" -a "(__fish_print_waydroid_container_package_name)"
complete -x waydroid -n "__fish_seen_subcommand_from app; and __fish_seen_subcommand_from remove" -a "(__fish_print_waydroid_container_package_name)"
#prop
complete -f waydroid -n "__fish_seen_subcommand_from prop; and not __fish_seen_subcommand_from get set" -a get -d "get value of property from container"
@@ -122,15 +137,20 @@ set -l prop_condition "__fish_seen_subcommand_from prop; and __fish_seen_subcomm
complete -f waydroid -n "$prop_condition" -a "true false"
#shell
complete -f waydroid -n "__fish_seen_subcommand_from shell" -s u -l uid -r -d "the UID to run as"
complete -f waydroid -n "__fish_seen_subcommand_from shell" -s g -l gid -r -d "the GID to run as"
complete -f waydroid -n "__fish_seen_subcommand_from shell" -s s -l context -r -d "transition to the specified SELinux or AppArmor security context"
complete -x waydroid -n "__fish_seen_subcommand_from shell" -s u -l uid -d "the UID to run as"
complete -x waydroid -n "__fish_seen_subcommand_from shell" -s g -l gid -d "the GID to run as"
complete -x waydroid -n "__fish_seen_subcommand_from shell" -s s -l context -d "transition to the specified SELinux or AppArmor security context"
complete -f waydroid -n "__fish_seen_subcommand_from shell" -s L -l nolsm -d "Don't perform security domain transition related to mandatory access control"
complete -f waydroid -n "__fish_seen_subcommand_from shell" -s C -l allcaps -d "Don't drop capabilities"
complete -f waydroid -n "__fish_seen_subcommand_from shell" -s G -l nocgroup -d "Don't switch to the container cgroup"
#adb
complete -f waydroid -n "__fish_seen_subcommand_from adb" -a connect -d "connect adb to the Android container"
complete -f waydroid -n "__fish_seen_subcommand_from adb" -a disconnect -d "disconnect adb from the Android container"
#below subcommands don't have any parameter or subcommand avaliable
#status
#show-full-ui
#first-launch
#logcat
#bugreport

View File

@@ -11,7 +11,7 @@ complete -c wget -s a -l append-output -d "Append all messages to logfile"
complete -c wget -s d -l debug -d "Turn on debug output"
complete -c wget -s q -l quiet -d "Quiet mode"
complete -c wget -s v -l verbose -d "Verbose mode"
complete -c wget -l non-verbose -d "Turn off verbose without being completely quiet"
complete -c wget -l no-verbose -d "Turn off verbose without being completely quiet"
complete -c wget -o nv -d "Turn off verbose without being completely quiet"
complete -c wget -s i -l input-file -d "Read URLs from file" -r
complete -c wget -s F -l force-html -d "Force input to be treated as HTML"

View File

@@ -0,0 +1 @@
zellij setup --generate-completion fish | source

View File

@@ -1,27 +1,12 @@
# localization: tier1
# This file does some internal fish setup.
# It is not recommended to remove or edit it.
#
# Set default field separators
#
set -g IFS \n\ \t
set -qg __fish_added_user_paths
or set -g __fish_added_user_paths
#
# Create the default command_not_found handler
#
function __fish_default_command_not_found_handler
printf (_ "fish: Unknown command: %s\n") (string escape -- $argv[1]) >&2
end
if not status --is-interactive
# Hook up the default as the command_not_found handler
# if we are not interactive to avoid custom handlers.
function fish_command_not_found --on-event fish_command_not_found
__fish_default_command_not_found_handler $argv
end
end
#
# Set default search paths for completions and shellscript functions
# unless they already exist
@@ -36,8 +21,8 @@ status get-file __fish_build_paths.fish | source
# Compute the directories for vendor configuration. We want to include
# all of XDG_DATA_DIRS, as well as the __extra_* dirs defined above.
set -l xdg_data_dirs
if set -q XDG_DATA_DIRS
set -l xdg_data_dirs /usr/local/share/fish /usr/share/fish
if test -n "$XDG_DATA_DIRS"
set --path xdg_data_dirs $XDG_DATA_DIRS
set xdg_data_dirs (string replace -r '([^/])/$' '$1' -- $xdg_data_dirs)/fish
end
@@ -146,7 +131,7 @@ and __fish_set_locale
# Some things should only be done for login terminals
# This used to be in etc/config.fish - keep it here to keep the semantics
#
if status --is-login
if status is-login
if command -sq /usr/libexec/path_helper
__fish_macos_set_env PATH /etc/paths '/etc/paths.d'
if test -n "$MANPATH"
@@ -170,20 +155,6 @@ end
# PATH is possibly set above.
__fish_reconstruct_path
# Allow %n job expansion to be used with fg/bg/wait
# `jobs` is the only one that natively supports job expansion
function __fish_expand_pid_args
for arg in $argv
if string match -qr '^%\d+$' -- $arg
if not jobs -p $arg
return 1
end
else
printf "%s\n" $arg
end
end
end
for jobbltn in bg wait disown
function $jobbltn -V jobbltn
set -l args (__fish_expand_pid_args $argv)
@@ -207,7 +178,9 @@ end
if status is-interactive
__fish_migrate
end
fish_config theme choose default --no-override
if status is-interactive || set -qgx __fish_force_load_default_theme
fish_config theme choose default --no-override
end
# As last part of initialization, source the conf directories.
# Implement precedence (User > Admin > Extra (e.g. vendors) > Fish) by basically doing "basename".

View File

@@ -0,0 +1,62 @@
# localization: tier3
function __fish_sudo_print_remaining_args
set -l tokens (commandline -xpc | string escape) (commandline -ct)
set -e tokens[1]
# These are all the options mentioned in the man page for Todd Miller's "sudo.ws" sudo (in that order).
# If any other implementation has different options, this should be harmless, since they shouldn't be used anyway.
set -l opts A/askpass b/background C/close-from= E/preserve-env='?'
# Note that "-h" is both "--host" (which takes an option) and "--help" (which doesn't).
# But `-h` as `--help` only counts when it's the only argument (`sudo -h`),
# so any argument completion after that should take it as "--host".
set -a opts e/edit g/group= H/set-home h/host= 1-help
set -a opts i/login K/remove-timestamp k/reset-timestamp l/list n/non-interactive
set -a opts P/preserve-groups p/prompt= S/stdin s/shell U/other-user=
set -a opts u/user= T/command-timeout= V/version v/validate
argparse -s $opts -- $tokens 2>/dev/null
# The remaining argv is the subcommand with all its options, which is what
# we want.
if test -n "$argv"
and not string match -qr '^-' $argv[1]
string join0 -- $argv
return 0
else
return 1
end
end
function __fish_sudo_no_subcommand
not __fish_sudo_print_remaining_args >/dev/null
end
function __fish_complete_sudo_subcommand
set -l args (__fish_sudo_print_remaining_args | string split0)
set -lx -a PATH /usr/local/sbin /sbin /usr/sbin
__fish_complete_subcommand --commandline $args
end
function __fish_complete_sudo -a sudo
# All these options should be valid for GNU and OSX sudo
complete -c $sudo -n __fish_no_arguments -s h -d "Display help and exit"
complete -c $sudo -n __fish_no_arguments -s V -d "Display version information and exit"
complete -c $sudo -n __fish_sudo_no_subcommand -s A -d "Ask for password via the askpass or \$SSH_ASKPASS program"
complete -c $sudo -n __fish_sudo_no_subcommand -s C -d "Close all file descriptors greater or equal to the given number" -xa "0 1 2 255"
complete -c $sudo -n __fish_sudo_no_subcommand -s E -d "Preserve environment"
complete -c $sudo -n __fish_sudo_no_subcommand -s H -d "Set home"
complete -c $sudo -n __fish_sudo_no_subcommand -s K -d "Remove the credential timestamp entirely"
complete -c $sudo -n __fish_sudo_no_subcommand -s P -d "Preserve group vector"
complete -c $sudo -n __fish_sudo_no_subcommand -s S -d "Read password from stdin"
complete -c $sudo -n __fish_sudo_no_subcommand -s b -d "Run command in the background"
complete -c $sudo -n __fish_sudo_no_subcommand -s e -rF -d Edit
complete -c $sudo -n __fish_sudo_no_subcommand -s g -a "(__fish_complete_groups)" -x -d "Run command as group"
complete -c $sudo -n __fish_sudo_no_subcommand -s i -d "Run a login shell"
complete -c $sudo -n __fish_sudo_no_subcommand -s k -d "Reset or ignore the credential timestamp"
complete -c $sudo -n __fish_sudo_no_subcommand -s l -d "List the allowed and forbidden commands for the given user"
complete -c $sudo -n __fish_sudo_no_subcommand -s n -d "Do not prompt for a password - if one is needed, fail"
complete -c $sudo -n __fish_sudo_no_subcommand -s p -d "Specify a custom password prompt"
complete -c $sudo -n __fish_sudo_no_subcommand -s s -d "Run the given command in a shell"
complete -c $sudo -n __fish_sudo_no_subcommand -s u -a "(__fish_complete_users)" -x -d "Run command as user"
complete -c $sudo -n __fish_sudo_no_subcommand -s v -n __fish_no_arguments -d "Validate the credentials, extending timeout"
# Complete the command we are executed under sudo
complete -c $sudo -x -n 'not __fish_seen_argument -s e' -a "(__fish_complete_sudo_subcommand)"
end

View File

@@ -29,14 +29,14 @@ function __fish_config_interactive -d "Initializations that should be performed
# The default just prints a variable of the same name.
#
# NOTE: This status check is necessary to not print the greeting when `read`ing in scripts. See #7080.
if status --is-interactive
if not status is-interactive-read
and functions -q fish_greeting
fish_greeting
end
# Display SHELL_WELCOME if set. This is a standard environment variable (introduced by
# systemd v257) intended for shells to display when they first initialize.
if status --is-interactive
if not status is-interactive-read
and set -q SHELL_WELCOME[1]
string join -- ' ' $SHELL_WELCOME
end

View File

@@ -0,0 +1,4 @@
# localization: tier1
function __fish_default_command_not_found_handler
printf (_ "fish: Unknown command: %s\n") (string escape -- $argv[1]) >&2
end

View File

@@ -12,7 +12,7 @@ function __fish_edit_command_if_at_cursor --description 'If cursor is at the com
or return 1
set -l command_path (command -v -- $command)
or return 1
test -w $command_path
test -r $command_path
or return 1
string match -q 'text/*' (file --brief --mime-type -L -- $command_path)
or return 1

View File

@@ -0,0 +1,14 @@
# localization: skip(private)
# Allow %n job expansion to be used with fg/bg/wait
# `jobs` is the only one that natively supports job expansion
function __fish_expand_pid_args
for arg in $argv
if string match -qr '^%\d+$' -- $arg
if not jobs -p $arg
return 1
end
else
printf "%s\n" $arg
end
end
end

View File

@@ -55,7 +55,7 @@ end" >$__fish_config_dir/config.fish
__fish_backup_config_files $relative_filename
mkdir -p -- (path dirname -- $filename)
echo >$filename "\
# This file was created by fish when upgrading to version 4.3, to migrate
# This file was created by fish when upgrading to version >= 4.3, to migrate
# the 'fish_key_bindings' variable from its old default scope (universal)
# to its new default scope (global). We recommend you delete this file
# and configure key bindings in ~/.config/fish/config.fish if needed.
@@ -83,9 +83,9 @@ set --erase --universal fish_key_bindings"
end
$mark_migration_done
if $removing_uvars
echo -s (set_color --bold) 'fish:' (set_color --reset) " upgraded to version 4.3:"
echo -s (set_color --bold) 'fish:' (set_color --reset) " upgraded to version >= 4.3.0:"
string join \n -- $msg
echo 'See also the release notes (type `help relnotes`).'
echo 'See also the release notes for 4.3.0 (type `help relnotes`).'
set -Ue fish_key_bindings $theme_uvars
set -l sh (__fish_posix_shell)
eval "$sh -c 'sleep 7 # Please read above notice about universal variables' </dev/null &>/dev/null &"
@@ -107,7 +107,7 @@ function __fish_config_theme_uvars_subset_of_historical_default
set -l matches __fish_config_theme_matches
$matches fish_color_keyword "$fish_color_command"
and $matches fish_color_option "$fish_color_param"
and $matches fish_color_autosuggestion brblack
and $matches fish_color_autosuggestion brblack "555 brblack"
and $matches fish_color_cancel -r
and $matches fish_color_command normal blue --reset
and $matches fish_color_comment red
@@ -125,19 +125,26 @@ function __fish_config_theme_uvars_subset_of_historical_default
and $matches fish_color_quote yellow
and $matches fish_color_redirection "cyan --bold"
and $matches fish_color_search_match \
"--background=111" \
"--background=brblack" \
"bryellow --background=brblack" \
"bryellow --background=brblack --bold" \
"white --background=brblack" \
"white --background=brblack --bold"
and $matches fish_color_selection "white --background=brblack --bold"
and $matches fish_color_selection \
"white --background=brblack --bold" \
"white --bold --background=brblack"
and $matches fish_color_status red
and $matches fish_color_user brgreen
and $matches fish_color_valid_path --underline
and $matches fish_color_background
and $matches fish_pager_color_background
and $matches fish_pager_color_completion
and $matches fish_pager_color_description "yellow -i" "yellow --italics"
and $matches fish_pager_color_prefix "normal --bold --underline" "--bold --underline"
and $matches fish_pager_color_description "B3A06D yellow -i" "yellow -i" "yellow --italics"
and $matches fish_pager_color_prefix \
"normal --bold --underline" \
"cyan --bold --underline" \
"--bold --underline"
and $matches fish_pager_color_progress \
"brwhite --background=cyan" \
"brwhite --background=cyan --bold"
@@ -149,6 +156,7 @@ function __fish_config_theme_uvars_subset_of_historical_default
and $matches fish_pager_color_selected_completion
and $matches fish_pager_color_selected_description
and $matches fish_pager_color_selected_prefix
and $matches fish_color_match --background=brblue
and for uvar in $argv
contains $uvar $checked_varnames
or test -z "$$uvar"

View File

@@ -1,5 +1,5 @@
# localization: skip(private)
# Helper function for completions that need to enumerate Linux modules
function __fish_print_modules
find /lib/modules/(uname -r)/{kernel,misc} -type f 2>/dev/null | sed -e 's$/.*/\([^/.]*\).*$\1$'
find /lib/modules/(uname -r)/{kernel,misc,updates} -type f 2>/dev/null | sed -e 's$/.*/\([^/.]*\).*$\1$'
end

View File

@@ -14,7 +14,7 @@ function cd --description "Change directory"
end
# Skip history in subshells.
if status --is-command-substitution
if status is-command-substitution
builtin cd $argv
return $status
end

View File

@@ -1,18 +1,22 @@
### Command-not-found handlers
# This can be overridden by defining a new fish_command_not_found function
function fish_command_not_found
__fish_default_command_not_found_handler $argv
end
if not status is-interactive
exit
end
# Read the OS/Distro from /etc/os-release.
# This has a "ID=" line that defines the exact distribution,
# and an "ID_LIKE=" line that defines what it is derived from or otherwise like.
# For our purposes, we use both.
set -l os
if test -r /etc/os-release
set os (string match -r '^ID(?:_LIKE)?\s*=.*' < /etc/os-release | \
string replace -r '^ID(?:_LIKE)?\s*=(.*)' '$1' | string trim -c '\'"' | string split " ")
end
function __fish_default_command_not_found_handler
printf (_ "fish: Unknown command: %s\n") (string escape -- $argv[1]) >&2
set os (string replace -rf '^ID(?:_LIKE)?\s*=(.*)' '$1' < /etc/os-release |
string trim -c '\'"' | string split " ")
end
# If an old handler already exists, defer to that.
@@ -73,9 +77,4 @@ else if type -q pkgfile
# __fish_default_command_not_found_handler $argv[1]
# pacman -F $paths
# end
else
# Use standard fish command not found handler otherwise
function fish_command_not_found --on-event fish_command_not_found
__fish_default_command_not_found_handler $argv
end
end

View File

@@ -382,7 +382,6 @@ function __fish_config_theme_choose
end
end
if not $need_hook || test -n "$fish_terminal_color_theme" ||
# comment to work around fish_indent bug
{
$theme_is_color_theme_aware && test -z "$fish_terminal_color_theme"
}

View File

@@ -1,28 +1,28 @@
function fish_default_mode_prompt --description "Display vi prompt mode"
# Do nothing if not in vi mode
if test "$fish_key_bindings" = fish_vi_key_bindings
or test "$fish_key_bindings" = fish_hybrid_key_bindings
switch $fish_bind_mode
case default
set_color --bold red
echo '[N]'
case insert
set_color --bold green
echo '[I]'
case replace_one
set_color --bold green
echo '[R]'
case replace
set_color --bold cyan
echo '[R]'
case visual
set_color --bold magenta
echo '[V]'
case operator f F t T
set_color --bold cyan
echo '[N]'
end
set_color --reset
echo -n ' '
if not contains -- "$fish_key_bindings" fish_vi_key_bindings fish_hybrid_key_bindings
return
end
switch $fish_bind_mode
case default
set_color --bold red
echo '[N]'
case insert
set_color --bold green
echo '[I]'
case replace_one
set_color --bold green
echo '[R]'
case replace
set_color --bold cyan
echo '[R]'
case visual
set_color --bold magenta
echo '[V]'
case operator f F t T
set_color --bold cyan
echo '[N]'
end
set_color --reset
echo -n ' '
end

View File

@@ -298,7 +298,10 @@ function fish_git_prompt --description "Prompt function for Git"
test "$untracked" = true; and set opt -unormal
# Don't use `--ignored=no`; it was introduced in Git 2.16, from January 2018
# Ignored files are omitted by default
set -l stat (command git -c core.fsmonitor= status --porcelain -z $opt | string split0)
# Renames and copies in porcelain -z output have an extra NUL-delimited
# field for the source path. Filter to entries starting with a valid
# two-char status code followed by a space to skip those bare paths.
set -l stat (__fish_git_prompt_status_porcelain_modulo_rename_source $opt)
set dirtystate (string match -qr '^.[ACDMRTU]' -- $stat; and echo 1)
if test -n "$sha"
@@ -404,6 +407,20 @@ end
### helper functions
function __fish_git_prompt_status_porcelain_modulo_rename_source
set -l skip false
for line in (git -c core.fsmonitor= status --porcelain -z $argv | string split0)
if $skip
set skip false
continue
end
printf %s\n $line
if string match -rq -- ^[RC] $line
set skip true
end
end
end
function __fish_git_prompt_informative_status
set -l stashstate 0
set -l stashfile "$argv[1]/logs/refs/stash"
@@ -421,7 +438,10 @@ function __fish_git_prompt_informative_status
# Use git status --porcelain.
# The v2 format is better, but we don't actually care in this case.
set -l stats (string sub -l 2 (git -c core.fsmonitor= status --porcelain -z $untr | string split0))
# Renames and copies in porcelain -z output have an extra NUL-delimited
# field for the source path. Filter to entries starting with a valid
# two-char status code followed by a space to skip those bare paths.
set -l stats (__fish_git_prompt_status_porcelain_modulo_rename_source $untr)
set -l invalidstate (string match -r '^UU' $stats | count)
set -l stagedstate (string match -r '^[ACDMRT].' $stats | count)
set -l dirtystate (string match -r '^.[ACDMRT]' $stats | count)
@@ -663,31 +683,25 @@ end
function __fish_git_prompt_reset -a type -a op -a var --description "Event handler, resets prompt when functionality changes" \
--on-variable=__fish_git_prompt_{show_informative_status,use_informative_chars}
if status --is-interactive
# Clear characters that have different defaults with/without informative status
set -e ___fish_git_prompt_char_{name,cleanstate,dirtystate,invalidstate,stagedstate,stashstate,stateseparator,untrackedfiles,upstream_ahead,upstream_behind}
# Clear init so we reset the chars next time.
set -e ___fish_git_prompt_init
end
# Clear characters that have different defaults with/without informative status
set -e ___fish_git_prompt_char_{name,cleanstate,dirtystate,invalidstate,stagedstate,stashstate,stateseparator,untrackedfiles,upstream_ahead,upstream_behind}
# Clear init so we reset the chars next time.
set -e ___fish_git_prompt_init
end
function __fish_git_prompt_reset_color -a type -a op -a var --description "Event handler, resets prompt when any color changes" \
--on-variable=__fish_git_prompt_color{'',_prefix,_suffix,_bare,_merging,_cleanstate,_invalidstate,_upstream,_flags,_branch,_dirtystate,_stagedstate,_branch_detached,_stashstate,_untrackedfiles} --on-variable=__fish_git_prompt_showcolorhints
if status --is-interactive
set -e _$var
set -e _{$var}_done
set -e ___fish_git_prompt_init
if contains -- $var __fish_git_prompt_color __fish_git_prompt_color_flags __fish_git_prompt_showcolorhints
# reset all the other colors too
set -e ___fish_git_prompt_color_{prefix,suffix,bare,merging,branch,dirtystate,stagedstate,invalidstate,stashstate,untrackedfiles,upstream,flags}{,_done}
end
set -e _$var
set -e _{$var}_done
set -e ___fish_git_prompt_init
if contains -- $var __fish_git_prompt_color __fish_git_prompt_color_flags __fish_git_prompt_showcolorhints
# reset all the other colors too
set -e ___fish_git_prompt_color_{prefix,suffix,bare,merging,branch,dirtystate,stagedstate,invalidstate,stashstate,untrackedfiles,upstream,flags}{,_done}
end
end
function __fish_git_prompt_reset_char -a type -a op -a var --description "Event handler, resets prompt when any char changes" \
--on-variable=__fish_git_prompt_char_{cleanstate,dirtystate,invalidstate,stagedstate,stashstate,stateseparator,untrackedfiles,upstream_ahead,upstream_behind,upstream_diverged,upstream_equal,upstream_prefix}
if status --is-interactive
set -e ___fish_git_prompt_init
set -e _$var
end
set -e ___fish_git_prompt_init
set -e _$var
end

View File

@@ -91,9 +91,8 @@ function funced --description 'Edit function definition'
# Repeatedly edit until it either parses successfully, or the user cancels
# If the editor command itself fails, we assume the user cancelled or the file
# could not be edited, and we do not try again
set -l checksum (__fish_md5 "$tmpname")
while true
set -l checksum (__fish_md5 "$tmpname")
if not $editor $tmpname
echo (_ "Editing failed or was cancelled")
else

View File

@@ -13,7 +13,7 @@ function psub --description "Read from stdin into a file and output the filename
set -l filename
set -l funcname
if not status --is-command-substitution
if not status is-command-substitution
{
printf (_ "%s: Not inside of command substitution") psub
echo

View File

@@ -194,6 +194,7 @@ fish_for_bash_users#special-variables
fish_for_bash_users#string-manipulation
fish_for_bash_users#subshells
fish_for_bash_users#test-test
fish_for_bash_users#variable-defaults-my-variable-default-value
fish_for_bash_users#variables
fish_for_bash_users#wildcards-globs
index

View File

@@ -56,6 +56,7 @@ tt {
.tab:hover,
#tab_contents .master_element:hover,
.color_scheme_choice_container:hover,
.data_table > tr:hover,
.prompt_choices_list > .ng-scope:hover {
background-color: #DDE;
}
@@ -284,6 +285,7 @@ tt {
width: 100%;
padding-left: 10px;
padding-right: 10px;
border-spacing: 0;
}
.data_table_row {}
@@ -310,7 +312,8 @@ tt {
}
.history_delete {
width: 20px;
width: 30px;
text-align: center;
}
.data_table_cell,

View File

@@ -100,13 +100,14 @@ def is_chromeos_garcon():
return False
def run_fish_cmd(text, strict=False):
def run_fish_cmd(text, strict=False, env=None):
print("$ " + text)
p = subprocess.Popen(
[FISH_BIN_PATH],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
env=env,
)
out, err = p.communicate(text.encode("utf-8"))
out = out.decode("utf-8", "replace")
@@ -811,7 +812,8 @@ class FishConfigHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
TERMINAL_COLOR_THEME
)
+ "or __fish_color_theme=unknown __fish_apply_theme\n"
+ "__fish_theme_export_for_webconfig"
+ "__fish_theme_export_for_webconfig",
env=os.environ | {"__fish_force_load_default_theme": "1"},
)
assert err == ""

View File

@@ -293,8 +293,8 @@ mod tests {
#[test]
#[serial]
fn test_abbreviations() {
let _cleanup = test_init();
let parser = TestParser::new();
test_init();
let parser = &mut TestParser::new();
{
let mut abbrs = abbrs_get_set();
abbrs.add(Abbreviation::new(
@@ -352,12 +352,12 @@ macro_rules! abbr_expand_1 {
abbr_expand_1!("gc", cmd, "git checkout");
abbr_expand_1!("foo", cmd, "bar");
let expand_abbreviation_in_command =
let mut expand_abbreviation_in_command =
|cmdline: &wstr, cursor_pos: Option<usize>| -> Option<WString> {
let replacement = reader_expand_abbreviation_at_cursor(
cmdline,
cursor_pos.unwrap_or(cmdline.len()),
&parser,
parser,
)?;
let mut cmdline_expanded = cmdline.to_owned();
let mut colors = vec![HighlightSpec::new(); cmdline.len()];
@@ -424,7 +424,7 @@ macro_rules! validate {
#[test]
#[serial]
fn rename_abbrs() {
let _cleanup = test_init();
test_init();
with_abbrs_mut(|abbrs_g| {
let mut add = |name: &wstr, repl: &wstr, position: Position| {

View File

@@ -1965,11 +1965,11 @@ fn spaces(&self) -> usize {
/// Return the parser's status.
fn status(&mut self) -> ParserStatus {
if self.unwinding {
ParserStatus::unwinding
ParserStatus::Unwinding
} else if self.flags.leave_unterminated && self.peek_type(0) == ParseTokenType::Terminate {
ParserStatus::unsourcing
ParserStatus::Unsourcing
} else {
ParserStatus::ok
ParserStatus::Ok
}
}
@@ -1977,7 +1977,7 @@ fn status(&mut self) -> ParserStatus {
fn unsource_leaves(&mut self) -> bool {
matches!(
self.status(),
ParserStatus::unsourcing | ParserStatus::unwinding
ParserStatus::Unsourcing | ParserStatus::Unwinding
)
}
@@ -2734,15 +2734,15 @@ fn visit_maybe_newlines(&mut self, nls: &mut MaybeNewlines) {
/// The status of our parser.
enum ParserStatus {
/// Parsing is going just fine, thanks for asking.
ok,
Ok,
/// We have exhausted the token stream, but the caller was OK with an incomplete parse tree.
/// All further leaf nodes should have the unsourced flag set.
unsourcing,
Unsourcing,
/// We encountered an parse error and are "unwinding."
/// Do not consume any tokens until we get back to a list type which stops unwinding.
unwinding,
Unwinding,
}
/// Return tokenizer flags corresponding to parse tree flags.
@@ -2832,7 +2832,7 @@ mod tests {
#[test]
#[serial]
fn test_ast_parse() {
let _cleanup = test_init();
test_init();
let src = L!("echo");
let ast = ast::parse(src, ParseTreeFlags::default(), None);
assert!(!ast.any_error);
@@ -2889,7 +2889,7 @@ fn test_is_same_node() {
}
// Run with cargo +nightly bench --features=benchmark
#[cfg(feature = "benchmark")]
#[cfg(all(nightly, feature = "benchmark"))]
#[cfg(test)]
mod bench {
extern crate test;

View File

@@ -54,8 +54,8 @@ enum AssetDir {
#[derive(Debug)]
pub enum AutoloadPath {
OnDisk(WString),
Embedded(String),
Path(WString),
}
#[derive(Debug)]
@@ -102,10 +102,7 @@ pub fn resolve_command(&mut self, cmd: &wstr, env: &dyn Environment) -> Autoload
.unwrap_or_default(),
);
match result {
AutoloadResult::Path(AutoloadPath::Embedded(_)) => {
flogf!(autoload, "Embedded: %s", cmd);
}
AutoloadResult::Path(AutoloadPath::Path(ref path)) => {
AutoloadResult::Path(AutoloadPath::OnDisk(ref path)) => {
flogf!(
autoload,
"Loading %s from var %s from path %s",
@@ -114,6 +111,9 @@ pub fn resolve_command(&mut self, cmd: &wstr, env: &dyn Environment) -> Autoload
path
);
}
AutoloadResult::Path(AutoloadPath::Embedded(_)) => {
flogf!(autoload, "Embedded: %s", cmd);
}
AutoloadResult::Loaded | AutoloadResult::Pending | AutoloadResult::None => {}
}
result
@@ -122,14 +122,14 @@ pub fn resolve_command(&mut self, cmd: &wstr, env: &dyn Environment) -> Autoload
/// Helper to actually perform an autoload.
/// This is a static function because it executes fish script, and so must be called without
/// holding any particular locks.
pub fn perform_autoload(path: &AutoloadPath, parser: &Parser) {
pub fn perform_autoload(path: &AutoloadPath, parser: &mut Parser) {
// We do the useful part of what exec_subshell does ourselves
// - we source the file.
// We don't create a buffer or check ifs or create a read_limit
let prev_statuses = parser.get_last_statuses();
let _put_back = ScopeGuard::new((), |()| parser.set_last_statuses(prev_statuses));
let prev_statuses = parser.last_statuses();
let mut parser = ScopeGuard::new(parser, |parser| parser.set_last_statuses(prev_statuses));
match path {
AutoloadPath::Path(p) => {
AutoloadPath::OnDisk(p) => {
let script_source = L!("source ").to_owned() + &escape(p)[..];
parser.eval(&script_source, &IoChain::new());
}
@@ -219,8 +219,8 @@ fn resolve_command_impl(&mut self, cmd: &wstr, paths: &[WString]) -> AutoloadRes
};
let file_id = match &file {
AutoloadableFileInfo::FileInfo(file) => &file.file_id,
AutoloadableFileInfo::EmbeddedPath(_) => &INVALID_FILE_ID,
AutoloadableFileInfo::OnDisk { file_id, .. } => file_id,
AutoloadableFileInfo::Embedded { .. } => &INVALID_FILE_ID,
};
// Is this file the same as what we previously autoloaded?
@@ -236,8 +236,8 @@ fn resolve_command_impl(&mut self, cmd: &wstr, paths: &[WString]) -> AutoloadRes
self.autoloaded_files
.insert(cmd.to_owned(), file_id.clone());
AutoloadResult::Path(match file {
AutoloadableFileInfo::FileInfo(path) => AutoloadPath::Path(path.path),
AutoloadableFileInfo::EmbeddedPath(path) => AutoloadPath::Embedded(path),
AutoloadableFileInfo::OnDisk { path, .. } => AutoloadPath::OnDisk(path),
AutoloadableFileInfo::Embedded { path } => AutoloadPath::Embedded(path),
})
}
}
@@ -246,20 +246,12 @@ fn resolve_command_impl(&mut self, cmd: &wstr, paths: &[WString]) -> AutoloadRes
const AUTOLOAD_STALENESS_INTERVALL: u64 = 15;
/// Represents a file that we might want to autoload.
#[derive(Clone)]
struct FileInfo {
/// The path to the file.
path: WString,
/// The metadata for the file.
file_id: FileId,
}
#[derive(Clone)]
enum AutoloadableFileInfo {
/// An on-disk file.
FileInfo(FileInfo),
OnDisk { path: WString, file_id: FileId },
/// An embedded file.
EmbeddedPath(String),
Embedded { path: String },
}
// A timestamp is a monotonic point in time.
@@ -329,7 +321,7 @@ fn check(
// Check hits.
if let Some(value) = self.known_files.get(cmd) {
let embedded = matches!(value.file, AutoloadableFileInfo::EmbeddedPath(_));
let embedded = matches!(value.file, AutoloadableFileInfo::Embedded { .. });
if allow_stale
|| embedded
|| Self::is_fresh(value.last_checked, Self::current_timestamp())
@@ -431,7 +423,7 @@ fn locate_file(
let file_id = file_id_for_path(&path);
if file_id != INVALID_FILE_ID {
// Found it.
return Some(AutoloadableFileInfo::FileInfo(FileInfo { path, file_id }));
return Some(AutoloadableFileInfo::OnDisk { path, file_id });
}
}
None
@@ -445,11 +437,11 @@ fn locate_asset(&self, cmd: &wstr, asset_dir: AssetDir) -> Option<AutoloadableFi
}
let narrow = wcs2bytes(cmd);
let cmdstr = std::str::from_utf8(&narrow).ok()?;
let p = match asset_dir {
let path = match asset_dir {
AssetDir::Functions => "functions/".to_owned() + cmdstr + ".fish",
AssetDir::Completions => "completions/".to_owned() + cmdstr + ".fish",
};
has_asset(&p).then_some(AutoloadableFileInfo::EmbeddedPath(p))
has_asset(&path).then_some(AutoloadableFileInfo::Embedded { path })
}
}
@@ -463,7 +455,7 @@ mod tests {
#[test]
#[serial]
fn test_autoload() {
let _cleanup = test_init();
test_init();
use crate::fds::wopen_cloexec;
use fish_widestring::wcs2zstring;
use nix::fcntl::OFlag;

View File

@@ -32,6 +32,7 @@
},
eprintf, err_fmt,
event::{self, Event},
fds::heightenize_fd,
flog::{self, activate_flog_categories_by_pattern, flog, flogf, set_flog_file_fd},
fprintf, function,
history::{self, start_private_mode},
@@ -138,7 +139,7 @@ fn print_rusage_self() {
// Source the file config.fish in the given directory.
// Returns true if successful, false if not.
fn source_config_in_directory(parser: &Parser, dir: &wstr) -> bool {
fn source_config_in_directory(parser: &mut Parser, dir: &wstr) -> bool {
// If the config.fish file doesn't exist or isn't readable silently return. Fish versions up
// thru 2.2.0 would instead try to source the file with stderr redirected to /dev/null to deal
// with that possibility.
@@ -167,7 +168,7 @@ fn source_config_in_directory(parser: &Parser, dir: &wstr) -> bool {
}
/// Parse init files. exec_path is the path of fish executable as determined by argv[0].
fn read_init(parser: &Parser, paths: &ConfigPaths) {
fn read_init(parser: &mut Parser, paths: &ConfigPaths) {
use fish::autoload::Asset;
let emfile = Asset::get("config.fish").expect("Embedded file not found");
let src = bytes2wcstring(&emfile.data);
@@ -189,7 +190,7 @@ fn read_init(parser: &Parser, paths: &ConfigPaths) {
}
}
fn run_command_list(parser: &Parser, cmds: &[OsString]) -> Result<(), libc::c_int> {
fn run_command_list(parser: &mut Parser, cmds: &[OsString]) -> Result<(), libc::c_int> {
let mut retval = Ok(());
for cmd in cmds {
let cmd_wcs = osstr2wcstring(cmd);
@@ -203,7 +204,7 @@ fn run_command_list(parser: &Parser, cmds: &[OsString]) -> Result<(), libc::c_in
if !errored {
// Construct a parsed source ref.
let ps = Arc::new(ParsedSource::new(cmd_wcs, ast));
let _ = parser.eval_parsed_source(&ps, &IoChain::new(), None, BlockType::top, false);
let _ = parser.eval_parsed_source(&ps, &IoChain::new(), None, BlockType::Top, false);
retval = Ok(());
} else {
let backtrace = parser.get_backtrace(&cmd_wcs, &errors);
@@ -489,7 +490,7 @@ fn throwing_main() -> i32 {
// Construct the root parser!
let env = EnvStack::globals().create_child(true /* dispatches_var_changes */);
let parser = &Parser::new(env, CancelBehavior::Clear);
let parser = &mut Parser::new(env, CancelBehavior::Clear);
parser.set_syncs_uvars(!opts.no_config);
if !opts.no_exec && !opts.no_config {
@@ -517,11 +518,7 @@ fn throwing_main() -> i32 {
// TODO(MSRV>=1.88): feature(let_chains)
if let Some(path) = &opts.profile_startup_output {
if opts.profile_startup_output != opts.profile_output {
parser.emit_profiling(path);
// If we are profiling both, ensure the startup data only
// ends up in the startup file.
parser.clear_profiling();
parser.flush_profiling(path);
}
}
@@ -564,11 +561,11 @@ fn throwing_main() -> i32 {
}
res = reader_read(parser, libc::STDIN_FILENO, &IoChain::new());
} else {
let n = wcs2bytes(&args[my_optind]);
let filename = &args[my_optind];
let n = wcs2bytes(filename);
let path = OsStr::from_bytes(&n);
my_optind += 1;
// Rust sets cloexec by default, see above
// We don't need autoclose_fd_t when we use File, it will be closed on drop.
match File::open(path) {
Err(e) => {
flogf!(
@@ -579,24 +576,23 @@ fn throwing_main() -> i32 {
eprintf!("%s\n", e);
}
Ok(f) => {
let list = &args[my_optind..];
parser.set_var(
L!("argv"),
ParserEnvSetMode::default(),
list.iter().map(|s| s.to_owned()).collect(),
);
let rel_filename = &args[my_optind - 1];
let _filename_push = parser
.library_data
.scoped_set(Some(Arc::new(rel_filename.to_owned())), |s| {
&mut s.current_filename
});
res = reader_read(parser, f.as_raw_fd(), &IoChain::new());
if res.is_err() {
flog!(
warning,
wgettext_fmt!("Error while reading file %s", path.to_string_lossy())
if let Ok(f) = heightenize_fd(f.into(), true).map(File::from) {
let list = &args[my_optind..];
parser.set_var(
L!("argv"),
ParserEnvSetMode::default(),
list.iter().map(|s| s.to_owned()).collect(),
);
let _filename_push = parser
.current_filename
.scoped_replace(Some(Arc::new(filename.to_owned())));
res = reader_read(parser, f.as_raw_fd(), &IoChain::new());
if res.is_err() {
flog!(
warning,
wgettext_fmt!("Error while reading file %s", path.to_string_lossy())
);
}
}
}
}
@@ -605,7 +601,7 @@ fn throwing_main() -> i32 {
let exit_status = if res.is_err() {
STATUS_CMD_UNKNOWN
} else {
parser.get_last_status()
parser.last_status()
};
event::fire(
@@ -621,7 +617,7 @@ fn throwing_main() -> i32 {
);
if let Some(profile_output) = opts.profile_output {
parser.emit_profiling(&profile_output);
parser.flush_profiling(&profile_output);
}
history::save_all();

View File

@@ -120,7 +120,7 @@ fn join(list: &[&wstr], sep: &wstr) -> WString {
}
// Print abbreviations in a fish-script friendly way.
fn abbr_show(opts: &Options, streams: &mut IoStreams, parser: &Parser) -> BuiltinResult {
fn abbr_show(opts: &Options, streams: &mut IoStreams, parser: &mut Parser) -> BuiltinResult {
let style = EscapeStringStyle::Script(Default::default());
abbrs::with_abbrs(|abbrs| {
@@ -172,8 +172,7 @@ fn abbr_show(opts: &Options, streams: &mut IoStreams, parser: &Parser) -> Builti
if opts.color.enabled(streams) {
streams.out.append(&bytes2wcstring(&highlight_and_colorize(
&result,
&parser.context(),
parser.vars(),
&mut parser.context(),
)));
} else {
streams.out.append(&result);
@@ -424,7 +423,7 @@ fn abbr_add(opts: &Options, streams: &mut IoStreams) -> BuiltinResult {
}
// Erase the named abbreviations.
fn abbr_erase(opts: &Options, parser: &Parser) -> BuiltinResult {
fn abbr_erase(opts: &Options, parser: &mut Parser) -> BuiltinResult {
if opts.args.is_empty() {
// This has historically been a silent failure.
return Err(STATUS_CMD_ERROR);
@@ -455,7 +454,7 @@ fn abbr_erase(opts: &Options, parser: &Parser) -> BuiltinResult {
})
}
pub fn abbr(parser: &Parser, streams: &mut IoStreams, argv: &mut [&wstr]) -> BuiltinResult {
pub fn abbr(parser: &mut Parser, streams: &mut IoStreams, argv: &mut [&wstr]) -> BuiltinResult {
let mut argv_read = Vec::with_capacity(argv.len());
argv_read.extend_from_slice(argv);

View File

@@ -663,7 +663,7 @@ fn populate_option_strings<'args>(
}
fn validate_arg<'opts>(
parser: &Parser,
parser: &mut Parser,
opts_name: &wstr,
opt_spec: &mut OptionSpec<'opts>,
is_long_flag: bool,
@@ -732,7 +732,7 @@ fn is_implicit_int(opts: &ArgParseCmdOpts, val: &wstr) -> bool {
// Store this value under the implicit int option.
fn validate_and_store_implicit_int<'args>(
parser: &Parser,
parser: &mut Parser,
opts: &mut ArgParseCmdOpts<'args>,
val: &'args wstr,
w: &mut WGetopter,
@@ -823,7 +823,7 @@ fn delete_flag<'args>(w: &mut WGetopter<'_, 'args, '_>, is_long_flag: bool) -> C
}
fn handle_flag<'args>(
parser: &Parser,
parser: &mut Parser,
opts: &mut ArgParseCmdOpts<'args>,
opt: char,
is_long_flag: bool,
@@ -874,7 +874,7 @@ fn handle_flag<'args>(
}
fn argparse_parse_flags<'args>(
parser: &Parser,
parser: &mut Parser,
opts: &mut ArgParseCmdOpts<'args>,
argc: usize,
args: &mut [&'args wstr],
@@ -1067,7 +1067,7 @@ fn argparse_parse_args<'args>(
opts: &mut ArgParseCmdOpts<'args>,
args: &mut [&'args wstr],
argc: usize,
parser: &Parser,
parser: &mut Parser,
streams: &mut IoStreams,
) -> BuiltinResult {
if argc <= 1 {
@@ -1146,7 +1146,7 @@ fn set_argparse_result_vars(vars: &EnvStack, local_mode: EnvSetMode, opts: ArgPa
/// an external command also means its output has to be in a form that can be eval'd. Because our
/// version is a builtin it can directly set variables local to the current scope (e.g., a
/// function). It doesn't need to write anything to stdout that then needs to be eval'd.
pub fn argparse(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> BuiltinResult {
pub fn argparse(parser: &mut Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> BuiltinResult {
let Some(&cmd) = args.first() else {
return Err(STATUS_INVALID_ARGS);
};

View File

@@ -8,7 +8,7 @@
/// Helper function for builtin_bg().
fn send_to_bg(
parser: &Parser,
parser: &mut Parser,
streams: &mut IoStreams,
cmd: &wstr,
job_pos: usize,
@@ -46,7 +46,7 @@ fn send_to_bg(
}
/// Builtin for putting a job in the background.
pub fn bg(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> BuiltinResult {
pub fn bg(parser: &mut Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> BuiltinResult {
let opts = HelpOnlyCmdOpts::parse(args, parser, streams)?;
let Some(&cmd) = args.first() else {

View File

@@ -151,7 +151,7 @@ fn list_one(
seq: &[Key],
bind_mode: Option<&wstr>,
user: bool,
parser: &Parser,
parser: &mut Parser,
streams: &mut IoStreams,
) -> bool {
let results = self.input_mappings.get(seq, bind_mode, user);
@@ -167,8 +167,7 @@ fn list_one(
if self.opts.color.enabled(streams) {
streams.out.append(&bytes2wcstring(&highlight_and_colorize(
&out,
&parser.context(),
parser.vars(),
&mut parser.context(),
)));
} else {
streams.out.append(&out);
@@ -188,7 +187,7 @@ fn list_one_user_andor_preset(
bind_mode: Option<&wstr>,
user: bool,
preset: bool,
parser: &Parser,
parser: &mut Parser,
streams: &mut IoStreams,
) -> bool {
let mut retval = false;
@@ -202,7 +201,13 @@ fn list_one_user_andor_preset(
}
/// List all current key bindings.
fn list(&self, bind_mode: Option<&wstr>, user: bool, parser: &Parser, streams: &mut IoStreams) {
fn list(
&self,
bind_mode: Option<&wstr>,
user: bool,
parser: &mut Parser,
streams: &mut IoStreams,
) {
let lst = self.input_mappings.get_names(user);
for binding in lst {
if bind_mode.is_some_and(|m| m != binding.mode) {
@@ -302,7 +307,7 @@ fn insert(
&mut self,
optind: usize,
argv: &[&wstr],
parser: &Parser,
parser: &mut Parser,
streams: &mut IoStreams,
) -> bool {
let argc = argv.len();
@@ -408,7 +413,7 @@ fn parse_cmd_opts(
opts: &mut Options,
optind: &mut usize,
argv: &mut [&wstr],
parser: &Parser,
parser: &mut Parser,
streams: &mut IoStreams,
) -> BuiltinResult {
let cmd = argv[0];
@@ -510,7 +515,7 @@ impl BuiltinBind {
/// The bind builtin, used for setting character sequences.
pub fn bind(
&mut self,
parser: &Parser,
parser: &mut Parser,
streams: &mut IoStreams,
argv: &mut [&wstr],
) -> BuiltinResult {
@@ -569,6 +574,6 @@ pub fn bind(
}
}
pub fn bind(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> BuiltinResult {
pub fn bind(parser: &mut Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> BuiltinResult {
BuiltinBind::new().bind(parser, streams, args)
}

View File

@@ -1,5 +1,3 @@
use std::sync::atomic::Ordering;
use crate::err_str;
// Implementation of the block builtin.
@@ -74,7 +72,7 @@ fn parse_options(
}
/// The block builtin, used for temporarily blocking events.
pub fn block(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> BuiltinResult {
pub fn block(parser: &mut Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> BuiltinResult {
let cmd = args[0];
let (opts, _) = parse_options(args, parser, streams)?;
@@ -92,11 +90,11 @@ pub fn block(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> Bu
return Err(STATUS_INVALID_ARGS);
}
if parser.global_event_blocks.load(Ordering::Relaxed) == 0 {
if parser.global_event_blocks == 0 {
err_str!("No blocks defined").cmd(cmd).finish(streams);
return Err(STATUS_CMD_ERROR);
}
parser.global_event_blocks.fetch_sub(1, Ordering::Relaxed);
parser.global_event_blocks -= 1;
return Ok(SUCCESS);
}
@@ -135,7 +133,7 @@ pub fn block(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> Bu
if have_block {
parser.block_at_index_mut(block_idx).unwrap().event_blocks |= true;
} else {
parser.global_event_blocks.fetch_add(1, Ordering::Relaxed);
parser.global_event_blocks += 1;
}
Ok(SUCCESS)

Some files were not shown because too many files have changed in this diff Show More