Compare commits

..

100 Commits
4.5.0 ... 4.6.0

Author SHA1 Message Date
Johannes Altmanninger
c7ecc3bd78 Release 4.6.0
Created by ./build_tools/release.sh 4.6.0
2026-03-28 12:56:37 +08:00
Johannes Altmanninger
828a20ef30 Use cfg!(apple) 2026-03-28 12:41:58 +08:00
Fabian Boehm
7f5692dfd3 Skip ttyname on apple systems
Not relevant there because they don't have a "console session" as
such, and the ttyname call may hang.

Fixes #12506
2026-03-27 17:36:08 +01:00
Fabian Boehm
454939d5ab Update docs for fish_emoji_width defaulting to 2 2026-03-27 16:23:30 +01:00
Johannes Altmanninger
8756bc3afb Update changelog 2026-03-27 22:24:03 +08:00
Johannes Altmanninger
272f5dda83 Revert "CI: disable failing ubuntu-asan job"
This reverts commit 23ce9de1c3.

The compilation failure on Rust nightly was fixed in rust-shellexpand
commit b6173f0 (Rename WstrExt and WstrRefExt methods, 2026-02-23).
2026-03-27 22:23:08 +08:00
Johannes Altmanninger
dde33bab7e Clean up word-end special case handling in forward-word 2026-03-27 22:22:29 +08:00
David Adam
63f642c9dd CHANGELOG: log #12562 2026-03-27 22:21:08 +08:00
Fabian Boehm
146384abc6 Stop using wcwidth entirely
wcwidth isn't a great idea - it returns "-1" for anything it doesn't
know and non-printables, which can easily break text.

It is also unclear that it would be accurate to the system console,
and that's a minority use-case over using ssh to access older systems.

Additionally, it means we use one less function from libc and
simplifies the code.

Closes #12562
2026-03-27 21:31:19 +08:00
Fabian Boehm
8561008513 Unconditionally default emoji width to 2
"Emoji width" refers to the width of emoji codepoints. Since Unicode
9, they're classified as "wide" according to
TR11 (https://www.unicode.org/reports/tr11/).

Unicode 9 was released in 2016, and this slowly percolated into C
libraries and terminals. Glibc updated its default in 2.26, released
in August 2017.

Until now, we'd guess support for unicode 9 by checking the system
wcwidth function for an emoji - if it returned 2, we'd set our emoji
width to 2 as well.

However, that's a problem in the common case of using ssh to connect
to an old server - modern desktop OS, old server LTS OS, boom.

So now we instead just figure you've got a system that's *displaying*
the emoji that has been updated in the last 9 years.

In effect we're putting the burden on those who run old RHEL et al as
their client OS. They need to set $fish_emoji_width to 1.

Fixes #12500

Part of #12562
2026-03-27 21:31:19 +08:00
Remo Senekowitsch
88d01f7eb8 completions/cargo: avoid auto-installing toolchain via rustup
When cargo is installed via rustup, running cargo actually goes through
a proxy managed by rustup. This proxy determines the actual toolchain
to use, depending on environment variables, directory overrides etc. In
some cases, the proxy may automatically install the selected toolchain
if it's not yet installed, for example when first working on a project
that pins its rust toolchain via a `rust-toolchain.toml` file. In that
case, running cargo in the completion script can block the prompt for
a very long time. To avoid this, we instruct the rustup proxy not to
auto-install any toolchain with an environment variable.

Closes #12575
2026-03-27 20:11:22 +08:00
rohan436
4467822f6e docs: fix typo in MANPATH guidance string
Closes #12574
2026-03-27 18:55:38 +08:00
Johannes Altmanninger
5fe1cfb895 Bump initial Primary DA query timeout
Commit 7ef4e7dfe7 (Time out terminal queries after a while,
2025-09-21) though that "2 seconds ought to be enough for anyone".
But that's not true in practice: when rebooting a macOS system, it
can take longer. Let's see if 10 seconds is enough.  It should be fine
to have such a high timeout since this shouldn't happen in other cases.

Closes #12571
2026-03-26 16:31:24 +08:00
Daan De Meyer
484032fa9e Support SHELL_PROMPT_PREFIX, SHELL_PROMPT_SUFFIX, and SHELL_WELCOME
Add support for the SHELL_PROMPT_PREFIX, SHELL_PROMPT_SUFFIX, and
SHELL_WELCOME environment variables as standardized by systemd v257.

SHELL_PROMPT_PREFIX and SHELL_PROMPT_SUFFIX are automatically prepended
and appended to the left prompt at the shell level, so all prompts
(default, custom, and sample) pick them up without modification.

SHELL_WELCOME is displayed after the greeting when an interactive shell
starts.

These variables provide a standard interface for tools like systemd's
run0 to communicate session context to the shell.

Fixes https://github.com/fish-shell/fish-shell/issues/10924

Closes #12570
2026-03-26 15:45:50 +08:00
Johannes Altmanninger
fdd10ba9b2 Fix forward-word regression on single-char words followed by punctuation
The `forward-word` readline command on "a-a-a" is wrong (jumps to
"a"); on "aa-aa-aa" it's right (jumps to "-"); that's a regression
from bbb2f0de8d (feat(vi-mode): make word movements vi-compliant,
2026-01-10).

The is_word_end check for ForwardWordEmacs only tests for blank
(whitespace) after the current char. In the Punctuation style, words
also end before punctuation.

Fix this.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

See https://github.com/fish-shell/fish-shell/issues/12543#issuecomment-4125223455
2026-03-26 15:31:00 +08:00
Nahor
8679464689 color: prefer set_color --reset over set_color normal
`set_color normal` is too ambiguous and easily misinterpreted since
it actually reset all colors and modes instead of resetting just
the foreground color as one without prior knowledge might expect.

Closes #12548
2026-03-25 21:53:05 +08:00
Rodolfo Gatti
9ea760c401 Accept |& as an alias for &|
Closes #12565
2026-03-25 21:53:05 +08:00
Steffen Winter
d36c53c6e2 functions: dynamically query gentoo system paths
Use portageq to retrieve system paths instead of hardcoding them in.
This helps especially in Gentoo Prefix, where the installation is not
in / but rather offset inside a subdirectory (usually a users home
directory).

This only affects the "slow" path. When eix is installed it will be used
instead. It already accounts for Prefix installations.

Closes #12552
2026-03-25 21:53:05 +08:00
Steffen Winter
b047450cd0 functions: enable eix fast path for gentoo packages
The idea is taken from the deprecated/unused __fish_print_portage_packages.

Part of #12552
2026-03-25 21:53:05 +08:00
Johannes Altmanninger
0b93989080 fix ProcStatus::status_value in pipeline after ctrl-z
Repro (with default prompt):

	$ HOME=$PWD target/debug/fish -C '
	  function sleep_func; sleep 1; false; end
	  commandline "sleep 2 | sleep 3 | sleep 4 | sleep_func"
	  '
	Welcome to fish, the friendly interactive shell
	Type help for instructions on how to use fish
	johannes@e15 ~> sleep 2 | sleep 3 | sleep 4 | sleep_func
	^Zfish: Job 1, 'sleep 2 | sleep 3 | sleep 4 | s…' has stopped
	johannes@e15 ~ [0|SIGTSTP|SIGTSTP|1]> 

I'm not sure why the first sleep is not reported as stopped.

Co-authored-by: Lieuwe Rooijakkers <lieuwerooijakkers@gmail.com>

Fixes issue #12301

Closes #12550
2026-03-25 21:53:05 +08:00
rohan436
6b4ab05cbc docs: fix duplicated word in language docs
Closes #12554
2026-03-25 17:36:37 +08:00
Johannes Altmanninger
b5c367f8bf Bounds check backward-word-end
While at it, narrow the bounds check for forward movements,
no need to check for impossible cases.

Fixes #12555
2026-03-25 17:36:21 +08:00
Fabian Boehm
a6959aba2a Delete AGENTS.md again
This was an attempt at making vibecoded PRs slightly more palatable,
but it is itself an unpopular move.

Fixes #12526.
2026-03-19 18:41:36 +01:00
Noah Hellman
0a07e8dbdf pager: set col width only once
a bit hidden when column width is overwritten afterwards

Closes #12546
2026-03-16 16:13:21 +08:00
Noah Hellman
b2f350d235 pager: left-align descriptions
left aligned columns are usually easier to read in most cases (except for
e.g. numbers which descriptions are usually not)

Part of #12546
2026-03-16 16:13:21 +08:00
Noah Hellman
d1407cfde6 pager: add Column struct
to group column info, will add more

Part of #12546
2026-03-16 16:06:21 +08:00
Noah Hellman
f076aa1637 pager: take iterator for print_max
avoid unnecessary allocations just to create temporary wstrs

Part of #12546
2026-03-16 16:06:21 +08:00
Noah Hellman
96602f5096 pager tests: add multi-column tests
check alignment of descriptions

Part of #12546
2026-03-16 15:37:38 +08:00
Noah Hellman
a36fc0b316 pager tests: add completions helper
will be especially helpful for multi-completion tests

Part of #12546
2026-03-16 15:37:37 +08:00
Noah Hellman
d7f413bee9 add contrib/shell.nix
Closes #12544
2026-03-15 17:46:24 +08:00
Noah Hellman
81e9e0bd5c tests: use /bin/sh instead of /bin/ls, /bin/echo
/bin/ls and /bin/echo do not necessarily exist on all systems, e.g.
nixos.

/bin/sh should at least exist on more systems than /bin/ls and /bin/echo

Part of #12544
2026-03-15 17:46:24 +08:00
Noah Hellman
5c042575b0 highlight test: use /usr/bin/env instead of /bin/cat
/bin/cat doesn't exist on e.g. nixos, which only has /bin/sh and
/usr/bin/env.

/usr/bin/env should at least exist on more systems than /bin/cat

Part of #12544
2026-03-15 17:46:24 +08:00
Noah Hellman
a0d8d27f45 tests: use command instead of absolute paths
These binaries are not guaranteed to exist at /bin/X on all systems,
e.g. nixos does not place binaries there, but as long as they are in the
PATH we can find them with command.

Part of #12544
2026-03-15 17:46:24 +08:00
Johannes Altmanninger
d1d4cbf3f8 build_tools/update_translations.fish 2026-03-15 17:46:24 +08:00
Steffen Winter
7f41c8ba1f completions/coredumpctl: update for systemd 259
Closes #12545
2026-03-15 16:17:32 +08:00
Steffen Winter
c8989e1849 completions/run0: update for systemd 259
Part of #12545
2026-03-15 16:17:32 +08:00
Helen Chong
ae4e258884 chore(update-dependencies.sh): pin Catppuccin theme repository commit for fetching
See also https://github.com/catppuccin/fish/pull/41

Closes #12525
2026-03-15 16:14:39 +08:00
Nahor
3f0b4d38ff set_color: use only on/off for boolean options
This is done partly for consistency `underline` where we still need
`off` but where true/false doesn't make sense, and partly to simplify
user choices and the code.

See #12507

Closes #12541
2026-03-15 16:12:40 +08:00
t4k44
e9379904fb l10n: add Japanese translation
Closes #12499
2026-03-14 18:30:17 +01:00
Helen Chong
116671c577 docs(changelog): fix typo for Catppuccin color themes
Closes #12524
2026-03-13 15:04:05 +08:00
xtqqczze
53e1718a68 fix: pointer and signal handler casts
- avoid UB from `usize` → pointer cast
- use correct type for `sa_sigaction`

Closes #12488
2026-03-13 15:04:05 +08:00
Nahor
eab84c896e completions/docker: don't load if docker is not started
In WSL, if Docker is not started, the `docker` command is a script
that prints an error message to stdout instead of a valid script.

`docker.exe` is available and can return the completion script. However
any completion will end up calling that `docker` script anyway,
resulting further errors due to the unexpected output.

Closes #12538
2026-03-13 14:37:50 +08:00
JANMESH ARUN SHEWALE
ddf99b7063 Fix vi mode x and X keys to populate kill-ring
Closes #12420
Closes #12536
2026-03-13 14:29:06 +08:00
JANMESH ARUN SHEWALE
bcda4c5c4d fish_indent: preserve comments before brace blocks
Closes #12523
Closes #12505
2026-03-13 14:22:21 +08:00
rohan436
1244a47d86 docs: fix separator spelling in argparse docs
Closes #12533
2026-03-13 14:22:21 +08:00
Julien Gautier
4279a4f879 Update 'mount' completion script with the generated one, and update_translations
Closes #12531
2026-03-13 14:22:21 +08:00
Daniel Danner
efebb7bcdb docs/set: Fix mention of --export
Closes #12530
2026-03-13 14:22:21 +08:00
Daniel Rainer
226e818c25 resource usage: print KiB, not kb
The value shown is in KiB (2^{10} bytes), according to
`man 2 getrusage`, not kb (10^3 bits), so reflect this in the variable
name and output.

Closes #12529
2026-03-13 14:22:21 +08:00
Johannes Altmanninger
888e6d97f9 Address code review comments
See #12502
2026-03-13 14:22:21 +08:00
Nahor
eb7ea0ef9b set_color: add --foreground and --reset options
`--foreground` has two purposes:
- allow resetting the foreground color to its default, without also
resetting the other colors and modes
- improve readibility and unify the `set_color` arguments

`--reset` also has two purposes:
- provide a more intuitive way to reset the text formatting
- allow setting the colors and modes from a clean state without
requiring two calls to `set_color`

Part 3/3 of #12495

Closes #12507
2026-03-13 14:22:21 +08:00
Nahor
4e41d142fd set_color: allow resetting the underline style
Part 2/3 of #12495

Part of #12507
2026-03-13 14:22:00 +08:00
Nahor
a893dd10f4 set_color: allow resetting specific attributes
Add an optional `on`/`off`` value to italics/reverse/striketrough
to allow turning of the attribute without having to use the `normal`
color, i.e. reset the whole style

Part 1/3 of #12495

Part of #12507
2026-03-13 14:22:00 +08:00
Johannes Altmanninger
cba82a3c64 Remove code duplication 2026-03-13 14:22:00 +08:00
Nahor
6e8c32eb12 Remove the Default trait for text face/styling
The notion of default is context dependent: there is the default for
the state (default color, non-bold, no underline, ...) and the default
for a change (no color change, no underline change, ...).

Currently, using a single default works because either the style
attributes cannot be turned off individually (the user is expected
to reset to default then re-set necessary attributes), or the code
has special handling for specific scenarios (e.g. highlighting).

So in preparation for later commits, where attribute can be turned off
individually, make the two defaults explicit.

Part of #12507
2026-03-13 14:06:21 +08:00
Nahor
8ef9864c0c Cleaner fix for #[rustfmt::skip] on expressions
Part of #12507
2026-03-13 12:24:28 +08:00
Nahor
786ac339b8 Remove EnterStandoutMode
Now that terminfo has been removed, EnterStandoutMode is just a duplicate
of EnterReverseMode.

Part of #12507
2026-03-13 12:24:28 +08:00
Johannes Altmanninger
dbb6ae6cf5 Update changelog 2026-03-10 09:56:05 +08:00
Nahor
c4aa03a1fd complete: fix completion of commands starting with -
When trying to complete a command starting with `-`, and more
specifically when trying to get the description of possible commands,
the dash was interpreted as an option for `__fish_describe_command`,
resulting in an "unknown option" most of the time.

This is a regression introduced when adding option parsing to
`__fish_describe_command`

Fixes 7fc27e9e5 (cygwin: improve handling of `.exe` file extension, 2025-11-22)
Fixes #12510

Closes #12522
2026-03-10 09:56:05 +08:00
Nahor
e9340a3c43 CI: rebase MSYS2 dll
This fixes, or should make it less likely, spurious CI failures because
of:
`child_info_fork::abort: address space needed by <DLL> is already occupied`

The issue is that Unix `fork()`, given how it works, preserves
libraries' addresses. Windows does not have such a function, so Cygwin
needs emulate it by moving the libraries in a child process to match
the addresses in its parent. This leads to conflicts if Windows already
loaded something there.

As a workaround, Cygwin has a `rebase` application to assign specific
addresses to each DLL and forcing Windows to use those. This generally
fixes the issue (until a DLL is updated that is, but that's not
a concern for CI since everything is rebuilt from scratch every time).

In the case of #12515 though, the failing DLL is a temporary one built
during the compilation. So a rebase of MSYS2 packages will not quite
fix the problem. However, by moving other DLLs at specific locations,
it reduce the risk of collision to only be between the temporary ones.

Fixes #12515

Closes #12521
2026-03-10 09:56:05 +08:00
Volodymyr Chernetskyi
143a53d9c3 feat: add completions for tflint
Closes #12520
2026-03-10 09:56:05 +08:00
Volodymyr Chernetskyi
a282acf083 feat: add git completions for interpret-trailers
Closes #12519
2026-03-10 09:55:42 +08:00
Mike Yuan
cbd5d7640a functions/history: honor explicitly specified --color=
This partially reverts 324223ddff.

The offending commit broke the ability to set color mode via option
completely in interactive sessions.

Closes #12511
2026-03-09 17:15:55 +11:00
Delapouite
6f262afe8e doc: add link to not command from if command
It's very common to want to express negation in a `if` command.
Therefore a quick way to learn about the `not` command is handy.

Closes #12512
2026-03-09 17:15:55 +11:00
Daniel Rainer
310eba7156 cleanup: use nix version of getrusage
Change the behavior when `getrusage` fails. Previously, failure was
masked by using 0 values for everything. This is misleading. Instead, we
now panic on such failures, because they should never occur with our
usage of the function.

Closes #12502
2026-03-09 17:15:55 +11:00
Daniel Rainer
0223edc639 cleanup: use nix version of getpid
Alternatively, we could also use `nix::unistd::Pid::this()`.

Part of #12502
2026-03-09 16:52:08 +11:00
Daniel Rainer
6d0bb4a6b8 cleanup: replace custom umask wrapper by nix
Part of #12502
2026-03-09 16:52:08 +11:00
Daniel Rainer
7992fda9fe refactor: extract perror
Part of #12502
2026-03-09 16:52:08 +11:00
Daniel Rainer
bf5fa4f681 feat: implement perror_nix
Similar to `perror_io`, we don't need to make a libc call for `nix`
results, since the error variant contains the errno, from which a static
mapping to an error message exists. Avoid using `perror` and instead use
`perror_io` or `perror_nix` as appropriate where possible.

The `perror_io` and `perror_nix` functions could be combined by
implementing `fish_printf::ToArg` for `nix::errno::Errno`, but such a
function would violate type safety, as it would allow passing any
formattable argument, not necessarily limited to functions with a `%s`
formatting.

Part of #12502
2026-03-09 16:52:08 +11:00
Daniel Rainer
735f3ae6ad cleanup: remove obsolete wperror
Part of #12502
2026-03-09 16:52:08 +11:00
Daniel Rainer
131febed2a cleanup: remove unnecessary wstr usage
Part of #12502
2026-03-09 16:52:07 +11:00
Daniel Rainer
61dec20abd cleanup: inline wrename function
This function was only used in a single place and does not do anything
complicated, so inline it.

Part of #12502
2026-03-09 16:52:07 +11:00
Daniel Rainer
c0bb0d6584 refactor: extract write_to_fd into util crate
Part of #12502
2026-03-09 16:52:07 +11:00
Daniel Rainer
c5e4fed021 format: use 4-space indents in more files
Change some files which have lines whose indentation is not a multiple
of the 4 spaces specified in the editorconfig file.

Some of these changes are fixes or clear improvements (e.g. in Rust
macros which rustfmt can't format properly). Other changes don't clearly
improve the code style, and in some cases it might actually get worse.

The goal is to eventually be able to use our editorconfig for automated
style checks, but there are a lot of cases where conforming to the
limited editorconfig style spec does not make sense, so I'm not sure how
useful such automated checks can be.

Closes #12408
2026-03-09 16:52:07 +11:00
Daniel Rainer
1df7a8ba29 cleanup: remove obsolete ellipsis complexity
Previously, we chose the ellipsis character/string based on the locale.
We now assume a UTF-8 locale, and accordingly always use the Unicode
HORIZONTAL ELLIPSIS U+2026 `…`. When this was changed, some of the logic
for handling different ellipsis values was left behind. It no longer
serves a purpose, so remove it.

The functions returning constants are replaced by constants. Since the
ellipsis as a `wstr` is only used in a single file, make it a local
const there and define it via the `ELLIPSIS_CHAR` const.

Put the `ELLIPSIS_CHAR` definition into `fish-widestring`, removing the
dependency of `fish-wcstringutil` on `fish-common`, helping future
extraction efforts.

One localized message contains an ellipsis, which was inserted via a
placeholder, preventing translators from localizing it. Since the
ellipsis is a constant, put it directly into the localized string.

Closes #12493
2026-03-03 15:14:39 +11:00
Daniel Rainer
121b8fffa6 fix: version test on shallow, dirty git repo
In shallow, dirty git repo, the version identifier will look something
like `fish, version 4.5.0-g971e0b7-dirty`, with no commit counter
indicating the commits since the last version. Our regex did not handle
this case.

Make the commit counter optional, which also allows removing the second
alternative in the regex, since it's now subsumed by the first.

Fixes #12497

Closes #12498
2026-03-03 15:14:39 +11:00
Johannes Altmanninger
9c4190e40a Retry writes on signals other than INT/HUP
Fixes #12496
2026-03-03 15:14:39 +11:00
Daniel Rainer
f000149837 refactor: move FilenameRef into fish_common
Closes #12492
2026-03-03 15:14:39 +11:00
Daniel Rainer
f6f50df43d refactor: extract more from src/common.rs
This time, functions for decoding `wstr` into various types and the
`ToCString` trait are extracted.

Part of the wider goal of slimming down the main library to improve
incremental build performance and reduce dependency cycles.

Part of #12492
2026-03-03 15:14:39 +11:00
Daniel Rainer
29160a1592 gettext: support non-ASCII msgids for Rust
The `msguniq` call for deduplicating the msgids originating from Rust
previously did not get a header entry (empty msgid with msgstr
containing metadata). This works fine as long as all msgids are
ASCII-only. But when a non-ASCII character appears in a msgid, `msguniq`
errors out without a header specifying the encoding. To resolve this,
add the header to the input of this `msguniq` invocation and then remove
the header again using sed to prevent duplicating it for the outer
msguniq call at the end of the file.

Closes #12491
2026-03-03 15:14:39 +11:00
Julio Napurí
fcdcae72c5 l10n: add spanish translation
Closes #12489
2026-03-03 15:14:38 +11:00
Daniel Rainer
971e0b7d37 l10n: create common function for finding l10n/po dir
Reduce repetition and make it easier to relocate the directory. This
approach will also be useful for Fluent.

Closes #12484
2026-02-26 14:34:46 +11:00
Daniel Rainer
d6ac8a48c0 xtasks: make files_with_extension more accessible
This function is useful beyond the formatting module, so put it into the
top level of the library.

Closes #12483
2026-02-26 14:34:46 +11:00
Daniel Rainer
2ba031677f xtask: don't panic on failure
Panicking suggests that an assumption of our code was violated.
The current use of panics in xtasks is for expected failures, so it's
better to avoid panicking and instead just print the error message to
stderr and exit 1.

Closes #12482
2026-02-26 14:34:46 +11:00
Johannes Altmanninger
c15ea5d1e6 CI: deny unknown lints on Rust stable
Closes #12334
2026-02-25 18:22:48 +11:00
Johannes Altmanninger
78f3c95641 Reliably suppress warning about unknown Rust lints
Lint table order is unspecified, leading to spurious "unknown
lint" errors which ought to have been suppressed, see
https://github.com/rust-lang/cargo/issues/16518

From https://rust-lang.github.io/rfcs/3389-manifest-lint.html

> lower (particularly negative) numbers ... show up first on the
> command-line to tools like rustc

So we can use the priority property to make sure that unknown lints
are suppressed before rustc processes the other lint specifications.

Part of #12334
2026-02-25 18:22:48 +11:00
Aditya Giri
149fec8f02 string: accept --char alias for pad and shorten
Closes #12460
2026-02-25 18:18:21 +11:00
Daniel Rainer
1b0fa8f804 unicode: use new decoded_width function
For now, only add it in a single place. There are more instances where
width calculation could be improved, but this one has already been
converted to use the `unicode-width` crate before, so conversion is easy
and a strict improvement.

Closes #12457
2026-02-25 18:18:21 +11:00
Daniel Rainer
c38dd1f420 unicode: add function for width computation
Accurately computing the width of arbitrary strings is a non-trivial
problem. We outsource the logic for it to the `unicode-width` crate. But
directly passing our PUA-encoded strings to the crate would give
incorrect results whenever a PUA codepoint is encoded in our string,
since one input PUA codepoint is converted into 3 consecutive codepoints
in our encoding. Therefore, we need to decode before performing width
calculations. Our regular decoding decodes to raw bytes, which is
incompatible with the `unicode-width` crate, since it expects `char`s,
and the decoded bytes could be invalid UTF-8, making their width
undefined. We tackle this problem by building a custom iterator which
does on-the-fly decoding. Encoded PUA codepoints are turned back into
the original codepoints, and any other PUA-encoded bytes are replaced by
one replacement character (U+FFFD) per byte. The latter is not necessary
since PUA codepoints have a defined width of 1, so we could also forward
the PUA-encoded bytes which encode invalid UTF-8 input instead of
inserting the replacement character. The choice to use the replacement
character is made to avoid producing a char sequence where some PUA
codepoints represent themselves, whereas others still encode non-UTF-8
bytes. Such a mix of semantics would be confusing if the char sequence
is ever used for anything else. Replacement characters make it clear
that there are no remaining encoded semantics. Note that using the char
sequences produced in this way for any purpose other than width
computation is not intended. For output, our pre-existing decoding to
bytes should be used, which allows preserving non-UTF-8 bytes.

The implementation of the iterator is not entirely straightforward,
since we need to read up to 3 chars to be able to decide whether we have
an encoded PUA character. Therefore, we need to cache some chars across
invocations of the iterator's `next` and `next_back` invocations. This
is done via a custom buffer struct, which does not require dynamic
allocations.

The tests for the new functionality are only in the main crate because
the encoding function is not available in the `fish-widestring` crate.
Once that is resolved, the tests should be moved.

Part of #12457
2026-02-25 18:18:21 +11:00
Johannes Altmanninger
b9b32ad157 Fix vi mode dl and dh regressions
Also improve AGENTS.md though we should totally point to
CONTRIBUTING.rst instead.

Fixes #12461
2026-02-25 18:18:21 +11:00
Janne Pulkkinen
45ac6472e2 completions/protontricks: update options
New options were added and the help text updated for the old to better
tell them apart.

Closes #12477
2026-02-25 18:18:21 +11:00
Janne Pulkkinen
9235c5de6c completions/protontricks: use new flag for complete
`protontricks -l` will launch a graphical prompt to choose Steam
installation if multiple installations are found. `-L/--list-all`
is a new flag introduced in 1.14.0 that retrieves all games without user
interaction.

Also silence stderr, since it can cause warning messages to be printed.

Part of #12477
2026-02-25 16:47:54 +11:00
Johannes Altmanninger
6c091dbaf4 Remove spurious intermediate ⏎ symbol on prompt redraw
Commit 7ac9ce7ffb (Reduce the number of escape sequences for text
styles, 2026-02-06) includes a bad merge conflict resolution of
a conflict with 38513de954 (Remove duplicated code introduced in
commit 289057f, 2026-02-07). Fix that.

Fixes #12476
2026-02-25 16:47:25 +11:00
Daniel Rainer
3e7e57945c format: replace style.fish by xtask
Replace the `build_tools/style.fish` script by an xtask. This eliminates
the need for a fish binary for performing the formatting/checking. The
`fish_indent` binary is still needed. Eventually, this should be made
available as a library function, so the xtask can use that instead of
requiring a `fish_indent` binary in the `$PATH`.

The new xtask is called `format` rather than `style`, because that's a
more fitting description of what it does (and what the script it
replaces did).

The old script's behavior is not replicated exactly:
- Specifying `--all` and explicit paths is supported within a single
  invocation.
- Explicit arguments no longer have to be files. If a directory is
  specified, all files within it will be considered.
- The git check for un-staged changes is no longer filtered by file
  names, mainly to simplify the implementation.
- A warning is now printed if neither the `--all` flag nor a path are
  provided as arguments. The reason for this is that one might assume
  that omitting these arguments would default to formatting everything
  in the current directory, but instead no formatting will happen in
  this case.
- The wording of some messages is different.

The design of the new code tries to make it easy to add formatters for
additional languages, or change the ones we already have. This is
achieved by separating the code into one function per language, which
can be modified without touching the code for the other languages.
Adding support for a new formatter/language only requires adding a
function which builds the formatter command line based on the arguments
to the xtask, and calling that function from the main `format` function.

Closes #12467
2026-02-24 16:33:04 +11:00
Johannes Altmanninger
23ce9de1c3 CI: disable failing ubuntu-asan job
The rust-shellexpand dependency (via rust-embed)
fails to build on nightly Rust; Fix is at
https://gitlab.com/ijackson/rust-shellexpand/-/merge_requests/19
2026-02-23 15:49:34 +11:00
exploide
6aee7bf378 completions/ip: complete netns for ip l set dev netns, plus some option arguments
Closes #12464
2026-02-23 14:25:09 +11:00
David Adam
5b360238b2 dput_cf_gen: drop -x flag, only used for development 2026-02-21 10:58:12 +08:00
David Adam
5b44c9668f add script to generate a dput.cf for Ubuntu PPA uploads 2026-02-21 10:38:24 +08:00
Peter Ammon
d01a403c65 Cleanup ParserTestErrorBits harder
We don't need this bitwise operator override.
2026-02-17 19:13:13 -08:00
Peter Ammon
b65649725e Cleanup ParserTestErrorBits
This was a weird type that made sense in C++ but not so much in Rust.
Let's clean this up.
2026-02-16 22:29:30 -08:00
Johannes Altmanninger
89c2f1bd6b start new cycle
Created by ./build_tools/release.sh 4.5.0
2026-02-17 11:54:05 +11:00
239 changed files with 166752 additions and 2205 deletions

View File

@@ -21,7 +21,7 @@ indent_size = 4
[build_tools/release.sh]
max_line_length = 72
[{Dockerfile,Vagrantfile}]
[Vagrantfile]
indent_size = 2
[share/{completions,functions}/**.fish]

View File

@@ -16,9 +16,9 @@ jobs:
- name: install dependencies
run: pip install ruff
- name: build fish
run: cargo build
run: cargo build --bin fish_indent
- name: check format
run: PATH="target/debug:$PATH" build_tools/style.fish --all --check
run: PATH="target/debug:$PATH" cargo xtask format --all --check
- name: check rustfmt
run: find build.rs crates src -type f -name '*.rs' | xargs rustfmt --check
@@ -45,6 +45,11 @@ jobs:
- name: Install deps
run: |
sudo apt install gettext
- name: Patch Cargo.toml to deny unknown lints
run: |
if [ "${{ matrix.rust_version }}" = stable ]; then
sed -i /^rust.unknown_lints/d Cargo.toml
fi
- name: cargo clippy
run: cargo clippy --workspace --all-targets ${{ matrix.features }} -- --deny=warnings

View File

@@ -163,10 +163,17 @@ jobs:
with:
update: true
msystem: MSYS
id: msys2
- name: Install deps
# Not using setup-msys2 `install` option to make it easier to copy/paste
run: |
pacman --noconfirm -S --needed git rust
- name: rebase
env:
MSYS2_LOCATION: ${{ steps.msys2.outputs.msys2-location }}
shell: cmd
run: |
"%MSYS2_LOCATION%\usr\bin\dash" /usr/bin/rebaseall -p -v
- name: cargo build
run: |
cargo build

View File

@@ -1,3 +0,0 @@
# Coding style
- Use comments sparingly. Don't explain what the code is doing, rather explain why.

View File

@@ -1,3 +1,45 @@
fish 4.6.0 (released March 28, 2026)
====================================
Notable improvements and fixes
------------------------------
- New Spanish translations (:issue:`12489`).
- New Japanese translations (:issue:`12499`).
Deprecations and removed features
---------------------------------
- The default width for emoji is switched from 1 to 2, improving the experience for users connecting to old systems from modern desktops. Users of old desktops who notice that lines containing emoji are misaligned can set ``$fish_emoji_width`` back to 1 (:issue:`12562`).
Interactive improvements
------------------------
- The tab completion pager now left-justifies the description of each column (:issue:`12546`).
- fish now supports the ``SHELL_PROMPT_PREFIX``, ``SHELL_PROMPT_SUFFIX``, and ``SHELL_WELCOME`` environment variables. The prefix and suffix are automatically prepended and appended to the left prompt, and the welcome message is displayed on startup after the greeting.
These variables are set by systemd's ``run0`` for example (:issue:`10924`).
Improved terminal support
-------------------------
- ``set_color`` is able to turn off italics, reverse mode, strikethrough and underline individually (e.g. ``--italics=off``).
- ``set_color`` learned the foreground (``--foreground`` or ``-f``) and reset (``--reset``) options.
- An error caused by slow terminal responses at macOS startup has been addressed (:issue:`12571`).
Other improvements
------------------
- Signals like ``SIGWINCH`` (as sent on terminal resize) no longer interrupt builtin output (:issue:`12496`).
- For compatibility with Bash, fish now accepts ``|&`` as alternate spelling of ``&|``, for piping both standard output and standard error (:issue:`11516`).
- ``fish_indent`` now preserves comments and newlines immediately preceding a brace block (``{ }``) (:issue:`12505`).
- A crash when suspending certain pipelines with :kbd:`ctrl-z` has been fixed (:issue:`12301`).
For distributors and developers
-------------------------------
- ``cargo xtask`` subcommands no longer panic on test failures.
Regression fixes:
-----------------
- (from 4.5.0) Intermediate ```` artifact when redrawing prompt (:issue:`12476`).
- (from 4.4.0) ``history`` honors explicitly specified ``--color=`` again (:issue:`12512`).
- (from 4.4.0) Vi mode ``dl`` and ``dh`` (:issue:`12461`).
- (from 4.3.0) Error completing of commands starting with ``-`` (:issue:`12522`).
fish 4.5.0 (released February 17, 2026)
=======================================
@@ -39,7 +81,7 @@ New or improved bindings
- Vi mode word movements (``w``, ``W``, ``e``, and ``E``) are now largely in line with Vim. The only exception is that underscores are treated as word separators (:issue:`12269`).
- New special input functions to support these movements: ``forward-word-vi``, ``kill-word-vi``, ``forward-bigword-vi``, ``kill-bigword-vi``, ``forward-word-end``, ``backward-word-end``, ``forward-bigword-end``, ``backward-bigword-end``, ``kill-a-word``, ``kill-inner-word``, ``kill-a-bigword``, and ``kill-inner-bigword``.
- Vi mode key bindings now support counts for movement and deletion commands (e.g. `d3w` or `3l`), via a new operator mode (:issue:`2192`).
- New ``catpuccin-*`` color themes.
- New ``catppuccin-*`` color themes.
Improved terminal support
-------------------------

View File

@@ -53,36 +53,36 @@ add_definitions(-DCMAKE_SOURCE_DIR="${REAL_CMAKE_SOURCE_DIR}")
set(build_types Release RelWithDebInfo Debug "")
if(NOT "${CMAKE_BUILD_TYPE}" IN_LIST build_types)
message(WARNING "Unsupported build type ${CMAKE_BUILD_TYPE}. If this doesn't build, try one of Release, RelWithDebInfo or Debug")
message(WARNING "Unsupported build type ${CMAKE_BUILD_TYPE}. If this doesn't build, try one of Release, RelWithDebInfo or Debug")
endif()
add_custom_target(
fish ALL
COMMAND
"${CMAKE_COMMAND}" -E
env ${VARS_FOR_CARGO}
${Rust_CARGO}
build --bin fish
$<$<CONFIG:Release>:--release>
$<$<CONFIG:RelWithDebInfo>:--profile=release-with-debug>
--target ${Rust_CARGO_TARGET}
--no-default-features
--features=${FISH_CARGO_FEATURES}
${CARGO_FLAGS}
&&
"${CMAKE_COMMAND}" -E
copy "${rust_target_dir}/${rust_profile}/fish" "${CMAKE_CURRENT_BINARY_DIR}"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
USES_TERMINAL
fish ALL
COMMAND
"${CMAKE_COMMAND}" -E
env ${VARS_FOR_CARGO}
${Rust_CARGO}
build --bin fish
$<$<CONFIG:Release>:--release>
$<$<CONFIG:RelWithDebInfo>:--profile=release-with-debug>
--target ${Rust_CARGO_TARGET}
--no-default-features
--features=${FISH_CARGO_FEATURES}
${CARGO_FLAGS}
&&
"${CMAKE_COMMAND}" -E
copy "${rust_target_dir}/${rust_profile}/fish" "${CMAKE_CURRENT_BINARY_DIR}"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
USES_TERMINAL
)
function(CREATE_LINK target)
add_custom_target(
${target} ALL
DEPENDS fish
COMMAND ln -f fish ${target}
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
)
add_custom_target(
${target} ALL
DEPENDS fish
COMMAND ln -f fish ${target}
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
)
endfunction(CREATE_LINK)
# Define fish_indent.

View File

@@ -133,12 +133,12 @@ For formatting, we use:
- ``fish_indent`` (shipped with fish) for fish script
- ``ruff format`` for Python
To reformat files, there is a script
To reformat files, there is an xtask
::
build_tools/style.fish --all
build_tools/style.fish somefile.rs some.fish
cargo xtask format --all
cargo xtask format somefile.rs some.fish
Fish Script Style Guide
-----------------------

16
Cargo.lock generated
View File

@@ -260,7 +260,7 @@ checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582"
[[package]]
name = "fish"
version = "4.5.0"
version = "4.6.0"
dependencies = [
"assert_matches",
"bitflags",
@@ -296,7 +296,6 @@ dependencies = [
"rsconf",
"rust-embed",
"serial_test",
"unicode-width",
"unix_path",
"xterm-color",
]
@@ -329,9 +328,11 @@ name = "fish-common"
version = "0.0.0"
dependencies = [
"bitflags",
"fish-build-helper",
"fish-widestring",
"libc",
"nix",
"rsconf",
]
[[package]]
@@ -402,7 +403,10 @@ dependencies = [
name = "fish-util"
version = "0.0.0"
dependencies = [
"errno",
"fish-widestring",
"libc",
"nix",
"rand",
]
@@ -411,7 +415,6 @@ name = "fish-wcstringutil"
version = "0.0.0"
dependencies = [
"fish-build-helper",
"fish-common",
"fish-fallback",
"fish-widestring",
"rsconf",
@@ -434,6 +437,7 @@ version = "0.0.0"
name = "fish-widestring"
version = "0.0.0"
dependencies = [
"unicode-width",
"widestring",
]
@@ -970,9 +974,9 @@ dependencies = [
[[package]]
name = "shellexpand"
version = "3.1.1"
version = "3.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b1fdf65dd6331831494dd616b30351c38e96e45921a27745cf98490458b90bb"
checksum = "32824fab5e16e6c4d86dc1ba84489390419a39f97699852b66480bb87d297ed8"
dependencies = [
"dirs",
]
@@ -1148,9 +1152,11 @@ checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59"
name = "xtask"
version = "0.0.0"
dependencies = [
"anstyle",
"clap",
"fish-build-helper",
"fish-tempfile",
"walkdir",
]
[[package]]

View File

@@ -11,6 +11,7 @@ repository = "https://github.com/fish-shell/fish-shell"
license = "GPL-2.0-only AND LGPL-2.0-or-later AND MIT AND PSF-2.0"
[workspace.dependencies]
anstyle = "1.0.13"
assert_matches = "1.5.0"
bitflags = "2.5.0"
cc = "1.0.94"
@@ -76,6 +77,7 @@ widestring = "1.2.0"
unicode-segmentation = "1.12.0"
unicode-width = "0.2.0"
unix_path = "1.0.1"
walkdir = "2.5.0"
xterm-color = "1.0.1"
[profile.release]
@@ -88,7 +90,7 @@ debug = true
[package]
name = "fish"
version = "4.5.0"
version = "4.6.0"
edition.workspace = true
rust-version.workspace = true
default-run = "fish"
@@ -124,7 +126,6 @@ num-traits.workspace = true
once_cell.workspace = true
pcre2.workspace = true
rand.workspace = true
unicode-width.workspace = true
xterm-color.workspace = true
[target.'cfg(not(target_has_atomic = "64"))'.dependencies]
@@ -192,7 +193,7 @@ tsan = []
[workspace.lints]
rust.non_camel_case_types = "allow"
rust.non_upper_case_globals = "allow"
rust.unknown_lints = "allow"
rust.unknown_lints = { level = "allow", priority = -1 }
rust.unstable_name_collisions = "allow"
rustdoc.private_intra_doc_links = "allow"

View File

@@ -78,7 +78,7 @@ if $lint; then
if command -v cargo-deny >/dev/null; then
cargo deny --all-features --locked --exclude-dev check licenses
fi
PATH="$build_dir:$PATH" "$workspace_root/build_tools/style.fish" --all --check
PATH="$build_dir:$PATH" cargo xtask format --all --check
for features in "" --no-default-features; do
cargo clippy --workspace --all-targets $features
done

28
build_tools/dput_cf_gen.sh Executable file
View File

@@ -0,0 +1,28 @@
#!/bin/sh
# Script to generate the dput.cf for a set of Ubuntu series, prints the filename
# Arguments are the PPA followed by the series names
set -e
outfile=$(mktemp --tmpdir dput.XXXXX.cf)
[ $# -lt 2 ] &&
echo "$0: at least two arguments (a PPA and at least one series) are required" >&2 &&
exit 1
ppa=$1
shift
for series in "$@"; do
cat >> "$outfile" <<EOF
[fish-$ppa-$series]
fqdn = ppa.launchpad.net
method = ftp
login = anonymous
incoming = ~fish-shell/$ppa/ubuntu/$series
EOF
done
echo "$outfile"

View File

@@ -12,12 +12,8 @@ begin
# 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.
begin
echo 'msgid ""'
echo 'msgstr ""'
echo '"Content-Type: text/plain; charset=UTF-8\n"'
echo ""
end
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)/..)
@@ -41,8 +37,15 @@ begin
mark_section tier1-from-rust
# Get rid of duplicates and sort.
find $rust_extraction_dir -type f -exec cat {} + | msguniq --no-wrap --sort-output
or exit 1
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

View File

@@ -15,8 +15,7 @@ tmpdir=$(mktemp -d)
manifest=$tmpdir/Cargo.toml
lockfile=$tmpdir/Cargo.lock
sed "s/^version = \".*\"\$/version = \"$VERSION\"/g" Cargo.toml \
>"$manifest"
sed "s/^version = \".*\"\$/version = \"$VERSION\"/g" Cargo.toml >"$manifest"
awk -v version=$VERSION '
/^name = "fish"$/ { ok=1 }
ok == 1 && /^version = ".*"$/ {

View File

@@ -10,8 +10,8 @@ fi
scriptname=$(basename "$0")
if [ "$(id -u)" -ne 0 ]; then
echo "${scriptname} must be run as root"
exit 1
echo "${scriptname} must be run as root"
exit 1
fi
file=/etc/shells

View File

@@ -2,6 +2,6 @@
echo "Removing any previous installation"
pkgutil --pkg-info "${INSTALL_PKG_SESSION_ID}" && pkgutil --only-files --files "${INSTALL_PKG_SESSION_ID}" | while read -r installed
do rm -v "${DSTVOLUME}${installed}"
do rm -v "${DSTVOLUME}${installed}"
done
echo "... removed"

View File

@@ -47,7 +47,7 @@ if test -z "$CI" || [ "$(git -C "$workspace_root" tag | wc -l)" -gt 1 ]; then {
num_authors=$(wc -l <"$relnotes_tmp/committers-now")
num_new_authors=$(wc -l <"$relnotes_tmp/committers-new")
printf %s \
"This release comprises $num_commits commits since $previous_version," \
"This release brings $num_commits new commits since $previous_version," \
" contributed by $num_authors authors, $num_new_authors of which are new committers."
echo
echo

View File

@@ -1,123 +0,0 @@
#!/usr/bin/env fish
#
# This runs Python files, fish scripts (*.fish), and Rust files
# through their respective code formatting programs.
#
# `--all`: Format all eligible files instead of the ones specified as arguments.
# `--check`: Instead of reformatting, fail if a file is not formatted correctly.
# `--force`: Proceed without asking if uncommitted changes are detected.
# Only relevant if `--all` is specified but `--check` is not specified.
set -l fish_files
set -l python_files
set -l rust_files
set -l all no
argparse all check force -- $argv
or exit $status
if set -l -q _flag_all
set all yes
if set -q argv[1]
echo "Unexpected arguments: '$argv'"
exit 1
end
end
set -l workspace_root (realpath (status dirname)/..)
if test $all = yes
if not set -l -q _flag_force; and not set -l -q _flag_check
# Potential for false positives: Not all fish files are formatted, see the `fish_files`
# definition below.
set -l relevant_uncommitted_changes (git status --porcelain --short --untracked-files=all | sed -e 's/^ *[^ ]* *//' | grep -E '.*\.(fish|py|rs)$')
if set -q relevant_uncommitted_changes[1]
for changed_file in $relevant_uncommitted_changes
echo $changed_file
end
echo
echo 'You have uncommitted changes (listed above). Are you sure you want to restyle?'
read -P 'y/N? ' -n1 -l ans
if not string match -qi y -- $ans
exit 1
end
end
end
set fish_files $workspace_root/{benchmarks,build_tools,etc,share}/**.fish
set python_files $workspace_root
else
# Format the files specified as arguments.
set -l files $argv
set fish_files (string match -r '^.*\.fish$' -- $files)
set python_files (string match -r '^.*\.py$' -- $files)
set rust_files (string match -r '^.*\.rs$' -- $files)
end
set -l red (set_color red)
set -l green (set_color green)
set -l yellow (set_color yellow)
set -l normal (set_color normal)
function die -V red -V normal
echo $red$argv[1]$normal
exit 1
end
if set -q fish_files[1]
if not type -q fish_indent
echo
echo $yellow'Could not find `fish_indent` in `$PATH`.'$normal
exit 127
end
echo === Running "$green"fish_indent"$normal"
if set -l -q _flag_check
fish_indent --check -- $fish_files
or die "Fish files are not formatted correctly."
else
fish_indent -w -- $fish_files
end
end
if set -q python_files[1]
if not type -q ruff
echo
echo $yellow'Please install `ruff` to style python'$normal
exit 127
end
echo === Running "$green"ruff format"$normal"
if set -l -q _flag_check
ruff format --check $python_files
or die "Python files are not formatted correctly."
else
ruff format $python_files
end
end
if test $all = yes; or set -q rust_files[1]
if not cargo fmt --version >/dev/null
echo
echo $yellow'Please install "rustfmt" to style Rust, e.g. via:'
echo "rustup component add rustfmt"$normal
exit 127
end
set -l edition_spec string match -r '^edition\s*=.*'
test "$($edition_spec <Cargo.toml)" = "$($edition_spec <.rustfmt.toml)"
or die "Cargo.toml and .rustfmt.toml use different editions"
echo === Running "$green"rustfmt"$normal"
if set -l -q _flag_check
if test $all = yes
cargo fmt --all --check
else
rustfmt --check --files-with-diff $rust_files
end
or die "Rust files are not formatted correctly."
else
if test $all = yes
cargo fmt --all
else
rustfmt $rust_files
end
end
end

View File

@@ -45,14 +45,14 @@ from_gh() {
path=$2
destination=$3
contents=$(curl -fsS https://raw.githubusercontent.com/"${repo}"/refs/heads/master/"${path}")
printf '%s\n' >"$destination" "$contents"
printf '%s\n' "$contents" >"$destination"
}
from_gh ridiculousfish/widecharwidth widechar_width.rs crates/widecharwidth/src/widechar_width.rs
from_gh ridiculousfish/littlecheck littlecheck/littlecheck.py tests/littlecheck.py
from_gh catppuccin/fish 'themes/Catppuccin Frappe.theme' share/themes/catppuccin-frappe.theme
from_gh catppuccin/fish 'themes/Catppuccin Macchiato.theme' share/themes/catppuccin-macchiato.theme
from_gh catppuccin/fish 'themes/Catppuccin Mocha.theme' share/themes/catppuccin-mocha.theme
from_gh catppuccin/fish themes/catppuccin-frappe.theme share/themes/catppuccin-frappe.theme
from_gh catppuccin/fish themes/catppuccin-macchiato.theme share/themes/catppuccin-macchiato.theme
from_gh catppuccin/fish themes/catppuccin-mocha.theme share/themes/catppuccin-mocha.theme
# Update Cargo.lock
cargo update

View File

@@ -51,9 +51,10 @@ endif()
add_feature_info(Documentation WITH_DOCS "user manual and documentation")
if(WITH_DOCS)
add_custom_target(doc ALL
DEPENDS sphinx-docs sphinx-manpages)
add_custom_target(doc ALL DEPENDS sphinx-docs sphinx-manpages)
# Group docs targets into a DocsTargets folder
set_property(TARGET doc sphinx-docs sphinx-manpages
PROPERTY FOLDER cmake/DocTargets)
set_property(
TARGET doc sphinx-docs sphinx-manpages
PROPERTY FOLDER cmake/DocTargets
)
endif()

View File

@@ -22,17 +22,17 @@ foreach(_VAR ${_Rust_USER_VARS})
endforeach()
if (NOT DEFINED Rust_CARGO_CACHED)
find_program(Rust_CARGO_CACHED cargo PATHS "$ENV{HOME}/.cargo/bin")
find_program(Rust_CARGO_CACHED cargo PATHS "$ENV{HOME}/.cargo/bin")
endif()
if (NOT EXISTS "${Rust_CARGO_CACHED}")
message(FATAL_ERROR "The cargo executable ${Rust_CARGO_CACHED} was not found. "
"Consider setting `Rust_CARGO_CACHED` to the absolute path of `cargo`."
)
message(FATAL_ERROR "The cargo executable ${Rust_CARGO_CACHED} was not found. "
"Consider setting `Rust_CARGO_CACHED` to the absolute path of `cargo`."
)
endif()
if (NOT DEFINED Rust_COMPILER_CACHED)
find_program(Rust_COMPILER_CACHED rustc PATHS "$ENV{HOME}/.cargo/bin")
find_program(Rust_COMPILER_CACHED rustc PATHS "$ENV{HOME}/.cargo/bin")
endif()
@@ -45,31 +45,31 @@ endif()
# Figure out the target by just using the host target.
# If you want to cross-compile, you'll have to set Rust_CARGO_TARGET
if(NOT Rust_CARGO_TARGET_CACHED)
execute_process(
COMMAND "${Rust_COMPILER_CACHED}" --version --verbose
OUTPUT_VARIABLE _RUSTC_VERSION_RAW
RESULT_VARIABLE _RUSTC_VERSION_RESULT
)
if(NOT ( "${_RUSTC_VERSION_RESULT}" EQUAL "0" ))
message(FATAL_ERROR "Failed to get rustc version.\n"
"${Rust_COMPILER} --version failed with error: `${_RUSTC_VERSION_RESULT}`")
endif()
if (_RUSTC_VERSION_RAW MATCHES "host: ([a-zA-Z0-9_\\-]*)\n")
set(Rust_DEFAULT_HOST_TARGET "${CMAKE_MATCH_1}")
else()
message(FATAL_ERROR
"Failed to parse rustc host target. `rustc --version --verbose` evaluated to:\n${_RUSTC_VERSION_RAW}"
execute_process(
COMMAND "${Rust_COMPILER_CACHED}" --version --verbose
OUTPUT_VARIABLE _RUSTC_VERSION_RAW
RESULT_VARIABLE _RUSTC_VERSION_RESULT
)
endif()
if(CMAKE_CROSSCOMPILING)
message(FATAL_ERROR "CMake is in cross-compiling mode."
"Manually set `Rust_CARGO_TARGET`."
)
endif()
set(Rust_CARGO_TARGET_CACHED "${Rust_DEFAULT_HOST_TARGET}" CACHE STRING "Target triple")
if(NOT ( "${_RUSTC_VERSION_RESULT}" EQUAL "0" ))
message(FATAL_ERROR "Failed to get rustc version.\n"
"${Rust_COMPILER} --version failed with error: `${_RUSTC_VERSION_RESULT}`")
endif()
if (_RUSTC_VERSION_RAW MATCHES "host: ([a-zA-Z0-9_\\-]*)\n")
set(Rust_DEFAULT_HOST_TARGET "${CMAKE_MATCH_1}")
else()
message(FATAL_ERROR
"Failed to parse rustc host target. `rustc --version --verbose` evaluated to:\n${_RUSTC_VERSION_RAW}"
)
endif()
if(CMAKE_CROSSCOMPILING)
message(FATAL_ERROR "CMake is in cross-compiling mode."
"Manually set `Rust_CARGO_TARGET`."
)
endif()
set(Rust_CARGO_TARGET_CACHED "${Rust_DEFAULT_HOST_TARGET}" CACHE STRING "Target triple")
endif()
# Set the input variables as non-cache variables so that the variables are available after

View File

@@ -14,32 +14,36 @@ set(rel_completionsdir "fish/vendor_completions.d")
set(rel_functionsdir "fish/vendor_functions.d")
set(rel_confdir "fish/vendor_conf.d")
set(extra_completionsdir
"${datadir}/${rel_completionsdir}"
CACHE STRING "Path for extra completions")
set(
extra_completionsdir "${datadir}/${rel_completionsdir}"
CACHE STRING "Path for extra completions"
)
set(extra_functionsdir
"${datadir}/${rel_functionsdir}"
CACHE STRING "Path for extra functions")
set(
extra_functionsdir "${datadir}/${rel_functionsdir}"
CACHE STRING "Path for extra functions"
)
set(extra_confdir
"${datadir}/${rel_confdir}"
CACHE STRING "Path for extra configuration")
set(
extra_confdir "${datadir}/${rel_confdir}"
CACHE STRING "Path for extra configuration"
)
# These are the man pages that go in system manpath; all manpages go in the fish-specific manpath.
set(MANUALS ${SPHINX_OUTPUT_DIR}/man/man1/fish.1
${SPHINX_OUTPUT_DIR}/man/man1/fish_indent.1
${SPHINX_OUTPUT_DIR}/man/man1/fish_key_reader.1
${SPHINX_OUTPUT_DIR}/man/man1/fish-doc.1
${SPHINX_OUTPUT_DIR}/man/man1/fish-tutorial.1
${SPHINX_OUTPUT_DIR}/man/man1/fish-language.1
${SPHINX_OUTPUT_DIR}/man/man1/fish-interactive.1
${SPHINX_OUTPUT_DIR}/man/man1/fish-terminal-compatibility.1
${SPHINX_OUTPUT_DIR}/man/man1/fish-completions.1
${SPHINX_OUTPUT_DIR}/man/man1/fish-prompt-tutorial.1
${SPHINX_OUTPUT_DIR}/man/man1/fish-for-bash-users.1
${SPHINX_OUTPUT_DIR}/man/man1/fish-faq.1
set(MANUALS
${SPHINX_OUTPUT_DIR}/man/man1/fish.1
${SPHINX_OUTPUT_DIR}/man/man1/fish_indent.1
${SPHINX_OUTPUT_DIR}/man/man1/fish_key_reader.1
${SPHINX_OUTPUT_DIR}/man/man1/fish-doc.1
${SPHINX_OUTPUT_DIR}/man/man1/fish-tutorial.1
${SPHINX_OUTPUT_DIR}/man/man1/fish-language.1
${SPHINX_OUTPUT_DIR}/man/man1/fish-interactive.1
${SPHINX_OUTPUT_DIR}/man/man1/fish-terminal-compatibility.1
${SPHINX_OUTPUT_DIR}/man/man1/fish-completions.1
${SPHINX_OUTPUT_DIR}/man/man1/fish-prompt-tutorial.1
${SPHINX_OUTPUT_DIR}/man/man1/fish-for-bash-users.1
${SPHINX_OUTPUT_DIR}/man/man1/fish-faq.1
)
# Determine which man page we don't want to install.
@@ -48,40 +52,49 @@ set(MANUALS ${SPHINX_OUTPUT_DIR}/man/man1/fish.1
# On other operating systems, don't install a realpath man page, as they almost all have a realpath
# command, while macOS does not.
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
set(CONDEMNED_PAGE "open.1")
set(CONDEMNED_PAGE "open.1")
else()
set(CONDEMNED_PAGE "realpath.1")
set(CONDEMNED_PAGE "realpath.1")
endif()
# Define a function to help us create directories.
function(FISH_CREATE_DIRS)
foreach(dir ${ARGV})
install(DIRECTORY DESTINATION ${dir})
endforeach(dir)
foreach(dir ${ARGV})
install(DIRECTORY DESTINATION ${dir})
endforeach(dir)
endfunction(FISH_CREATE_DIRS)
function(FISH_TRY_CREATE_DIRS)
foreach(dir ${ARGV})
if(NOT IS_ABSOLUTE ${dir})
set(abs_dir "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${dir}")
else()
set(abs_dir "\$ENV{DESTDIR}${dir}")
endif()
install(SCRIPT CODE "EXECUTE_PROCESS(COMMAND mkdir -p ${abs_dir} OUTPUT_QUIET ERROR_QUIET)
execute_process(COMMAND chmod 755 ${abs_dir} OUTPUT_QUIET ERROR_QUIET)
")
endforeach()
foreach(dir ${ARGV})
if(NOT IS_ABSOLUTE ${dir})
set(abs_dir "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${dir}")
else()
set(abs_dir "\$ENV{DESTDIR}${dir}")
endif()
install(SCRIPT CODE "
EXECUTE_PROCESS(COMMAND mkdir -p ${abs_dir} OUTPUT_QUIET ERROR_QUIET)
execute_process(COMMAND chmod 755 ${abs_dir} OUTPUT_QUIET ERROR_QUIET)
")
endforeach()
endfunction(FISH_TRY_CREATE_DIRS)
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/fish
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ
GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
DESTINATION ${bindir})
install(
PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/fish
PERMISSIONS
OWNER_READ
OWNER_WRITE
OWNER_EXECUTE
GROUP_READ
GROUP_EXECUTE
WORLD_READ
WORLD_EXECUTE
DESTINATION ${bindir}
)
if(NOT IS_ABSOLUTE ${bindir})
set(abs_bindir "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${bindir}")
set(abs_bindir "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${bindir}")
else()
set(abs_bindir "\$ENV{DESTDIR}${bindir}")
set(abs_bindir "\$ENV{DESTDIR}${bindir}")
endif()
install(CODE "file(CREATE_LINK ${abs_bindir}/fish ${abs_bindir}/fish_indent)")
install(CODE "file(CREATE_LINK ${abs_bindir}/fish ${abs_bindir}/fish_key_reader)")
@@ -90,87 +103,116 @@ fish_create_dirs(${sysconfdir}/fish/conf.d ${sysconfdir}/fish/completions
${sysconfdir}/fish/functions)
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
)
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
)
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)
${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(${rel_datadir}/fish/vendor_completions.d ${rel_datadir}/fish/vendor_functions.d
${rel_datadir}/fish/vendor_conf.d)
fish_create_dirs(
${rel_datadir}/fish/vendor_completions.d
${rel_datadir}/fish/vendor_functions.d
${rel_datadir}/fish/vendor_conf.d
)
fish_try_create_dirs(${rel_datadir}/pkgconfig)
configure_file(fish.pc.in fish.pc.noversion @ONLY)
add_custom_command(OUTPUT fish.pc
add_custom_command(
OUTPUT fish.pc
COMMAND sed '/Version/d' fish.pc.noversion > fish.pc
COMMAND printf "Version: " >> fish.pc
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/build_tools/git_version_gen.sh >> fish.pc
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/fish.pc.noversion)
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/fish.pc.noversion
)
add_custom_target(build_fish_pc ALL DEPENDS fish.pc)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/fish.pc
DESTINATION ${rel_datadir}/pkgconfig)
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/fish.pc
DESTINATION ${rel_datadir}/pkgconfig
)
install(DIRECTORY share/completions/
DESTINATION ${rel_datadir}/fish/completions
FILES_MATCHING PATTERN "*.fish")
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/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/prompts/
DESTINATION ${rel_datadir}/fish/prompts
FILES_MATCHING PATTERN "*.fish"
)
install(DIRECTORY share/themes/
DESTINATION ${rel_datadir}/fish/themes
FILES_MATCHING PATTERN "*.theme")
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(DIRECTORY ${SPHINX_OUTPUT_DIR}/man/man1/
DESTINATION ${rel_datadir}/fish/man/man1
FILES_MATCHING
PATTERN "*.1"
PATTERN ${CONDEMNED_PAGE} EXCLUDE)
install(
DIRECTORY ${SPHINX_OUTPUT_DIR}/man/man1/
DESTINATION ${rel_datadir}/fish/man/man1
FILES_MATCHING
PATTERN "*.1"
PATTERN ${CONDEMNED_PAGE} EXCLUDE
)
install(PROGRAMS share/tools/create_manpage_completions.py
DESTINATION ${rel_datadir}/fish/tools/)
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")
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(DIRECTORY ${SPHINX_OUTPUT_DIR}/html/ # Trailing slash is important!
DESTINATION ${docdir} OPTIONAL)
install(
DIRECTORY ${SPHINX_OUTPUT_DIR}/html/ # Trailing slash is important!
DESTINATION ${docdir} OPTIONAL
)
install(FILES CHANGELOG.rst DESTINATION ${docdir})
# Group install targets into a InstallTargets folder
set_property(TARGET build_fish_pc
PROPERTY FOLDER cmake/InstallTargets)
set_property(
TARGET build_fish_pc
PROPERTY FOLDER cmake/InstallTargets
)
# Make a target build_root that installs into the buildroot directory, for testing.
set(BUILDROOT_DIR ${CMAKE_CURRENT_BINARY_DIR}/buildroot)
add_custom_target(build_root
COMMAND DESTDIR=${BUILDROOT_DIR} ${CMAKE_COMMAND}
--build ${CMAKE_CURRENT_BINARY_DIR} --target install)
add_custom_target(
build_root
COMMAND DESTDIR=${BUILDROOT_DIR} ${CMAKE_COMMAND}
--build ${CMAKE_CURRENT_BINARY_DIR} --target install
)

View File

@@ -1,9 +1,10 @@
set(FISH_USE_SYSTEM_PCRE2 ON CACHE BOOL
"Try to use PCRE2 from the system, instead of the pcre2-sys version")
"Try to use PCRE2 from the system, instead of the pcre2-sys version"
)
if(FISH_USE_SYSTEM_PCRE2)
message(STATUS "Trying to use PCRE2 from the system")
message(STATUS "Trying to use PCRE2 from the system")
else()
message(STATUS "Forcing static build of PCRE2")
set(FISH_PCRE2_BUILDFLAG "PCRE2_SYS_STATIC=1")
message(STATUS "Forcing static build of PCRE2")
set(FISH_PCRE2_BUILDFLAG "PCRE2_SYS_STATIC=1")
endif(FISH_USE_SYSTEM_PCRE2)

View File

@@ -1,27 +1,27 @@
FILE(GLOB FISH_CHECKS CONFIGURE_DEPENDS ${CMAKE_SOURCE_DIR}/tests/checks/*.fish)
foreach(CHECK ${FISH_CHECKS})
get_filename_component(CHECK_NAME ${CHECK} NAME)
add_custom_target(
test_${CHECK_NAME}
COMMAND ${CMAKE_SOURCE_DIR}/tests/test_driver.py ${CMAKE_CURRENT_BINARY_DIR}
checks/${CHECK_NAME}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests
DEPENDS fish fish_indent fish_key_reader
USES_TERMINAL
)
get_filename_component(CHECK_NAME ${CHECK} NAME)
add_custom_target(
test_${CHECK_NAME}
COMMAND ${CMAKE_SOURCE_DIR}/tests/test_driver.py ${CMAKE_CURRENT_BINARY_DIR}
checks/${CHECK_NAME}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests
DEPENDS fish fish_indent fish_key_reader
USES_TERMINAL
)
endforeach(CHECK)
FILE(GLOB PEXPECTS CONFIGURE_DEPENDS ${CMAKE_SOURCE_DIR}/tests/pexpects/*.py)
foreach(PEXPECT ${PEXPECTS})
get_filename_component(PEXPECT ${PEXPECT} NAME)
add_custom_target(
test_${PEXPECT}
COMMAND ${CMAKE_SOURCE_DIR}/tests/test_driver.py ${CMAKE_CURRENT_BINARY_DIR}
pexpects/${PEXPECT}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests
DEPENDS fish fish_indent fish_key_reader
USES_TERMINAL
)
get_filename_component(PEXPECT ${PEXPECT} NAME)
add_custom_target(
test_${PEXPECT}
COMMAND ${CMAKE_SOURCE_DIR}/tests/test_driver.py ${CMAKE_CURRENT_BINARY_DIR}
pexpects/${PEXPECT}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests
DEPENDS fish fish_indent fish_key_reader
USES_TERMINAL
)
endforeach(PEXPECT)
# Rust stuff.
@@ -30,14 +30,20 @@ if(DEFINED ASAN)
# Rust w/ -Zsanitizer=address requires explicitly specifying the --target triple or else linker
# errors pertaining to asan symbols will ensue.
if(NOT DEFINED Rust_CARGO_TARGET)
message(FATAL_ERROR "ASAN requires defining the CMake variable Rust_CARGO_TARGET to the
intended target triple")
message(
FATAL_ERROR
"ASAN requires defining the CMake variable Rust_CARGO_TARGET to the
intended target triple"
)
endif()
endif()
if(DEFINED TSAN)
if(NOT DEFINED Rust_CARGO_TARGET)
message(FATAL_ERROR "TSAN requires defining the CMake variable Rust_CARGO_TARGET to the
intended target triple")
message(
FATAL_ERROR
"TSAN requires defining the CMake variable Rust_CARGO_TARGET to the
intended target triple"
)
endif()
endif()
@@ -53,10 +59,10 @@ endif()
# The top-level test target is "fish_run_tests".
add_custom_target(fish_run_tests
# TODO: This should be replaced with a unified solution, possibly build_tools/check.sh.
COMMAND ${CMAKE_SOURCE_DIR}/tests/test_driver.py ${max_concurrency_flag} ${CMAKE_CURRENT_BINARY_DIR}
COMMAND env ${VARS_FOR_CARGO}
${Rust_CARGO}
# TODO: This should be replaced with a unified solution, possibly build_tools/check.sh.
COMMAND ${CMAKE_SOURCE_DIR}/tests/test_driver.py ${max_concurrency_flag} ${CMAKE_CURRENT_BINARY_DIR}
COMMAND
env ${VARS_FOR_CARGO} ${Rust_CARGO}
test
--no-default-features
--features=${FISH_CARGO_FEATURES}
@@ -64,7 +70,7 @@ add_custom_target(fish_run_tests
--workspace
--target-dir ${rust_target_dir}
${cargo_test_flags}
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
DEPENDS fish fish_indent fish_key_reader
USES_TERMINAL
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
DEPENDS fish fish_indent fish_key_reader
USES_TERMINAL
)

View File

@@ -1,3 +1,11 @@
fish (4.6.0-1) stable; urgency=medium
* Release of new version 4.6.0.
See https://github.com/fish-shell/fish-shell/releases/tag/4.6.0 for details.
-- Johannes Altmanninger <aclopte@gmail.com> Sat, 28 Mar 2026 12:56:37 +0800
fish (4.5.0-1) stable; urgency=medium
* Release of new version 4.5.0.

33
contrib/shell.nix Normal file
View File

@@ -0,0 +1,33 @@
# Environment containing all dependencies needed for
# - building fish,
# - building documentation,
# - running all tests,
# - formatting and checking lints.
#
# enter interactive bash shell:
# nix-shell contrib/shell.nix
#
# using system nixpkgs (otherwise fetches pinned version):
# nix-shell contrib/shell.nix --arg pkgs 'import <nixpkgs> {}'
#
# run single command:
# nix-shell contrib/shell --run "cargo xtask check"
{ pkgs ? (import (builtins.fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/nixos-25.11.tar.gz";
sha256 = "1ia5kjykm9xmrpwbzhbaf4cpwi3yaxr7shl6amj8dajvgbyh2yh4";
}) { }), ... }:
pkgs.mkShell {
buildInputs = [
(pkgs.python3.withPackages (pyPkgs: [ pyPkgs.pexpect ]))
pkgs.cargo
pkgs.clippy
pkgs.cmake
pkgs.gettext
pkgs.pcre2
pkgs.procps # tests use pgrep/pkill
pkgs.ruff
pkgs.rustc
pkgs.rustfmt
pkgs.sphinx
];
}

View File

@@ -38,6 +38,14 @@ pub fn fish_doc_dir() -> Cow<'static, Path> {
cargo_target_dir().join("fish-docs").into()
}
fn l10n_dir() -> Cow<'static, Path> {
workspace_root().join("localization").into()
}
pub fn po_dir() -> Cow<'static, Path> {
l10n_dir().join("po").into()
}
// TODO Move this to rsconf
pub fn rebuild_if_path_changed<P: AsRef<Path>>(path: P) {
rsconf::rebuild_if_path_changed(path.as_ref().to_str().unwrap());

View File

@@ -12,5 +12,9 @@ fish-widestring.workspace = true
libc.workspace = true
nix.workspace = true
[build-dependencies]
fish-build-helper.workspace = true
rsconf.workspace = true
[lints]
workspace = true

5
crates/common/build.rs Normal file
View File

@@ -0,0 +1,5 @@
use fish_build_helper::target_os_is_apple;
fn main() {
rsconf::declare_cfg("apple", target_os_is_apple());
}

View File

@@ -1,13 +1,13 @@
use bitflags::bitflags;
use fish_widestring::{L, char_offset, wstr};
use fish_widestring::{L, WString, char_offset, wstr};
use libc::{SIG_IGN, SIGTTOU, STDIN_FILENO};
use std::cell::{Cell, RefCell};
use std::io::Read;
use std::ops::{Deref, DerefMut};
use std::os::fd::{AsRawFd, BorrowedFd, RawFd};
use std::os::unix::ffi::OsStrExt as _;
use std::sync::OnceLock;
use std::sync::atomic::{AtomicI32, AtomicU32, Ordering};
use std::sync::{Arc, OnceLock};
use std::{env, mem, time};
pub const PACKAGE_NAME: &str = env!("CARGO_PKG_NAME");
@@ -137,20 +137,23 @@ pub fn is_console_session() -> bool {
static IS_CONSOLE_SESSION: OnceLock<bool> = OnceLock::new();
// TODO(terminal-workaround)
*IS_CONSOLE_SESSION.get_or_init(|| {
nix::unistd::ttyname(unsafe { std::os::fd::BorrowedFd::borrow_raw(STDIN_FILENO) })
.is_ok_and(|buf| {
// Check if the tty matches /dev/(console|dcons|tty[uv\d])
let is_console_tty = match buf.as_os_str().as_bytes() {
b"/dev/console" => true,
b"/dev/dcons" => true,
bytes => bytes.strip_prefix(b"/dev/tty").is_some_and(|rest| {
matches!(rest.first(), Some(b'u' | b'v' | b'0'..=b'9'))
}),
};
// No console session on Apple, and ttyname may hang (#12506).
!cfg!(apple)
&& nix::unistd::ttyname(unsafe { std::os::fd::BorrowedFd::borrow_raw(STDIN_FILENO) })
.is_ok_and(|buf| {
// Check if the tty matches /dev/(console|dcons|tty[uv\d])
let is_console_tty = match buf.as_os_str().as_bytes() {
b"/dev/console" => true,
b"/dev/dcons" => true,
bytes => bytes.strip_prefix(b"/dev/tty").is_some_and(|rest| {
matches!(rest.first(), Some(b'u' | b'v' | b'0'..=b'9'))
}),
};
// 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'-'))
})
// 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'-'))
})
})
}
@@ -159,17 +162,6 @@ pub fn exit_without_destructors(code: libc::c_int) -> ! {
unsafe { libc::_exit(code) };
}
/// The character to use where the text has been truncated.
pub fn get_ellipsis_char() -> char {
'\u{2026}' // ('…')
}
/// The character or string to use where text has been truncated (ellipsis if possible, otherwise
/// ...)
pub fn get_ellipsis_str() -> &'static wstr {
L!("\u{2026}")
}
// Only pub for `src/common.rs`
pub static OBFUSCATION_READ_CHAR: AtomicU32 = AtomicU32::new(0);
@@ -269,6 +261,9 @@ macro_rules! help_section {
}};
}
/// Stored in blocks to reference the file which created the block.
pub type FilenameRef = Arc<WString>;
pub type Timepoint = f64;
/// Return the number of seconds from the UNIX epoch, with subsecond precision. This function uses

View File

@@ -25,36 +25,13 @@
/// Valid values are 1, and 2. 1 is the typical emoji width used in Unicode 8 while some newer
/// terminals use a width of 2 since Unicode 9.
// For some reason, this is declared here and exposed here, but is set in `env_dispatch`.
pub static FISH_EMOJI_WIDTH: AtomicIsize = AtomicIsize::new(1);
pub static FISH_EMOJI_WIDTH: AtomicIsize = AtomicIsize::new(2);
static WC_LOOKUP_TABLE: LazyLock<WcLookupTable> = LazyLock::new(WcLookupTable::new);
/// A safe wrapper around the system `wcwidth()` function
#[cfg(not(cygwin))]
pub fn wcwidth(c: char) -> isize {
unsafe extern "C" {
pub unsafe fn wcwidth(c: libc::wchar_t) -> libc::c_int;
}
const {
assert!(size_of::<libc::wchar_t>() >= size_of::<char>());
}
let width = unsafe { wcwidth(c as libc::wchar_t) };
isize::try_from(width).unwrap()
}
// Big hack to use our versions of wcswidth where we know them to be broken, which is
// EVERYWHERE (https://github.com/fish-shell/fish-shell/issues/2199)
pub fn fish_wcwidth(c: char) -> isize {
// The system version of wcwidth should accurately reflect the ability to represent characters
// in the console session, but knows nothing about the capabilities of other terminal emulators
// or ttys. Use it from the start only if we are logged in to the physical console.
#[cfg(not(cygwin))]
if fish_common::is_console_session() {
return wcwidth(c);
}
// Check for VS16 which selects emoji presentation. This "promotes" a character like U+2764
// (width 1) to an emoji (probably width 2). So treat it as width 1 so the sums work. See #2652.
// VS15 selects text presentation.
@@ -75,18 +52,7 @@ pub fn fish_wcwidth(c: char) -> isize {
let width = WC_LOOKUP_TABLE.classify(c);
match width {
WcWidth::NonCharacter | WcWidth::NonPrint | WcWidth::Combining | WcWidth::Unassigned => {
#[cfg(not(cygwin))]
{
// Fall back to system wcwidth in this case.
wcwidth(c)
}
#[cfg(cygwin)]
{
// No system wcwidth for UTF-32 on cygwin.
0
}
}
WcWidth::NonCharacter | WcWidth::NonPrint | WcWidth::Combining | WcWidth::Unassigned => 0,
WcWidth::Ambiguous | WcWidth::PrivateUse => {
// TR11: "All private-use characters are by default classified as Ambiguous".
FISH_AMBIGUOUS_WIDTH.load(Ordering::Relaxed)
@@ -97,8 +63,7 @@ pub fn fish_wcwidth(c: char) -> isize {
}
}
/// fish's internal versions of wcwidth and wcswidth, which can use an internal implementation if
/// the system one is busted.
/// fish's internal versions of wcwidth and wcswidth
pub fn fish_wcswidth(s: &wstr) -> isize {
// ascii fast path; empty iterator returns true for .all()
if s.chars().all(|c| c.is_ascii() && !c.is_ascii_control()) {

View File

@@ -11,11 +11,7 @@ fn main() {
PathBuf::from(fish_build_helper::fish_build_dir()).join("fish-localization-map-cache");
embed_localizations(&cache_dir);
fish_build_helper::rebuild_if_path_changed(
fish_build_helper::workspace_root()
.join("localization")
.join("po"),
);
fish_build_helper::rebuild_if_path_changed(fish_build_helper::po_dir());
}
fn embed_localizations(cache_dir: &Path) {
@@ -25,10 +21,6 @@ fn embed_localizations(cache_dir: &Path) {
io::{BufWriter, Write as _},
};
let po_dir = fish_build_helper::workspace_root()
.join("localization")
.join("po");
// Ensure that the directory is created, because clippy cannot compile the code if the
// directory does not exist.
std::fs::create_dir_all(cache_dir).unwrap();
@@ -56,7 +48,7 @@ fn embed_localizations(cache_dir: &Path) {
Ok(output) => {
let has_check_format =
String::from_utf8_lossy(&output.stdout).contains("--check-format");
for dir_entry_result in po_dir.read_dir().unwrap() {
for dir_entry_result in fish_build_helper::po_dir().read_dir().unwrap() {
let dir_entry = dir_entry_result.unwrap();
let po_file_path = dir_entry.path();
if po_file_path.extension() != Some(OsStr::new("po")) {

View File

@@ -400,8 +400,10 @@ fn test_char() {
#[test]
fn test_ptr() {
assert_fmt!("%p", core::ptr::null::<u8>() => "0");
assert_fmt!("%p", 0xDEADBEEF_usize as *const u8 => "0xdeadbeef");
assert_fmt!("%p", core::ptr::null::<()>() => "0");
let tmp = core::ptr::without_provenance::<()>(0xDEADBEEF);
assert_fmt!("%p", tmp => "0xdeadbeef");
}
#[test]

View File

@@ -7,7 +7,10 @@ repository.workspace = true
license.workspace = true
[dependencies]
errno.workspace = true
fish-widestring.workspace = true
libc.workspace = true
nix.workspace = true
rand.workspace = true
[lints]

View File

@@ -1,9 +1,15 @@
//! Generic utilities library.
use errno::errno;
use fish_widestring::prelude::*;
use rand::{SeedableRng as _, rngs::SmallRng};
use std::cmp::Ordering;
use std::time;
use std::{
cmp::Ordering,
ffi::CStr,
io::Write as _,
os::fd::{BorrowedFd, RawFd},
time,
};
/// Compares two wide character strings with an (arguably) intuitive ordering. This function tries
/// to order strings in a way which is intuitive to humans with regards to sorting strings
@@ -234,6 +240,26 @@ fn wcsfilecmp_leading_digits(a: &wstr, b: &wstr) -> (Ordering, usize, usize) {
(ret, ai, bi)
}
pub fn write_to_fd(input: &[u8], fd: RawFd) -> nix::Result<usize> {
nix::unistd::write(unsafe { BorrowedFd::borrow_raw(fd) }, input)
}
/// Prints the provided string, followed by a colon, space, and the string representation of the
/// current errno via [`libc::strerror`].
pub fn perror(s: &str) {
let e = errno().0;
let mut stderr = std::io::stderr().lock();
if !s.is_empty() {
let _ = write!(stderr, "{s}: ");
}
let slice = unsafe {
let msg = libc::strerror(e);
CStr::from_ptr(msg).to_bytes()
};
let _ = stderr.write_all(slice);
let _ = stderr.write_all(b"\n");
}
#[cfg(test)]
mod tests {
use super::wcsfilecmp;

View File

@@ -7,7 +7,6 @@ repository.workspace = true
license.workspace = true
[dependencies]
fish-common.workspace = true
fish-fallback.workspace = true
fish-widestring.workspace = true

View File

@@ -1,8 +1,12 @@
//! Helper functions for working with wcstring.
use fish_common::{get_ellipsis_char, get_ellipsis_str};
use std::{
ffi::{CStr, CString, OsString},
os::unix::ffi::OsStringExt as _,
};
use fish_fallback::{fish_wcwidth, lowercase, lowercase_rev, wcscasecmp, wcscasecmp_fuzzy};
use fish_widestring::{decode_byte_from_char, prelude::*};
use fish_widestring::{ELLIPSIS_CHAR, decode_byte_from_char, prelude::*};
/// Return the number of newlines in a string.
pub fn count_newlines(s: &wstr) -> usize {
@@ -360,6 +364,121 @@ pub fn str2bytes_callback(input: impl IntoCharIter, mut func: impl FnMut(&[u8])
true
}
/// Returns a newly allocated multibyte character string equivalent of the specified wide character
/// string.
///
/// This function decodes illegal character sequences in a reversible way using the private use
/// area.
pub fn wcs2bytes(input: impl IntoCharIter) -> Vec<u8> {
let mut result = vec![];
wcs2bytes_appending(&mut result, input);
result
}
pub fn wcs2osstring(input: &wstr) -> OsString {
if input.is_empty() {
return OsString::new();
}
let mut result = vec![];
wcs2bytes_appending(&mut result, input);
OsString::from_vec(result)
}
/// Same as [`wcs2bytes`]. Meant to be used when we need a zero-terminated string to feed legacy APIs.
/// Note: if `input` contains any interior NUL bytes, the result will be truncated at the first!
pub fn wcs2zstring(input: &wstr) -> CString {
if input.is_empty() {
return CString::default();
}
let mut vec = Vec::with_capacity(input.len() + 1);
str2bytes_callback(input, |buff| {
vec.extend_from_slice(buff);
true
});
vec.push(b'\0');
match CString::from_vec_with_nul(vec) {
Ok(cstr) => cstr,
Err(err) => {
// `input` contained a NUL in the middle; we can retrieve `vec`, though
let mut vec = err.into_bytes();
let pos = vec.iter().position(|c| *c == b'\0').unwrap();
vec.truncate(pos + 1);
// Safety: We truncated after the first NUL
unsafe { CString::from_vec_with_nul_unchecked(vec) }
}
}
}
/// Like [`wcs2bytes`], but appends to `output` instead of returning a new string.
pub fn wcs2bytes_appending(output: &mut Vec<u8>, input: impl IntoCharIter) {
str2bytes_callback(input, |buff| {
output.extend_from_slice(buff);
true
});
}
/// A trait to make it more convenient to pass ascii/Unicode strings to functions that can take
/// non-Unicode values. The result is nul-terminated and can be passed to OS functions.
///
/// This is only implemented for owned types where an owned instance will skip allocations (e.g.
/// `CString` can return `self`) but not implemented for owned instances where a new allocation is
/// always required (e.g. implemented for `&wstr` but not `WideString`) because you might as well be
/// left with the original item if we're going to allocate from scratch in all cases.
pub trait ToCString {
/// Correctly convert to a nul-terminated [`CString`] that can be passed to OS functions.
fn to_cstring(self) -> CString;
}
impl ToCString for CString {
fn to_cstring(self) -> CString {
self
}
}
impl ToCString for &CStr {
fn to_cstring(self) -> CString {
self.to_owned()
}
}
/// Safely converts from `&wstr` to a `CString` to a nul-terminated `CString` that can be passed to
/// OS functions, taking into account non-Unicode values that have been shifted into the private-use
/// range by using [`wcs2zstring()`].
impl ToCString for &wstr {
/// The wide string may contain non-Unicode bytes mapped to the private-use Unicode range, so we
/// have to use [`wcs2zstring()`](self::wcs2zstring) to convert it correctly.
fn to_cstring(self) -> CString {
self::wcs2zstring(self)
}
}
/// Safely converts from `&WString` to a nul-terminated `CString` that can be passed to OS
/// functions, taking into account non-Unicode values that have been shifted into the private-use
/// range by using [`wcs2zstring()`].
impl ToCString for &WString {
fn to_cstring(self) -> CString {
self.as_utfstr().to_cstring()
}
}
/// Convert a (probably ascii) string to CString that can be passed to OS functions.
impl ToCString for Vec<u8> {
fn to_cstring(mut self) -> CString {
self.push(b'\0');
CString::from_vec_with_nul(self).unwrap()
}
}
/// Convert a (probably ascii) string to nul-terminated CString that can be passed to OS functions.
impl ToCString for &[u8] {
fn to_cstring(self) -> CString {
CString::new(self).unwrap()
}
}
/// Split a string by runs of any of the separator characters provided in `seps`.
/// Note the delimiters are the characters in `seps`, not `seps` itself.
/// `seps` may contain the NUL character.
@@ -473,32 +592,13 @@ pub fn split_about<'haystack>(
output
}
#[derive(Eq, PartialEq)]
pub enum EllipsisType {
None,
// Prefer niceness over minimalness
Prettiest,
// Make every character count ($ instead of ...)
Shortest,
}
pub fn truncate(input: &wstr, max_len: usize, etype: Option<EllipsisType>) -> WString {
let etype = etype.unwrap_or(EllipsisType::Prettiest);
// TODO: This should work on render width rather than the number of codepoints.
pub fn truncate(input: &wstr, max_len: usize) -> WString {
if input.len() <= max_len {
return input.to_owned();
}
if etype == EllipsisType::None {
return input[..max_len].to_owned();
}
if etype == EllipsisType::Prettiest {
let ellipsis_str = get_ellipsis_str();
let mut output = input[..max_len - ellipsis_str.len()].to_owned();
output += ellipsis_str;
return output;
}
let mut output = input[..max_len - 1].to_owned();
output.push(get_ellipsis_char());
output.push(ELLIPSIS_CHAR);
output
}

View File

@@ -7,6 +7,7 @@ repository.workspace = true
license.workspace = true
[dependencies]
unicode-width.workspace = true
widestring.workspace = true
[lints]

View File

@@ -13,6 +13,9 @@ pub mod prelude {
pub use crate::{IntoCharIter, L, ToWString, WExt, WString, wstr};
}
/// The character to use where the text has been truncated.
pub const ELLIPSIS_CHAR: char = '\u{2026}'; // ('…')
// These are in the Unicode private-use range. We really shouldn't use this
// range but have little choice in the matter given how our lexer/parser works.
// We can't use non-characters for these two ranges because there are only 66 of
@@ -53,6 +56,219 @@ pub fn decode_byte_from_char(c: char) -> Option<u8> {
}
}
mod decoder {
use crate::{ENCODE_DIRECT_BASE, ENCODE_DIRECT_END, char_offset, wstr};
use buffer::Buffer;
use std::{char::REPLACEMENT_CHARACTER, ops::Range};
use widestring::utfstr::CharsUtf32;
mod buffer {
// The size required for a PUA-encoded character from our special PUA range - 1,
// since that is the maximum number characters our look-ahead needs to check.
const MAX_SIZE: usize = 2;
pub(super) struct Buffer {
buffer: [char; MAX_SIZE],
length: usize,
}
impl Buffer {
pub(super) fn empty() -> Self {
Self {
buffer: ['\0'; MAX_SIZE],
length: 0,
}
}
pub(super) fn push(&mut self, c: char) {
self.buffer[self.length] = c;
self.length += 1;
}
pub(super) fn pop(&mut self) -> Option<char> {
if self.length == 0 {
return None;
}
self.length -= 1;
Some(self.buffer[self.length])
}
pub(super) fn pop_front(&mut self) -> Option<char> {
if self.length == 0 {
return None;
}
self.buffer.rotate_left(1);
self.length -= 1;
Some(self.buffer[MAX_SIZE - 1])
}
}
}
const PUA_ENCODE_RANGE: Range<char> = ENCODE_DIRECT_BASE..ENCODE_DIRECT_END;
const ENCODED_PUA_CHAR_FIRST_CHAR: char = char_offset(ENCODE_DIRECT_BASE, 0xef);
// The second UTF-8 byte of a character in our special PUA range is in the range
// 0x98..0x9c.
const ENCODED_PUA_CHAR_SECOND_CHAR_RANGE: Range<char> =
char_offset(ENCODE_DIRECT_BASE, 0x98)..char_offset(ENCODE_DIRECT_BASE, 0x9c);
/// This serves as the data container for building a double-ended iterator which decodes our
/// PUA-encoded chars into a char iterator where each encoded non-UTF-8 byte is replaced by the
/// replacement character, and each encoded PUA codepoint is turned back into a single char
/// whose value is the original PUA codepoint.
///
/// The latter part makes the decoding logic somewhat complicated, because encoded PUA chars
/// take up 3 chars in our encoding. Therefore, in some cases, we need to take more than 1 char
/// from the `encoded_chars` iterator before we know whether to decode 3 chars together into a
/// single char, or whether the chars should be replaced by the replacement char individually.
/// In cases where we took more than 1 char and then notice that individual replacement is
/// warranted, we return a replacement char for the first char we took from the iterator, and
/// cache the 1 or 2 other chars we read in `buffer_front` or `buffer_back`, depending on the
/// reading direction. Buffers store elements in such an order that getting the next character
/// requires `pop` when using the buffer associated with the current reading direction, and
/// `pop_front` when using the other buffer. This is done to optimize the common case of
/// iterating in a single direction.
///
/// The buffers have to be considered before taking more chars from `encoded_chars`.
/// If the iterator is only read in one direction, the buffer for the other direction will not
/// be used. But because it's possible that the iterator is read from both ends, it can happen
/// that when `encoded_chars` runs out, the buffer for the opposite reading direction is
/// non-empty. In the [`Self::next`] and [`Self::next_back`] implementations, this logic is
/// encapsulated into closures for getting the next char from the appropriate source.
/// At most 2 chars will ever be stored in a buffer, so they are implemented using a fixed-size
/// array, requiring no heap allocations.
///
/// Note that in most cases, we can avoid using the buffers, and simply forward the char
/// obtained from `encoded_chars`. Only chars in [`PUA_ENCODE_RANGE`] can possibly encode PUA
/// chars, so if we read any other char, we know that it's not part of such an encoding and can
/// return it directly. If we read in the forward direction, we can also exploit knowledge about
/// the possible values of our PUA encoding. Specifically, the first char in such an encoding
/// will always be [`ENCODED_PUA_CHAR_FIRST_CHAR`], and the second char will be in the range
/// [`ENCODED_PUA_CHAR_SECOND_CHAR_RANGE`].
pub(super) struct Decoder<'a> {
encoded_chars: CharsUtf32<'a>,
buffer_front: Buffer,
buffer_back: Buffer,
}
impl<'a> Decoder<'a> {
pub(super) fn new(encoded_str: &'a wstr) -> Self {
Self {
encoded_chars: encoded_str.chars(),
buffer_front: Buffer::empty(),
buffer_back: Buffer::empty(),
}
}
}
fn try_pua_decoding(encoding: &[char; 3]) -> Option<char> {
let mut bytes = [0u8; 3];
for (index, &c) in encoding.iter().enumerate() {
bytes[index] = super::decode_byte_from_char(c)?;
}
let first_decoded_char =
std::str::from_utf8(&bytes).ok()?.chars().next().expect(
"Non-empty byte slice which is valid UTF-8 must result in at least one char.",
);
// For strings whose width we compute, we only expect invalid UTF-8 and codepoints from the
// PUA encoding range to be PUA encoded.
// If we reach this point, the encoded bytes are valid UTF-8, so the only remaining
// expected case are codepoints from the PUA encoding range.
// These all take 3 bytes to represent in UTF-8, so if we check that the first parsed
// codepoint is in the expected range, we know that exactly 3 bytes were consumed for
// parsing this codepoint.
assert!(PUA_ENCODE_RANGE.contains(&first_decoded_char));
Some(first_decoded_char)
}
fn replace_if_pua_encoded(c: char) -> char {
if PUA_ENCODE_RANGE.contains(&c) {
REPLACEMENT_CHARACTER
} else {
c
}
}
impl<'a> Iterator for Decoder<'a> {
type Item = char;
fn next(&mut self) -> Option<Self::Item> {
let mut get_next_char = || {
self.buffer_front
.pop()
.or_else(|| self.encoded_chars.next())
.or_else(|| self.buffer_back.pop_front())
};
let c_0 = get_next_char()?;
if c_0 != ENCODED_PUA_CHAR_FIRST_CHAR {
return Some(replace_if_pua_encoded(c_0));
}
if let Some(c_1) = get_next_char() {
if ENCODED_PUA_CHAR_SECOND_CHAR_RANGE.contains(&c_1) {
if let Some(c_2) = get_next_char() {
if let Some(decoded_pua_char) = try_pua_decoding(&[c_0, c_1, c_2]) {
return Some(decoded_pua_char);
}
self.buffer_front.push(c_2);
}
}
self.buffer_front.push(c_1);
}
// If decoding 3 consecutive PUA chars into the encoded PUA char fails, `c_0` should be
// returned. `c_0` is `ENCODED_PUA_CHAR_FIRST_CHAR` if we reach this point, so return
// the `REPLACEMENT_CHARACTER` in these cases.
Some(REPLACEMENT_CHARACTER)
}
}
impl<'a> DoubleEndedIterator for Decoder<'a> {
fn next_back(&mut self) -> Option<Self::Item> {
let mut get_next_char = || {
self.buffer_back
.pop()
.or_else(|| self.encoded_chars.next_back())
.or_else(|| self.buffer_front.pop_front())
};
let c_2 = get_next_char()?;
if !PUA_ENCODE_RANGE.contains(&c_2) {
return Some(c_2);
}
if let Some(c_1) = get_next_char() {
if PUA_ENCODE_RANGE.contains(&c_1) {
if let Some(c_0) = get_next_char() {
if let Some(decoded_pua_char) = try_pua_decoding(&[c_0, c_1, c_2]) {
return Some(decoded_pua_char);
}
self.buffer_back.push(c_0);
}
self.buffer_back.push(c_1);
}
}
// If decoding 3 consecutive PUA chars into the encoded PUA char fails, `c_2` should be
// returned. `c_2` is in `PUA_ENCODE_RANGE` if we reach this point, so return the
// `REPLACEMENT_CHARACTER` in these cases.
Some(REPLACEMENT_CHARACTER)
}
}
}
/// Only exists for tests. Exported because the encoding functionality is not available in this
/// crate. Do not use for non-testing purposes.
pub fn decode_with_replacement(encoded_str: &wstr) -> impl DoubleEndedIterator<Item = char> {
decoder::Decoder::new(encoded_str)
}
/// Takes a PUA-encoded string, decodes it by restoring encoded PUA codepoints and replacing encoded
/// non-UTF-8 bytes by the replacement character U+FFFD.
/// The result is passed to the [`unicode_width`] crate, which will compute its width, which will be
/// the return value of this function.
pub fn decoded_width(encoded_str: &wstr) -> usize {
// TODO: Avoid constructing String by using `unicode_width::char_iter_width` once that is
// available in a released version of the crate (it's already on the crate's master branch).
use unicode_width::UnicodeWidthStr as _;
decoder::Decoder::new(encoded_str)
.collect::<String>()
.width()
}
pub const fn char_offset(base: char, offset: u32) -> char {
match char::from_u32(base as u32 + offset) {
Some(c) => c,

View File

@@ -6,6 +6,8 @@ edition.workspace = true
repository.workspace = true
[dependencies]
anstyle.workspace = true
clap.workspace = true
fish-build-helper.workspace = true
fish-tempfile.workspace = true
walkdir.workspace = true

170
crates/xtask/src/format.rs Normal file
View File

@@ -0,0 +1,170 @@
use anstyle::{AnsiColor, Style};
use clap::Args;
use std::{
io::{ErrorKind, Write},
path::PathBuf,
process::{Command, Stdio},
};
use crate::files_with_extension;
const GREEN: Style = AnsiColor::Green.on_default();
const YELLOW: Style = AnsiColor::Yellow.on_default();
#[derive(Args)]
pub struct FormatArgs {
/// Consider all eligible files.
#[arg(long)]
all: bool,
/// Report files which are not formatted as expected, without modifying any files.
#[arg(long)]
check: bool,
/// Format files even if uncommitted changes are detected.
#[arg(long)]
force: bool,
paths: Vec<PathBuf>,
}
pub fn format(args: FormatArgs) {
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;
}
if !args.force && !args.check {
match Command::new("git")
.args(["status", "--porcelain", "--short", "--untracked-files=all"])
.output()
{
Ok(output) => {
if !output.stdout.is_empty() {
std::io::stdout().write_all(&output.stdout).unwrap();
print!(
"You have uncommitted changes (listed above). Are you sure you want to format? (y/N): "
);
std::io::stdout().flush().unwrap();
let mut response = String::new();
std::io::stdin().read_line(&mut response).unwrap();
if response.trim_end() != "y" {
println!("Exiting without formatting.");
return;
}
}
}
Err(e) => {
if e.kind() == ErrorKind::NotFound {
println!(
"{YELLOW}warning: Did not find git, will proceed without checking for unstaged changes.{YELLOW:#}"
)
} else {
fail!("Failed to run git status:\n{e}")
}
}
}
}
format_fish(&args);
format_python(&args);
format_rust(&args);
}
fn run_formatter(formatter: &mut Command, name: &str) {
println!("=== Running {GREEN}{name}{GREEN:#}");
match formatter.status() {
Ok(exit_status) => {
if !exit_status.success() {
fail!("{name:?}: Files are not formatted correctly.");
}
}
Err(e) => {
if e.kind() == std::io::ErrorKind::NotFound {
eprintln!(
"{YELLOW}Formatter not found: {name:?}. Skipping associated files.{YELLOW:#}"
);
} else {
fail!("Error occurred while running {name:?}:\n{e}")
}
}
}
}
fn format_fish(args: &FormatArgs) {
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"];
fish_paths.extend(files_with_extension(
fish_formatting_dirs
.iter()
.map(|dir_name| workspace_root.join(dir_name)),
"fish",
));
};
if fish_paths.is_empty() {
return;
}
// TODO: make `fish_indent` available as a Rust library function, to avoid needing a
// `fish_indent` binary in `$PATH`.
let mut formatter = Command::new("fish_indent");
if args.check {
formatter.arg("--check");
} else {
formatter.arg("-w");
}
formatter.arg("--");
formatter.args(fish_paths);
run_formatter(&mut formatter, "fish_indent");
}
fn format_python(args: &FormatArgs) {
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");
if args.all {
python_files.push(fish_build_helper::workspace_root().to_owned());
};
if python_files.is_empty() {
return;
}
formatter.args(python_files);
run_formatter(&mut formatter, "ruff format");
}
fn format_rust(args: &FormatArgs) {
let rustfmt_status = Command::new("cargo")
.arg("fmt")
.arg("--version")
.stdout(Stdio::null())
.status()
.unwrap();
if !rustfmt_status.success() {
eprintln!(
"{YELLOW}Please install \"rustfmt\" to format Rust, e.g. via:\n\
rustup component add rustfmt{YELLOW:#}"
);
return;
}
if args.all {
let mut formatter = Command::new("cargo");
formatter.arg("fmt");
formatter.arg("--all");
if args.check {
formatter.arg("--check");
}
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");
}
}

View File

@@ -1,19 +1,34 @@
use std::{ffi::OsStr, process::Command};
use std::{
ffi::OsStr,
path::{Path, PathBuf},
process::Command,
};
use walkdir::WalkDir;
macro_rules! fail {
($($arg:tt)+) => {{
eprintln!($($arg)+);
std::process::exit(1);
}}
}
pub mod format;
pub trait CommandExt {
fn run_or_panic(&mut self);
fn run_or_fail(&mut self);
}
impl CommandExt for Command {
fn run_or_panic(&mut self) {
fn run_or_fail(&mut self) {
match self.status() {
Ok(exit_status) => {
if !exit_status.success() {
panic!("Command did not run successfully: {:?}", self.get_program())
fail!("Command did not run successfully: {:?}", self.get_program())
}
}
Err(err) => {
panic!("Failed to run command: {err}");
fail!("Failed to run command: {err}")
}
}
}
@@ -24,5 +39,32 @@ pub fn cargo<I, S>(cargo_args: I)
I: IntoIterator<Item = S>,
S: AsRef<OsStr>,
{
Command::new(env!("CARGO")).args(cargo_args).run_or_panic();
Command::new(env!("CARGO")).args(cargo_args).run_or_fail();
}
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
}
})
.collect()
}
fn files_with_extension<P: AsRef<Path>, I: IntoIterator<Item = P>>(
all_paths: I,
extension: &str,
) -> Vec<PathBuf> {
let matcher = |p: &Path| p.extension().is_some_and(|e| e == extension);
get_matching_files(all_paths, matcher)
}

View File

@@ -1,7 +1,7 @@
use clap::{Parser, Subcommand};
use fish_build_helper::as_os_strs;
use std::{path::PathBuf, process::Command};
use xtask::{CommandExt as _, cargo};
use xtask::{CommandExt as _, cargo, format::FormatArgs};
#[derive(Parser)]
#[command(
@@ -18,6 +18,8 @@ struct Cli {
enum Task {
/// Run various checks on the repo.
Check,
/// Format files or check if they are correctly formatted.
Format(FormatArgs),
/// Build HTML docs
HtmlDocs {
/// Path to a fish_indent executable. If none is specified, fish_indent will be built.
@@ -32,6 +34,7 @@ fn main() {
let cli = Cli::parse();
match cli.task {
Task::Check => run_checks(),
Task::Format(format_args) => xtask::format::format(format_args),
Task::HtmlDocs { fish_indent } => build_html_docs(fish_indent),
Task::ManPages => cargo(["build", "--package", "fish-build-man-pages"]),
}
@@ -40,7 +43,7 @@ fn main() {
fn run_checks() {
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_panic();
Command::new(check_script).run_or_fail();
}
fn build_html_docs(fish_indent: Option<PathBuf>) {
@@ -91,5 +94,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_panic();
.run_or_fail();
}

View File

@@ -46,7 +46,7 @@ The following ``argparse`` options are available. They must appear before all *O
In contrast, if the known option comes first (and does not take any arguments), the known option will be recognised (e.g. ``argparse --move-unknown h -- -ho`` *will* set ``$_flag_h`` to ``-h``)
**-i** or **--ignore-unknown**
Deprecated. This is like **--move-unknown**, except that unknown options and their arguments are kept in ``$argv`` and not moved to ``$argv_opts``. Unlike **--move-unknown**, this option makes it impossible to distinguish between an unknown option and non-option argument that starts with a ``-`` (since any ``--`` seperator in ``$argv`` will be removed).
Deprecated. This is like **--move-unknown**, except that unknown options and their arguments are kept in ``$argv`` and not moved to ``$argv_opts``. Unlike **--move-unknown**, this option makes it impossible to distinguish between an unknown option and non-option argument that starts with a ``-`` (since any ``--`` separator in ``$argv`` will be removed).
**-S** or **--strict-longopts**
This makes the parsing of long options more strict. In particular, *without* this flag, if ``long`` is a known long option flag, ``--long`` and ``--long=<value>`` can be abbreviated as:

View File

@@ -34,6 +34,6 @@ A simple prompt that is a simplified version of the default debugging prompt::
set -l function (status current-function)
set -l line (status current-line-number)
set -l prompt "$function:$line >"
echo -ns (set_color $fish_color_status) "BP $prompt" (set_color normal) ' '
echo -ns (set_color $fish_color_status) "BP $prompt" (set_color --reset) ' '
end

View File

@@ -85,10 +85,10 @@ The format looks like this:
fish_color_command 5c5cff
[unknown]
fish_color_normal normal
fish_color_normal --reset
fish_color_autosuggestion brblack
fish_color_cancel -r
fish_color_command normal
fish_color_command --reset
The comments provide name and background color to the web config tool.

View File

@@ -22,6 +22,8 @@ When an interactive fish starts, it executes fish_greeting and displays its outp
The default fish_greeting is a function that prints a variable of the same name (``$fish_greeting``), so you can also just change that if you just want to change the text.
If :envvar:`SHELL_WELCOME` is set, it is displayed after the greeting. This is a standard environment variable that may be set by tools like systemd's ``run0`` to display session information.
While you could also just put ``echo`` calls into config.fish, fish_greeting takes care of only being used in interactive shells, so it won't be used e.g. with ``scp`` (which executes a shell), which prevents some errors.
Example
@@ -39,5 +41,5 @@ A simple greeting:
function fish_greeting
echo Hello friend!
echo The time is (set_color yellow)(date +%T)(set_color normal) and this machine is called $hostname
echo The time is (set_color yellow)(date +%T)(set_color --reset) and this machine is called $hostname
end

View File

@@ -62,7 +62,7 @@ Example
set_color --bold red
echo '?'
end
set_color normal
set_color --reset
end

View File

@@ -24,6 +24,8 @@ The exit status of commands within ``fish_prompt`` will not modify the value of
If :envvar:`fish_transient_prompt` is set to 1, ``fish_prompt --final-rendering`` is run before executing the commandline.
If :envvar:`SHELL_PROMPT_PREFIX` or :envvar:`SHELL_PROMPT_SUFFIX` are set, they are automatically prepended and appended to the left prompt. This applies to all prompts regardless of whether ``fish_prompt`` has been customized.
``fish`` ships with a number of example prompts that can be chosen with the ``fish_config`` command.
@@ -41,7 +43,7 @@ A simple prompt:
# $USER and $hostname are set by fish, so you can just use them
# instead of using `whoami` and `hostname`
printf '%s@%s %s%s%s > ' $USER $hostname \
(set_color $fish_color_cwd) (prompt_pwd) (set_color normal)
(set_color $fish_color_cwd) (prompt_pwd) (set_color --reset)
end

View File

@@ -16,7 +16,7 @@ Description
``if`` will execute the command ``CONDITION``. If the condition's exit status is 0, the commands ``COMMANDS_TRUE`` will execute. If the exit status is not 0 and :doc:`else <else>` is given, ``COMMANDS_FALSE`` will be executed.
You can use :doc:`and <and>` or :doc:`or <or>` in the condition. See the second example below.
You can use :doc:`not <not>`, :doc:`and <and>` or :doc:`or <or>` in the condition. See the second example below.
The exit status of the last foreground command to exit can always be accessed using the :ref:`$status <variables-status>` variable.

View File

@@ -62,7 +62,7 @@ The following options control the interactive mode:
Masks characters written to the terminal, replacing them with asterisks. This is useful for reading things like passwords or other sensitive information.
**-p** or **--prompt** *PROMPT_CMD*
Uses the output of the shell command *PROMPT_CMD* as the prompt for the interactive mode. The default prompt command is ``set_color green; echo -n read; set_color normal; echo -n "> "``
Uses the output of the shell command *PROMPT_CMD* as the prompt for the interactive mode. The default prompt command is ``set_color green; echo -n read; set_color --reset; echo -n "> "``
**-P** or **--prompt-str** *PROMPT_STR*
Uses the literal *PROMPT_STR* as the prompt for the interactive mode.

View File

@@ -89,7 +89,7 @@ Further options:
**-q** or **--query** *NAME*\[*INDEX*\]
Test if the specified variable names are defined.
If an *INDEX* is provided, check for items at that slot.
With a given scope (like **--global**) or attribute (like **--exported** or **--path**) check only variables that match.
With a given scope (like **--global**) or attribute (like **--export** or **--path**) check only variables that match.
Does not output anything, but the shell status is set to the number of variables specified that were not defined, up to a maximum of 255.
If no variable was given, it also returns 255.

View File

@@ -6,12 +6,15 @@ Synopsis
.. synopsis::
set_color [OPTIONS] VALUE
set_color [OPTIONS] [VALUE]
Description
-----------
``set_color`` is used to control the color and styling of text in the terminal. *VALUE* describes that 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.
``set_color`` is used to control the color and styling of text in the terminal.
*VALUE* describes that 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.
Valid colors include:
@@ -33,6 +36,11 @@ However if :envvar:`fish_term256` is set to 0, fish prefers the first named colo
The following options are available:
**-f** or **--foreground** *COLOR*
Sets the foreground color.
This is equivalent to calling ``set_color COLOR`` with the exception that the keyword **normal** will only reset the foreground color to its default, instead of all colors and modes.
It cannot be used with *VALUE* or **--print-colors**.
**-b** or **--background** *COLOR*
Sets the background color.
@@ -41,6 +49,7 @@ The following options are available:
**-c** or **--print-colors**
Prints the given colors or a colored list of the 16 named colors.
It cannot be used with **--foreground**.
**-o** or **--bold**
Sets bold mode.
@@ -48,17 +57,21 @@ The following options are available:
**-d** or **--dim**
Sets dim mode.
**-i** or **--italics**
Sets italics mode.
**-i** or **--italics**, or **-iSTATE** or **--italics=STATE**
Sets italics mode. The state can be **on** (default), or **off**.
**-r** or **--reverse**
Sets reverse mode.
**-r** or **--reverse**, or **-iSTATE** or **--reverse=STATE**
Sets reverse mode. The state can be **on** (default), or **off**.
**-s** or **--strikethrough**
Sets strikethrough mode.
**-s** or **--strikethrough**, or **-sSTATE** or **--strikethrough=STATE**
Sets strikethrough mode. The state can be **on** (default), or **off**.
**-u** or **--underline**, or **-uSTYLE** or **--underline=STYLE**
Set the underline mode; supported styles are **single** (default), **double**, **curly**, **dotted** and **dashed**.
Set the underline mode; supported styles are **single** (default), **double**, **curly**, **dotted**, **dashed** and **off**.
**--reset**
Reset the text formatting to the terminal defaults before applying the new colors and modes.
This is equivalent to calling ``set_color normal`` except that it is possible to set the foreground color in the same call (e.g. ``set_color --reset green``)
**--theme=THEME**
Ignored.
@@ -75,10 +88,12 @@ The following options are available:
Notes
-----
1. Using **set_color normal** will reset all colors and modes to the terminal's default.
2. 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.
3. Some terminals use the ``--bold`` escape sequence to switch to a brighter color set rather than increasing the weight of text.
4. ``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.
1. Using ``set_color normal`` will reset all colors and modes to the terminal's default.
2. In contrast, ``set_color --foreground normal`` will only reset the foreground color and leave all the other colors and modes unchanged.
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.
Examples
--------

View File

@@ -91,7 +91,7 @@ The prompt is the output of the ``fish_prompt`` function. Put it in ``~/.config/
function fish_prompt
set_color $fish_color_cwd
echo -n (prompt_pwd)
set_color normal
set_color --reset
echo -n ' > '
end
@@ -329,7 +329,7 @@ Sometimes, there is disagreement on the width. There are numerous causes and fix
- It is possible the character is too new for your system to know - in this case you need to refrain from using it.
- Fish or your terminal might not know about the character or handle it wrong - in this case fish or your terminal needs to be fixed, or you need to update to a fixed version.
- The character has an "ambiguous" width and fish thinks that means a width of X while your terminal thinks it's Y. In this case you either need to change your terminal's configuration or set $fish_ambiguous_width to the correct value.
- The character is an emoji and the host system only supports Unicode 8, while you are running the terminal on a system that uses Unicode >= 9. In this case set $fish_emoji_width to 2.
- The character is an emoji and your system only supports Unicode 8. In this case set $fish_emoji_width to 1.
This also means that a few things are unsupportable:

View File

@@ -318,7 +318,7 @@ and a rough fish equivalent::
echo -s (prompt_hostname) \
(set_color blue) (prompt_pwd) \
(set_color yellow) $prompt_symbol (set_color normal)
(set_color yellow) $prompt_symbol (set_color --reset)
end
This shows a few differences:

View File

@@ -105,6 +105,7 @@ Syntax highlighting variables
The colors used by fish for syntax highlighting can be configured by changing the values of various variables. The value of these variables can be one of the colors accepted by the :doc:`set_color <cmds/set_color>` command.
Options accepted by ``set_color`` like
``--foreground=``,
``--background=``,
``--bold``,
``--dim``,

View File

@@ -235,7 +235,7 @@ It is possible to pipe a different output file descriptor by prepending its FD n
will attempt to build ``fish``, and any errors will be shown using the ``less`` pager. [#]_
As a convenience, the pipe ``&|`` redirects both stdout and stderr to the same process. This is different from bash, which uses ``|&``.
As a convenience, the pipe ``&|`` (as well as the ``|&`` alias which is also supported by Bash) both redirect stdout and stderr to the same process.
.. [#] A "pager" here is a program that takes output and "paginates" it. ``less`` doesn't just do pages, it allows arbitrary scrolling (even back!).
@@ -1573,7 +1573,7 @@ You can change the settings of fish by changing the values of certain variables.
.. envvar:: fish_emoji_width
controls whether fish assumes emoji render as 2 cells or 1 cell wide. This is necessary because the correct value changed from 1 to 2 in Unicode 9, and some terminals may not be aware. Set this if you see graphical glitching related to emoji (or other "special" characters). It should usually be auto-detected.
controls whether fish assumes emoji render as 2 cells or 1 cell wide. This is necessary because the correct value changed from 1 to 2 in Unicode 9, and some terminals may not be aware. Set this if you see graphical glitching related to emoji (or other "special" characters). It defaults to 2.
.. envvar:: fish_autosuggestion_enabled
@@ -1646,6 +1646,18 @@ You can change the settings of fish by changing the values of certain variables.
the current file creation mask. The preferred way to change the umask variable is through the :doc:`umask <cmds/umask>` function. An attempt to set umask to an invalid value will always fail.
.. envvar:: SHELL_PROMPT_PREFIX
if set, this string is automatically prepended to the left prompt. This is a standard environment variable that may be set by tools like systemd's ``run0`` to indicate special shell sessions.
.. envvar:: SHELL_PROMPT_SUFFIX
if set, this string is automatically appended to the left prompt. This is a standard environment variable that may be set by tools like systemd's ``run0`` to indicate special shell sessions.
.. envvar:: SHELL_WELCOME
if set, this string is displayed when an interactive shell starts, after the greeting. This is a standard environment variable that may be set by tools like systemd's ``run0`` to display session information.
.. envvar:: BROWSER
your preferred web browser. If this variable is set, fish will use the specified browser instead of the system default browser to display the fish documentation.
@@ -2043,7 +2055,7 @@ Here is what they mean:
- ``ampersand-nobg-in-token`` was introduced in fish 3.4 (and made the default in 3.5). It makes it so a ``&`` is no longer interpreted as the backgrounding operator in the middle of a token, so dealing with URLs becomes easier. Either put spaces or a semicolon after the ``&``. This is recommended formatting anyway, and ``fish_indent`` will have done it for you already.
- ``remove-percent-self`` turns off the special ``%self`` expansion. It was introduced in 4.0. To get fish's pid, you can use the :envvar:`fish_pid` variable.
- ``test-require-arg`` removes :doc:`builtin test <cmds/test>`'s one-argument form (``test "string"``. It was introduced in 4.0. To test if a string is non-empty, use ``test -n "string"``. If disabled, any call to ``test`` that would change sends a :ref:`debug message <debugging-fish>` of category "deprecated-test", so starting fish with ``fish --debug=deprecated-test`` can be used to find offending calls.
- ``mark-prompt`` makes fish report to the terminal the beginning and and of both shell prompts and command output.
- ``mark-prompt`` makes fish report to the terminal the beginning and end of both shell prompts and command output.
- ``ignore-terminfo`` was introduced in fish 4.1 and cannot be turned off since fish 4.5. It can still be tested for compatibility, but a ``no-ignore-terminfo`` value will be ignored. The flag disabled lookup of $TERM in the terminfo database.
- ``query-term`` allows fish to query the terminal by writing escape sequences and reading the terminal's response.
This enables features such as :ref:`scrolling <term-compat-cursor-position-report>`.

View File

@@ -19,6 +19,8 @@ Unlike other shells, fish's prompt is built by running a function - :doc:`fish_p
These functions are run, and whatever they print is displayed as the prompt (minus one trailing newline).
If the :envvar:`SHELL_PROMPT_PREFIX` or :envvar:`SHELL_PROMPT_SUFFIX` environment variables are set, they are automatically prepended and appended to the left prompt.
Here, we will just be writing a simple fish_prompt.
Our first prompt
@@ -67,10 +69,10 @@ Fortunately, fish offers the :doc:`set_color <cmds/set_color>` command, so you c
So, taking our previous prompt and adding some color::
function fish_prompt
string join '' -- (set_color green) $PWD (set_color normal) '>'
string join '' -- (set_color green) $PWD (set_color --reset) '>'
end
A "normal" color tells the terminal to go back to its normal formatting options.
"--reset" tells the terminal to go back to its default formatting options.
``set_color`` works by producing an escape sequence, which is a special piece of text that terminals
interpret as instructions - for example, to change color. So ``set_color red`` produces the same
@@ -86,13 +88,13 @@ Shortening the working directory
This is fine, but our :envvar:`PWD` can be a bit long, and we are typically only interested in the last few directories. We can shorten this with the :doc:`prompt_pwd <cmds/prompt_pwd>` helper that will give us a shortened working directory::
function fish_prompt
string join '' -- (set_color green) (prompt_pwd) (set_color normal) '>'
string join '' -- (set_color green) (prompt_pwd) (set_color --reset) '>'
end
``prompt_pwd`` takes options to control how much to shorten. For instance, if we want to display the last two directories, we'd use ``prompt_pwd --full-length-dirs 2``::
function fish_prompt
string join '' -- (set_color green) (prompt_pwd --full-length-dirs 2) (set_color normal) '>'
string join '' -- (set_color green) (prompt_pwd --full-length-dirs 2) (set_color --reset) '>'
end
With a current directory of "/home/tutorial/Music/Lena Raine/Oneknowing", this would print
@@ -119,12 +121,12 @@ And after that, you can set a string if it is not zero::
# Prompt status only if it's not 0
set -l stat
if test $last_status -ne 0
set stat (set_color red)"[$last_status]"(set_color normal)
set stat (set_color red)"[$last_status]"(set_color --reset)
end
And to print it, we add it to our ``string join``::
string join '' -- (set_color green) (prompt_pwd) (set_color normal) $stat '>'
string join '' -- (set_color green) (prompt_pwd) (set_color --reset) $stat '>'
If ``$last_status`` was 0, ``$stat`` is empty, and so it will simply disappear.
@@ -135,10 +137,10 @@ So our entire prompt is now::
# Prompt status only if it's not 0
set -l stat
if test $last_status -ne 0
set stat (set_color red)"[$last_status]"(set_color normal)
set stat (set_color red)"[$last_status]"(set_color --reset)
end
string join '' -- (set_color green) (prompt_pwd) (set_color normal) $stat '>'
string join '' -- (set_color green) (prompt_pwd) (set_color --reset) $stat '>'
end
And it looks like:
@@ -176,11 +178,11 @@ So you can use it to declutter your old prompts. For example if you want to see
set pwd (prompt_pwd)
# Prompt status only if it's not 0
if test $last_status -ne 0
set stat (set_color red)"[$last_status]"(set_color normal)
set stat (set_color red)"[$last_status]"(set_color --reset)
end
end
string join '' -- (set_color green) $pwd (set_color normal) $stat '>'
string join '' -- (set_color green) $pwd (set_color --reset) $stat '>'
end
Now running two commands in the same directory could result in this screen:

View File

@@ -155,6 +155,9 @@ Optional Commands
* - ``\e[48;2; Ps ; Ps ; Ps m``
-
- Select background color from 24-bit RGB colors.
* - ``\e[39m``
-
- Reset foreground color to the terminal's default.
* - ``\e[49m``
-
- Reset background color to the terminal's default.

View File

@@ -633,7 +633,7 @@ Multiple lines are OK. Colors can be set via :doc:`set_color <cmds/set_color>` b
set_color purple
date "+%m/%d/%y"
set_color FF0000
echo (pwd) '>' (set_color normal)
echo (pwd) '>' (set_color --reset)
end

View File

@@ -37,8 +37,8 @@ RUN adduser \
fishuser
RUN mkdir -p /home/fishuser/fish-build \
&& mkdir /fish-source \
&& chown -R fishuser:fishuser /home/fishuser /fish-source
&& mkdir /fish-source \
&& chown -R fishuser:fishuser /home/fishuser /fish-source
USER fishuser
WORKDIR /home/fishuser

View File

@@ -2,24 +2,24 @@ FROM fedora:latest
LABEL org.opencontainers.image.source=https://github.com/fish-shell/fish-shell
RUN dnf install --assumeyes \
diffutils \
gcc-c++ \
git-core \
pcre2-devel \
python3 \
python3-pip \
openssl \
procps \
sudo && \
diffutils \
gcc-c++ \
git-core \
pcre2-devel \
python3 \
python3-pip \
openssl \
procps \
sudo && \
dnf clean all
RUN pip3 install pexpect
RUN groupadd -g 1000 fishuser \
&& useradd -p $(openssl passwd -1 fish) -d /home/fishuser -m -u 1000 -g 1000 fishuser -G wheel \
&& mkdir -p /home/fishuser/fish-build \
&& mkdir /fish-source \
&& chown -R fishuser:fishuser /home/fishuser /fish-source
&& useradd -p $(openssl passwd -1 fish) -d /home/fishuser -m -u 1000 -g 1000 fishuser -G wheel \
&& mkdir -p /home/fishuser/fish-build \
&& mkdir /fish-source \
&& chown -R fishuser:fishuser /home/fishuser /fish-source
USER fishuser
WORKDIR /home/fishuser

View File

@@ -5,28 +5,28 @@ ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8
RUN zypper --non-interactive install \
bash \
diffutils \
gcc-c++ \
git-core \
pcre2-devel \
python311 \
python311-pip \
python311-pexpect \
openssl \
procps \
tmux \
sudo \
rust \
cargo
bash \
diffutils \
gcc-c++ \
git-core \
pcre2-devel \
python311 \
python311-pip \
python311-pexpect \
openssl \
procps \
tmux \
sudo \
rust \
cargo
RUN usermod -p $(openssl passwd -1 fish) root
RUN groupadd -g 1000 fishuser \
&& useradd -p $(openssl passwd -1 fish) -d /home/fishuser -m -u 1000 -g 1000 fishuser \
&& mkdir -p /home/fishuser/fish-build \
&& mkdir /fish-source \
&& chown -R fishuser:fishuser /home/fishuser /fish-source
&& useradd -p $(openssl passwd -1 fish) -d /home/fishuser -m -u 1000 -g 1000 fishuser \
&& mkdir -p /home/fishuser/fish-build \
&& mkdir /fish-source \
&& chown -R fishuser:fishuser /home/fishuser /fish-source
USER fishuser
WORKDIR /home/fishuser

View File

@@ -6,37 +6,37 @@ ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8
RUN apt-get update \
&& apt-get -y install --no-install-recommends \
cmake ninja-build \
build-essential \
ca-certificates \
clang \
curl \
gettext \
git \
libpcre2-dev \
locales \
openssl \
python3 \
python3-pexpect \
sudo \
tmux \
&& locale-gen en_US.UTF-8 \
&& apt-get clean
&& apt-get -y install --no-install-recommends \
cmake ninja-build \
build-essential \
ca-certificates \
clang \
curl \
gettext \
git \
libpcre2-dev \
locales \
openssl \
python3 \
python3-pexpect \
sudo \
tmux \
&& locale-gen en_US.UTF-8 \
&& apt-get clean
RUN userdel ubuntu \
&& groupadd -g 1000 fishuser \
&& useradd -p $(openssl passwd -1 fish) -d /home/fishuser -m -u 1000 -g 1000 fishuser \
-G sudo \
&& mkdir -p /home/fishuser/fish-build \
&& mkdir /fish-source \
&& chown -R fishuser:1000 /home/fishuser /fish-source
&& groupadd -g 1000 fishuser \
&& useradd -p $(openssl passwd -1 fish) -d /home/fishuser -m -u 1000 -g 1000 fishuser \
-G sudo \
&& mkdir -p /home/fishuser/fish-build \
&& mkdir /fish-source \
&& chown -R fishuser:1000 /home/fishuser /fish-source
USER fishuser
WORKDIR /home/fishuser
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > /tmp/rustup.sh \
&& sh /tmp/rustup.sh -y --no-modify-path
&& sh /tmp/rustup.sh -y --no-modify-path
ENV PATH=/home/fishuser/.cargo/bin:$PATH
COPY fish_run_tests.sh /

View File

@@ -6,36 +6,36 @@ ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8
RUN apt-get update \
&& apt-get -y install --no-install-recommends \
cmake ninja-build \
build-essential \
ca-certificates \
clang \
curl \
gettext \
git \
libpcre2-dev \
locales \
openssl \
python3 \
python3-pexpect \
sudo \
tmux \
&& locale-gen en_US.UTF-8 \
&& apt-get clean
&& apt-get -y install --no-install-recommends \
cmake ninja-build \
build-essential \
ca-certificates \
clang \
curl \
gettext \
git \
libpcre2-dev \
locales \
openssl \
python3 \
python3-pexpect \
sudo \
tmux \
&& locale-gen en_US.UTF-8 \
&& apt-get clean
RUN groupadd -g 1000 fishuser \
&& useradd -p $(openssl passwd -1 fish) -d /home/fishuser -m -u 1000 -g 1000 fishuser \
&& adduser fishuser sudo \
&& mkdir -p /home/fishuser/fish-build \
&& mkdir /fish-source \
&& chown -R fishuser:fishuser /home/fishuser /fish-source
&& useradd -p $(openssl passwd -1 fish) -d /home/fishuser -m -u 1000 -g 1000 fishuser \
&& adduser fishuser sudo \
&& mkdir -p /home/fishuser/fish-build \
&& mkdir /fish-source \
&& chown -R fishuser:fishuser /home/fishuser /fish-source
USER fishuser
WORKDIR /home/fishuser
RUN curl --proto '=https' --tlsv1.2 -fsS https://sh.rustup.rs > /tmp/rustup.sh \
&& sh /tmp/rustup.sh -y --no-modify-path
&& sh /tmp/rustup.sh -y --no-modify-path
ENV PATH=/home/fishuser/.cargo/bin:$PATH
COPY fish_run_tests.sh /

View File

@@ -199,6 +199,10 @@ msgstr ""
msgid "%s: %s: invalid mode name. See `help %s`"
msgstr ""
#, c-format
msgid "%s: %s: invalid option argument: %s"
msgstr ""
#, c-format
msgid "%s: %s: invalid scale"
msgstr ""
@@ -211,6 +215,10 @@ msgstr "%s: %s: ungültiger Unterbefehl"
msgid "%s: %s: invalid variable name. See `help %s`"
msgstr ""
#, c-format
msgid "%s: %s: option cannot be used with a non-option argument"
msgstr ""
#, c-format
msgid "%s: %s: option does not take an argument"
msgstr ""
@@ -775,10 +783,6 @@ msgstr "%s: Wert nicht vollständig konvertiert (kann '%s' nicht konvertieren)"
msgid "%s: variable '%s' is read-only"
msgstr ""
#, c-format
msgid "%sand %u more rows"
msgstr "%sund %u weitere Zeilen"
msgid "'break' while not inside of loop"
msgstr ""
@@ -1871,8 +1875,9 @@ msgstr "mit den Parametern '%s'"
msgid "with definition"
msgstr "mit Definition"
msgid "|& is not valid. In fish, use &| to pipe both stdout and stderr."
msgstr "|& ist ungültig. In fish, nutze &| um stdout und stderr gleichzeitig zu pipen"
#, c-format
msgid "…and %u more rows"
msgstr "…und %u weitere Zeilen"
msgid "fish-section-tier1-from-script-explicitly-added"
msgstr ""
@@ -5939,6 +5944,9 @@ msgstr ""
msgid "Add or inspect object notes"
msgstr ""
msgid "Add or parse structured information in commit messages"
msgstr ""
msgid "Add or reduce noise in an image [geometry]"
msgstr ""
@@ -6098,6 +6106,9 @@ msgstr ""
msgid "Add the specified package to the local cache"
msgstr ""
msgid "Add the specified user/group mapping to an X-mount.idmap map"
msgstr ""
msgid "Add the standard Git exclusions"
msgstr ""
@@ -6389,6 +6400,9 @@ msgstr ""
msgid "Alias for --env"
msgstr ""
msgid "Alias for --only-trailers --only-input --unfold"
msgstr ""
msgid "Alias for -a"
msgstr ""
@@ -6896,6 +6910,9 @@ msgstr ""
msgid "Allow the resize to shrink the volume"
msgstr ""
msgid "Allow to make a target directory (mountpoint) if it does not exist yet"
msgstr ""
msgid "Allow to perform \"insecure\" SSL connections"
msgstr ""
@@ -10502,6 +10519,9 @@ msgstr ""
msgid "Check if all files owned by PACKAGE are present"
msgstr ""
msgid "Check if already mounted"
msgstr ""
msgid "Check if any of the given files would be ignored"
msgstr ""
@@ -11273,6 +11293,15 @@ msgstr ""
msgid "Clear the build directory after a package is built"
msgstr ""
msgid "Clear the effect of previous use of --if-exists"
msgstr ""
msgid "Clear the effect of previous use of --if-missing"
msgstr ""
msgid "Clear the effect of previous use of --where"
msgstr ""
msgid "Clear the fact cache"
msgstr ""
@@ -12245,6 +12274,9 @@ msgstr ""
msgid "Config file (default: $HOME/.s3cfg)"
msgstr ""
msgid "Config file name"
msgstr ""
msgid "Config file name or directory with 'tox.ini' file"
msgstr ""
@@ -12806,6 +12838,9 @@ msgstr ""
msgid "Control whether to include glibc NSS data"
msgstr ""
msgid "Control whether to register a session with service manager or without"
msgstr ""
msgid "Controller information"
msgstr ""
@@ -16316,6 +16351,9 @@ msgstr "Farbige Ausgabe deaktivieren"
msgid "Disable colorization in output"
msgstr ""
msgid "Disable colorized output"
msgstr ""
msgid "Disable colors"
msgstr ""
@@ -16622,6 +16660,9 @@ msgstr ""
msgid "Disable peer exchange (PEX)"
msgstr ""
msgid "Disable per-runner parallelism"
msgstr ""
msgid "Disable portmapping"
msgstr ""
@@ -16688,6 +16729,9 @@ msgstr ""
msgid "Disable rewriting of the DISPLAY var"
msgstr ""
msgid "Disable rules from the command line"
msgstr ""
msgid "Disable script 'build.cj'"
msgstr ""
@@ -19211,6 +19255,9 @@ msgstr ""
msgid "Do not call gensync (and the !commands in /etc/eix-sync.conf)"
msgstr ""
msgid "Do not canonicalize any paths or tags during the mount process"
msgstr ""
msgid "Do not cc the From: address"
msgstr ""
@@ -20561,6 +20608,9 @@ msgstr ""
msgid "Do not trap on integer division by zero"
msgstr ""
msgid "Do not treat --- as the end of the commit message"
msgstr ""
msgid "Do not treat and/bitand/bitor/compl/not/or/xor as keywords"
msgstr ""
@@ -22553,6 +22603,9 @@ msgstr ""
msgid "Dont assume ID based shared libraries are being used"
msgstr ""
msgid "Dont call the /sbin/mount.filesystem helper even if it exists"
msgstr ""
msgid "Dont cross filesystem boundaries"
msgstr ""
@@ -23306,6 +23359,9 @@ msgstr ""
msgid "Edit the file containing a tag"
msgstr ""
msgid "Edit the files in place"
msgstr ""
msgid "Edit the flag on an object"
msgstr ""
@@ -24164,6 +24220,9 @@ msgstr ""
msgid "Enable one or more units"
msgstr ""
msgid "Enable only this rule, disabling all other defaults. Can be specified multiple times"
msgstr ""
msgid "Enable optimization of \"&&\" and \"││\" in conditional execution (default)"
msgstr ""
@@ -24233,6 +24292,9 @@ msgstr ""
msgid "Enable playground in web interface"
msgstr ""
msgid "Enable plugins from the command line"
msgstr ""
msgid "Enable portmapping via NAT-PMP or UPnP"
msgstr ""
@@ -24320,6 +24382,9 @@ msgstr ""
msgid "Enable row security (dump only content user has access to)"
msgstr ""
msgid "Enable rules from the command line"
msgstr ""
msgid "Enable search index"
msgstr ""
@@ -26669,6 +26734,9 @@ msgstr ""
msgid "Filter for rewriting the tree and its contents"
msgstr ""
msgid "Filter issues by file names or globs"
msgstr ""
msgid "Filter mode. Do not start interactive finder"
msgstr ""
@@ -26990,6 +27058,9 @@ msgstr ""
msgid "Fix invalid file names in a bucket"
msgstr ""
msgid "Fix issues automatically"
msgstr ""
msgid "Fix only the specified bench target"
msgstr ""
@@ -29936,6 +30007,9 @@ msgstr ""
msgid "Give patch name and comment in file"
msgstr "Patch-Name und Kommentar in Datei angeben"
msgid "Give privileges to selected or current user"
msgstr ""
msgid "Give some file-transfer stats"
msgstr ""
@@ -30500,6 +30574,9 @@ msgstr ""
msgid "Home URL prefix for PEPs"
msgstr ""
msgid "Home area to log into"
msgstr ""
msgid "Home directory"
msgstr ""
@@ -31163,6 +31240,9 @@ msgstr ""
msgid "Ignore module interface version"
msgstr "Modulschnittstellenversion ignorieren"
msgid "Ignore module sources"
msgstr ""
msgid "Ignore newer bugs than upgrade packages"
msgstr "Fehler, die neuer sind als Aktualisierungspakete, ignorieren"
@@ -32723,6 +32803,9 @@ msgstr ""
msgid "Install pkg(8) from remote repository"
msgstr ""
msgid "Install plugins"
msgstr ""
msgid "Install plugins resolved from the Maven repository system into an Eclipse instance"
msgstr ""
@@ -33068,6 +33151,9 @@ msgstr ""
msgid "Invoke a method on a remote object"
msgstr ""
msgid "Invoke command via target user's login shell"
msgstr ""
msgid "Invoke fstrim on domain's mounted filesystems"
msgstr ""
@@ -33197,6 +33283,9 @@ msgstr ""
msgid "Just exit with status 0 when there is a match and with non-zero status when there isn't"
msgstr ""
msgid "Just like --pty, but leave TTY access to agents until unit is started up"
msgstr ""
msgid "Just report what it would remove"
msgstr ""
@@ -33341,6 +33430,9 @@ msgstr ""
msgid "Key to be used as a namespace identifier"
msgstr ""
msgid "Key-value pair to apply as a trailer"
msgstr ""
msgid "Keyboard layout mapping table for special hash-modes"
msgstr ""
@@ -34151,9 +34243,6 @@ msgstr ""
msgid "List all analyzed versions"
msgstr ""
msgid "List all apps"
msgstr ""
msgid "List all apps in the target space"
msgstr ""
@@ -34313,6 +34402,9 @@ msgstr ""
msgid "List all forward socket connections"
msgstr ""
msgid "List all games for all Steam installations"
msgstr ""
msgid "List all help topics"
msgstr ""
@@ -35051,6 +35143,9 @@ msgstr ""
msgid "List full dependencies for a given identity"
msgstr ""
msgid "List games for a single Steam installation"
msgstr ""
msgid "List generation ids for client"
msgstr ""
@@ -36932,6 +37027,9 @@ msgstr ""
msgid "Long listing format"
msgstr ""
msgid "Look at all journal files instead of local ones"
msgstr ""
msgid "Look for (non-boring) files that could be added"
msgstr ""
@@ -40550,9 +40648,15 @@ msgstr ""
msgid "Operate on a range"
msgstr ""
msgid "Operate on an alternate filesystem root"
msgstr ""
msgid "Operate on cached data, no network repo access"
msgstr ""
msgid "Operate on disk image as filesystem root"
msgstr ""
msgid "Operate on local CONTAINER"
msgstr ""
@@ -41192,6 +41296,12 @@ msgstr ""
msgid "Output only the last line of the --stat format containing the total"
msgstr ""
msgid "Output only trailers"
msgstr ""
msgid "Output only trailers from the input"
msgstr ""
msgid "Output only whether the files differ"
msgstr "Nur Unterschiede der Dateien ausgeben"
@@ -42920,6 +43030,9 @@ msgstr ""
msgid "Perform temporary expression replacement during the SSA->normal phase"
msgstr ""
msgid "Perform the mount operation in the mount namespace specified by ns"
msgstr ""
msgid "Perform the necessary tests to observe the performance"
msgstr ""
@@ -43502,6 +43615,9 @@ msgstr "Zeichenkette vor relative Links stellen"
msgid "Prepend the name of the cpu to all public symbol names"
msgstr ""
msgid "Prepend the specified directory to all mount targets"
msgstr ""
msgid "Prepends a time stamp to each trace or verbose line that curl displays"
msgstr ""
@@ -43901,6 +44017,9 @@ msgstr ""
msgid "Print SRCINFO to stdout"
msgstr ""
msgid "Print TFLint version"
msgstr ""
msgid "Print TYPE form"
msgstr ""
@@ -49028,6 +49147,9 @@ msgstr ""
msgid "Remote url used by `git push`"
msgstr ""
msgid "Remount a subtree and all possible submounts somewhere else"
msgstr ""
msgid "Remount a subtree to a second position"
msgstr "Teilbaum an einer zweiten Position erneut einhängen"
@@ -49898,6 +50020,9 @@ msgstr ""
msgid "Remove this from lock"
msgstr ""
msgid "Remove trailers with whitespace values"
msgstr ""
msgid "Remove trailing '/' from source args"
msgstr ""
@@ -51647,6 +51772,9 @@ msgstr ""
msgid "Return whether zone has been added"
msgstr ""
msgid "Return zero exit status even if issues found"
msgstr ""
msgid "Returns 0 if panic mode is enabled, 1 otherwise"
msgstr ""
@@ -52118,6 +52246,9 @@ msgstr ""
msgid "Run command as user"
msgstr ""
msgid "Run command in each directory recursively"
msgstr ""
msgid "Run command in the background"
msgstr ""
@@ -52676,6 +52807,9 @@ msgstr ""
msgid "Run tracer process as tracee's grandchild in a separate session"
msgstr ""
msgid "Run under the specified unit name"
msgstr ""
msgid "Run unit tests"
msgstr ""
@@ -53555,7 +53689,10 @@ msgstr ""
msgid "Search for fonts in directory"
msgstr ""
msgid "Search for game(s) with the given name"
msgid "Search for game(s) with the given name among all Steam installations"
msgstr ""
msgid "Search for game(s) with the given name for a single Steam installation"
msgstr ""
msgid "Search for gems under specific paths"
@@ -54881,6 +55018,9 @@ msgstr ""
msgid "Set `verbose` shell variable"
msgstr ""
msgid "Set a Terraform variable"
msgstr ""
msgid "Set a backup destination"
msgstr ""
@@ -55685,6 +55825,9 @@ msgstr ""
msgid "Set maximum number of redirects"
msgstr ""
msgid "Set maximum number of workers in recursive inspection"
msgstr ""
msgid "Set maximum size of a single allocated block"
msgstr ""
@@ -57296,6 +57439,9 @@ msgstr ""
msgid "Sets minimum bits allowed for bitmaps"
msgstr ""
msgid "Sets minimum severity level for exiting with a non-zero error code"
msgstr ""
msgid "Sets number of rotated logs to keep, default 4"
msgstr ""
@@ -57632,6 +57778,9 @@ msgstr ""
msgid "Shortcut for --style=gv_widgetless.dat"
msgstr ""
msgid "Shortcut for --via-shell --chdir='~'"
msgstr ""
msgid "Shorten some address references at link time, when possible; uses the linker option -relax"
msgstr ""
@@ -61514,6 +61663,9 @@ msgstr ""
msgid "Source name for underlying storage"
msgstr ""
msgid "Source of default options"
msgstr ""
msgid "Source of the commit message"
msgstr ""
@@ -61637,6 +61789,9 @@ msgstr ""
msgid "Specifies an alternate username"
msgstr ""
msgid "Specifies an alternative fstab file"
msgstr ""
msgid "Specifies an alternative installroot"
msgstr ""
@@ -62639,6 +62794,9 @@ msgstr "Verzeichnis für rpm-Datenbank angeben"
msgid "Specify directory with configuration files"
msgstr ""
msgid "Specify disk image dissection policy"
msgstr ""
msgid "Specify display"
msgstr ""
@@ -64166,6 +64324,9 @@ msgstr ""
msgid "Start interface"
msgstr "Schnittstelle starten"
msgid "Start language server"
msgstr ""
msgid "Start machine"
msgstr ""
@@ -65342,6 +65503,9 @@ msgstr ""
msgid "Switch to a different tree"
msgstr ""
msgid "Switch to a different working directory before executing the command"
msgstr ""
msgid "Switch to a profile"
msgstr ""
@@ -65936,6 +66100,9 @@ msgstr ""
msgid "Terminates the logkeys daemon"
msgstr ""
msgid "Terraform variable file name"
msgstr ""
msgid "Terse output for machine consumption. Implies --no-abbrev and --no-color"
msgstr ""
@@ -67901,6 +68068,9 @@ msgstr ""
msgid "Type of workload to produce"
msgstr ""
msgid "Types of module to call"
msgstr ""
msgid "Typeset abstract as topic"
msgstr ""
@@ -68087,6 +68257,9 @@ msgstr ""
msgid "Unfavourite a status"
msgstr ""
msgid "Unfold multiline trailer values"
msgstr ""
msgid "Unfollow an account"
msgstr ""
@@ -70451,6 +70624,9 @@ msgstr ""
msgid "Use openssh if available"
msgstr ""
msgid "Use options from fstab/mtab even if both device and dir are specified"
msgstr ""
msgid "Use original SCP protocol instead of SFTP"
msgstr ""
@@ -72368,6 +72544,12 @@ msgstr ""
msgid "What to do when receiving events while the command is running"
msgstr ""
msgid "What to do when there is already a trailer with the same key"
msgstr ""
msgid "What to do when there is no other trailer with the same key"
msgstr ""
msgid "Whatever to reset the module registry for every test"
msgstr ""
@@ -72509,6 +72691,9 @@ msgstr ""
msgid "When used with -s, --silent, it makes curl show an error message if it fails"
msgstr ""
msgid "Where new trailers will be added"
msgstr ""
msgid "Where to install C header files"
msgstr ""
@@ -75437,6 +75622,12 @@ msgstr ""
msgid "explain why packages or modules are needed"
msgstr ""
msgid "explicitly define the argument as the mount source"
msgstr ""
msgid "explicitly define the argument as the mount target"
msgstr ""
msgid "explicitly set BootOrder XXXX,YYYY,ZZZZ (hex)"
msgstr ""
@@ -76028,6 +76219,9 @@ msgstr ""
msgid "host tunnel on custom hostname (requires DNS CNAME)"
msgstr ""
msgid "how to combine with options from fstab/mtab"
msgstr ""
msgid "http-server serving the current directory"
msgstr ""

View File

@@ -199,6 +199,10 @@ msgstr ""
msgid "%s: %s: invalid mode name. See `help %s`"
msgstr ""
#, c-format
msgid "%s: %s: invalid option argument: %s"
msgstr ""
#, c-format
msgid "%s: %s: invalid scale"
msgstr ""
@@ -211,6 +215,10 @@ msgstr ""
msgid "%s: %s: invalid variable name. See `help %s`"
msgstr ""
#, c-format
msgid "%s: %s: option cannot be used with a non-option argument"
msgstr ""
#, c-format
msgid "%s: %s: option does not take an argument"
msgstr ""
@@ -775,10 +783,6 @@ msgstr ""
msgid "%s: variable '%s' is read-only"
msgstr ""
#, c-format
msgid "%sand %u more rows"
msgstr "%sand %u more rows"
msgid "'break' while not inside of loop"
msgstr ""
@@ -1871,8 +1875,9 @@ msgstr ""
msgid "with definition"
msgstr ""
msgid "|& is not valid. In fish, use &| to pipe both stdout and stderr."
msgstr ""
#, c-format
msgid "…and %u more rows"
msgstr "…and %u more rows"
msgid "fish-section-tier1-from-script-explicitly-added"
msgstr ""
@@ -5939,6 +5944,9 @@ msgstr ""
msgid "Add or inspect object notes"
msgstr ""
msgid "Add or parse structured information in commit messages"
msgstr ""
msgid "Add or reduce noise in an image [geometry]"
msgstr ""
@@ -6098,6 +6106,9 @@ msgstr ""
msgid "Add the specified package to the local cache"
msgstr ""
msgid "Add the specified user/group mapping to an X-mount.idmap map"
msgstr ""
msgid "Add the standard Git exclusions"
msgstr ""
@@ -6389,6 +6400,9 @@ msgstr ""
msgid "Alias for --env"
msgstr ""
msgid "Alias for --only-trailers --only-input --unfold"
msgstr ""
msgid "Alias for -a"
msgstr ""
@@ -6896,6 +6910,9 @@ msgstr ""
msgid "Allow the resize to shrink the volume"
msgstr ""
msgid "Allow to make a target directory (mountpoint) if it does not exist yet"
msgstr ""
msgid "Allow to perform \"insecure\" SSL connections"
msgstr ""
@@ -10502,6 +10519,9 @@ msgstr ""
msgid "Check if all files owned by PACKAGE are present"
msgstr ""
msgid "Check if already mounted"
msgstr ""
msgid "Check if any of the given files would be ignored"
msgstr ""
@@ -11273,6 +11293,15 @@ msgstr ""
msgid "Clear the build directory after a package is built"
msgstr ""
msgid "Clear the effect of previous use of --if-exists"
msgstr ""
msgid "Clear the effect of previous use of --if-missing"
msgstr ""
msgid "Clear the effect of previous use of --where"
msgstr ""
msgid "Clear the fact cache"
msgstr ""
@@ -12245,6 +12274,9 @@ msgstr ""
msgid "Config file (default: $HOME/.s3cfg)"
msgstr ""
msgid "Config file name"
msgstr ""
msgid "Config file name or directory with 'tox.ini' file"
msgstr ""
@@ -12806,6 +12838,9 @@ msgstr ""
msgid "Control whether to include glibc NSS data"
msgstr ""
msgid "Control whether to register a session with service manager or without"
msgstr ""
msgid "Controller information"
msgstr ""
@@ -16316,6 +16351,9 @@ msgstr ""
msgid "Disable colorization in output"
msgstr ""
msgid "Disable colorized output"
msgstr ""
msgid "Disable colors"
msgstr ""
@@ -16622,6 +16660,9 @@ msgstr ""
msgid "Disable peer exchange (PEX)"
msgstr ""
msgid "Disable per-runner parallelism"
msgstr ""
msgid "Disable portmapping"
msgstr ""
@@ -16688,6 +16729,9 @@ msgstr ""
msgid "Disable rewriting of the DISPLAY var"
msgstr ""
msgid "Disable rules from the command line"
msgstr ""
msgid "Disable script 'build.cj'"
msgstr ""
@@ -19211,6 +19255,9 @@ msgstr "Do not cache the verification status of key signatures"
msgid "Do not call gensync (and the !commands in /etc/eix-sync.conf)"
msgstr ""
msgid "Do not canonicalize any paths or tags during the mount process"
msgstr ""
msgid "Do not cc the From: address"
msgstr ""
@@ -20561,6 +20608,9 @@ msgstr ""
msgid "Do not trap on integer division by zero"
msgstr ""
msgid "Do not treat --- as the end of the commit message"
msgstr ""
msgid "Do not treat and/bitand/bitor/compl/not/or/xor as keywords"
msgstr ""
@@ -22553,6 +22603,9 @@ msgstr ""
msgid "Dont assume ID based shared libraries are being used"
msgstr ""
msgid "Dont call the /sbin/mount.filesystem helper even if it exists"
msgstr ""
msgid "Dont cross filesystem boundaries"
msgstr ""
@@ -23306,6 +23359,9 @@ msgstr ""
msgid "Edit the file containing a tag"
msgstr ""
msgid "Edit the files in place"
msgstr ""
msgid "Edit the flag on an object"
msgstr ""
@@ -24164,6 +24220,9 @@ msgstr ""
msgid "Enable one or more units"
msgstr ""
msgid "Enable only this rule, disabling all other defaults. Can be specified multiple times"
msgstr ""
msgid "Enable optimization of \"&&\" and \"││\" in conditional execution (default)"
msgstr ""
@@ -24233,6 +24292,9 @@ msgstr ""
msgid "Enable playground in web interface"
msgstr ""
msgid "Enable plugins from the command line"
msgstr ""
msgid "Enable portmapping via NAT-PMP or UPnP"
msgstr ""
@@ -24320,6 +24382,9 @@ msgstr ""
msgid "Enable row security (dump only content user has access to)"
msgstr ""
msgid "Enable rules from the command line"
msgstr ""
msgid "Enable search index"
msgstr ""
@@ -26669,6 +26734,9 @@ msgstr ""
msgid "Filter for rewriting the tree and its contents"
msgstr ""
msgid "Filter issues by file names or globs"
msgstr ""
msgid "Filter mode. Do not start interactive finder"
msgstr ""
@@ -26990,6 +27058,9 @@ msgstr ""
msgid "Fix invalid file names in a bucket"
msgstr ""
msgid "Fix issues automatically"
msgstr ""
msgid "Fix only the specified bench target"
msgstr ""
@@ -29936,6 +30007,9 @@ msgstr ""
msgid "Give patch name and comment in file"
msgstr "Give patch name and comment in file"
msgid "Give privileges to selected or current user"
msgstr ""
msgid "Give some file-transfer stats"
msgstr ""
@@ -30500,6 +30574,9 @@ msgstr ""
msgid "Home URL prefix for PEPs"
msgstr ""
msgid "Home area to log into"
msgstr ""
msgid "Home directory"
msgstr ""
@@ -31163,6 +31240,9 @@ msgstr ""
msgid "Ignore module interface version"
msgstr "Ignore module interface version"
msgid "Ignore module sources"
msgstr ""
msgid "Ignore newer bugs than upgrade packages"
msgstr "Ignore newer bugs than upgrade packages"
@@ -32723,6 +32803,9 @@ msgstr ""
msgid "Install pkg(8) from remote repository"
msgstr ""
msgid "Install plugins"
msgstr ""
msgid "Install plugins resolved from the Maven repository system into an Eclipse instance"
msgstr ""
@@ -33068,6 +33151,9 @@ msgstr ""
msgid "Invoke a method on a remote object"
msgstr ""
msgid "Invoke command via target user's login shell"
msgstr ""
msgid "Invoke fstrim on domain's mounted filesystems"
msgstr ""
@@ -33197,6 +33283,9 @@ msgstr ""
msgid "Just exit with status 0 when there is a match and with non-zero status when there isn't"
msgstr ""
msgid "Just like --pty, but leave TTY access to agents until unit is started up"
msgstr ""
msgid "Just report what it would remove"
msgstr ""
@@ -33341,6 +33430,9 @@ msgstr ""
msgid "Key to be used as a namespace identifier"
msgstr ""
msgid "Key-value pair to apply as a trailer"
msgstr ""
msgid "Keyboard layout mapping table for special hash-modes"
msgstr ""
@@ -34151,9 +34243,6 @@ msgstr ""
msgid "List all analyzed versions"
msgstr ""
msgid "List all apps"
msgstr ""
msgid "List all apps in the target space"
msgstr ""
@@ -34313,6 +34402,9 @@ msgstr ""
msgid "List all forward socket connections"
msgstr ""
msgid "List all games for all Steam installations"
msgstr ""
msgid "List all help topics"
msgstr ""
@@ -35051,6 +35143,9 @@ msgstr ""
msgid "List full dependencies for a given identity"
msgstr ""
msgid "List games for a single Steam installation"
msgstr ""
msgid "List generation ids for client"
msgstr ""
@@ -36932,6 +37027,9 @@ msgstr ""
msgid "Long listing format"
msgstr ""
msgid "Look at all journal files instead of local ones"
msgstr ""
msgid "Look for (non-boring) files that could be added"
msgstr ""
@@ -40550,9 +40648,15 @@ msgstr ""
msgid "Operate on a range"
msgstr ""
msgid "Operate on an alternate filesystem root"
msgstr ""
msgid "Operate on cached data, no network repo access"
msgstr ""
msgid "Operate on disk image as filesystem root"
msgstr ""
msgid "Operate on local CONTAINER"
msgstr ""
@@ -41192,6 +41296,12 @@ msgstr ""
msgid "Output only the last line of the --stat format containing the total"
msgstr ""
msgid "Output only trailers"
msgstr ""
msgid "Output only trailers from the input"
msgstr ""
msgid "Output only whether the files differ"
msgstr "Output only whether the files differ"
@@ -42920,6 +43030,9 @@ msgstr ""
msgid "Perform temporary expression replacement during the SSA->normal phase"
msgstr ""
msgid "Perform the mount operation in the mount namespace specified by ns"
msgstr ""
msgid "Perform the necessary tests to observe the performance"
msgstr ""
@@ -43502,6 +43615,9 @@ msgstr "Prepend string to relative links"
msgid "Prepend the name of the cpu to all public symbol names"
msgstr ""
msgid "Prepend the specified directory to all mount targets"
msgstr ""
msgid "Prepends a time stamp to each trace or verbose line that curl displays"
msgstr ""
@@ -43901,6 +44017,9 @@ msgstr ""
msgid "Print SRCINFO to stdout"
msgstr ""
msgid "Print TFLint version"
msgstr ""
msgid "Print TYPE form"
msgstr ""
@@ -49028,6 +49147,9 @@ msgstr ""
msgid "Remote url used by `git push`"
msgstr ""
msgid "Remount a subtree and all possible submounts somewhere else"
msgstr ""
msgid "Remount a subtree to a second position"
msgstr "Remount a subtree to a second position"
@@ -49898,6 +50020,9 @@ msgstr ""
msgid "Remove this from lock"
msgstr ""
msgid "Remove trailers with whitespace values"
msgstr ""
msgid "Remove trailing '/' from source args"
msgstr ""
@@ -51647,6 +51772,9 @@ msgstr ""
msgid "Return whether zone has been added"
msgstr ""
msgid "Return zero exit status even if issues found"
msgstr ""
msgid "Returns 0 if panic mode is enabled, 1 otherwise"
msgstr ""
@@ -52118,6 +52246,9 @@ msgstr ""
msgid "Run command as user"
msgstr ""
msgid "Run command in each directory recursively"
msgstr ""
msgid "Run command in the background"
msgstr ""
@@ -52676,6 +52807,9 @@ msgstr ""
msgid "Run tracer process as tracee's grandchild in a separate session"
msgstr ""
msgid "Run under the specified unit name"
msgstr ""
msgid "Run unit tests"
msgstr ""
@@ -53555,7 +53689,10 @@ msgstr "Search for devices or files in specified directory"
msgid "Search for fonts in directory"
msgstr ""
msgid "Search for game(s) with the given name"
msgid "Search for game(s) with the given name among all Steam installations"
msgstr ""
msgid "Search for game(s) with the given name for a single Steam installation"
msgstr ""
msgid "Search for gems under specific paths"
@@ -54881,6 +55018,9 @@ msgstr ""
msgid "Set `verbose` shell variable"
msgstr ""
msgid "Set a Terraform variable"
msgstr ""
msgid "Set a backup destination"
msgstr ""
@@ -55685,6 +55825,9 @@ msgstr ""
msgid "Set maximum number of redirects"
msgstr ""
msgid "Set maximum number of workers in recursive inspection"
msgstr ""
msgid "Set maximum size of a single allocated block"
msgstr ""
@@ -57296,6 +57439,9 @@ msgstr ""
msgid "Sets minimum bits allowed for bitmaps"
msgstr ""
msgid "Sets minimum severity level for exiting with a non-zero error code"
msgstr ""
msgid "Sets number of rotated logs to keep, default 4"
msgstr ""
@@ -57632,6 +57778,9 @@ msgstr ""
msgid "Shortcut for --style=gv_widgetless.dat"
msgstr ""
msgid "Shortcut for --via-shell --chdir='~'"
msgstr ""
msgid "Shorten some address references at link time, when possible; uses the linker option -relax"
msgstr ""
@@ -61514,6 +61663,9 @@ msgstr ""
msgid "Source name for underlying storage"
msgstr ""
msgid "Source of default options"
msgstr ""
msgid "Source of the commit message"
msgstr ""
@@ -61637,6 +61789,9 @@ msgstr ""
msgid "Specifies an alternate username"
msgstr ""
msgid "Specifies an alternative fstab file"
msgstr ""
msgid "Specifies an alternative installroot"
msgstr ""
@@ -62639,6 +62794,9 @@ msgstr "Specify directory for rpm database"
msgid "Specify directory with configuration files"
msgstr "Specify directory with configuration files"
msgid "Specify disk image dissection policy"
msgstr ""
msgid "Specify display"
msgstr ""
@@ -64166,6 +64324,9 @@ msgstr ""
msgid "Start interface"
msgstr "Start interface"
msgid "Start language server"
msgstr ""
msgid "Start machine"
msgstr ""
@@ -65342,6 +65503,9 @@ msgstr ""
msgid "Switch to a different tree"
msgstr ""
msgid "Switch to a different working directory before executing the command"
msgstr ""
msgid "Switch to a profile"
msgstr ""
@@ -65936,6 +66100,9 @@ msgstr ""
msgid "Terminates the logkeys daemon"
msgstr ""
msgid "Terraform variable file name"
msgstr ""
msgid "Terse output for machine consumption. Implies --no-abbrev and --no-color"
msgstr ""
@@ -67901,6 +68068,9 @@ msgstr ""
msgid "Type of workload to produce"
msgstr ""
msgid "Types of module to call"
msgstr ""
msgid "Typeset abstract as topic"
msgstr ""
@@ -68087,6 +68257,9 @@ msgstr ""
msgid "Unfavourite a status"
msgstr ""
msgid "Unfold multiline trailer values"
msgstr ""
msgid "Unfollow an account"
msgstr ""
@@ -70451,6 +70624,9 @@ msgstr ""
msgid "Use openssh if available"
msgstr "Use openssh if available"
msgid "Use options from fstab/mtab even if both device and dir are specified"
msgstr ""
msgid "Use original SCP protocol instead of SFTP"
msgstr ""
@@ -72368,6 +72544,12 @@ msgstr ""
msgid "What to do when receiving events while the command is running"
msgstr ""
msgid "What to do when there is already a trailer with the same key"
msgstr ""
msgid "What to do when there is no other trailer with the same key"
msgstr ""
msgid "Whatever to reset the module registry for every test"
msgstr ""
@@ -72509,6 +72691,9 @@ msgstr ""
msgid "When used with -s, --silent, it makes curl show an error message if it fails"
msgstr ""
msgid "Where new trailers will be added"
msgstr ""
msgid "Where to install C header files"
msgstr ""
@@ -75437,6 +75622,12 @@ msgstr ""
msgid "explain why packages or modules are needed"
msgstr ""
msgid "explicitly define the argument as the mount source"
msgstr ""
msgid "explicitly define the argument as the mount target"
msgstr ""
msgid "explicitly set BootOrder XXXX,YYYY,ZZZZ (hex)"
msgstr ""
@@ -76028,6 +76219,9 @@ msgstr ""
msgid "host tunnel on custom hostname (requires DNS CNAME)"
msgstr ""
msgid "how to combine with options from fstab/mtab"
msgstr ""
msgid "http-server serving the current directory"
msgstr ""

80912
localization/po/es.po Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -328,6 +328,10 @@ msgstr "%s : %s : mode invalide"
msgid "%s: %s: invalid mode name. See `help %s`"
msgstr "%s : %s : nom de mode invalide. Voir « help %s »"
#, c-format
msgid "%s: %s: invalid option argument: %s"
msgstr ""
#, c-format
msgid "%s: %s: invalid scale"
msgstr "%s : %s : échelle invalide"
@@ -340,6 +344,10 @@ msgstr "%s : %s : sous-commande invalide"
msgid "%s: %s: invalid variable name. See `help %s`"
msgstr "%s : %s : nom de variable invalide. Voir « help %s »"
#, c-format
msgid "%s: %s: option cannot be used with a non-option argument"
msgstr ""
#, c-format
msgid "%s: %s: option does not take an argument"
msgstr "%s : %s : cette option ne prend pas dargument"
@@ -904,10 +912,6 @@ msgstr ""
msgid "%s: variable '%s' is read-only"
msgstr ""
#, c-format
msgid "%sand %u more rows"
msgstr "%set %u lignes de plus"
msgid "'break' while not inside of loop"
msgstr "« break » hors dune boucle"
@@ -2000,8 +2004,9 @@ msgstr "avec les arguments « %s »"
msgid "with definition"
msgstr "avec la définition"
msgid "|& is not valid. In fish, use &| to pipe both stdout and stderr."
msgstr ""
#, c-format
msgid "…and %u more rows"
msgstr "…et %u lignes de plus"
msgid "fish-section-tier1-from-script-explicitly-added"
msgstr ""
@@ -6068,6 +6073,9 @@ msgstr ""
msgid "Add or inspect object notes"
msgstr ""
msgid "Add or parse structured information in commit messages"
msgstr ""
msgid "Add or reduce noise in an image [geometry]"
msgstr ""
@@ -6227,6 +6235,9 @@ msgstr ""
msgid "Add the specified package to the local cache"
msgstr ""
msgid "Add the specified user/group mapping to an X-mount.idmap map"
msgstr ""
msgid "Add the standard Git exclusions"
msgstr ""
@@ -6518,6 +6529,9 @@ msgstr "Alias pour « --coverage »"
msgid "Alias for --env"
msgstr "Alias pour « --env »"
msgid "Alias for --only-trailers --only-input --unfold"
msgstr ""
msgid "Alias for -a"
msgstr "Alias pour -a"
@@ -7025,6 +7039,9 @@ msgstr ""
msgid "Allow the resize to shrink the volume"
msgstr ""
msgid "Allow to make a target directory (mountpoint) if it does not exist yet"
msgstr ""
msgid "Allow to perform \"insecure\" SSL connections"
msgstr ""
@@ -10631,6 +10648,9 @@ msgstr "Vérifier si un port est installé"
msgid "Check if all files owned by PACKAGE are present"
msgstr "Vérifier si tous les fichiers fournis par PAQUET sont présents"
msgid "Check if already mounted"
msgstr ""
msgid "Check if any of the given files would be ignored"
msgstr "Vérifier si lun des fichiers spécifiés serait ignoré"
@@ -11402,6 +11422,15 @@ msgstr ""
msgid "Clear the build directory after a package is built"
msgstr ""
msgid "Clear the effect of previous use of --if-exists"
msgstr ""
msgid "Clear the effect of previous use of --if-missing"
msgstr ""
msgid "Clear the effect of previous use of --where"
msgstr ""
msgid "Clear the fact cache"
msgstr ""
@@ -12374,6 +12403,9 @@ msgstr ""
msgid "Config file (default: $HOME/.s3cfg)"
msgstr ""
msgid "Config file name"
msgstr ""
msgid "Config file name or directory with 'tox.ini' file"
msgstr ""
@@ -12935,6 +12967,9 @@ msgstr "(Ne pas) faire utiliser de comparaisons de virgules flottantes IEEE par
msgid "Control whether to include glibc NSS data"
msgstr ""
msgid "Control whether to register a session with service manager or without"
msgstr ""
msgid "Controller information"
msgstr ""
@@ -16445,6 +16480,9 @@ msgstr "Ne pas colorier la sortie"
msgid "Disable colorization in output"
msgstr "Désactiver la colorisation de la sortie"
msgid "Disable colorized output"
msgstr ""
msgid "Disable colors"
msgstr ""
@@ -16751,6 +16789,9 @@ msgstr ""
msgid "Disable peer exchange (PEX)"
msgstr ""
msgid "Disable per-runner parallelism"
msgstr ""
msgid "Disable portmapping"
msgstr "Désactiver la redirection de port"
@@ -16817,6 +16858,9 @@ msgstr ""
msgid "Disable rewriting of the DISPLAY var"
msgstr ""
msgid "Disable rules from the command line"
msgstr ""
msgid "Disable script 'build.cj'"
msgstr ""
@@ -19340,6 +19384,9 @@ msgstr "Ne pas mettre en cache létat de la validation des signatures de clé
msgid "Do not call gensync (and the !commands in /etc/eix-sync.conf)"
msgstr "Ne pas appeler gensync (ni les !commandes de /etc/eix-sync.conf)"
msgid "Do not canonicalize any paths or tags during the mount process"
msgstr ""
msgid "Do not cc the From: address"
msgstr ""
@@ -20690,6 +20737,9 @@ msgstr ""
msgid "Do not trap on integer division by zero"
msgstr ""
msgid "Do not treat --- as the end of the commit message"
msgstr ""
msgid "Do not treat and/bitand/bitor/compl/not/or/xor as keywords"
msgstr ""
@@ -22682,6 +22732,9 @@ msgstr "Ne pas autoriser le déplacement spéculatif dinstructions non destin
msgid "Dont assume ID based shared libraries are being used"
msgstr ""
msgid "Dont call the /sbin/mount.filesystem helper even if it exists"
msgstr ""
msgid "Dont cross filesystem boundaries"
msgstr "Ne pas changer de système de fichiers lors de la récursion"
@@ -23435,6 +23488,9 @@ msgstr ""
msgid "Edit the file containing a tag"
msgstr "Éditer le fichier contenant une étiquette"
msgid "Edit the files in place"
msgstr ""
msgid "Edit the flag on an object"
msgstr ""
@@ -24293,6 +24349,9 @@ msgstr ""
msgid "Enable one or more units"
msgstr "Activer une ou plusieurs unités"
msgid "Enable only this rule, disabling all other defaults. Can be specified multiple times"
msgstr ""
msgid "Enable optimization of \"&&\" and \"││\" in conditional execution (default)"
msgstr "Activer loptimisation de « && » et « || » dans les conditionnelles (par défaut)"
@@ -24362,6 +24421,9 @@ msgstr ""
msgid "Enable playground in web interface"
msgstr ""
msgid "Enable plugins from the command line"
msgstr ""
msgid "Enable portmapping via NAT-PMP or UPnP"
msgstr ""
@@ -24449,6 +24511,9 @@ msgstr ""
msgid "Enable row security (dump only content user has access to)"
msgstr ""
msgid "Enable rules from the command line"
msgstr ""
msgid "Enable search index"
msgstr "Activer la recherche dans lindex"
@@ -26798,6 +26863,9 @@ msgstr ""
msgid "Filter for rewriting the tree and its contents"
msgstr ""
msgid "Filter issues by file names or globs"
msgstr ""
msgid "Filter mode. Do not start interactive finder"
msgstr ""
@@ -27119,6 +27187,9 @@ msgstr ""
msgid "Fix invalid file names in a bucket"
msgstr ""
msgid "Fix issues automatically"
msgstr ""
msgid "Fix only the specified bench target"
msgstr ""
@@ -30065,6 +30136,9 @@ msgstr ""
msgid "Give patch name and comment in file"
msgstr "Placer le nom et commentaire de patch dans le fichier"
msgid "Give privileges to selected or current user"
msgstr ""
msgid "Give some file-transfer stats"
msgstr "Donner des statistiques sur les transferts individuels"
@@ -30629,6 +30703,9 @@ msgstr "Suspendre les travaux restants sur limprimante spécifiée"
msgid "Home URL prefix for PEPs"
msgstr ""
msgid "Home area to log into"
msgstr ""
msgid "Home directory"
msgstr ""
@@ -31292,6 +31369,9 @@ msgstr ""
msgid "Ignore module interface version"
msgstr "Ignorer la version de linterface du module"
msgid "Ignore module sources"
msgstr ""
msgid "Ignore newer bugs than upgrade packages"
msgstr "Ignorer les nouveaux bogues et mettre à jour les paquets"
@@ -32852,6 +32932,9 @@ msgstr ""
msgid "Install pkg(8) from remote repository"
msgstr ""
msgid "Install plugins"
msgstr ""
msgid "Install plugins resolved from the Maven repository system into an Eclipse instance"
msgstr ""
@@ -33197,6 +33280,9 @@ msgstr ""
msgid "Invoke a method on a remote object"
msgstr ""
msgid "Invoke command via target user's login shell"
msgstr ""
msgid "Invoke fstrim on domain's mounted filesystems"
msgstr ""
@@ -33326,6 +33412,9 @@ msgstr ""
msgid "Just exit with status 0 when there is a match and with non-zero status when there isn't"
msgstr ""
msgid "Just like --pty, but leave TTY access to agents until unit is started up"
msgstr ""
msgid "Just report what it would remove"
msgstr ""
@@ -33470,6 +33559,9 @@ msgstr ""
msgid "Key to be used as a namespace identifier"
msgstr ""
msgid "Key-value pair to apply as a trailer"
msgstr ""
msgid "Keyboard layout mapping table for special hash-modes"
msgstr ""
@@ -34280,9 +34372,6 @@ msgstr ""
msgid "List all analyzed versions"
msgstr "Lister toutes les versions analysées"
msgid "List all apps"
msgstr ""
msgid "List all apps in the target space"
msgstr ""
@@ -34442,6 +34531,9 @@ msgstr ""
msgid "List all forward socket connections"
msgstr ""
msgid "List all games for all Steam installations"
msgstr ""
msgid "List all help topics"
msgstr "Lister les sujets daide"
@@ -35180,6 +35272,9 @@ msgstr "Spécifier le format de listage"
msgid "List full dependencies for a given identity"
msgstr ""
msgid "List games for a single Steam installation"
msgstr ""
msgid "List generation ids for client"
msgstr ""
@@ -37061,6 +37156,9 @@ msgstr ""
msgid "Long listing format"
msgstr ""
msgid "Look at all journal files instead of local ones"
msgstr ""
msgid "Look for (non-boring) files that could be added"
msgstr ""
@@ -40679,9 +40777,15 @@ msgstr ""
msgid "Operate on a range"
msgstr ""
msgid "Operate on an alternate filesystem root"
msgstr ""
msgid "Operate on cached data, no network repo access"
msgstr ""
msgid "Operate on disk image as filesystem root"
msgstr ""
msgid "Operate on local CONTAINER"
msgstr ""
@@ -41321,6 +41425,12 @@ msgstr ""
msgid "Output only the last line of the --stat format containing the total"
msgstr ""
msgid "Output only trailers"
msgstr ""
msgid "Output only trailers from the input"
msgstr ""
msgid "Output only whether the files differ"
msgstr "Se contenter de dire si les fichiers diffèrent"
@@ -43049,6 +43159,9 @@ msgstr "Effectuer la duplication de récursion terminale pour augmenter la taill
msgid "Perform temporary expression replacement during the SSA->normal phase"
msgstr ""
msgid "Perform the mount operation in the mount namespace specified by ns"
msgstr ""
msgid "Perform the necessary tests to observe the performance"
msgstr ""
@@ -43631,6 +43744,9 @@ msgstr "Utiliser la chaîne spécifiée comme base pour les liens relatifs"
msgid "Prepend the name of the cpu to all public symbol names"
msgstr "Préfixer le nom du processeur à tous les noms de symboles publics"
msgid "Prepend the specified directory to all mount targets"
msgstr ""
msgid "Prepends a time stamp to each trace or verbose line that curl displays"
msgstr ""
@@ -44030,6 +44146,9 @@ msgstr "Afficher les PPID"
msgid "Print SRCINFO to stdout"
msgstr ""
msgid "Print TFLint version"
msgstr ""
msgid "Print TYPE form"
msgstr ""
@@ -49157,6 +49276,9 @@ msgstr "Chemin sur la destination"
msgid "Remote url used by `git push`"
msgstr ""
msgid "Remount a subtree and all possible submounts somewhere else"
msgstr ""
msgid "Remount a subtree to a second position"
msgstr "Remonter une sous-arborescence ailleurs"
@@ -50027,6 +50149,9 @@ msgstr ""
msgid "Remove this from lock"
msgstr "Supprimer ceci du verrou"
msgid "Remove trailers with whitespace values"
msgstr ""
msgid "Remove trailing '/' from source args"
msgstr ""
@@ -51776,6 +51901,9 @@ msgstr ""
msgid "Return whether zone has been added"
msgstr ""
msgid "Return zero exit status even if issues found"
msgstr ""
msgid "Returns 0 if panic mode is enabled, 1 otherwise"
msgstr ""
@@ -52247,6 +52375,9 @@ msgstr "Exécuter la commande avec le groupe spécifié"
msgid "Run command as user"
msgstr "Exécuter la commande en tant que lutilisateur spécifié"
msgid "Run command in each directory recursively"
msgstr ""
msgid "Run command in the background"
msgstr "Exécuter la tâche en arrière-plan"
@@ -52805,6 +52936,9 @@ msgstr ""
msgid "Run tracer process as tracee's grandchild in a separate session"
msgstr ""
msgid "Run under the specified unit name"
msgstr ""
msgid "Run unit tests"
msgstr ""
@@ -53684,7 +53818,10 @@ msgstr "Chercher les périphériques et fichiers dans le dossier spécifié"
msgid "Search for fonts in directory"
msgstr ""
msgid "Search for game(s) with the given name"
msgid "Search for game(s) with the given name among all Steam installations"
msgstr ""
msgid "Search for game(s) with the given name for a single Steam installation"
msgstr ""
msgid "Search for gems under specific paths"
@@ -55010,6 +55147,9 @@ msgstr ""
msgid "Set `verbose` shell variable"
msgstr ""
msgid "Set a Terraform variable"
msgstr ""
msgid "Set a backup destination"
msgstr "Paramétrer un emplacement de sauvegarde"
@@ -55814,6 +55954,9 @@ msgstr ""
msgid "Set maximum number of redirects"
msgstr ""
msgid "Set maximum number of workers in recursive inspection"
msgstr ""
msgid "Set maximum size of a single allocated block"
msgstr ""
@@ -57425,6 +57568,9 @@ msgstr ""
msgid "Sets minimum bits allowed for bitmaps"
msgstr ""
msgid "Sets minimum severity level for exiting with a non-zero error code"
msgstr ""
msgid "Sets number of rotated logs to keep, default 4"
msgstr ""
@@ -57761,6 +57907,9 @@ msgstr "Raccourci pour « --style=gv_spartan.dat »"
msgid "Shortcut for --style=gv_widgetless.dat"
msgstr "Raccourci pour « --style=gv_widgetless.dat »"
msgid "Shortcut for --via-shell --chdir='~'"
msgstr ""
msgid "Shorten some address references at link time, when possible; uses the linker option -relax"
msgstr "Raccourcir certaines références dadresse lors de lédition des liens, si possible ; utilise loption « -relax » de léditeur de liens"
@@ -61643,6 +61792,9 @@ msgstr ""
msgid "Source name for underlying storage"
msgstr ""
msgid "Source of default options"
msgstr ""
msgid "Source of the commit message"
msgstr ""
@@ -61766,6 +61918,9 @@ msgstr "Spécifier un serveur alternatif"
msgid "Specifies an alternate username"
msgstr "Spécifier un nom dutilisateur alternatif"
msgid "Specifies an alternative fstab file"
msgstr ""
msgid "Specifies an alternative installroot"
msgstr ""
@@ -62768,6 +62923,9 @@ msgstr "Spécifier le dossier de la base de données de rpm"
msgid "Specify directory with configuration files"
msgstr "Spécifier le dossier des fichiers de configuration"
msgid "Specify disk image dissection policy"
msgstr ""
msgid "Specify display"
msgstr ""
@@ -64295,6 +64453,9 @@ msgstr ""
msgid "Start interface"
msgstr "Démarrer linterface"
msgid "Start language server"
msgstr ""
msgid "Start machine"
msgstr "Démarrer la machine"
@@ -65471,6 +65632,9 @@ msgstr ""
msgid "Switch to a different tree"
msgstr ""
msgid "Switch to a different working directory before executing the command"
msgstr ""
msgid "Switch to a profile"
msgstr "Changer de profil"
@@ -66065,6 +66229,9 @@ msgstr ""
msgid "Terminates the logkeys daemon"
msgstr "Arrêter le démon logkeys"
msgid "Terraform variable file name"
msgstr ""
msgid "Terse output for machine consumption. Implies --no-abbrev and --no-color"
msgstr ""
@@ -68030,6 +68197,9 @@ msgstr ""
msgid "Type of workload to produce"
msgstr ""
msgid "Types of module to call"
msgstr ""
msgid "Typeset abstract as topic"
msgstr ""
@@ -68216,6 +68386,9 @@ msgstr ""
msgid "Unfavourite a status"
msgstr ""
msgid "Unfold multiline trailer values"
msgstr ""
msgid "Unfollow an account"
msgstr ""
@@ -70580,6 +70753,9 @@ msgstr "Utiliser seulement les 4 premiers accumulateurs de média"
msgid "Use openssh if available"
msgstr ""
msgid "Use options from fstab/mtab even if both device and dir are specified"
msgstr ""
msgid "Use original SCP protocol instead of SFTP"
msgstr ""
@@ -72497,6 +72673,12 @@ msgstr ""
msgid "What to do when receiving events while the command is running"
msgstr ""
msgid "What to do when there is already a trailer with the same key"
msgstr ""
msgid "What to do when there is no other trailer with the same key"
msgstr ""
msgid "Whatever to reset the module registry for every test"
msgstr ""
@@ -72638,6 +72820,9 @@ msgstr ""
msgid "When used with -s, --silent, it makes curl show an error message if it fails"
msgstr ""
msgid "Where new trailers will be added"
msgstr ""
msgid "Where to install C header files"
msgstr ""
@@ -75566,6 +75751,12 @@ msgstr "Expliquer ce quatool fait"
msgid "explain why packages or modules are needed"
msgstr ""
msgid "explicitly define the argument as the mount source"
msgstr ""
msgid "explicitly define the argument as the mount target"
msgstr ""
msgid "explicitly set BootOrder XXXX,YYYY,ZZZZ (hex)"
msgstr ""
@@ -76157,6 +76348,9 @@ msgstr ""
msgid "host tunnel on custom hostname (requires DNS CNAME)"
msgstr ""
msgid "how to combine with options from fstab/mtab"
msgstr ""
msgid "http-server serving the current directory"
msgstr "http-server servant le dossier actuel"

80915
localization/po/ja_JP.po Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -195,6 +195,10 @@ msgstr ""
msgid "%s: %s: invalid mode name. See `help %s`"
msgstr ""
#, c-format
msgid "%s: %s: invalid option argument: %s"
msgstr ""
#, c-format
msgid "%s: %s: invalid scale"
msgstr ""
@@ -207,6 +211,10 @@ msgstr ""
msgid "%s: %s: invalid variable name. See `help %s`"
msgstr ""
#, c-format
msgid "%s: %s: option cannot be used with a non-option argument"
msgstr ""
#, c-format
msgid "%s: %s: option does not take an argument"
msgstr ""
@@ -771,10 +779,6 @@ msgstr ""
msgid "%s: variable '%s' is read-only"
msgstr ""
#, c-format
msgid "%sand %u more rows"
msgstr "%sand %u więcej rzędów"
msgid "'break' while not inside of loop"
msgstr "'break' użyte poza pętlą"
@@ -1867,8 +1871,9 @@ msgstr ""
msgid "with definition"
msgstr ""
msgid "|& is not valid. In fish, use &| to pipe both stdout and stderr."
msgstr ""
#, fuzzy, c-format
msgid "…and %u more rows"
msgstr "…and %u więcej rzędów"
msgid "fish-section-tier1-from-script-explicitly-added"
msgstr ""
@@ -5935,6 +5940,9 @@ msgstr ""
msgid "Add or inspect object notes"
msgstr ""
msgid "Add or parse structured information in commit messages"
msgstr ""
msgid "Add or reduce noise in an image [geometry]"
msgstr ""
@@ -6094,6 +6102,9 @@ msgstr ""
msgid "Add the specified package to the local cache"
msgstr ""
msgid "Add the specified user/group mapping to an X-mount.idmap map"
msgstr ""
msgid "Add the standard Git exclusions"
msgstr ""
@@ -6385,6 +6396,9 @@ msgstr ""
msgid "Alias for --env"
msgstr ""
msgid "Alias for --only-trailers --only-input --unfold"
msgstr ""
msgid "Alias for -a"
msgstr ""
@@ -6892,6 +6906,9 @@ msgstr ""
msgid "Allow the resize to shrink the volume"
msgstr ""
msgid "Allow to make a target directory (mountpoint) if it does not exist yet"
msgstr ""
msgid "Allow to perform \"insecure\" SSL connections"
msgstr ""
@@ -10498,6 +10515,9 @@ msgstr ""
msgid "Check if all files owned by PACKAGE are present"
msgstr ""
msgid "Check if already mounted"
msgstr ""
msgid "Check if any of the given files would be ignored"
msgstr ""
@@ -11269,6 +11289,15 @@ msgstr ""
msgid "Clear the build directory after a package is built"
msgstr ""
msgid "Clear the effect of previous use of --if-exists"
msgstr ""
msgid "Clear the effect of previous use of --if-missing"
msgstr ""
msgid "Clear the effect of previous use of --where"
msgstr ""
msgid "Clear the fact cache"
msgstr ""
@@ -12241,6 +12270,9 @@ msgstr ""
msgid "Config file (default: $HOME/.s3cfg)"
msgstr ""
msgid "Config file name"
msgstr ""
msgid "Config file name or directory with 'tox.ini' file"
msgstr ""
@@ -12802,6 +12834,9 @@ msgstr ""
msgid "Control whether to include glibc NSS data"
msgstr ""
msgid "Control whether to register a session with service manager or without"
msgstr ""
msgid "Controller information"
msgstr ""
@@ -16312,6 +16347,9 @@ msgstr ""
msgid "Disable colorization in output"
msgstr ""
msgid "Disable colorized output"
msgstr ""
msgid "Disable colors"
msgstr ""
@@ -16618,6 +16656,9 @@ msgstr ""
msgid "Disable peer exchange (PEX)"
msgstr ""
msgid "Disable per-runner parallelism"
msgstr ""
msgid "Disable portmapping"
msgstr ""
@@ -16684,6 +16725,9 @@ msgstr ""
msgid "Disable rewriting of the DISPLAY var"
msgstr ""
msgid "Disable rules from the command line"
msgstr ""
msgid "Disable script 'build.cj'"
msgstr ""
@@ -19207,6 +19251,9 @@ msgstr ""
msgid "Do not call gensync (and the !commands in /etc/eix-sync.conf)"
msgstr ""
msgid "Do not canonicalize any paths or tags during the mount process"
msgstr ""
msgid "Do not cc the From: address"
msgstr ""
@@ -20557,6 +20604,9 @@ msgstr ""
msgid "Do not trap on integer division by zero"
msgstr ""
msgid "Do not treat --- as the end of the commit message"
msgstr ""
msgid "Do not treat and/bitand/bitor/compl/not/or/xor as keywords"
msgstr ""
@@ -22549,6 +22599,9 @@ msgstr ""
msgid "Dont assume ID based shared libraries are being used"
msgstr ""
msgid "Dont call the /sbin/mount.filesystem helper even if it exists"
msgstr ""
msgid "Dont cross filesystem boundaries"
msgstr ""
@@ -23302,6 +23355,9 @@ msgstr ""
msgid "Edit the file containing a tag"
msgstr ""
msgid "Edit the files in place"
msgstr ""
msgid "Edit the flag on an object"
msgstr ""
@@ -24160,6 +24216,9 @@ msgstr ""
msgid "Enable one or more units"
msgstr ""
msgid "Enable only this rule, disabling all other defaults. Can be specified multiple times"
msgstr ""
msgid "Enable optimization of \"&&\" and \"││\" in conditional execution (default)"
msgstr ""
@@ -24229,6 +24288,9 @@ msgstr ""
msgid "Enable playground in web interface"
msgstr ""
msgid "Enable plugins from the command line"
msgstr ""
msgid "Enable portmapping via NAT-PMP or UPnP"
msgstr ""
@@ -24316,6 +24378,9 @@ msgstr ""
msgid "Enable row security (dump only content user has access to)"
msgstr ""
msgid "Enable rules from the command line"
msgstr ""
msgid "Enable search index"
msgstr ""
@@ -26665,6 +26730,9 @@ msgstr ""
msgid "Filter for rewriting the tree and its contents"
msgstr ""
msgid "Filter issues by file names or globs"
msgstr ""
msgid "Filter mode. Do not start interactive finder"
msgstr ""
@@ -26986,6 +27054,9 @@ msgstr ""
msgid "Fix invalid file names in a bucket"
msgstr ""
msgid "Fix issues automatically"
msgstr ""
msgid "Fix only the specified bench target"
msgstr ""
@@ -29932,6 +30003,9 @@ msgstr ""
msgid "Give patch name and comment in file"
msgstr ""
msgid "Give privileges to selected or current user"
msgstr ""
msgid "Give some file-transfer stats"
msgstr ""
@@ -30496,6 +30570,9 @@ msgstr ""
msgid "Home URL prefix for PEPs"
msgstr ""
msgid "Home area to log into"
msgstr ""
msgid "Home directory"
msgstr ""
@@ -31159,6 +31236,9 @@ msgstr ""
msgid "Ignore module interface version"
msgstr ""
msgid "Ignore module sources"
msgstr ""
msgid "Ignore newer bugs than upgrade packages"
msgstr ""
@@ -32719,6 +32799,9 @@ msgstr ""
msgid "Install pkg(8) from remote repository"
msgstr ""
msgid "Install plugins"
msgstr ""
msgid "Install plugins resolved from the Maven repository system into an Eclipse instance"
msgstr ""
@@ -33064,6 +33147,9 @@ msgstr ""
msgid "Invoke a method on a remote object"
msgstr ""
msgid "Invoke command via target user's login shell"
msgstr ""
msgid "Invoke fstrim on domain's mounted filesystems"
msgstr ""
@@ -33193,6 +33279,9 @@ msgstr ""
msgid "Just exit with status 0 when there is a match and with non-zero status when there isn't"
msgstr ""
msgid "Just like --pty, but leave TTY access to agents until unit is started up"
msgstr ""
msgid "Just report what it would remove"
msgstr ""
@@ -33337,6 +33426,9 @@ msgstr ""
msgid "Key to be used as a namespace identifier"
msgstr ""
msgid "Key-value pair to apply as a trailer"
msgstr ""
msgid "Keyboard layout mapping table for special hash-modes"
msgstr ""
@@ -34147,9 +34239,6 @@ msgstr ""
msgid "List all analyzed versions"
msgstr ""
msgid "List all apps"
msgstr ""
msgid "List all apps in the target space"
msgstr ""
@@ -34309,6 +34398,9 @@ msgstr ""
msgid "List all forward socket connections"
msgstr ""
msgid "List all games for all Steam installations"
msgstr ""
msgid "List all help topics"
msgstr ""
@@ -35047,6 +35139,9 @@ msgstr ""
msgid "List full dependencies for a given identity"
msgstr ""
msgid "List games for a single Steam installation"
msgstr ""
msgid "List generation ids for client"
msgstr ""
@@ -36928,6 +37023,9 @@ msgstr ""
msgid "Long listing format"
msgstr ""
msgid "Look at all journal files instead of local ones"
msgstr ""
msgid "Look for (non-boring) files that could be added"
msgstr ""
@@ -40546,9 +40644,15 @@ msgstr ""
msgid "Operate on a range"
msgstr ""
msgid "Operate on an alternate filesystem root"
msgstr ""
msgid "Operate on cached data, no network repo access"
msgstr ""
msgid "Operate on disk image as filesystem root"
msgstr ""
msgid "Operate on local CONTAINER"
msgstr ""
@@ -41188,6 +41292,12 @@ msgstr ""
msgid "Output only the last line of the --stat format containing the total"
msgstr ""
msgid "Output only trailers"
msgstr ""
msgid "Output only trailers from the input"
msgstr ""
msgid "Output only whether the files differ"
msgstr ""
@@ -42916,6 +43026,9 @@ msgstr ""
msgid "Perform temporary expression replacement during the SSA->normal phase"
msgstr ""
msgid "Perform the mount operation in the mount namespace specified by ns"
msgstr ""
msgid "Perform the necessary tests to observe the performance"
msgstr ""
@@ -43498,6 +43611,9 @@ msgstr ""
msgid "Prepend the name of the cpu to all public symbol names"
msgstr ""
msgid "Prepend the specified directory to all mount targets"
msgstr ""
msgid "Prepends a time stamp to each trace or verbose line that curl displays"
msgstr ""
@@ -43897,6 +44013,9 @@ msgstr ""
msgid "Print SRCINFO to stdout"
msgstr ""
msgid "Print TFLint version"
msgstr ""
msgid "Print TYPE form"
msgstr ""
@@ -49024,6 +49143,9 @@ msgstr ""
msgid "Remote url used by `git push`"
msgstr ""
msgid "Remount a subtree and all possible submounts somewhere else"
msgstr ""
msgid "Remount a subtree to a second position"
msgstr ""
@@ -49894,6 +50016,9 @@ msgstr ""
msgid "Remove this from lock"
msgstr ""
msgid "Remove trailers with whitespace values"
msgstr ""
msgid "Remove trailing '/' from source args"
msgstr ""
@@ -51643,6 +51768,9 @@ msgstr ""
msgid "Return whether zone has been added"
msgstr ""
msgid "Return zero exit status even if issues found"
msgstr ""
msgid "Returns 0 if panic mode is enabled, 1 otherwise"
msgstr ""
@@ -52114,6 +52242,9 @@ msgstr ""
msgid "Run command as user"
msgstr ""
msgid "Run command in each directory recursively"
msgstr ""
msgid "Run command in the background"
msgstr ""
@@ -52672,6 +52803,9 @@ msgstr ""
msgid "Run tracer process as tracee's grandchild in a separate session"
msgstr ""
msgid "Run under the specified unit name"
msgstr ""
msgid "Run unit tests"
msgstr ""
@@ -53551,7 +53685,10 @@ msgstr ""
msgid "Search for fonts in directory"
msgstr ""
msgid "Search for game(s) with the given name"
msgid "Search for game(s) with the given name among all Steam installations"
msgstr ""
msgid "Search for game(s) with the given name for a single Steam installation"
msgstr ""
msgid "Search for gems under specific paths"
@@ -54877,6 +55014,9 @@ msgstr ""
msgid "Set `verbose` shell variable"
msgstr ""
msgid "Set a Terraform variable"
msgstr ""
msgid "Set a backup destination"
msgstr ""
@@ -55681,6 +55821,9 @@ msgstr ""
msgid "Set maximum number of redirects"
msgstr ""
msgid "Set maximum number of workers in recursive inspection"
msgstr ""
msgid "Set maximum size of a single allocated block"
msgstr ""
@@ -57292,6 +57435,9 @@ msgstr ""
msgid "Sets minimum bits allowed for bitmaps"
msgstr ""
msgid "Sets minimum severity level for exiting with a non-zero error code"
msgstr ""
msgid "Sets number of rotated logs to keep, default 4"
msgstr ""
@@ -57628,6 +57774,9 @@ msgstr ""
msgid "Shortcut for --style=gv_widgetless.dat"
msgstr ""
msgid "Shortcut for --via-shell --chdir='~'"
msgstr ""
msgid "Shorten some address references at link time, when possible; uses the linker option -relax"
msgstr ""
@@ -61510,6 +61659,9 @@ msgstr ""
msgid "Source name for underlying storage"
msgstr ""
msgid "Source of default options"
msgstr ""
msgid "Source of the commit message"
msgstr ""
@@ -61633,6 +61785,9 @@ msgstr ""
msgid "Specifies an alternate username"
msgstr ""
msgid "Specifies an alternative fstab file"
msgstr ""
msgid "Specifies an alternative installroot"
msgstr ""
@@ -62635,6 +62790,9 @@ msgstr ""
msgid "Specify directory with configuration files"
msgstr ""
msgid "Specify disk image dissection policy"
msgstr ""
msgid "Specify display"
msgstr ""
@@ -64162,6 +64320,9 @@ msgstr ""
msgid "Start interface"
msgstr ""
msgid "Start language server"
msgstr ""
msgid "Start machine"
msgstr ""
@@ -65338,6 +65499,9 @@ msgstr ""
msgid "Switch to a different tree"
msgstr ""
msgid "Switch to a different working directory before executing the command"
msgstr ""
msgid "Switch to a profile"
msgstr ""
@@ -65932,6 +66096,9 @@ msgstr ""
msgid "Terminates the logkeys daemon"
msgstr ""
msgid "Terraform variable file name"
msgstr ""
msgid "Terse output for machine consumption. Implies --no-abbrev and --no-color"
msgstr ""
@@ -67897,6 +68064,9 @@ msgstr ""
msgid "Type of workload to produce"
msgstr ""
msgid "Types of module to call"
msgstr ""
msgid "Typeset abstract as topic"
msgstr ""
@@ -68083,6 +68253,9 @@ msgstr ""
msgid "Unfavourite a status"
msgstr ""
msgid "Unfold multiline trailer values"
msgstr ""
msgid "Unfollow an account"
msgstr ""
@@ -70447,6 +70620,9 @@ msgstr ""
msgid "Use openssh if available"
msgstr ""
msgid "Use options from fstab/mtab even if both device and dir are specified"
msgstr ""
msgid "Use original SCP protocol instead of SFTP"
msgstr ""
@@ -72364,6 +72540,12 @@ msgstr ""
msgid "What to do when receiving events while the command is running"
msgstr ""
msgid "What to do when there is already a trailer with the same key"
msgstr ""
msgid "What to do when there is no other trailer with the same key"
msgstr ""
msgid "Whatever to reset the module registry for every test"
msgstr ""
@@ -72505,6 +72687,9 @@ msgstr ""
msgid "When used with -s, --silent, it makes curl show an error message if it fails"
msgstr ""
msgid "Where new trailers will be added"
msgstr ""
msgid "Where to install C header files"
msgstr ""
@@ -75433,6 +75618,12 @@ msgstr ""
msgid "explain why packages or modules are needed"
msgstr ""
msgid "explicitly define the argument as the mount source"
msgstr ""
msgid "explicitly define the argument as the mount target"
msgstr ""
msgid "explicitly set BootOrder XXXX,YYYY,ZZZZ (hex)"
msgstr ""
@@ -76024,6 +76215,9 @@ msgstr ""
msgid "host tunnel on custom hostname (requires DNS CNAME)"
msgstr ""
msgid "how to combine with options from fstab/mtab"
msgstr ""
msgid "http-server serving the current directory"
msgstr ""

View File

@@ -200,6 +200,10 @@ msgstr ""
msgid "%s: %s: invalid mode name. See `help %s`"
msgstr ""
#, c-format
msgid "%s: %s: invalid option argument: %s"
msgstr ""
#, c-format
msgid "%s: %s: invalid scale"
msgstr ""
@@ -212,6 +216,10 @@ msgstr ""
msgid "%s: %s: invalid variable name. See `help %s`"
msgstr ""
#, c-format
msgid "%s: %s: option cannot be used with a non-option argument"
msgstr ""
#, c-format
msgid "%s: %s: option does not take an argument"
msgstr ""
@@ -776,10 +784,6 @@ msgstr ""
msgid "%s: variable '%s' is read-only"
msgstr ""
#, c-format
msgid "%sand %u more rows"
msgstr "%se mais %u linhas"
msgid "'break' while not inside of loop"
msgstr "'break' enquanto fora de um laço"
@@ -1872,8 +1876,9 @@ msgstr ""
msgid "with definition"
msgstr "com definição"
msgid "|& is not valid. In fish, use &| to pipe both stdout and stderr."
msgstr ""
#, fuzzy, c-format
msgid "…and %u more rows"
msgstr "…e mais %u linhas"
msgid "fish-section-tier1-from-script-explicitly-added"
msgstr ""
@@ -5940,6 +5945,9 @@ msgstr ""
msgid "Add or inspect object notes"
msgstr ""
msgid "Add or parse structured information in commit messages"
msgstr ""
msgid "Add or reduce noise in an image [geometry]"
msgstr ""
@@ -6099,6 +6107,9 @@ msgstr ""
msgid "Add the specified package to the local cache"
msgstr ""
msgid "Add the specified user/group mapping to an X-mount.idmap map"
msgstr ""
msgid "Add the standard Git exclusions"
msgstr ""
@@ -6390,6 +6401,9 @@ msgstr ""
msgid "Alias for --env"
msgstr ""
msgid "Alias for --only-trailers --only-input --unfold"
msgstr ""
msgid "Alias for -a"
msgstr ""
@@ -6897,6 +6911,9 @@ msgstr ""
msgid "Allow the resize to shrink the volume"
msgstr ""
msgid "Allow to make a target directory (mountpoint) if it does not exist yet"
msgstr ""
msgid "Allow to perform \"insecure\" SSL connections"
msgstr ""
@@ -10503,6 +10520,9 @@ msgstr ""
msgid "Check if all files owned by PACKAGE are present"
msgstr ""
msgid "Check if already mounted"
msgstr ""
msgid "Check if any of the given files would be ignored"
msgstr ""
@@ -11274,6 +11294,15 @@ msgstr ""
msgid "Clear the build directory after a package is built"
msgstr ""
msgid "Clear the effect of previous use of --if-exists"
msgstr ""
msgid "Clear the effect of previous use of --if-missing"
msgstr ""
msgid "Clear the effect of previous use of --where"
msgstr ""
msgid "Clear the fact cache"
msgstr ""
@@ -12246,6 +12275,9 @@ msgstr ""
msgid "Config file (default: $HOME/.s3cfg)"
msgstr ""
msgid "Config file name"
msgstr ""
msgid "Config file name or directory with 'tox.ini' file"
msgstr ""
@@ -12807,6 +12839,9 @@ msgstr ""
msgid "Control whether to include glibc NSS data"
msgstr ""
msgid "Control whether to register a session with service manager or without"
msgstr ""
msgid "Controller information"
msgstr ""
@@ -16317,6 +16352,9 @@ msgstr ""
msgid "Disable colorization in output"
msgstr ""
msgid "Disable colorized output"
msgstr ""
msgid "Disable colors"
msgstr ""
@@ -16623,6 +16661,9 @@ msgstr ""
msgid "Disable peer exchange (PEX)"
msgstr ""
msgid "Disable per-runner parallelism"
msgstr ""
msgid "Disable portmapping"
msgstr ""
@@ -16689,6 +16730,9 @@ msgstr ""
msgid "Disable rewriting of the DISPLAY var"
msgstr ""
msgid "Disable rules from the command line"
msgstr ""
msgid "Disable script 'build.cj'"
msgstr ""
@@ -19212,6 +19256,9 @@ msgstr "Do not cache the verification status of key signatures"
msgid "Do not call gensync (and the !commands in /etc/eix-sync.conf)"
msgstr ""
msgid "Do not canonicalize any paths or tags during the mount process"
msgstr ""
msgid "Do not cc the From: address"
msgstr ""
@@ -20562,6 +20609,9 @@ msgstr ""
msgid "Do not trap on integer division by zero"
msgstr ""
msgid "Do not treat --- as the end of the commit message"
msgstr ""
msgid "Do not treat and/bitand/bitor/compl/not/or/xor as keywords"
msgstr ""
@@ -22554,6 +22604,9 @@ msgstr ""
msgid "Dont assume ID based shared libraries are being used"
msgstr ""
msgid "Dont call the /sbin/mount.filesystem helper even if it exists"
msgstr ""
msgid "Dont cross filesystem boundaries"
msgstr ""
@@ -23307,6 +23360,9 @@ msgstr ""
msgid "Edit the file containing a tag"
msgstr ""
msgid "Edit the files in place"
msgstr ""
msgid "Edit the flag on an object"
msgstr ""
@@ -24165,6 +24221,9 @@ msgstr ""
msgid "Enable one or more units"
msgstr ""
msgid "Enable only this rule, disabling all other defaults. Can be specified multiple times"
msgstr ""
msgid "Enable optimization of \"&&\" and \"││\" in conditional execution (default)"
msgstr ""
@@ -24234,6 +24293,9 @@ msgstr ""
msgid "Enable playground in web interface"
msgstr ""
msgid "Enable plugins from the command line"
msgstr ""
msgid "Enable portmapping via NAT-PMP or UPnP"
msgstr ""
@@ -24321,6 +24383,9 @@ msgstr ""
msgid "Enable row security (dump only content user has access to)"
msgstr ""
msgid "Enable rules from the command line"
msgstr ""
msgid "Enable search index"
msgstr ""
@@ -26670,6 +26735,9 @@ msgstr ""
msgid "Filter for rewriting the tree and its contents"
msgstr ""
msgid "Filter issues by file names or globs"
msgstr ""
msgid "Filter mode. Do not start interactive finder"
msgstr ""
@@ -26991,6 +27059,9 @@ msgstr ""
msgid "Fix invalid file names in a bucket"
msgstr ""
msgid "Fix issues automatically"
msgstr ""
msgid "Fix only the specified bench target"
msgstr ""
@@ -29937,6 +30008,9 @@ msgstr ""
msgid "Give patch name and comment in file"
msgstr "Give patch name and comment in file"
msgid "Give privileges to selected or current user"
msgstr ""
msgid "Give some file-transfer stats"
msgstr ""
@@ -30501,6 +30575,9 @@ msgstr ""
msgid "Home URL prefix for PEPs"
msgstr ""
msgid "Home area to log into"
msgstr ""
msgid "Home directory"
msgstr ""
@@ -31164,6 +31241,9 @@ msgstr ""
msgid "Ignore module interface version"
msgstr "Ignore module interface version"
msgid "Ignore module sources"
msgstr ""
msgid "Ignore newer bugs than upgrade packages"
msgstr ""
@@ -32724,6 +32804,9 @@ msgstr ""
msgid "Install pkg(8) from remote repository"
msgstr ""
msgid "Install plugins"
msgstr ""
msgid "Install plugins resolved from the Maven repository system into an Eclipse instance"
msgstr ""
@@ -33069,6 +33152,9 @@ msgstr ""
msgid "Invoke a method on a remote object"
msgstr ""
msgid "Invoke command via target user's login shell"
msgstr ""
msgid "Invoke fstrim on domain's mounted filesystems"
msgstr ""
@@ -33198,6 +33284,9 @@ msgstr ""
msgid "Just exit with status 0 when there is a match and with non-zero status when there isn't"
msgstr ""
msgid "Just like --pty, but leave TTY access to agents until unit is started up"
msgstr ""
msgid "Just report what it would remove"
msgstr ""
@@ -33342,6 +33431,9 @@ msgstr ""
msgid "Key to be used as a namespace identifier"
msgstr ""
msgid "Key-value pair to apply as a trailer"
msgstr ""
msgid "Keyboard layout mapping table for special hash-modes"
msgstr ""
@@ -34152,9 +34244,6 @@ msgstr ""
msgid "List all analyzed versions"
msgstr ""
msgid "List all apps"
msgstr ""
msgid "List all apps in the target space"
msgstr ""
@@ -34314,6 +34403,9 @@ msgstr ""
msgid "List all forward socket connections"
msgstr ""
msgid "List all games for all Steam installations"
msgstr ""
msgid "List all help topics"
msgstr ""
@@ -35052,6 +35144,9 @@ msgstr ""
msgid "List full dependencies for a given identity"
msgstr ""
msgid "List games for a single Steam installation"
msgstr ""
msgid "List generation ids for client"
msgstr ""
@@ -36933,6 +37028,9 @@ msgstr ""
msgid "Long listing format"
msgstr ""
msgid "Look at all journal files instead of local ones"
msgstr ""
msgid "Look for (non-boring) files that could be added"
msgstr ""
@@ -40551,9 +40649,15 @@ msgstr ""
msgid "Operate on a range"
msgstr ""
msgid "Operate on an alternate filesystem root"
msgstr ""
msgid "Operate on cached data, no network repo access"
msgstr ""
msgid "Operate on disk image as filesystem root"
msgstr ""
msgid "Operate on local CONTAINER"
msgstr ""
@@ -41193,6 +41297,12 @@ msgstr ""
msgid "Output only the last line of the --stat format containing the total"
msgstr ""
msgid "Output only trailers"
msgstr ""
msgid "Output only trailers from the input"
msgstr ""
msgid "Output only whether the files differ"
msgstr ""
@@ -42921,6 +43031,9 @@ msgstr ""
msgid "Perform temporary expression replacement during the SSA->normal phase"
msgstr ""
msgid "Perform the mount operation in the mount namespace specified by ns"
msgstr ""
msgid "Perform the necessary tests to observe the performance"
msgstr ""
@@ -43503,6 +43616,9 @@ msgstr "Prepend string to relative links"
msgid "Prepend the name of the cpu to all public symbol names"
msgstr ""
msgid "Prepend the specified directory to all mount targets"
msgstr ""
msgid "Prepends a time stamp to each trace or verbose line that curl displays"
msgstr ""
@@ -43902,6 +44018,9 @@ msgstr ""
msgid "Print SRCINFO to stdout"
msgstr ""
msgid "Print TFLint version"
msgstr ""
msgid "Print TYPE form"
msgstr ""
@@ -49029,6 +49148,9 @@ msgstr ""
msgid "Remote url used by `git push`"
msgstr ""
msgid "Remount a subtree and all possible submounts somewhere else"
msgstr ""
msgid "Remount a subtree to a second position"
msgstr "Remonta uma sub-árvore em outro lugar"
@@ -49899,6 +50021,9 @@ msgstr ""
msgid "Remove this from lock"
msgstr ""
msgid "Remove trailers with whitespace values"
msgstr ""
msgid "Remove trailing '/' from source args"
msgstr ""
@@ -51648,6 +51773,9 @@ msgstr ""
msgid "Return whether zone has been added"
msgstr ""
msgid "Return zero exit status even if issues found"
msgstr ""
msgid "Returns 0 if panic mode is enabled, 1 otherwise"
msgstr ""
@@ -52119,6 +52247,9 @@ msgstr ""
msgid "Run command as user"
msgstr ""
msgid "Run command in each directory recursively"
msgstr ""
msgid "Run command in the background"
msgstr ""
@@ -52677,6 +52808,9 @@ msgstr ""
msgid "Run tracer process as tracee's grandchild in a separate session"
msgstr ""
msgid "Run under the specified unit name"
msgstr ""
msgid "Run unit tests"
msgstr ""
@@ -53556,7 +53690,10 @@ msgstr ""
msgid "Search for fonts in directory"
msgstr ""
msgid "Search for game(s) with the given name"
msgid "Search for game(s) with the given name among all Steam installations"
msgstr ""
msgid "Search for game(s) with the given name for a single Steam installation"
msgstr ""
msgid "Search for gems under specific paths"
@@ -54882,6 +55019,9 @@ msgstr ""
msgid "Set `verbose` shell variable"
msgstr ""
msgid "Set a Terraform variable"
msgstr ""
msgid "Set a backup destination"
msgstr ""
@@ -55686,6 +55826,9 @@ msgstr ""
msgid "Set maximum number of redirects"
msgstr ""
msgid "Set maximum number of workers in recursive inspection"
msgstr ""
msgid "Set maximum size of a single allocated block"
msgstr ""
@@ -57297,6 +57440,9 @@ msgstr ""
msgid "Sets minimum bits allowed for bitmaps"
msgstr ""
msgid "Sets minimum severity level for exiting with a non-zero error code"
msgstr ""
msgid "Sets number of rotated logs to keep, default 4"
msgstr ""
@@ -57633,6 +57779,9 @@ msgstr ""
msgid "Shortcut for --style=gv_widgetless.dat"
msgstr ""
msgid "Shortcut for --via-shell --chdir='~'"
msgstr ""
msgid "Shorten some address references at link time, when possible; uses the linker option -relax"
msgstr ""
@@ -61515,6 +61664,9 @@ msgstr ""
msgid "Source name for underlying storage"
msgstr ""
msgid "Source of default options"
msgstr ""
msgid "Source of the commit message"
msgstr ""
@@ -61638,6 +61790,9 @@ msgstr ""
msgid "Specifies an alternate username"
msgstr ""
msgid "Specifies an alternative fstab file"
msgstr ""
msgid "Specifies an alternative installroot"
msgstr ""
@@ -62640,6 +62795,9 @@ msgstr "Specify directory for rpm database"
msgid "Specify directory with configuration files"
msgstr ""
msgid "Specify disk image dissection policy"
msgstr ""
msgid "Specify display"
msgstr ""
@@ -64167,6 +64325,9 @@ msgstr ""
msgid "Start interface"
msgstr ""
msgid "Start language server"
msgstr ""
msgid "Start machine"
msgstr ""
@@ -65343,6 +65504,9 @@ msgstr ""
msgid "Switch to a different tree"
msgstr ""
msgid "Switch to a different working directory before executing the command"
msgstr ""
msgid "Switch to a profile"
msgstr ""
@@ -65937,6 +66101,9 @@ msgstr ""
msgid "Terminates the logkeys daemon"
msgstr ""
msgid "Terraform variable file name"
msgstr ""
msgid "Terse output for machine consumption. Implies --no-abbrev and --no-color"
msgstr ""
@@ -67902,6 +68069,9 @@ msgstr ""
msgid "Type of workload to produce"
msgstr ""
msgid "Types of module to call"
msgstr ""
msgid "Typeset abstract as topic"
msgstr ""
@@ -68088,6 +68258,9 @@ msgstr ""
msgid "Unfavourite a status"
msgstr ""
msgid "Unfold multiline trailer values"
msgstr ""
msgid "Unfollow an account"
msgstr ""
@@ -70452,6 +70625,9 @@ msgstr ""
msgid "Use openssh if available"
msgstr ""
msgid "Use options from fstab/mtab even if both device and dir are specified"
msgstr ""
msgid "Use original SCP protocol instead of SFTP"
msgstr ""
@@ -72369,6 +72545,12 @@ msgstr ""
msgid "What to do when receiving events while the command is running"
msgstr ""
msgid "What to do when there is already a trailer with the same key"
msgstr ""
msgid "What to do when there is no other trailer with the same key"
msgstr ""
msgid "Whatever to reset the module registry for every test"
msgstr ""
@@ -72510,6 +72692,9 @@ msgstr ""
msgid "When used with -s, --silent, it makes curl show an error message if it fails"
msgstr ""
msgid "Where new trailers will be added"
msgstr ""
msgid "Where to install C header files"
msgstr ""
@@ -75438,6 +75623,12 @@ msgstr ""
msgid "explain why packages or modules are needed"
msgstr ""
msgid "explicitly define the argument as the mount source"
msgstr ""
msgid "explicitly define the argument as the mount target"
msgstr ""
msgid "explicitly set BootOrder XXXX,YYYY,ZZZZ (hex)"
msgstr ""
@@ -76029,6 +76220,9 @@ msgstr ""
msgid "host tunnel on custom hostname (requires DNS CNAME)"
msgstr ""
msgid "how to combine with options from fstab/mtab"
msgstr ""
msgid "http-server serving the current directory"
msgstr ""

View File

@@ -196,6 +196,10 @@ msgstr ""
msgid "%s: %s: invalid mode name. See `help %s`"
msgstr ""
#, c-format
msgid "%s: %s: invalid option argument: %s"
msgstr ""
#, c-format
msgid "%s: %s: invalid scale"
msgstr ""
@@ -208,6 +212,10 @@ msgstr ""
msgid "%s: %s: invalid variable name. See `help %s`"
msgstr ""
#, c-format
msgid "%s: %s: option cannot be used with a non-option argument"
msgstr ""
#, c-format
msgid "%s: %s: option does not take an argument"
msgstr ""
@@ -772,10 +780,6 @@ msgstr ""
msgid "%s: variable '%s' is read-only"
msgstr ""
#, c-format
msgid "%sand %u more rows"
msgstr "%soch %u rader till"
msgid "'break' while not inside of loop"
msgstr ""
@@ -1868,8 +1872,9 @@ msgstr ""
msgid "with definition"
msgstr ""
msgid "|& is not valid. In fish, use &| to pipe both stdout and stderr."
msgstr ""
#, fuzzy, c-format
msgid "…and %u more rows"
msgstr "…och %u rader till"
msgid "fish-section-tier1-from-script-explicitly-added"
msgstr ""
@@ -5936,6 +5941,9 @@ msgstr ""
msgid "Add or inspect object notes"
msgstr ""
msgid "Add or parse structured information in commit messages"
msgstr ""
msgid "Add or reduce noise in an image [geometry]"
msgstr ""
@@ -6095,6 +6103,9 @@ msgstr ""
msgid "Add the specified package to the local cache"
msgstr ""
msgid "Add the specified user/group mapping to an X-mount.idmap map"
msgstr ""
msgid "Add the standard Git exclusions"
msgstr ""
@@ -6386,6 +6397,9 @@ msgstr ""
msgid "Alias for --env"
msgstr ""
msgid "Alias for --only-trailers --only-input --unfold"
msgstr ""
msgid "Alias for -a"
msgstr ""
@@ -6893,6 +6907,9 @@ msgstr ""
msgid "Allow the resize to shrink the volume"
msgstr ""
msgid "Allow to make a target directory (mountpoint) if it does not exist yet"
msgstr ""
msgid "Allow to perform \"insecure\" SSL connections"
msgstr ""
@@ -10499,6 +10516,9 @@ msgstr ""
msgid "Check if all files owned by PACKAGE are present"
msgstr ""
msgid "Check if already mounted"
msgstr ""
msgid "Check if any of the given files would be ignored"
msgstr ""
@@ -11270,6 +11290,15 @@ msgstr ""
msgid "Clear the build directory after a package is built"
msgstr ""
msgid "Clear the effect of previous use of --if-exists"
msgstr ""
msgid "Clear the effect of previous use of --if-missing"
msgstr ""
msgid "Clear the effect of previous use of --where"
msgstr ""
msgid "Clear the fact cache"
msgstr ""
@@ -12242,6 +12271,9 @@ msgstr ""
msgid "Config file (default: $HOME/.s3cfg)"
msgstr ""
msgid "Config file name"
msgstr ""
msgid "Config file name or directory with 'tox.ini' file"
msgstr ""
@@ -12803,6 +12835,9 @@ msgstr ""
msgid "Control whether to include glibc NSS data"
msgstr ""
msgid "Control whether to register a session with service manager or without"
msgstr ""
msgid "Controller information"
msgstr ""
@@ -16313,6 +16348,9 @@ msgstr ""
msgid "Disable colorization in output"
msgstr ""
msgid "Disable colorized output"
msgstr ""
msgid "Disable colors"
msgstr ""
@@ -16619,6 +16657,9 @@ msgstr ""
msgid "Disable peer exchange (PEX)"
msgstr ""
msgid "Disable per-runner parallelism"
msgstr ""
msgid "Disable portmapping"
msgstr ""
@@ -16685,6 +16726,9 @@ msgstr ""
msgid "Disable rewriting of the DISPLAY var"
msgstr ""
msgid "Disable rules from the command line"
msgstr ""
msgid "Disable script 'build.cj'"
msgstr ""
@@ -19208,6 +19252,9 @@ msgstr "Cache:a inte verifieringsstatus av nyckelsignaturer"
msgid "Do not call gensync (and the !commands in /etc/eix-sync.conf)"
msgstr ""
msgid "Do not canonicalize any paths or tags during the mount process"
msgstr ""
msgid "Do not cc the From: address"
msgstr ""
@@ -20558,6 +20605,9 @@ msgstr ""
msgid "Do not trap on integer division by zero"
msgstr ""
msgid "Do not treat --- as the end of the commit message"
msgstr ""
msgid "Do not treat and/bitand/bitor/compl/not/or/xor as keywords"
msgstr ""
@@ -22550,6 +22600,9 @@ msgstr ""
msgid "Dont assume ID based shared libraries are being used"
msgstr ""
msgid "Dont call the /sbin/mount.filesystem helper even if it exists"
msgstr ""
msgid "Dont cross filesystem boundaries"
msgstr ""
@@ -23303,6 +23356,9 @@ msgstr ""
msgid "Edit the file containing a tag"
msgstr ""
msgid "Edit the files in place"
msgstr ""
msgid "Edit the flag on an object"
msgstr ""
@@ -24161,6 +24217,9 @@ msgstr ""
msgid "Enable one or more units"
msgstr ""
msgid "Enable only this rule, disabling all other defaults. Can be specified multiple times"
msgstr ""
msgid "Enable optimization of \"&&\" and \"││\" in conditional execution (default)"
msgstr ""
@@ -24230,6 +24289,9 @@ msgstr ""
msgid "Enable playground in web interface"
msgstr ""
msgid "Enable plugins from the command line"
msgstr ""
msgid "Enable portmapping via NAT-PMP or UPnP"
msgstr ""
@@ -24317,6 +24379,9 @@ msgstr ""
msgid "Enable row security (dump only content user has access to)"
msgstr ""
msgid "Enable rules from the command line"
msgstr ""
msgid "Enable search index"
msgstr ""
@@ -26666,6 +26731,9 @@ msgstr ""
msgid "Filter for rewriting the tree and its contents"
msgstr ""
msgid "Filter issues by file names or globs"
msgstr ""
msgid "Filter mode. Do not start interactive finder"
msgstr ""
@@ -26987,6 +27055,9 @@ msgstr ""
msgid "Fix invalid file names in a bucket"
msgstr ""
msgid "Fix issues automatically"
msgstr ""
msgid "Fix only the specified bench target"
msgstr ""
@@ -29933,6 +30004,9 @@ msgstr ""
msgid "Give patch name and comment in file"
msgstr "Välj fixnamn och kommentar via fil"
msgid "Give privileges to selected or current user"
msgstr ""
msgid "Give some file-transfer stats"
msgstr ""
@@ -30497,6 +30571,9 @@ msgstr ""
msgid "Home URL prefix for PEPs"
msgstr ""
msgid "Home area to log into"
msgstr ""
msgid "Home directory"
msgstr ""
@@ -31160,6 +31237,9 @@ msgstr ""
msgid "Ignore module interface version"
msgstr "Ignorera modulinterfaceversion"
msgid "Ignore module sources"
msgstr ""
msgid "Ignore newer bugs than upgrade packages"
msgstr "Ignorera nyare buggar än uppgraderade paket"
@@ -32720,6 +32800,9 @@ msgstr ""
msgid "Install pkg(8) from remote repository"
msgstr ""
msgid "Install plugins"
msgstr ""
msgid "Install plugins resolved from the Maven repository system into an Eclipse instance"
msgstr ""
@@ -33065,6 +33148,9 @@ msgstr ""
msgid "Invoke a method on a remote object"
msgstr ""
msgid "Invoke command via target user's login shell"
msgstr ""
msgid "Invoke fstrim on domain's mounted filesystems"
msgstr ""
@@ -33194,6 +33280,9 @@ msgstr ""
msgid "Just exit with status 0 when there is a match and with non-zero status when there isn't"
msgstr ""
msgid "Just like --pty, but leave TTY access to agents until unit is started up"
msgstr ""
msgid "Just report what it would remove"
msgstr ""
@@ -33338,6 +33427,9 @@ msgstr ""
msgid "Key to be used as a namespace identifier"
msgstr ""
msgid "Key-value pair to apply as a trailer"
msgstr ""
msgid "Keyboard layout mapping table for special hash-modes"
msgstr ""
@@ -34148,9 +34240,6 @@ msgstr ""
msgid "List all analyzed versions"
msgstr ""
msgid "List all apps"
msgstr ""
msgid "List all apps in the target space"
msgstr ""
@@ -34310,6 +34399,9 @@ msgstr ""
msgid "List all forward socket connections"
msgstr ""
msgid "List all games for all Steam installations"
msgstr ""
msgid "List all help topics"
msgstr ""
@@ -35048,6 +35140,9 @@ msgstr ""
msgid "List full dependencies for a given identity"
msgstr ""
msgid "List games for a single Steam installation"
msgstr ""
msgid "List generation ids for client"
msgstr ""
@@ -36929,6 +37024,9 @@ msgstr ""
msgid "Long listing format"
msgstr ""
msgid "Look at all journal files instead of local ones"
msgstr ""
msgid "Look for (non-boring) files that could be added"
msgstr ""
@@ -40547,9 +40645,15 @@ msgstr ""
msgid "Operate on a range"
msgstr ""
msgid "Operate on an alternate filesystem root"
msgstr ""
msgid "Operate on cached data, no network repo access"
msgstr ""
msgid "Operate on disk image as filesystem root"
msgstr ""
msgid "Operate on local CONTAINER"
msgstr ""
@@ -41189,6 +41293,12 @@ msgstr ""
msgid "Output only the last line of the --stat format containing the total"
msgstr ""
msgid "Output only trailers"
msgstr ""
msgid "Output only trailers from the input"
msgstr ""
msgid "Output only whether the files differ"
msgstr "Skriv bara ut huruvida filerna skiljer sig"
@@ -42917,6 +43027,9 @@ msgstr ""
msgid "Perform temporary expression replacement during the SSA->normal phase"
msgstr ""
msgid "Perform the mount operation in the mount namespace specified by ns"
msgstr ""
msgid "Perform the necessary tests to observe the performance"
msgstr ""
@@ -43499,6 +43612,9 @@ msgstr "Lägg till sträng före relativa länkar"
msgid "Prepend the name of the cpu to all public symbol names"
msgstr ""
msgid "Prepend the specified directory to all mount targets"
msgstr ""
msgid "Prepends a time stamp to each trace or verbose line that curl displays"
msgstr ""
@@ -43898,6 +44014,9 @@ msgstr ""
msgid "Print SRCINFO to stdout"
msgstr ""
msgid "Print TFLint version"
msgstr ""
msgid "Print TYPE form"
msgstr ""
@@ -49025,6 +49144,9 @@ msgstr ""
msgid "Remote url used by `git push`"
msgstr ""
msgid "Remount a subtree and all possible submounts somewhere else"
msgstr ""
msgid "Remount a subtree to a second position"
msgstr "Montera om ett subträd till en andra plats"
@@ -49895,6 +50017,9 @@ msgstr ""
msgid "Remove this from lock"
msgstr ""
msgid "Remove trailers with whitespace values"
msgstr ""
msgid "Remove trailing '/' from source args"
msgstr ""
@@ -51644,6 +51769,9 @@ msgstr ""
msgid "Return whether zone has been added"
msgstr ""
msgid "Return zero exit status even if issues found"
msgstr ""
msgid "Returns 0 if panic mode is enabled, 1 otherwise"
msgstr ""
@@ -52115,6 +52243,9 @@ msgstr ""
msgid "Run command as user"
msgstr ""
msgid "Run command in each directory recursively"
msgstr ""
msgid "Run command in the background"
msgstr ""
@@ -52673,6 +52804,9 @@ msgstr ""
msgid "Run tracer process as tracee's grandchild in a separate session"
msgstr ""
msgid "Run under the specified unit name"
msgstr ""
msgid "Run unit tests"
msgstr ""
@@ -53552,7 +53686,10 @@ msgstr ""
msgid "Search for fonts in directory"
msgstr ""
msgid "Search for game(s) with the given name"
msgid "Search for game(s) with the given name among all Steam installations"
msgstr ""
msgid "Search for game(s) with the given name for a single Steam installation"
msgstr ""
msgid "Search for gems under specific paths"
@@ -54878,6 +55015,9 @@ msgstr ""
msgid "Set `verbose` shell variable"
msgstr ""
msgid "Set a Terraform variable"
msgstr ""
msgid "Set a backup destination"
msgstr ""
@@ -55682,6 +55822,9 @@ msgstr ""
msgid "Set maximum number of redirects"
msgstr ""
msgid "Set maximum number of workers in recursive inspection"
msgstr ""
msgid "Set maximum size of a single allocated block"
msgstr ""
@@ -57293,6 +57436,9 @@ msgstr ""
msgid "Sets minimum bits allowed for bitmaps"
msgstr ""
msgid "Sets minimum severity level for exiting with a non-zero error code"
msgstr ""
msgid "Sets number of rotated logs to keep, default 4"
msgstr ""
@@ -57629,6 +57775,9 @@ msgstr ""
msgid "Shortcut for --style=gv_widgetless.dat"
msgstr ""
msgid "Shortcut for --via-shell --chdir='~'"
msgstr ""
msgid "Shorten some address references at link time, when possible; uses the linker option -relax"
msgstr ""
@@ -61511,6 +61660,9 @@ msgstr ""
msgid "Source name for underlying storage"
msgstr ""
msgid "Source of default options"
msgstr ""
msgid "Source of the commit message"
msgstr ""
@@ -61634,6 +61786,9 @@ msgstr ""
msgid "Specifies an alternate username"
msgstr ""
msgid "Specifies an alternative fstab file"
msgstr ""
msgid "Specifies an alternative installroot"
msgstr ""
@@ -62636,6 +62791,9 @@ msgstr "Välj katalog för rpm-databas"
msgid "Specify directory with configuration files"
msgstr ""
msgid "Specify disk image dissection policy"
msgstr ""
msgid "Specify display"
msgstr ""
@@ -64163,6 +64321,9 @@ msgstr ""
msgid "Start interface"
msgstr "Starta gränssnitt"
msgid "Start language server"
msgstr ""
msgid "Start machine"
msgstr ""
@@ -65339,6 +65500,9 @@ msgstr ""
msgid "Switch to a different tree"
msgstr ""
msgid "Switch to a different working directory before executing the command"
msgstr ""
msgid "Switch to a profile"
msgstr ""
@@ -65933,6 +66097,9 @@ msgstr ""
msgid "Terminates the logkeys daemon"
msgstr ""
msgid "Terraform variable file name"
msgstr ""
msgid "Terse output for machine consumption. Implies --no-abbrev and --no-color"
msgstr ""
@@ -67898,6 +68065,9 @@ msgstr ""
msgid "Type of workload to produce"
msgstr ""
msgid "Types of module to call"
msgstr ""
msgid "Typeset abstract as topic"
msgstr ""
@@ -68084,6 +68254,9 @@ msgstr ""
msgid "Unfavourite a status"
msgstr ""
msgid "Unfold multiline trailer values"
msgstr ""
msgid "Unfollow an account"
msgstr ""
@@ -70448,6 +70621,9 @@ msgstr ""
msgid "Use openssh if available"
msgstr ""
msgid "Use options from fstab/mtab even if both device and dir are specified"
msgstr ""
msgid "Use original SCP protocol instead of SFTP"
msgstr ""
@@ -72365,6 +72541,12 @@ msgstr ""
msgid "What to do when receiving events while the command is running"
msgstr ""
msgid "What to do when there is already a trailer with the same key"
msgstr ""
msgid "What to do when there is no other trailer with the same key"
msgstr ""
msgid "Whatever to reset the module registry for every test"
msgstr ""
@@ -72506,6 +72688,9 @@ msgstr ""
msgid "When used with -s, --silent, it makes curl show an error message if it fails"
msgstr ""
msgid "Where new trailers will be added"
msgstr ""
msgid "Where to install C header files"
msgstr ""
@@ -75434,6 +75619,12 @@ msgstr ""
msgid "explain why packages or modules are needed"
msgstr ""
msgid "explicitly define the argument as the mount source"
msgstr ""
msgid "explicitly define the argument as the mount target"
msgstr ""
msgid "explicitly set BootOrder XXXX,YYYY,ZZZZ (hex)"
msgstr ""
@@ -76025,6 +76216,9 @@ msgstr ""
msgid "host tunnel on custom hostname (requires DNS CNAME)"
msgstr ""
msgid "how to combine with options from fstab/mtab"
msgstr ""
msgid "http-server serving the current directory"
msgstr ""

View File

@@ -220,6 +220,10 @@ msgstr "%s: %s: 无效舍入模式"
msgid "%s: %s: invalid mode name. See `help %s`"
msgstr "%s: %s: 无效模式名。参见 `help %s`"
#, c-format
msgid "%s: %s: invalid option argument: %s"
msgstr ""
#, c-format
msgid "%s: %s: invalid scale"
msgstr "%s: %s: 无效位数"
@@ -232,6 +236,10 @@ msgstr "%s: %s: 无效的子命令"
msgid "%s: %s: invalid variable name. See `help %s`"
msgstr "%s: %s: 无效的变量名。参见 `help %s`"
#, c-format
msgid "%s: %s: option cannot be used with a non-option argument"
msgstr ""
#, c-format
msgid "%s: %s: option does not take an argument"
msgstr "%s: %s: 选项不接受参数"
@@ -796,10 +804,6 @@ msgstr "%s: 数值未完全转换 (无法转换 '%s')"
msgid "%s: variable '%s' is read-only"
msgstr "%s: 变量 '%s' 只读"
#, c-format
msgid "%sand %u more rows"
msgstr "%s还有 %u 行"
msgid "'break' while not inside of loop"
msgstr "'break' 不在循环内"
@@ -1895,8 +1899,9 @@ msgstr ",参数为 '%s'"
msgid "with definition"
msgstr ",定义为"
msgid "|& is not valid. In fish, use &| to pipe both stdout and stderr."
msgstr "|& 无效。在 fish 中,用 &| 来同时管道链接 stdout 和 stderr。"
#, fuzzy, c-format
msgid "…and %u more rows"
msgstr "…还有 %u 行"
msgid "fish-section-tier1-from-script-explicitly-added"
msgstr ""
@@ -5963,6 +5968,9 @@ msgstr ""
msgid "Add or inspect object notes"
msgstr ""
msgid "Add or parse structured information in commit messages"
msgstr ""
msgid "Add or reduce noise in an image [geometry]"
msgstr ""
@@ -6122,6 +6130,9 @@ msgstr ""
msgid "Add the specified package to the local cache"
msgstr ""
msgid "Add the specified user/group mapping to an X-mount.idmap map"
msgstr ""
msgid "Add the standard Git exclusions"
msgstr ""
@@ -6413,6 +6424,9 @@ msgstr ""
msgid "Alias for --env"
msgstr ""
msgid "Alias for --only-trailers --only-input --unfold"
msgstr ""
msgid "Alias for -a"
msgstr ""
@@ -6920,6 +6934,9 @@ msgstr ""
msgid "Allow the resize to shrink the volume"
msgstr ""
msgid "Allow to make a target directory (mountpoint) if it does not exist yet"
msgstr ""
msgid "Allow to perform \"insecure\" SSL connections"
msgstr ""
@@ -10526,6 +10543,9 @@ msgstr ""
msgid "Check if all files owned by PACKAGE are present"
msgstr ""
msgid "Check if already mounted"
msgstr ""
msgid "Check if any of the given files would be ignored"
msgstr ""
@@ -11297,6 +11317,15 @@ msgstr ""
msgid "Clear the build directory after a package is built"
msgstr ""
msgid "Clear the effect of previous use of --if-exists"
msgstr ""
msgid "Clear the effect of previous use of --if-missing"
msgstr ""
msgid "Clear the effect of previous use of --where"
msgstr ""
msgid "Clear the fact cache"
msgstr ""
@@ -12269,6 +12298,9 @@ msgstr ""
msgid "Config file (default: $HOME/.s3cfg)"
msgstr ""
msgid "Config file name"
msgstr ""
msgid "Config file name or directory with 'tox.ini' file"
msgstr ""
@@ -12830,6 +12862,9 @@ msgstr ""
msgid "Control whether to include glibc NSS data"
msgstr ""
msgid "Control whether to register a session with service manager or without"
msgstr ""
msgid "Controller information"
msgstr ""
@@ -16340,6 +16375,9 @@ msgstr ""
msgid "Disable colorization in output"
msgstr ""
msgid "Disable colorized output"
msgstr ""
msgid "Disable colors"
msgstr ""
@@ -16646,6 +16684,9 @@ msgstr ""
msgid "Disable peer exchange (PEX)"
msgstr ""
msgid "Disable per-runner parallelism"
msgstr ""
msgid "Disable portmapping"
msgstr ""
@@ -16712,6 +16753,9 @@ msgstr ""
msgid "Disable rewriting of the DISPLAY var"
msgstr ""
msgid "Disable rules from the command line"
msgstr ""
msgid "Disable script 'build.cj'"
msgstr "禁用脚本 build.cj"
@@ -19235,6 +19279,9 @@ msgstr ""
msgid "Do not call gensync (and the !commands in /etc/eix-sync.conf)"
msgstr ""
msgid "Do not canonicalize any paths or tags during the mount process"
msgstr ""
msgid "Do not cc the From: address"
msgstr ""
@@ -20585,6 +20632,9 @@ msgstr ""
msgid "Do not trap on integer division by zero"
msgstr ""
msgid "Do not treat --- as the end of the commit message"
msgstr ""
msgid "Do not treat and/bitand/bitor/compl/not/or/xor as keywords"
msgstr ""
@@ -22577,6 +22627,9 @@ msgstr ""
msgid "Dont assume ID based shared libraries are being used"
msgstr ""
msgid "Dont call the /sbin/mount.filesystem helper even if it exists"
msgstr ""
msgid "Dont cross filesystem boundaries"
msgstr ""
@@ -23330,6 +23383,9 @@ msgstr ""
msgid "Edit the file containing a tag"
msgstr ""
msgid "Edit the files in place"
msgstr ""
msgid "Edit the flag on an object"
msgstr ""
@@ -24188,6 +24244,9 @@ msgstr ""
msgid "Enable one or more units"
msgstr ""
msgid "Enable only this rule, disabling all other defaults. Can be specified multiple times"
msgstr ""
msgid "Enable optimization of \"&&\" and \"││\" in conditional execution (default)"
msgstr ""
@@ -24257,6 +24316,9 @@ msgstr ""
msgid "Enable playground in web interface"
msgstr ""
msgid "Enable plugins from the command line"
msgstr ""
msgid "Enable portmapping via NAT-PMP or UPnP"
msgstr ""
@@ -24344,6 +24406,9 @@ msgstr ""
msgid "Enable row security (dump only content user has access to)"
msgstr ""
msgid "Enable rules from the command line"
msgstr ""
msgid "Enable search index"
msgstr ""
@@ -26693,6 +26758,9 @@ msgstr ""
msgid "Filter for rewriting the tree and its contents"
msgstr ""
msgid "Filter issues by file names or globs"
msgstr ""
msgid "Filter mode. Do not start interactive finder"
msgstr ""
@@ -27014,6 +27082,9 @@ msgstr ""
msgid "Fix invalid file names in a bucket"
msgstr ""
msgid "Fix issues automatically"
msgstr ""
msgid "Fix only the specified bench target"
msgstr ""
@@ -29960,6 +30031,9 @@ msgstr ""
msgid "Give patch name and comment in file"
msgstr ""
msgid "Give privileges to selected or current user"
msgstr ""
msgid "Give some file-transfer stats"
msgstr ""
@@ -30524,6 +30598,9 @@ msgstr ""
msgid "Home URL prefix for PEPs"
msgstr ""
msgid "Home area to log into"
msgstr ""
msgid "Home directory"
msgstr ""
@@ -31187,6 +31264,9 @@ msgstr ""
msgid "Ignore module interface version"
msgstr ""
msgid "Ignore module sources"
msgstr ""
msgid "Ignore newer bugs than upgrade packages"
msgstr ""
@@ -32747,6 +32827,9 @@ msgstr ""
msgid "Install pkg(8) from remote repository"
msgstr ""
msgid "Install plugins"
msgstr ""
msgid "Install plugins resolved from the Maven repository system into an Eclipse instance"
msgstr ""
@@ -33092,6 +33175,9 @@ msgstr ""
msgid "Invoke a method on a remote object"
msgstr ""
msgid "Invoke command via target user's login shell"
msgstr ""
msgid "Invoke fstrim on domain's mounted filesystems"
msgstr ""
@@ -33221,6 +33307,9 @@ msgstr ""
msgid "Just exit with status 0 when there is a match and with non-zero status when there isn't"
msgstr ""
msgid "Just like --pty, but leave TTY access to agents until unit is started up"
msgstr ""
msgid "Just report what it would remove"
msgstr ""
@@ -33365,6 +33454,9 @@ msgstr ""
msgid "Key to be used as a namespace identifier"
msgstr ""
msgid "Key-value pair to apply as a trailer"
msgstr ""
msgid "Keyboard layout mapping table for special hash-modes"
msgstr ""
@@ -34175,9 +34267,6 @@ msgstr ""
msgid "List all analyzed versions"
msgstr ""
msgid "List all apps"
msgstr ""
msgid "List all apps in the target space"
msgstr ""
@@ -34337,6 +34426,9 @@ msgstr ""
msgid "List all forward socket connections"
msgstr ""
msgid "List all games for all Steam installations"
msgstr ""
msgid "List all help topics"
msgstr ""
@@ -35075,6 +35167,9 @@ msgstr ""
msgid "List full dependencies for a given identity"
msgstr ""
msgid "List games for a single Steam installation"
msgstr ""
msgid "List generation ids for client"
msgstr ""
@@ -36956,6 +37051,9 @@ msgstr ""
msgid "Long listing format"
msgstr ""
msgid "Look at all journal files instead of local ones"
msgstr ""
msgid "Look for (non-boring) files that could be added"
msgstr ""
@@ -40574,9 +40672,15 @@ msgstr ""
msgid "Operate on a range"
msgstr ""
msgid "Operate on an alternate filesystem root"
msgstr ""
msgid "Operate on cached data, no network repo access"
msgstr ""
msgid "Operate on disk image as filesystem root"
msgstr ""
msgid "Operate on local CONTAINER"
msgstr ""
@@ -41216,6 +41320,12 @@ msgstr ""
msgid "Output only the last line of the --stat format containing the total"
msgstr ""
msgid "Output only trailers"
msgstr ""
msgid "Output only trailers from the input"
msgstr ""
msgid "Output only whether the files differ"
msgstr ""
@@ -42944,6 +43054,9 @@ msgstr ""
msgid "Perform temporary expression replacement during the SSA->normal phase"
msgstr ""
msgid "Perform the mount operation in the mount namespace specified by ns"
msgstr ""
msgid "Perform the necessary tests to observe the performance"
msgstr ""
@@ -43526,6 +43639,9 @@ msgstr ""
msgid "Prepend the name of the cpu to all public symbol names"
msgstr ""
msgid "Prepend the specified directory to all mount targets"
msgstr ""
msgid "Prepends a time stamp to each trace or verbose line that curl displays"
msgstr ""
@@ -43925,6 +44041,9 @@ msgstr ""
msgid "Print SRCINFO to stdout"
msgstr ""
msgid "Print TFLint version"
msgstr ""
msgid "Print TYPE form"
msgstr ""
@@ -49052,6 +49171,9 @@ msgstr ""
msgid "Remote url used by `git push`"
msgstr ""
msgid "Remount a subtree and all possible submounts somewhere else"
msgstr ""
msgid "Remount a subtree to a second position"
msgstr ""
@@ -49922,6 +50044,9 @@ msgstr ""
msgid "Remove this from lock"
msgstr ""
msgid "Remove trailers with whitespace values"
msgstr ""
msgid "Remove trailing '/' from source args"
msgstr ""
@@ -51671,6 +51796,9 @@ msgstr ""
msgid "Return whether zone has been added"
msgstr ""
msgid "Return zero exit status even if issues found"
msgstr ""
msgid "Returns 0 if panic mode is enabled, 1 otherwise"
msgstr ""
@@ -52142,6 +52270,9 @@ msgstr ""
msgid "Run command as user"
msgstr ""
msgid "Run command in each directory recursively"
msgstr ""
msgid "Run command in the background"
msgstr ""
@@ -52700,6 +52831,9 @@ msgstr ""
msgid "Run tracer process as tracee's grandchild in a separate session"
msgstr ""
msgid "Run under the specified unit name"
msgstr ""
msgid "Run unit tests"
msgstr ""
@@ -53579,7 +53713,10 @@ msgstr ""
msgid "Search for fonts in directory"
msgstr ""
msgid "Search for game(s) with the given name"
msgid "Search for game(s) with the given name among all Steam installations"
msgstr ""
msgid "Search for game(s) with the given name for a single Steam installation"
msgstr ""
msgid "Search for gems under specific paths"
@@ -54905,6 +55042,9 @@ msgstr ""
msgid "Set `verbose` shell variable"
msgstr ""
msgid "Set a Terraform variable"
msgstr ""
msgid "Set a backup destination"
msgstr ""
@@ -55709,6 +55849,9 @@ msgstr ""
msgid "Set maximum number of redirects"
msgstr ""
msgid "Set maximum number of workers in recursive inspection"
msgstr ""
msgid "Set maximum size of a single allocated block"
msgstr ""
@@ -57320,6 +57463,9 @@ msgstr ""
msgid "Sets minimum bits allowed for bitmaps"
msgstr ""
msgid "Sets minimum severity level for exiting with a non-zero error code"
msgstr ""
msgid "Sets number of rotated logs to keep, default 4"
msgstr ""
@@ -57656,6 +57802,9 @@ msgstr ""
msgid "Shortcut for --style=gv_widgetless.dat"
msgstr ""
msgid "Shortcut for --via-shell --chdir='~'"
msgstr ""
msgid "Shorten some address references at link time, when possible; uses the linker option -relax"
msgstr ""
@@ -61538,6 +61687,9 @@ msgstr ""
msgid "Source name for underlying storage"
msgstr ""
msgid "Source of default options"
msgstr ""
msgid "Source of the commit message"
msgstr ""
@@ -61661,6 +61813,9 @@ msgstr ""
msgid "Specifies an alternate username"
msgstr ""
msgid "Specifies an alternative fstab file"
msgstr ""
msgid "Specifies an alternative installroot"
msgstr ""
@@ -62663,6 +62818,9 @@ msgstr ""
msgid "Specify directory with configuration files"
msgstr ""
msgid "Specify disk image dissection policy"
msgstr ""
msgid "Specify display"
msgstr ""
@@ -64190,6 +64348,9 @@ msgstr ""
msgid "Start interface"
msgstr ""
msgid "Start language server"
msgstr ""
msgid "Start machine"
msgstr ""
@@ -65366,6 +65527,9 @@ msgstr ""
msgid "Switch to a different tree"
msgstr ""
msgid "Switch to a different working directory before executing the command"
msgstr ""
msgid "Switch to a profile"
msgstr ""
@@ -65960,6 +66124,9 @@ msgstr ""
msgid "Terminates the logkeys daemon"
msgstr ""
msgid "Terraform variable file name"
msgstr ""
msgid "Terse output for machine consumption. Implies --no-abbrev and --no-color"
msgstr ""
@@ -67925,6 +68092,9 @@ msgstr ""
msgid "Type of workload to produce"
msgstr ""
msgid "Types of module to call"
msgstr ""
msgid "Typeset abstract as topic"
msgstr ""
@@ -68111,6 +68281,9 @@ msgstr ""
msgid "Unfavourite a status"
msgstr ""
msgid "Unfold multiline trailer values"
msgstr ""
msgid "Unfollow an account"
msgstr ""
@@ -70475,6 +70648,9 @@ msgstr ""
msgid "Use openssh if available"
msgstr ""
msgid "Use options from fstab/mtab even if both device and dir are specified"
msgstr ""
msgid "Use original SCP protocol instead of SFTP"
msgstr ""
@@ -72392,6 +72568,12 @@ msgstr ""
msgid "What to do when receiving events while the command is running"
msgstr ""
msgid "What to do when there is already a trailer with the same key"
msgstr ""
msgid "What to do when there is no other trailer with the same key"
msgstr ""
msgid "Whatever to reset the module registry for every test"
msgstr ""
@@ -72533,6 +72715,9 @@ msgstr ""
msgid "When used with -s, --silent, it makes curl show an error message if it fails"
msgstr ""
msgid "Where new trailers will be added"
msgstr ""
msgid "Where to install C header files"
msgstr ""
@@ -75461,6 +75646,12 @@ msgstr ""
msgid "explain why packages or modules are needed"
msgstr ""
msgid "explicitly define the argument as the mount source"
msgstr ""
msgid "explicitly define the argument as the mount target"
msgstr ""
msgid "explicitly set BootOrder XXXX,YYYY,ZZZZ (hex)"
msgstr ""
@@ -76052,6 +76243,9 @@ msgstr ""
msgid "host tunnel on custom hostname (requires DNS CNAME)"
msgstr ""
msgid "how to combine with options from fstab/mtab"
msgstr ""
msgid "http-server serving the current directory"
msgstr ""

View File

@@ -193,6 +193,10 @@ msgstr "%s%s無效的模式"
msgid "%s: %s: invalid mode name. See `help %s`"
msgstr "%s%s無效的模式名稱。參見「help %s」"
#, c-format
msgid "%s: %s: invalid option argument: %s"
msgstr ""
#, c-format
msgid "%s: %s: invalid scale"
msgstr "%s%s無效的小數位數"
@@ -205,6 +209,10 @@ msgstr "%s%s無效的子命令"
msgid "%s: %s: invalid variable name. See `help %s`"
msgstr "%s%s無效的變數名稱。參見「help %s」"
#, c-format
msgid "%s: %s: option cannot be used with a non-option argument"
msgstr ""
#, c-format
msgid "%s: %s: option does not take an argument"
msgstr "%s%s選項不需要引數"
@@ -769,11 +777,6 @@ msgstr "%s值未完全轉換無法轉換「%s」"
msgid "%s: variable '%s' is read-only"
msgstr "%s變數「%s」是唯讀的"
# 第一個 %s 是刪節號。此字串出現在按下 <Tab> 的清單太長的情況。
#, c-format
msgid "%sand %u more rows"
msgstr "%s還有 %u 列"
msgid "'break' while not inside of loop"
msgstr "「break」不在迴圈裡面"
@@ -1870,8 +1873,10 @@ msgstr ",引數為「%s」"
msgid "with definition"
msgstr ",定義為"
msgid "|& is not valid. In fish, use &| to pipe both stdout and stderr."
msgstr "|& 無效。在 fish 中請使用 &| 來同時管道傳輸 stdout 和 stderr。"
# 第一個 %s 是刪節號。此字串出現在按下 <Tab> 的清單太長的情況。
#, fuzzy, c-format
msgid "…and %u more rows"
msgstr "…還有 %u 列"
msgid "fish-section-tier1-from-script-explicitly-added"
msgstr ""
@@ -5940,6 +5945,9 @@ msgstr ""
msgid "Add or inspect object notes"
msgstr ""
msgid "Add or parse structured information in commit messages"
msgstr ""
msgid "Add or reduce noise in an image [geometry]"
msgstr ""
@@ -6099,6 +6107,9 @@ msgstr ""
msgid "Add the specified package to the local cache"
msgstr ""
msgid "Add the specified user/group mapping to an X-mount.idmap map"
msgstr ""
msgid "Add the standard Git exclusions"
msgstr ""
@@ -6390,6 +6401,9 @@ msgstr ""
msgid "Alias for --env"
msgstr ""
msgid "Alias for --only-trailers --only-input --unfold"
msgstr ""
msgid "Alias for -a"
msgstr ""
@@ -6897,6 +6911,9 @@ msgstr ""
msgid "Allow the resize to shrink the volume"
msgstr ""
msgid "Allow to make a target directory (mountpoint) if it does not exist yet"
msgstr ""
msgid "Allow to perform \"insecure\" SSL connections"
msgstr ""
@@ -10503,6 +10520,9 @@ msgstr ""
msgid "Check if all files owned by PACKAGE are present"
msgstr ""
msgid "Check if already mounted"
msgstr ""
msgid "Check if any of the given files would be ignored"
msgstr ""
@@ -11274,6 +11294,15 @@ msgstr ""
msgid "Clear the build directory after a package is built"
msgstr ""
msgid "Clear the effect of previous use of --if-exists"
msgstr ""
msgid "Clear the effect of previous use of --if-missing"
msgstr ""
msgid "Clear the effect of previous use of --where"
msgstr ""
msgid "Clear the fact cache"
msgstr ""
@@ -12246,6 +12275,9 @@ msgstr ""
msgid "Config file (default: $HOME/.s3cfg)"
msgstr ""
msgid "Config file name"
msgstr ""
msgid "Config file name or directory with 'tox.ini' file"
msgstr ""
@@ -12807,6 +12839,9 @@ msgstr ""
msgid "Control whether to include glibc NSS data"
msgstr ""
msgid "Control whether to register a session with service manager or without"
msgstr ""
msgid "Controller information"
msgstr ""
@@ -16317,6 +16352,9 @@ msgstr ""
msgid "Disable colorization in output"
msgstr ""
msgid "Disable colorized output"
msgstr ""
msgid "Disable colors"
msgstr ""
@@ -16623,6 +16661,9 @@ msgstr ""
msgid "Disable peer exchange (PEX)"
msgstr ""
msgid "Disable per-runner parallelism"
msgstr ""
msgid "Disable portmapping"
msgstr ""
@@ -16689,6 +16730,9 @@ msgstr ""
msgid "Disable rewriting of the DISPLAY var"
msgstr ""
msgid "Disable rules from the command line"
msgstr ""
msgid "Disable script 'build.cj'"
msgstr ""
@@ -19212,6 +19256,9 @@ msgstr ""
msgid "Do not call gensync (and the !commands in /etc/eix-sync.conf)"
msgstr ""
msgid "Do not canonicalize any paths or tags during the mount process"
msgstr ""
msgid "Do not cc the From: address"
msgstr ""
@@ -20562,6 +20609,9 @@ msgstr ""
msgid "Do not trap on integer division by zero"
msgstr ""
msgid "Do not treat --- as the end of the commit message"
msgstr ""
msgid "Do not treat and/bitand/bitor/compl/not/or/xor as keywords"
msgstr ""
@@ -22554,6 +22604,9 @@ msgstr ""
msgid "Dont assume ID based shared libraries are being used"
msgstr ""
msgid "Dont call the /sbin/mount.filesystem helper even if it exists"
msgstr ""
msgid "Dont cross filesystem boundaries"
msgstr ""
@@ -23307,6 +23360,9 @@ msgstr ""
msgid "Edit the file containing a tag"
msgstr ""
msgid "Edit the files in place"
msgstr ""
msgid "Edit the flag on an object"
msgstr ""
@@ -24165,6 +24221,9 @@ msgstr ""
msgid "Enable one or more units"
msgstr ""
msgid "Enable only this rule, disabling all other defaults. Can be specified multiple times"
msgstr ""
msgid "Enable optimization of \"&&\" and \"││\" in conditional execution (default)"
msgstr ""
@@ -24234,6 +24293,9 @@ msgstr ""
msgid "Enable playground in web interface"
msgstr ""
msgid "Enable plugins from the command line"
msgstr ""
msgid "Enable portmapping via NAT-PMP or UPnP"
msgstr ""
@@ -24321,6 +24383,9 @@ msgstr ""
msgid "Enable row security (dump only content user has access to)"
msgstr ""
msgid "Enable rules from the command line"
msgstr ""
msgid "Enable search index"
msgstr ""
@@ -26670,6 +26735,9 @@ msgstr ""
msgid "Filter for rewriting the tree and its contents"
msgstr ""
msgid "Filter issues by file names or globs"
msgstr ""
msgid "Filter mode. Do not start interactive finder"
msgstr ""
@@ -26991,6 +27059,9 @@ msgstr ""
msgid "Fix invalid file names in a bucket"
msgstr ""
msgid "Fix issues automatically"
msgstr ""
msgid "Fix only the specified bench target"
msgstr ""
@@ -29937,6 +30008,9 @@ msgstr ""
msgid "Give patch name and comment in file"
msgstr ""
msgid "Give privileges to selected or current user"
msgstr ""
msgid "Give some file-transfer stats"
msgstr ""
@@ -30501,6 +30575,9 @@ msgstr ""
msgid "Home URL prefix for PEPs"
msgstr ""
msgid "Home area to log into"
msgstr ""
msgid "Home directory"
msgstr ""
@@ -31164,6 +31241,9 @@ msgstr ""
msgid "Ignore module interface version"
msgstr ""
msgid "Ignore module sources"
msgstr ""
msgid "Ignore newer bugs than upgrade packages"
msgstr ""
@@ -32724,6 +32804,9 @@ msgstr ""
msgid "Install pkg(8) from remote repository"
msgstr ""
msgid "Install plugins"
msgstr ""
msgid "Install plugins resolved from the Maven repository system into an Eclipse instance"
msgstr ""
@@ -33069,6 +33152,9 @@ msgstr ""
msgid "Invoke a method on a remote object"
msgstr ""
msgid "Invoke command via target user's login shell"
msgstr ""
msgid "Invoke fstrim on domain's mounted filesystems"
msgstr ""
@@ -33198,6 +33284,9 @@ msgstr ""
msgid "Just exit with status 0 when there is a match and with non-zero status when there isn't"
msgstr ""
msgid "Just like --pty, but leave TTY access to agents until unit is started up"
msgstr ""
msgid "Just report what it would remove"
msgstr ""
@@ -33342,6 +33431,9 @@ msgstr ""
msgid "Key to be used as a namespace identifier"
msgstr ""
msgid "Key-value pair to apply as a trailer"
msgstr ""
msgid "Keyboard layout mapping table for special hash-modes"
msgstr ""
@@ -34152,9 +34244,6 @@ msgstr ""
msgid "List all analyzed versions"
msgstr ""
msgid "List all apps"
msgstr ""
msgid "List all apps in the target space"
msgstr ""
@@ -34314,6 +34403,9 @@ msgstr ""
msgid "List all forward socket connections"
msgstr ""
msgid "List all games for all Steam installations"
msgstr ""
msgid "List all help topics"
msgstr ""
@@ -35052,6 +35144,9 @@ msgstr ""
msgid "List full dependencies for a given identity"
msgstr ""
msgid "List games for a single Steam installation"
msgstr ""
msgid "List generation ids for client"
msgstr ""
@@ -36933,6 +37028,9 @@ msgstr ""
msgid "Long listing format"
msgstr ""
msgid "Look at all journal files instead of local ones"
msgstr ""
msgid "Look for (non-boring) files that could be added"
msgstr ""
@@ -40551,9 +40649,15 @@ msgstr ""
msgid "Operate on a range"
msgstr ""
msgid "Operate on an alternate filesystem root"
msgstr ""
msgid "Operate on cached data, no network repo access"
msgstr ""
msgid "Operate on disk image as filesystem root"
msgstr ""
msgid "Operate on local CONTAINER"
msgstr ""
@@ -41193,6 +41297,12 @@ msgstr ""
msgid "Output only the last line of the --stat format containing the total"
msgstr ""
msgid "Output only trailers"
msgstr ""
msgid "Output only trailers from the input"
msgstr ""
msgid "Output only whether the files differ"
msgstr ""
@@ -42921,6 +43031,9 @@ msgstr ""
msgid "Perform temporary expression replacement during the SSA->normal phase"
msgstr ""
msgid "Perform the mount operation in the mount namespace specified by ns"
msgstr ""
msgid "Perform the necessary tests to observe the performance"
msgstr ""
@@ -43503,6 +43616,9 @@ msgstr ""
msgid "Prepend the name of the cpu to all public symbol names"
msgstr ""
msgid "Prepend the specified directory to all mount targets"
msgstr ""
msgid "Prepends a time stamp to each trace or verbose line that curl displays"
msgstr ""
@@ -43902,6 +44018,9 @@ msgstr ""
msgid "Print SRCINFO to stdout"
msgstr ""
msgid "Print TFLint version"
msgstr ""
msgid "Print TYPE form"
msgstr ""
@@ -49029,6 +49148,9 @@ msgstr ""
msgid "Remote url used by `git push`"
msgstr ""
msgid "Remount a subtree and all possible submounts somewhere else"
msgstr ""
msgid "Remount a subtree to a second position"
msgstr ""
@@ -49899,6 +50021,9 @@ msgstr ""
msgid "Remove this from lock"
msgstr ""
msgid "Remove trailers with whitespace values"
msgstr ""
msgid "Remove trailing '/' from source args"
msgstr ""
@@ -51648,6 +51773,9 @@ msgstr ""
msgid "Return whether zone has been added"
msgstr ""
msgid "Return zero exit status even if issues found"
msgstr ""
msgid "Returns 0 if panic mode is enabled, 1 otherwise"
msgstr ""
@@ -52119,6 +52247,9 @@ msgstr ""
msgid "Run command as user"
msgstr ""
msgid "Run command in each directory recursively"
msgstr ""
msgid "Run command in the background"
msgstr ""
@@ -52677,6 +52808,9 @@ msgstr ""
msgid "Run tracer process as tracee's grandchild in a separate session"
msgstr ""
msgid "Run under the specified unit name"
msgstr ""
msgid "Run unit tests"
msgstr ""
@@ -53556,7 +53690,10 @@ msgstr ""
msgid "Search for fonts in directory"
msgstr ""
msgid "Search for game(s) with the given name"
msgid "Search for game(s) with the given name among all Steam installations"
msgstr ""
msgid "Search for game(s) with the given name for a single Steam installation"
msgstr ""
msgid "Search for gems under specific paths"
@@ -54882,6 +55019,9 @@ msgstr ""
msgid "Set `verbose` shell variable"
msgstr ""
msgid "Set a Terraform variable"
msgstr ""
msgid "Set a backup destination"
msgstr ""
@@ -55686,6 +55826,9 @@ msgstr ""
msgid "Set maximum number of redirects"
msgstr ""
msgid "Set maximum number of workers in recursive inspection"
msgstr ""
msgid "Set maximum size of a single allocated block"
msgstr ""
@@ -57297,6 +57440,9 @@ msgstr ""
msgid "Sets minimum bits allowed for bitmaps"
msgstr ""
msgid "Sets minimum severity level for exiting with a non-zero error code"
msgstr ""
msgid "Sets number of rotated logs to keep, default 4"
msgstr ""
@@ -57633,6 +57779,9 @@ msgstr ""
msgid "Shortcut for --style=gv_widgetless.dat"
msgstr ""
msgid "Shortcut for --via-shell --chdir='~'"
msgstr ""
msgid "Shorten some address references at link time, when possible; uses the linker option -relax"
msgstr ""
@@ -61515,6 +61664,9 @@ msgstr ""
msgid "Source name for underlying storage"
msgstr ""
msgid "Source of default options"
msgstr ""
msgid "Source of the commit message"
msgstr ""
@@ -61638,6 +61790,9 @@ msgstr ""
msgid "Specifies an alternate username"
msgstr ""
msgid "Specifies an alternative fstab file"
msgstr ""
msgid "Specifies an alternative installroot"
msgstr ""
@@ -62640,6 +62795,9 @@ msgstr ""
msgid "Specify directory with configuration files"
msgstr ""
msgid "Specify disk image dissection policy"
msgstr ""
msgid "Specify display"
msgstr ""
@@ -64167,6 +64325,9 @@ msgstr ""
msgid "Start interface"
msgstr ""
msgid "Start language server"
msgstr ""
msgid "Start machine"
msgstr ""
@@ -65343,6 +65504,9 @@ msgstr ""
msgid "Switch to a different tree"
msgstr ""
msgid "Switch to a different working directory before executing the command"
msgstr ""
msgid "Switch to a profile"
msgstr ""
@@ -65937,6 +66101,9 @@ msgstr ""
msgid "Terminates the logkeys daemon"
msgstr ""
msgid "Terraform variable file name"
msgstr ""
msgid "Terse output for machine consumption. Implies --no-abbrev and --no-color"
msgstr ""
@@ -67902,6 +68069,9 @@ msgstr ""
msgid "Type of workload to produce"
msgstr ""
msgid "Types of module to call"
msgstr ""
msgid "Typeset abstract as topic"
msgstr ""
@@ -68088,6 +68258,9 @@ msgstr ""
msgid "Unfavourite a status"
msgstr ""
msgid "Unfold multiline trailer values"
msgstr ""
msgid "Unfollow an account"
msgstr ""
@@ -70452,6 +70625,9 @@ msgstr ""
msgid "Use openssh if available"
msgstr ""
msgid "Use options from fstab/mtab even if both device and dir are specified"
msgstr ""
msgid "Use original SCP protocol instead of SFTP"
msgstr ""
@@ -72369,6 +72545,12 @@ msgstr ""
msgid "What to do when receiving events while the command is running"
msgstr ""
msgid "What to do when there is already a trailer with the same key"
msgstr ""
msgid "What to do when there is no other trailer with the same key"
msgstr ""
msgid "Whatever to reset the module registry for every test"
msgstr ""
@@ -72510,6 +72692,9 @@ msgstr ""
msgid "When used with -s, --silent, it makes curl show an error message if it fails"
msgstr ""
msgid "Where new trailers will be added"
msgstr ""
msgid "Where to install C header files"
msgstr ""
@@ -75438,6 +75623,12 @@ msgstr ""
msgid "explain why packages or modules are needed"
msgstr ""
msgid "explicitly define the argument as the mount source"
msgstr ""
msgid "explicitly define the argument as the mount target"
msgstr ""
msgid "explicitly set BootOrder XXXX,YYYY,ZZZZ (hex)"
msgstr ""
@@ -76029,6 +76220,9 @@ msgstr ""
msgid "host tunnel on custom hostname (requires DNS CNAME)"
msgstr ""
msgid "how to combine with options from fstab/mtab"
msgstr ""
msgid "http-server serving the current directory"
msgstr ""

View File

@@ -2,7 +2,7 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.get-task-allow</key>
<true/>
<key>com.apple.security.get-task-allow</key>
<true/>
</dict>
</plist>

View File

@@ -4,25 +4,31 @@ complete -c ansible-galaxy -s h -l help -d "Show help message"
complete -c ansible-galaxy -n __fish_use_subcommand -s v -l verbose -d "Verbose mode (-vvv for more, -vvvv for connection debugging)"
# first subcommand
complete -c ansible-galaxy -n __fish_use_subcommand -xa "collection\t'Manage a collection'
role\t'Manage a role'"
complete -c ansible-galaxy -n __fish_use_subcommand -xa "
collection\t'Manage a collection'
role\t'Manage a role'
"
# second subcommand (for collection)
complete -c ansible-galaxy -n '__fish_seen_subcommand_from collection' -a "download\t'Download collections as tarball'
init\t'Initialize new collection with the base structure'
build\t'Build collection artifact that can be published'
publish\t'Publish collection artifact to Ansible Galaxy'
install\t'Install collections'
list\t'Show collections installed'
verify\t'Compare checksums of local and remote collections'"
complete -c ansible-galaxy -n '__fish_seen_subcommand_from collection' -a "
download\t'Download collections as tarball'
init\t'Initialize new collection with the base structure'
build\t'Build collection artifact that can be published'
publish\t'Publish collection artifact to Ansible Galaxy'
install\t'Install collections'
list\t'Show collections installed'
verify\t'Compare checksums of local and remote collections'
"
# second subcommand (for role)
complete -c ansible-galaxy -n '__fish_seen_subcommand_from role' -a "init\t'Initialize new role with the base structure'
remove\t'Delete roles from roles_path'
delete\t'Removes the role from Galaxy'
list\t'Show roles installed'
search\t'Search the Galaxy database by keywords'
import\t'Import role into a galaxy server'
setup\t'Manage integration between Galaxy and the given source'
info\t'View details about a role'
install\t'Install roles'"
complete -c ansible-galaxy -n '__fish_seen_subcommand_from role' -a "
init\t'Initialize new role with the base structure'
remove\t'Delete roles from roles_path'
delete\t'Removes the role from Galaxy'
list\t'Show roles installed'
search\t'Search the Galaxy database by keywords'
import\t'Import role into a galaxy server'
setup\t'Manage integration between Galaxy and the given source'
info\t'View details about a role'
install\t'Install roles'
"

View File

@@ -3,7 +3,7 @@
## --- WRITTEN MANUALLY ---
function __fish_cargo
cargo --color=never $argv
RUSTUP_AUTO_INSTALL=0 cargo --color=never $argv
end
set -l __fish_cargo_subcommands (__fish_cargo --list 2>&1 | string replace -rf '^\s+([^\s]+)\s*(.*)' '$1\t$2' | string escape)

View File

@@ -31,7 +31,7 @@ data = json.load(json_data)
json_data.close()
packages = itertools.chain(data.get('require', {}).keys(), data.get('require-dev', {}).keys())
print(\"\n\".join(packages))
" | $python -S
" | $python -S
end
function __fish_composer_installed_packages

View File

@@ -23,3 +23,7 @@ complete -c coredumpctl -s o -l output -r -d 'Write output to FILE'
complete -c coredumpctl -l file -r -d 'Use journal FILE'
complete -c coredumpctl -s D -l directory -r -d 'Use journal files from DIRECTORY'
complete -c coredumpctl -s q -l quiet -d 'Do not show info messages and privilege warning'
complete -c coredumpctl -l all -d "Look at all journal files instead of local ones"
complete -c coredumpctl -l root -d "Operate on an alternate filesystem root" -xa "(__fish_complete_directories '' 'Root')"
complete -c coredumpctl -l image -d "Operate on disk image as filesystem root" -x
complete -c coredumpctl -l image-policy -d "Specify disk image dissection policy" -xa "verity signed encrypted unprotected unused absent"

View File

@@ -1 +1,4 @@
docker completion fish 2>/dev/null | source
# In WSL, when the docker app is not yet started, "docker" is a script printing
# some error message on stdout instead of a sourceable script
set -l docker_completion "$(docker completion fish 2>/dev/null)"
and eval "$docker_completion"

View File

@@ -1,3 +1 @@
complete -c dvipdf -k -x -a "(
__fish_complete_suffix .dvi
)"
complete -c dvipdf -k -x -a "(__fish_complete_suffix .dvi)"

View File

@@ -1,4 +1 @@
complete -c dvipdfm -k -x -a "
(
__fish_complete_suffix .dvi
)"
complete -c dvipdfm -k -x -a "(__fish_complete_suffix .dvi)"

View File

@@ -1469,11 +1469,13 @@ complete -f -c git -n '__fish_git_using_command commit' -l fixup -d 'Fixup commi
complete -f -c git -n '__fish_git_using_command commit' -l squash -d 'Squash commit to be used with rebase --autosquash'
complete -c git -n '__fish_git_using_command commit' -l reset-author -d 'When amending, reset author of commit to the committer'
complete -x -c git -n '__fish_git_using_command commit' -l author -d 'Override the commit author'
complete -x -c git -n '__fish_git_using_command commit' -l cleanup -a "strip\t'Leading/trailing whitespace/empty lines, #commentary'
whitespace\t'Like strip but keep #commentary'
verbatim\t'Do not change the message'
scissors\t'Like whitespace but also remove after scissor lines'
default\t'Like strip if the message is to be edited, whitespace otherwise'" -d 'How to clean up the commit message'
complete -x -c git -n '__fish_git_using_command commit' -l cleanup -a "
strip\t'Leading/trailing whitespace/empty lines, #commentary'
whitespace\t'Like strip but keep #commentary'
verbatim\t'Do not change the message'
scissors\t'Like whitespace but also remove after scissor lines'
default\t'Like strip if the message is to be edited, whitespace otherwise'
" -d 'How to clean up the commit message'
complete -x -c git -n '__fish_git_using_command commit' -l date -d 'Override the author date'
complete -x -c git -n '__fish_git_using_command commit' -s m -l message -d 'Use the given message as the commit message'
complete -f -c git -n '__fish_git_using_command commit' -l no-edit -d 'Use the selected commit message without launching an editor'
@@ -1692,6 +1694,23 @@ complete -x -c git -n '__fish_git_using_command init' -l object-format -a 'sha1
complete -x -c git -n '__fish_git_using_command init' -s b -l initial-branch -d 'Use specified name for initial branch'
complete -x -c git -n '__fish_git_using_command init' -l shared -a 'false true umask group all world everybody' -d 'Specify that the repository is shared'
### interpret-trailers
complete -c git -n __fish_git_needs_command -a interpret-trailers -d 'Add or parse structured information in commit messages'
complete -f -c git -n '__fish_git_using_command interpret-trailers' -l in-place -d 'Edit the files in place'
complete -f -c git -n '__fish_git_using_command interpret-trailers' -l trim-empty -d 'Remove trailers with whitespace values'
complete -f -c git -n '__fish_git_using_command interpret-trailers' -l trailer -r -d 'Key-value pair to apply as a trailer'
complete -f -c git -n '__fish_git_using_command interpret-trailers' -l where -ra 'after before end start' -d 'Where new trailers will be added'
complete -f -c git -n '__fish_git_using_command interpret-trailers' -l no-where -d 'Clear the effect of previous use of --where'
complete -f -c git -n '__fish_git_using_command interpret-trailers' -l if-exists -ra 'addIfDifferent addIfDifferentNeighbor add replace doNothing' -d 'What to do when there is already a trailer with the same key'
complete -f -c git -n '__fish_git_using_command interpret-trailers' -l no-if-exists -d 'Clear the effect of previous use of --if-exists'
complete -f -c git -n '__fish_git_using_command interpret-trailers' -l if-missing -ra 'doNothing add' -d 'What to do when there is no other trailer with the same key'
complete -f -c git -n '__fish_git_using_command interpret-trailers' -l no-if-missing -d 'Clear the effect of previous use of --if-missing'
complete -f -c git -n '__fish_git_using_command interpret-trailers' -l only-trailers -d 'Output only trailers'
complete -f -c git -n '__fish_git_using_command interpret-trailers' -l only-input -d 'Output only trailers from the input'
complete -f -c git -n '__fish_git_using_command interpret-trailers' -l unfold -d 'Unfold multiline trailer values'
complete -f -c git -n '__fish_git_using_command interpret-trailers' -l parse -d 'Alias for --only-trailers --only-input --unfold'
complete -f -c git -n '__fish_git_using_command interpret-trailers' -l no-divider -d 'Do not treat --- as the end of the commit message'
### shortlog
complete -c git -n __fish_git_needs_command -a shortlog -d 'Show commit shortlog'
complete -c git -n '__fish_git_using_command shortlog' -a '(__fish_git ls-files)'
@@ -1793,26 +1812,26 @@ complete -c git -n '__fish_git_using_command log' -l no-standard-notes
complete -c git -n '__fish_git_using_command log' -l show-signature
complete -c git -n '__fish_git_using_command log' -l relative-date
complete -x -c git -n '__fish_git_using_command log shortlog' -l date -a '
relative
local
iso
iso-local
iso8601
iso8601-local
iso-strict
iso-strict-local
iso8601-strict
iso8601-strict-local
rfc-local
rfc2822-local
short
short-local
raw
human
unix
format:
default
default-local
relative
local
iso
iso-local
iso8601
iso8601-local
iso-strict
iso-strict-local
iso8601-strict
iso8601-strict-local
rfc-local
rfc2822-local
short
short-local
raw
human
unix
format:
default
default-local
'
complete -c git -n '__fish_git_using_command log' -l parents
complete -c git -n '__fish_git_using_command log' -l children
@@ -1848,10 +1867,10 @@ complete -c git -n '__fish_git_using_command log' -l name-status
complete -f -c git -n '__fish_git_using_command log' -l color -a 'always never auto'
complete -c git -n '__fish_git_using_command log' -l no-color
complete -f -c git -n '__fish_git_using_command log' -l word-diff -a '
color
plain
porcelain
none
color
plain
porcelain
none
'
complete -f -c git -n '__fish_git_using_command log' -l color-words
complete -c git -n '__fish_git_using_command log' -l no-renames

View File

@@ -6,11 +6,11 @@ complete -c i3-msg -l version -s v -d 'Display version number and exit'
complete -c i3-msg -l help -s h -d 'Display help and exit'
complete -c i3-msg -l socket -s s -d 'Set socket'
complete -c i3-msg -s t -x -d 'Specify ipc message type' -a '
command\t"Payload is a command"
get_workspaces\t"Get current workspace"
get_outputs\t"Get current outputs"
get_tree\t"Get layout tree"
get_marks\t"Get list of marks"
get_bar_config\t"Get list of configured binding modes"
get_version\t"Get i3 version"
command\t"Payload is a command"
get_workspaces\t"Get current workspace"
get_outputs\t"Get current outputs"
get_tree\t"Get layout tree"
get_marks\t"Get list of marks"
get_bar_config\t"Get list of configured binding modes"
get_version\t"Get i3 version"
'

View File

@@ -408,6 +408,7 @@ function __fish_complete_ip
case address broadcast
case mtu txqueuelen
case netns
__fish_ip_netns_list
case link-netnsid
case vf mac
case {{max,min}_tx_,}rate
@@ -615,13 +616,13 @@ complete -f -c ip -a '(__fish_complete_ip)'
complete -f -c ip -n "not __fish_seen_subcommand_from $ip_all_commands" -a "$ip_commands"
# Yes, ip only takes options before "objects"
complete -c ip -s h -l human -d "Output statistics with human readable values" -n "not __fish_seen_subcommand_from $ip_commands"
complete -c ip -s b -l batch -d "Read commands from file or stdin" -n "not __fish_seen_subcommand_from $ip_commands"
complete -c ip -s b -l batch -d "Read commands from file or stdin" -rF -n "not __fish_seen_subcommand_from $ip_commands"
complete -c ip -l force -d "Don't terminate on errors in batch mode" -n "not __fish_seen_subcommand_from $ip_commands"
complete -c ip -s V -l Version -d "Print the version" -n "not __fish_seen_subcommand_from $ip_commands"
complete -c ip -f -s s -l stats -d "Output more information" -n "not __fish_seen_subcommand_from $ip_commands"
complete -c ip -f -s d -l details -d "Output more detailed information" -n "not __fish_seen_subcommand_from $ip_commands"
complete -c ip -f -s l -l loops -d "Specify maximum number of loops for 'ip addr flush'" -n "not __fish_seen_subcommand_from $ip_commands"
complete -c ip -f -s f -l family -d "The protocol family to use" -a "inet inet6 bridge ipx dnet link any" -n "not __fish_seen_subcommand_from $ip_commands"
complete -c ip -f -s l -l loops -d "Specify maximum number of loops for 'ip addr flush'" -x -n "not __fish_seen_subcommand_from $ip_commands"
complete -c ip -f -s f -l family -d "The protocol family to use" -xa "inet inet6 bridge ipx dnet mpls link any" -n "not __fish_seen_subcommand_from $ip_commands"
complete -c ip -f -s 4 -d "Short for --family inet" -n "not __fish_seen_subcommand_from $ip_commands"
complete -c ip -f -s 6 -d "Short for --family inet6" -n "not __fish_seen_subcommand_from $ip_commands"
complete -c ip -f -s B -d "Short for --family bridge" -n "not __fish_seen_subcommand_from $ip_commands"
@@ -629,7 +630,7 @@ complete -c ip -f -s M -d "Short for --family mpls" -n "not __fish_seen_subcomma
complete -c ip -f -s 0 -d "Short for --family link" -n "not __fish_seen_subcommand_from $ip_commands"
complete -c ip -f -s o -l oneline -d "Output on one line" -n "not __fish_seen_subcommand_from $ip_commands"
complete -c ip -f -s r -l resolve -d "Resolve names and print them instead of addresses" -n "not __fish_seen_subcommand_from $ip_commands"
complete -c ip -f -s n -l netns -d "Use specified network namespace" -n "not __fish_seen_subcommand_from $ip_commands"
complete -c ip -f -s n -l netns -d "Use specified network namespace" -xa "(__fish_ip_netns_list)" -n "not __fish_seen_subcommand_from $ip_commands"
complete -c ip -f -s a -l all -d "Execute command for all objects" -n "not __fish_seen_subcommand_from $ip_commands"
complete -c ip -f -s c -l color -d "Configure color output" -n "not __fish_seen_subcommand_from $ip_commands"
complete -c ip -f -s t -l timestamp -d "Display current time when using monitor" -n "not __fish_seen_subcommand_from $ip_commands"

View File

@@ -3,49 +3,49 @@ complete -c mono -s h -l help -d 'Show help'
complete -c mono -s V -l version -a number -f -d 'Show version'
complete -c mono -l aot -a '(__fish_append , \\
asmonly\t"Instruct the AOT compiler to output assembly code instead of an object file" \\
bind-to-runtime-version\t"Force the generated AOT files to be bound to the runtime version of the compiling Mono" \\
data-outfile\t"Instruct the AOT code generator to output certain data constructs into a separate file" \\
direct-icalls\t"Invoke icalls directly instead of going through the operating system symbol lookup operation" \\
direct-pinvoke\t"Invoke PInvoke methods directly instead of going through the operating system symbol lookup operation" \\
dwarfdebug\t"Instruct the AOT compiler to emit DWARF debugging information" \\
full\t"Create binaries which can be used with the --full-aot option" \\
hybrid\t"Create binaries which can be used with the --hybrid-aot option" \\
llvm\t"Perform AOT with the LLVM backend instead of the Mono backend where possible" \\
llvmonly\t"Perform AOT with the LLVM backend exclusively and the Mono backend will not be used" \\
llvmopts\t"Specify flags to the built-in set of flags passed to the LLVM optimizer" \\
llvmllc\t"Specify flags to the built-in set of flags passed to the LLVM static compiler (llc)" \\
mcpu\t"Allow AOT mode to use all instructions current CPU supports" \\
dedup-include\t"Pass compilation where we compile the methods that we had previously skipped" \\
info\t"Print the architecture the AOT in this copy of Mono targets and quit" \\
interp\t"Generate all required wrappers, so that it is possible to run --interpreter without any code generation at runtime" \\
depfile\t"Output a gcc -M style dependency file" \\
ld-flags\t"Specify flags to pass to the C linker (if the current AOT mode calls for invoking it)" \\
llvm-path\t"Same for the llvm tools \\\'opt\\\' and \\\'llc\\\'" \\
msym-dir\t"Instruct the AOT compiler to generate offline sequence points .msym files" \\
mtriple\t"Use the GNU style target triple <TRIPLE> to determine some code generation options" \\
nimt-trampolines\t"Precreate IMT trampolines in the AOT image" \\
ngsharedvt-trampolines\t"Precreate value type generic sharing trampolines in the AOT image" \\
nodebug\t"Instruct the AOT compiler to not output any debugging information" \\
no-direct-calls\t"Prevent the AOT compiler from generating direct calls to a method" \\
nrgctx-trampolines\t"Precreate generic sharing trampolines in the AOT image" \\
nrgctx-fetch-trampolines\t"Precreate generic sharing fetch trampolines in the AOT image" \\
ntrampolines\t"Precreate method trampolines in the AOT image" \\
outfile\t"Instruct the AOT compiler to save the output to the specified file" \\
print-skipped-methods\t"Output the skipped methods to the console" \\
profile\t"Specify a file to use for profile-guided optimization" \\
profile-only\t"" \\
readonly-value\t"Override the value of a static readonly field" \\
save-temps,keep-temps\t"Instruct the AOT compiler to keep temporary files" \\
soft-debug\t"Instruct the compiler to generate sequence point checks" \\
static\t"Create an ELF object file (.o) or .s file which can be statically linked into an executable when embedding the mono runtime" \\
stats\t"Print various stats collected during AOT compilation" \\
temp-path\t"Specify path to store temporary files created during AOT compilation" \\
threads\t"Use multiple threads when compiling the methods" \\
tool-prefix\t"Prepend <PREFIX> to the name of tools ran by the AOT compiler" \\
verbose\t"Print additional information about type loading failures" \\
write-symbols,no-write-symbols\t"Instruct the AOT compiler to emit (or not emit) debug symbol information" \\
no-opt\t"Instruct the AOT compiler tot no call opt when compiling with LLVM")' \
asmonly\t"Instruct the AOT compiler to output assembly code instead of an object file" \\
bind-to-runtime-version\t"Force the generated AOT files to be bound to the runtime version of the compiling Mono" \\
data-outfile\t"Instruct the AOT code generator to output certain data constructs into a separate file" \\
direct-icalls\t"Invoke icalls directly instead of going through the operating system symbol lookup operation" \\
direct-pinvoke\t"Invoke PInvoke methods directly instead of going through the operating system symbol lookup operation" \\
dwarfdebug\t"Instruct the AOT compiler to emit DWARF debugging information" \\
full\t"Create binaries which can be used with the --full-aot option" \\
hybrid\t"Create binaries which can be used with the --hybrid-aot option" \\
llvm\t"Perform AOT with the LLVM backend instead of the Mono backend where possible" \\
llvmonly\t"Perform AOT with the LLVM backend exclusively and the Mono backend will not be used" \\
llvmopts\t"Specify flags to the built-in set of flags passed to the LLVM optimizer" \\
llvmllc\t"Specify flags to the built-in set of flags passed to the LLVM static compiler (llc)" \\
mcpu\t"Allow AOT mode to use all instructions current CPU supports" \\
dedup-include\t"Pass compilation where we compile the methods that we had previously skipped" \\
info\t"Print the architecture the AOT in this copy of Mono targets and quit" \\
interp\t"Generate all required wrappers, so that it is possible to run --interpreter without any code generation at runtime" \\
depfile\t"Output a gcc -M style dependency file" \\
ld-flags\t"Specify flags to pass to the C linker (if the current AOT mode calls for invoking it)" \\
llvm-path\t"Same for the llvm tools \\\'opt\\\' and \\\'llc\\\'" \\
msym-dir\t"Instruct the AOT compiler to generate offline sequence points .msym files" \\
mtriple\t"Use the GNU style target triple <TRIPLE> to determine some code generation options" \\
nimt-trampolines\t"Precreate IMT trampolines in the AOT image" \\
ngsharedvt-trampolines\t"Precreate value type generic sharing trampolines in the AOT image" \\
nodebug\t"Instruct the AOT compiler to not output any debugging information" \\
no-direct-calls\t"Prevent the AOT compiler from generating direct calls to a method" \\
nrgctx-trampolines\t"Precreate generic sharing trampolines in the AOT image" \\
nrgctx-fetch-trampolines\t"Precreate generic sharing fetch trampolines in the AOT image" \\
ntrampolines\t"Precreate method trampolines in the AOT image" \\
outfile\t"Instruct the AOT compiler to save the output to the specified file" \\
print-skipped-methods\t"Output the skipped methods to the console" \\
profile\t"Specify a file to use for profile-guided optimization" \\
profile-only\t"" \\
readonly-value\t"Override the value of a static readonly field" \\
save-temps,keep-temps\t"Instruct the AOT compiler to keep temporary files" \\
soft-debug\t"Instruct the compiler to generate sequence point checks" \\
static\t"Create an ELF object file (.o) or .s file which can be statically linked into an executable when embedding the mono runtime" \\
stats\t"Print various stats collected during AOT compilation" \\
temp-path\t"Specify path to store temporary files created during AOT compilation" \\
threads\t"Use multiple threads when compiling the methods" \\
tool-prefix\t"Prepend <PREFIX> to the name of tools ran by the AOT compiler" \\
verbose\t"Print additional information about type loading failures" \\
write-symbols,no-write-symbols\t"Instruct the AOT compiler to emit (or not emit) debug symbol information" \\
no-opt\t"Instruct the AOT compiler tot no call opt when compiling with LLVM")' \
-f -d 'Precompile CIL code to native code'
complete -c mono -l aot-path -d 'Show additional directories to search for AOT images'
@@ -58,13 +58,13 @@ complete -c mono -l attach -a disable -f -d 'Disable the attach functionality'
complete -c mono -l config -d 'Read configuration from file instead of using default one'
complete -c mono -l debugger-agent -a '(__fish_append , \\
address\t"Specify the IP address where your debugger client is listening to" \\
loglevel\t"Specify the diagnostics log level for" \\
logfile\t"Instruct the AOT code generator to output certain data constructs into a separate file" \\
server\t"Specify the file where the log will be stored, it defaults to standard output" \\
setpgid\t"If set to yes, Mono will call setpgid(0, 0) on startup" \\
suspend\t"Suspend the vm on startup until it connects successfully to a debugger front end" \\
transport\t"Specify the transport that the debugger will use to communicate")' \
address\t"Specify the IP address where your debugger client is listening to" \\
loglevel\t"Specify the diagnostics log level for" \\
logfile\t"Instruct the AOT code generator to output certain data constructs into a separate file" \\
server\t"Specify the file where the log will be stored, it defaults to standard output" \\
setpgid\t"If set to yes, Mono will call setpgid(0, 0) on startup" \\
suspend\t"Suspend the vm on startup until it connects successfully to a debugger front end" \\
transport\t"Specify the transport that the debugger will use to communicate")' \
-f -d 'Use a debugging agent inside the Mono runtime and connect it to a client user interface'
complete -c mono -l desktop \
@@ -84,30 +84,30 @@ complete -c mono -l llvm -d 'Use the LLVM optimization and code generation engin
complete -c mono -l ffast-math -d 'Use Mono and LLVM aggressive floating point optimizations'
complete -c mono -s o -l optimize -a '(__fish_append , \\
abcrem\t"Array bound checks removal" \\
all\t"Turn on all optimizations" \\
aot\t"Usage of Ahead Of Time compiled code" \\
branch\t"Branch optimizations" \\
cfold\t"Constant folding" \\
cmov\t"Conditional moves [arch-dependency]" \\
deadce\t"Dead code elimination" \\
consprop\t"Constant propagation" \\
copyprop\t"Copy propagation" \\
fcmov\t"Fast x86 FP compares [arch-dependency]" \\
float32\t"Perform 32-bit float arithmetic using 32-bit operations" \\
gshared\t"Enable generic code sharing" \\
inline\t"Inline method calls" \\
intrins\t"Intrinsic method implementations" \\
linears\t"Linear scan global reg allocation" \\
leaf\t"Leaf procedures optimizations" \\
loop\t"Loop related optimizations" \\
peephole\t"Peephole postpass" \\
precomp\t"Precompile all methods before executing Main" \\
sched\t"Instruction scheduling" \\
shared\t"Emit per-domain code" \\
sse2\t"SSE2 instructions on x86 [arch-dependency]" \\
tailc\t"Tail recursion and tail calls" \\
transport\t"Specify the transport that the debugger will use to communicate")' \
abcrem\t"Array bound checks removal" \\
all\t"Turn on all optimizations" \\
aot\t"Usage of Ahead Of Time compiled code" \\
branch\t"Branch optimizations" \\
cfold\t"Constant folding" \\
cmov\t"Conditional moves [arch-dependency]" \\
deadce\t"Dead code elimination" \\
consprop\t"Constant propagation" \\
copyprop\t"Copy propagation" \\
fcmov\t"Fast x86 FP compares [arch-dependency]" \\
float32\t"Perform 32-bit float arithmetic using 32-bit operations" \\
gshared\t"Enable generic code sharing" \\
inline\t"Inline method calls" \\
intrins\t"Intrinsic method implementations" \\
linears\t"Linear scan global reg allocation" \\
leaf\t"Leaf procedures optimizations" \\
loop\t"Loop related optimizations" \\
peephole\t"Peephole postpass" \\
precomp\t"Precompile all methods before executing Main" \\
sched\t"Instruction scheduling" \\
shared\t"Emit per-domain code" \\
sse2\t"SSE2 instructions on x86 [arch-dependency]" \\
tailc\t"Tail recursion and tail calls" \\
transport\t"Specify the transport that the debugger will use to communicate")' \
-f -d 'Use optimizations'
complete -c mono -l response -d 'Use a response file'
@@ -119,9 +119,9 @@ complete -c mono -l verify-all \
# Development options
complete -c mono -l debug -a '(__fish_append , \\
casts\t"Produce a detailed error when throwing a InvalidCastException" \\
mdb-optimizations\t"Disable some JIT optimizations which are usually only disabled when running inside the debugger" \\
gdb\t"Generate and register debugging information with gdb")' \
casts\t"Produce a detailed error when throwing a InvalidCastException" \\
mdb-optimizations\t"Disable some JIT optimizations which are usually only disabled when running inside the debugger" \\
gdb\t"Generate and register debugging information with gdb")' \
-f -d 'Use the debugging mode in the runtime'
complete -c mono -l profile -f -d 'Use a profiler module with the given arguments'

View File

@@ -7,21 +7,36 @@ complete -c mount -a "(test -r /etc/fstab; and string replace -r '#.*' '' < /etc
# In case it doesn't
# complete -x -c mount -a "(test -r /etc/fstab; and string match -r '^/.*' < /etc/fstab | string replace -r ' ([^\s]*) .*' '\tMount point \$1')"
# complete -x -c mount -a "(test -r /etc/fstab; and string match -r '^/.*' < /etc/fstab | string replace -r '(^/[^\s]*) ([^\s]*) .*' '\$2\tDevice \$1')"
complete -c mount -s V -d 'Display version and exit'
complete -c mount -s h -d 'Display help and exit'
complete -c mount -s v -d 'Verbose mode'
complete -c mount -s a -d 'Mount file systems in fstab'
complete -c mount -s F -d 'Fork process for each mount'
complete -c mount -s f -d 'Fake mounting'
complete -c mount -s l -d 'Add label to output'
complete -c mount -s n -d 'Do not write mtab'
complete -c mount -s a -l all -d 'Mount file systems in fstab'
complete -c mount -s B -l bind -f -d 'Remount a subtree to a second position'
complete -c mount -s c -l no-canonicalize -d 'Do not canonicalize any paths or tags during the mount process'
complete -c mount -s F -l fork -d 'Fork process for each mount'
complete -c mount -s f -l fake -d 'Fake mounting'
complete -c mount -s i -l internal-only -d 'Dont call the /sbin/mount.filesystem helper even if it exists'
complete -c mount -s L -l label -x -d 'Mount partition with specified label'
complete -c mount -s l -l show-labels -d 'Add label to output'
complete -c mount -s M -l move -f -d 'Move a subtree to a new position'
complete -c mount -s m -l mkdir -d 'Allow to make a target directory (mountpoint) if it does not exist yet'
complete -c mount -l map-groups -l map-users -d 'Add the specified user/group mapping to an X-mount.idmap map'
complete -c mount -s n -l no-mtab -d 'Do not write mtab'
complete -c mount -s N -l namespace -r -d 'Perform the mount operation in the mount namespace specified by ns'
complete -c mount -s O -l test-opts -x -d 'Exclude file systems'
complete -c mount -s o -l options -x -a '(__fish_complete_mount_opts)' -d 'Mount option'
complete -c mount -l onlyonce -d 'Check if already mounted'
complete -c mount -l options-mode -a "ignore append prepend replace" -d 'how to combine with options from fstab/mtab'
complete -c mount -l options-source -d 'Source of default options'
complete -c mount -l options-source-force -d 'Use options from fstab/mtab even if both device and dir are specified'
complete -c mount -s R -l rbind -d 'Remount a subtree and all possible submounts somewhere else'
complete -c mount -s r -l read-only -d 'Read only'
complete -c mount -s s -d 'Tolerate sloppy mount options'
complete -c mount -s r -d 'Read only'
complete -c mount -s w -d 'Read/Write mode'
complete -x -c mount -s L -d 'Mount partition with specified label'
complete -x -c mount -s U -d 'Mount partition with specified UID'
complete -c mount -s O -x -d 'Exclude file systems'
complete -c mount -l bind -f -d 'Remount a subtree to a second position'
complete -c mount -l move -f -d 'Move a subtree to a new position'
complete -c mount -x -s t -d 'File system' -a "(__fish_print_filesystems)"
complete -c mount -x -s o -d 'Mount option' -a '(__fish_complete_mount_opts)'
complete -c mount -l source -r -d 'explicitly define the argument as the mount source'
complete -c mount -l target -r -d 'explicitly define the argument as the mount target'
complete -c mount -l target-prefix -r -d 'Prepend the specified directory to all mount targets'
complete -c mount -s T -l fstab -r -d 'Specifies an alternative fstab file'
complete -c mount -s t -l types -x -a '(__fish_print_filesystems)' -d 'File system'
complete -c mount -s U -l uuid -x -d 'Mount partition with specified UID'
complete -c mount -s v -l verbose -d 'Verbose mode'
complete -c mount -s w -l rw -l read-write -d 'Read/Write mode'
complete -c mount -s h -l help -d 'Display help and exit'
complete -c mount -s V -l version -d 'Display version and exit'

View File

@@ -19,9 +19,13 @@ complete -c mtr -s p -l split -d 'Split output'
complete -c mtr -s n -l no-dns -d 'Do not resolve host names'
complete -c mtr -s b -l show-ips -d 'Show IP numbers and host names'
complete -c mtr -s o -l order -d 'Select output fields' -x
complete -c mtr -s y -l ipinfo -d 'Select IP information in output' -x -a \
'0\t"AS number" 1\t"IP prefix" 2\t"Country code" 3\t"RIR organization"\
4\t"Allocation date of the IP prefix"'
complete -c mtr -s y -l ipinfo -d 'Select IP information in output' -x -a '
0\t"AS number"
1\t"IP prefix"
2\t"Country code"
3\t"RIR organization"
4\t"Allocation date of the IP prefix"
'
complete -c mtr -s z -l aslookup -d 'Display AS number'
complete -c mtr -s i -l interval -d 'ICMP echo request interval (sec)' -x
complete -c mtr -s c -l report-cycles -d 'Set the number of pings sent' -x

View File

@@ -3,15 +3,16 @@ set -l uname (uname -s)
## GNU mv
if mv --version >/dev/null 2>/dev/null
# --backup requires an argument, -b does not accept an argument
complete -c mv -l backup -r -d "Backup each existing destination file" \
-x -ka "none\t'Never make backups'
off\t'Never make backups'
numbered\t'Make numbered backups'
t\t'Make numbered backups'
existing\t'Numbered backups if any exist, else simple'
nil\t'Numbered backups if any exist, else simple'
simple\t'Make simple backups'
never\t'Make simple backups'"
complete -c mv -l backup -r -d "Backup each existing destination file" -x -ka "
none\t'Never make backups'
off\t'Never make backups'
numbered\t'Make numbered backups'
t\t'Make numbered backups'
existing\t'Numbered backups if any exist, else simple'
nil\t'Numbered backups if any exist, else simple'
simple\t'Make simple backups'
never\t'Make simple backups'
"
complete -c mv -s b -d "Backup each existing destination file"
complete -c mv -s f -l force -d "Don't prompt to overwrite"
complete -c mv -s i -l interactive -d "Prompt to overwrite"

View File

@@ -3,7 +3,7 @@ function __fish_protontricks_complete_winetricks_command
end
function __fish_protontricks_is_search
__fish_contains_opt -s s search
__fish_contains_opt -s s -s S search search-all
end
complete -c protontricks -f
@@ -12,8 +12,10 @@ complete -c protontricks -n 'not __fish_protontricks_is_search' -n 'not __fish_i
complete -c protontricks -s h -l help -d 'Show help message and exit'
complete -c protontricks -s v -l verbose -d 'Increase log verbosity, can be supplied twice'
complete -c protontricks -l no-term -d 'Specify that no terminal is available to Protontricks'
complete -c protontricks -s s -l search -d 'Search for game(s) with the given name'
complete -c protontricks -s l -l list -d 'List all apps'
complete -c protontricks -s s -l search -d 'Search for game(s) with the given name for a single Steam installation'
complete -c protontricks -s S -l search-all -d 'Search for game(s) with the given name among all Steam installations'
complete -c protontricks -s l -l list -d 'List games for a single Steam installation'
complete -c protontricks -s L -l list-all -d 'List all games for all Steam installations'
complete -c protontricks -s c -l command -xa '(__fish_complete_subcommand)' -d 'Run a command with Wine-related environment variables set'
complete -c protontricks -l gui -d 'Launch the Protontricks GUI'
complete -c protontricks -l no-runtime -d 'Disable Steam Runtime'

View File

@@ -1,3 +1 @@
complete -c ps2pdf -k -x -a "(
__fish_complete_suffix .ps
)"
complete -c ps2pdf -k -x -a "(__fish_complete_suffix .ps)"

View File

@@ -10,14 +10,21 @@ complete -c run0 -s u -l user -d "Switches to the specified user instead of root
complete -c run0 -s g -l group -d "Switches to the specified group instead of root" -xa "(__fish_complete_groups)"
complete -c run0 -l no-ask-password -d "Do not query the user for authentication for privileged operations"
complete -c run0 -l machine -d "Execute operation on a local container" -xa "(machinectl list --no-legend --no-pager | string split -f 1 ' ')"
complete -c run0 -l unit -d "Run under the specified unit name" -x
complete -c run0 -l property -d "Sets a property on the service unit that is created" -x
complete -c run0 -l description -d "Description for unit" -x
complete -c run0 -l slice -d "Make the new .service unit part of the specified slice, instead of user.slice." -xa "(__run0_slice)"
complete -c run0 -l slice-inherit -d "Make the new .service unit part of the slice the run0 itself has been invoked in"
complete -c run0 -l nice -d "Runs the invoked session with the specified nice level" -xa "(seq -20 19)"
complete -c run0 -s D -l chdir -d "Set working directory" -xa "(__fish_complete_directories)"
complete -c run0 -l via-shell -d "Invoke command via target user's login shell"
complete -c run0 -s i -d "Shortcut for --via-shell --chdir='~'"
complete -c run0 -l setenv -d "Runs the invoked session with the specified environment variable set" -x
complete -c run0 -l background -d "Change the terminal background color to the specified ANSI color" -x
complete -c run0 -l pty -d "Request allocation of a pseudo TTY for stdio"
complete -c run0 -l pty-late -d "Just like --pty, but leave TTY access to agents until unit is started up"
complete -c run0 -l pipe -d "Request redirect pipe for stdio"
complete -c run0 -l shell-prompt-prefix -d "Set a shell prompt prefix string" -x
complete -c run0 -l lightweight -d "Control whether to register a session with service manager or without" -xa "true false"
complete -c run0 -l area -d "Home area to log into" -x
complete -c run0 -l empower -d "Give privileges to selected or current user"

View File

@@ -33,9 +33,10 @@ complete -f -c string -n "test (count (commandline -xpc)) -lt 2" -a unescape
complete -f -c string -n "test (count (commandline -xpc)) -ge 2" -n "contains -- (commandline -xpc)[2] escape; or contains -- (commandline -xpc)[2] unescape" -s n -l no-quoted -d "Escape with \\ instead of quotes"
complete -x -c string -n "test (count (commandline -xpc)) -ge 2" -n "contains -- (commandline -xpc)[2] escape; or contains -- (commandline -xpc)[2] unescape" -l style -d "Specify escaping style" -xa "
(printf '%s\t%s\n' script 'For use in scripts' \
var 'For use as a variable name' \
regex 'For string match -r, string replace -r' \
url 'For use as a URL')"
var 'For use as a variable name' \
regex 'For string match -r, string replace -r' \
url 'For use as a URL')
"
complete -f -c string -n "test (count (commandline -xpc)) -lt 2" -a match
complete -f -c string -n "test (count (commandline -xpc)) -ge 2" -n "contains -- (commandline -xpc)[2] match" -s n -l index -d "Report index, length of match"
complete -f -c string -n "test (count (commandline -xpc)) -ge 2" -n "contains -- (commandline -xpc)[2] match" -s v -l invert -d "Report only non-matches"

View File

@@ -18,7 +18,7 @@ function __fish_complete_sv_list_services
set -q svdir[1]; or return
set -l services (path basename -- $svdir[1]/*)
set -l sv_status (sv status $services 2>/dev/null |
string replace -ar ';.*$' '')
string replace -ar ';.*$' '')
and string replace -r "^(\w+: )(.*?):" '$2\t$1' $sv_status
or printf "%s\n" $services
end

View File

@@ -0,0 +1,25 @@
complete -c tflint -f
complete -c tflint -s c -l config -r -d "Config file name"
complete -c tflint -s f -l format -fra "default json checkstyle junit compact sarif" -d "Output format"
complete -c tflint -s h -l help -f -d "Show help message"
complete -c tflint -s v -l version -f -d "Print TFLint version"
complete -c tflint -l call-module-type -frka "all local none" -d "Types of module to call"
complete -c tflint -l chdir -r -d "Switch to a different working directory before executing the command"
complete -c tflint -l color -f -d "Enable colorized output"
complete -c tflint -l disable-rule -fr -d "Disable rules from the command line"
complete -c tflint -l enable-plugin -fr -d "Enable plugins from the command line"
complete -c tflint -l enable-rule -fr -d "Enable rules from the command line"
complete -c tflint -l filter -r -d "Filter issues by file names or globs"
complete -c tflint -l fix -f -d "Fix issues automatically"
complete -c tflint -l force -f -d "Return zero exit status even if issues found"
complete -c tflint -l ignore-module -fr -d "Ignore module sources"
complete -c tflint -l init -f -d "Install plugins"
complete -c tflint -l langserver -f -d "Start language server"
complete -c tflint -l max-workers -fr -d "Set maximum number of workers in recursive inspection"
complete -c tflint -l minimum-failure-severity -frka "error warning notice" -d "Sets minimum severity level for exiting with a non-zero error code"
complete -c tflint -l no-color -f -d "Disable colorized output"
complete -c tflint -l no-parallel-runners -f -d "Disable per-runner parallelism"
complete -c tflint -l only -fr -d "Enable only this rule, disabling all other defaults. Can be specified multiple times"
complete -c tflint -l recursive -f -d "Run command in each directory recursively"
complete -c tflint -l var -fr -d "Set a Terraform variable"
complete -c tflint -l var-file -r -d "Terraform variable file name"

View File

@@ -14,8 +14,9 @@ complete -c update-eix-remote -s o -d "Use the given PATH as $OVERLAYPARENT"
# Subcommands
set -l subcmds "
"
complete -c update-eix-remote -xa \
'update\t"Fetch the eix-caches of some layman overlays into a temporary file resp. into FILE and add them to the eix database"
fetch\t"Only fetch the overlays into FILE"
add\t"Only add the overlays from FILE to the eix database"
remove\t"Remove all temporarily added virtual overlays from the eix database"'
complete -c update-eix-remote -xa '
update\t"Fetch the eix-caches of some layman overlays into a temporary file resp. into FILE and add them to the eix database"
fetch\t"Only fetch the overlays into FILE"
add\t"Only add the overlays from FILE to the eix database"
remove\t"Remove all temporarily added virtual overlays from the eix database"
'

View File

@@ -34,6 +34,13 @@ function __fish_config_interactive -d "Initializations that should be performed
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
and set -q SHELL_WELCOME[1]
string join -- ' ' $SHELL_WELCOME
end
#
# Completions for SysV startup scripts. These aren't bound to any
# specific command, so they can't be autoloaded.

View File

@@ -43,7 +43,7 @@ end" >$__fish_config_dir/config.fish
__fish_theme_freeze __fish_migrate $theme_data
set msg_suffix " by default."\n" Migrated them to global variables set in $(set_color --underline)$(
__fish_unexpand_tilde $__fish_config_dir/conf.d/fish_frozen_theme.fish
)$(set_color normal)"
)$(set_color --reset)"
end
set -a msg "* Color variables are no longer set in universal scope$msg_suffix"
set -a msg ' To restore syntax highlighting in other fish sessions, please restart them.'
@@ -78,12 +78,12 @@ set --erase --universal fish_key_bindings"
set -a msg '* The fish_key_bindings variable is no longer set in universal scope by default.'
set -a msg (echo -s " Migrated it to a global variable set in " \
"$(set_color --underline)$(__fish_unexpand_tilde $filename)" \
(set_color normal))
(set_color --reset))
source $__fish_config_dir/$relative_filename
end
$mark_migration_done
if $removing_uvars
echo -s (set_color --bold) 'fish:' (set_color normal) " upgraded to version 4.3:"
echo -s (set_color --bold) 'fish:' (set_color --reset) " upgraded to version 4.3:"
string join \n -- $msg
echo 'See also the release notes (type `help relnotes`).'
set -Ue fish_key_bindings $theme_uvars
@@ -96,7 +96,7 @@ function __fish_config_theme_matches --no-scope-shadowing
set -l varname $argv[1]
set -l possible_values $argv[2..]
if not set -q possible_values[1]
set possible_values normal ""
set possible_values normal "" --reset
end
set -a checked_varnames $varname
not set -q $varname
@@ -109,7 +109,7 @@ function __fish_config_theme_uvars_subset_of_historical_default
and $matches fish_color_option "$fish_color_param"
and $matches fish_color_autosuggestion brblack
and $matches fish_color_cancel -r
and $matches fish_color_command normal blue
and $matches fish_color_command normal blue --reset
and $matches fish_color_comment red
and $matches fish_color_cwd green
and $matches fish_color_cwd_root red
@@ -137,7 +137,7 @@ function __fish_config_theme_uvars_subset_of_historical_default
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"
and $matches fish_pager_color_prefix "normal --bold --underline" "--bold --underline"
and $matches fish_pager_color_progress \
"brwhite --background=cyan" \
"brwhite --background=cyan --bold"

View File

@@ -29,7 +29,7 @@ function __fish_print_pipestatus --description "Print pipestatus for prompt"
if test "$last_status" -ne "$argv[-1]"
set last_status_string " "$status_color$last_status
end
set -l normal (set_color normal)
set -l normal (set_color --reset)
# The "normal"s are to reset modifiers like bold - see #7771.
printf "%s" $normal $brace_sep_color $left_brace \
$status_color $last_pipestatus_string \

View File

@@ -1,7 +1,11 @@
# localization: skip(private)
function __fish_print_portage_available_pkgs --description 'Print all available packages'
set -l paths (__fish_print_portage_repository_paths)
set -q paths[1]
or return
find $paths -mindepth 2 -maxdepth 2 -type d ! '(' '(' -path '*/eclass/*' -o -path '*/metadata/*' -o -path '*/profiles/*' -o -path '*/.*/*' ')' -prune ')' -printf '%P\n' 2>/dev/null
if type -f -q eix
EIX_LIMIT=0 eix --only-names
else
set -l paths (__fish_print_portage_repository_paths)
set -q paths[1]
or return
find $paths -mindepth 2 -maxdepth 2 -type d ! '(' '(' -path '*/eclass/*' -o -path '*/metadata/*' -o -path '*/profiles/*' -o -path '*/.*/*' ')' -prune ')' -printf '%P\n' 2>/dev/null
end
end

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