mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-06-07 01:51:14 -03:00
Compare commits
34 Commits
4.6.0
...
f3f675b4cc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f3f675b4cc | ||
|
|
434610494f | ||
|
|
3cce1f3f4c | ||
|
|
a5bde7954e | ||
|
|
99d63c21f1 | ||
|
|
c3e3658157 | ||
|
|
8d92016e72 | ||
|
|
f6a72b4e19 | ||
|
|
2f9c2df10d | ||
|
|
0367aaea7d | ||
|
|
e25b4b6f05 | ||
|
|
90cbfd288e | ||
|
|
68453843d4 | ||
|
|
fb57f95391 | ||
|
|
1ed276292b | ||
|
|
09e46b00cc | ||
|
|
695bc293a9 | ||
|
|
344ff7be88 | ||
|
|
014e3b3aff | ||
|
|
68c7baff90 | ||
|
|
6eaad2cd80 | ||
|
|
b321e38f5a | ||
|
|
a32dd63163 | ||
|
|
ef90afa5b9 | ||
|
|
7bd37dfe55 | ||
|
|
14ce56d2a5 | ||
|
|
01ee6f968d | ||
|
|
7f6dcde5e0 | ||
|
|
34fc573668 | ||
|
|
93cbf2a0e8 | ||
|
|
8194c6eb79 | ||
|
|
3194572156 | ||
|
|
e635816b7f | ||
|
|
2b3ecf22da |
@@ -1,3 +1,29 @@
|
||||
fish ?.?.? (released ???)
|
||||
=========================
|
||||
|
||||
Notable improvements and fixes
|
||||
------------------------------
|
||||
|
||||
Deprecations and removed features
|
||||
---------------------------------
|
||||
|
||||
Interactive improvements
|
||||
------------------------
|
||||
|
||||
Improved terminal support
|
||||
-------------------------
|
||||
|
||||
Other improvements
|
||||
------------------
|
||||
- ``fish_update_completions`` now handles groff ``\X'...'`` device control escapes, fixing completion generation for man pages produced by help2man 1.50 and later (such as coreutils 9.10).
|
||||
|
||||
For distributors and developers
|
||||
-------------------------------
|
||||
- When the default global config directory (``$PREFIX/etc/fish``) exists but has been overridden with ``-DCMAKE_INSTALL_SYSCONFDIR``, fish will now respect that override (:issue:`10748`).
|
||||
|
||||
Regression fixes:
|
||||
-----------------
|
||||
|
||||
fish 4.6.0 (released March 28, 2026)
|
||||
====================================
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ Build-Depends: debhelper-compat (= 13),
|
||||
python3-sphinx,
|
||||
# Test dependencies
|
||||
locales-all,
|
||||
man-db,
|
||||
man-db | mandoc | man,
|
||||
python3
|
||||
# 4.6.2 is Debian 12/Ubuntu Noble 24.04; Ubuntu Jammy is 4.6.0.1
|
||||
Standards-Version: 4.6.2
|
||||
@@ -26,8 +26,8 @@ Architecture: any
|
||||
# for col and lock
|
||||
Depends: bsdextrautils,
|
||||
file,
|
||||
# for man
|
||||
man-db,
|
||||
# for showing built-in help pages
|
||||
man-db | mandoc | man,
|
||||
# for kill
|
||||
procps,
|
||||
python3 (>=3.5),
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
use std::cmp;
|
||||
use std::sync::{
|
||||
LazyLock,
|
||||
atomic::{AtomicIsize, Ordering},
|
||||
atomic::{AtomicUsize, Ordering},
|
||||
};
|
||||
|
||||
/// Width of ambiguous East Asian characters and, as of TR11, all private-use characters.
|
||||
/// 1 is the typical default, but we accept any non-negative override via `$fish_ambiguous_width`.
|
||||
pub static FISH_AMBIGUOUS_WIDTH: AtomicIsize = AtomicIsize::new(1);
|
||||
pub static FISH_AMBIGUOUS_WIDTH: AtomicUsize = AtomicUsize::new(1);
|
||||
|
||||
/// Width of emoji characters.
|
||||
///
|
||||
@@ -25,34 +25,33 @@
|
||||
/// 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(2);
|
||||
pub static FISH_EMOJI_WIDTH: AtomicUsize = AtomicUsize::new(2);
|
||||
|
||||
static WC_LOOKUP_TABLE: LazyLock<WcLookupTable> = LazyLock::new(WcLookupTable::new);
|
||||
|
||||
// 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 {
|
||||
pub fn fish_wcwidth(c: char) -> Option<usize> {
|
||||
// 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.
|
||||
let variation_selector_16 = '\u{FE0F}';
|
||||
let variation_selector_15 = '\u{FE0E}';
|
||||
if c == variation_selector_16 {
|
||||
return 1;
|
||||
return Some(1);
|
||||
} else if c == variation_selector_15 {
|
||||
return 0;
|
||||
return Some(0);
|
||||
}
|
||||
|
||||
// Check for Emoji_Modifier property. Only the Fitzpatrick modifiers have this, in range
|
||||
// 1F3FB..1F3FF. This is a hack because such an emoji appearing on its own would be drawn as
|
||||
// width 2, but that's unlikely to be useful. See #8275.
|
||||
if ('\u{1F3FB}'..='\u{1F3FF}').contains(&c) {
|
||||
return 0;
|
||||
return Some(0);
|
||||
}
|
||||
|
||||
let width = WC_LOOKUP_TABLE.classify(c);
|
||||
match width {
|
||||
WcWidth::NonCharacter | WcWidth::NonPrint | WcWidth::Combining | WcWidth::Unassigned => 0,
|
||||
Some(match width {
|
||||
WcWidth::NonPrint => return None,
|
||||
WcWidth::NonCharacter | 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)
|
||||
@@ -60,25 +59,25 @@ pub fn fish_wcwidth(c: char) -> isize {
|
||||
WcWidth::One => 1,
|
||||
WcWidth::Two => 2,
|
||||
WcWidth::WidenedIn9 => FISH_EMOJI_WIDTH.load(Ordering::Relaxed),
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/// 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()) {
|
||||
return s.len() as isize;
|
||||
pub fn fish_wcswidth(s: &wstr) -> Option<usize> {
|
||||
fish_wcswidth_canonicalizing(s, std::convert::identity)
|
||||
}
|
||||
|
||||
pub fn fish_wcswidth_canonicalizing(s: &wstr, canonicalize: fn(char) -> char) -> Option<usize> {
|
||||
let chars = s.chars().map(canonicalize);
|
||||
// ascii fast path
|
||||
if chars.clone().all(|c| c.is_ascii() && !c.is_ascii_control()) {
|
||||
return Some(s.len());
|
||||
}
|
||||
|
||||
let mut result = 0;
|
||||
for c in s.chars() {
|
||||
let w = fish_wcwidth(c);
|
||||
if w < 0 {
|
||||
return -1;
|
||||
}
|
||||
result += w;
|
||||
for c in chars {
|
||||
result += fish_wcwidth(c)?;
|
||||
}
|
||||
result
|
||||
Some(result)
|
||||
}
|
||||
|
||||
pub fn wcscasecmp(lhs: &wstr, rhs: &wstr) -> cmp::Ordering {
|
||||
|
||||
@@ -665,12 +665,12 @@ fn next(&mut self) -> Option<Self::Item> {
|
||||
}
|
||||
}
|
||||
|
||||
/// Like fish_wcwidth, but returns 0 for characters with no real width instead of -1.
|
||||
/// Like fish_wcwidth, but returns 0 for characters with no real width instead of none.
|
||||
pub fn fish_wcwidth_visible(c: char) -> isize {
|
||||
if c == '\x08' {
|
||||
return -1;
|
||||
}
|
||||
fish_wcwidth(c).max(0)
|
||||
fish_wcwidth(c).unwrap_or_default().try_into().unwrap()
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
|
||||
@@ -6,16 +6,17 @@ Synopsis
|
||||
|
||||
.. synopsis::
|
||||
|
||||
set
|
||||
set (-f | --function) (-l | --local) (-g | --global) (-U | --universal) [--no-event]
|
||||
set [-Uflg] NAME [VALUE ...]
|
||||
set [-Uflg] NAME[[INDEX ...]] [VALUE ...]
|
||||
set (-x | --export) (-u | --unexport) [-Uflg] NAME [VALUE ...]
|
||||
set (-a | --append) (-p | --prepend) [-Uflg] NAME VALUE ...
|
||||
set (-e | --erase) [-Uflg] [-xu] [NAME][[INDEX]] ...]
|
||||
set (-q | --query) [-Uflg] [-xu] [NAME][[INDEX]] ...]
|
||||
set [(-f | --function) (-l | --local) (-g | --global) (-U | --universal)]
|
||||
[(-x | --export) (-u | --unexport)]
|
||||
set (-S | --show) (-L | --long) [NAME ...]
|
||||
|
||||
set [-Uflg] [-xu] [--no-event] NAME [VALUE ...]
|
||||
set [-Uflg] [--no-event] NAME[[INDEX ...]] [VALUE ...]
|
||||
set (-a | --append) (-p | --prepend) [-Uflg] [--no-event] NAME VALUE ...
|
||||
set (-e | --erase) [-Uflg] [--no-event] NAME[[INDEX]] ...
|
||||
|
||||
set (-q | --query) [-Uflg] [-xu] NAME[[INDEX]] ...
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
|
||||
@@ -475,10 +475,6 @@ msgstr "%s: Ungültiger Sortierschlüssel '%s'"
|
||||
msgid "%s: Invalid start value '%s'"
|
||||
msgstr "%s: Ungültiger Startwert '%s'"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Invalid state"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Invalid style value '%s'"
|
||||
msgstr ""
|
||||
@@ -511,10 +507,6 @@ msgstr ""
|
||||
msgid "%s: Missing -- separator"
|
||||
msgstr "%s: Fehlendes '--'-Trennzeichen"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: New limit cannot be an empty string"
|
||||
msgstr "%s: Neues Limit darf keine leere Zeichenkette sein"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: No binding found for key '%s'"
|
||||
msgstr ""
|
||||
@@ -543,10 +535,6 @@ msgstr "%s: Nicht innerhalb einer Schleife"
|
||||
msgid "%s: Number out of range"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Number was empty"
|
||||
msgstr "%s: Zahl war leer"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Options %s and %s cannot be used together"
|
||||
msgstr ""
|
||||
@@ -583,10 +571,6 @@ msgstr ""
|
||||
msgid "%s: The directory '%s' does not exist"
|
||||
msgstr "%s: Das Verzeichnis '%s' existiert nicht"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: The variable '%s' does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: There are no jobs"
|
||||
msgstr "%s: Es gibt keine Jobs"
|
||||
@@ -771,10 +755,6 @@ msgstr ""
|
||||
msgid "%s: too many arguments"
|
||||
msgstr "%s: zu viele Argumente"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: usage of -i for --silent is deprecated. Please use -s or --silent instead."
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: value not completely converted (can't convert '%s')"
|
||||
msgstr "%s: Wert nicht vollständig konvertiert (kann '%s' nicht konvertieren)"
|
||||
@@ -1826,6 +1806,9 @@ msgstr "Ungültige Genauigkeitsangabe: %s"
|
||||
msgid "missing hexadecimal number in escape"
|
||||
msgstr "fehlende Hexadezimal-Zahl in Escapesequenz"
|
||||
|
||||
msgid "non-zero scale value only valid for base 10"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "only f1 through f%d are supported, not 'f%s'"
|
||||
msgstr ""
|
||||
@@ -1925,10 +1908,7 @@ msgid "%s: The number of positions to skip must be a non-negative integer\\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "%s: Too many arguments"
|
||||
msgstr ""
|
||||
|
||||
msgid "%s: Too many arguments\\n"
|
||||
msgstr "%s: Zu viele Argumente\\n"
|
||||
msgstr "%s: Zu viele Argumente"
|
||||
|
||||
msgid "%s: Unknown function '%s'\\n"
|
||||
msgstr ""
|
||||
@@ -10798,6 +10778,12 @@ msgstr ""
|
||||
msgid "Check that working files are unmodified."
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the GPG signature of commits"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the GPG signature of tags"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the branch related to the current directory"
|
||||
msgstr ""
|
||||
|
||||
@@ -13036,6 +13022,9 @@ msgstr ""
|
||||
msgid "Copies between two remote hosts are transferred through the local host"
|
||||
msgstr ""
|
||||
|
||||
msgid "Copr hub hostname"
|
||||
msgstr ""
|
||||
|
||||
msgid "Copy Cc: list from first message to the others"
|
||||
msgstr ""
|
||||
|
||||
@@ -16135,6 +16124,9 @@ msgstr ""
|
||||
msgid "Disable \\write18{SHELL COMMAND}"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disable a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disable a NuGet source"
|
||||
msgstr ""
|
||||
|
||||
@@ -28255,6 +28247,9 @@ msgstr ""
|
||||
msgid "Format to serialize in"
|
||||
msgstr ""
|
||||
|
||||
msgid "Format to use for the output"
|
||||
msgstr ""
|
||||
|
||||
msgid "Format to use when exporting"
|
||||
msgstr ""
|
||||
|
||||
@@ -32539,6 +32534,9 @@ msgstr ""
|
||||
msgid "Install Node.js from source"
|
||||
msgstr ""
|
||||
|
||||
msgid "Install a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Install a Python version"
|
||||
msgstr ""
|
||||
|
||||
@@ -34156,6 +34154,9 @@ msgstr ""
|
||||
msgid "List CloudFront distribution points"
|
||||
msgstr ""
|
||||
|
||||
msgid "List Copr repositories"
|
||||
msgstr ""
|
||||
|
||||
msgid "List DPP-capable devices"
|
||||
msgstr ""
|
||||
|
||||
@@ -37474,6 +37475,9 @@ msgstr ""
|
||||
msgid "Manage .pac* files"
|
||||
msgstr ""
|
||||
|
||||
msgid "Manage Copr repositories"
|
||||
msgstr ""
|
||||
|
||||
msgid "Manage Flexible Resources between Primary and Secondary Controller "
|
||||
msgstr ""
|
||||
|
||||
@@ -44431,6 +44435,9 @@ msgstr ""
|
||||
msgid "Print commands before executing them"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print commit contents"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print compiler information"
|
||||
msgstr ""
|
||||
|
||||
@@ -45541,6 +45548,9 @@ msgstr ""
|
||||
msgid "Print raw entry names"
|
||||
msgstr "Roheinträge ausgeben"
|
||||
|
||||
msgid "Print raw gpg status output"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print raw stats"
|
||||
msgstr ""
|
||||
|
||||
@@ -45694,6 +45704,12 @@ msgstr "Unterdrückungen für entdeckte Fehler ausgeben"
|
||||
msgid "Print synopsis and options"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print system info for debugging"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print tag contents"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print tally"
|
||||
msgstr "Zähler ausgeben"
|
||||
|
||||
@@ -46069,9 +46085,6 @@ msgstr ""
|
||||
msgid "Print the version of the program and exit"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print the version string"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print the version string of firewalld"
|
||||
msgstr ""
|
||||
|
||||
@@ -46390,9 +46403,6 @@ msgstr ""
|
||||
msgid "Prints an estimate of the download size of the APK"
|
||||
msgstr ""
|
||||
|
||||
msgid "Prints author and licensing information"
|
||||
msgstr ""
|
||||
|
||||
msgid "Prints backup sets and chains currently in repository"
|
||||
msgstr ""
|
||||
|
||||
@@ -49186,6 +49196,9 @@ msgstr ""
|
||||
msgid "Remove [all] packages from cache"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove a NuGet package reference"
|
||||
msgstr ""
|
||||
|
||||
@@ -53266,9 +53279,6 @@ msgstr ""
|
||||
msgid "Save and restore package state"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save authtoken to configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save brightness"
|
||||
msgstr ""
|
||||
|
||||
@@ -64081,12 +64091,6 @@ msgstr ""
|
||||
msgid "Start a SOPS key kervice server"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a TCP tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a TLS tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a block commit operation"
|
||||
msgstr ""
|
||||
|
||||
@@ -64135,9 +64139,6 @@ msgstr ""
|
||||
msgid "Start an Elm project"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start an HTTP tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start an IRB session in the context of the current bundle"
|
||||
msgstr ""
|
||||
|
||||
@@ -64444,9 +64445,6 @@ msgstr ""
|
||||
msgid "Start tracking work in Phrequent"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start tunnels by name from the configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start up the visual interface and display its preview screen"
|
||||
msgstr ""
|
||||
|
||||
@@ -68740,9 +68738,6 @@ msgstr "Spiegelliste aktualisieren"
|
||||
msgid "Update modules"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update ngrok to the latest version"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update object name stored in a ref safely"
|
||||
msgstr ""
|
||||
|
||||
@@ -74056,9 +74051,6 @@ msgstr ""
|
||||
msgid "bind key to command"
|
||||
msgstr ""
|
||||
|
||||
msgid "bind remote address (requires you reserve an address)"
|
||||
msgstr ""
|
||||
|
||||
msgid "binding for command mode"
|
||||
msgstr ""
|
||||
|
||||
@@ -75508,9 +75500,6 @@ msgstr ""
|
||||
msgid "enable word mangling rules"
|
||||
msgstr ""
|
||||
|
||||
msgid "enable/disable http introspection"
|
||||
msgstr ""
|
||||
|
||||
msgid "enables a keepalive every N seconds"
|
||||
msgstr ""
|
||||
|
||||
@@ -75520,9 +75509,6 @@ msgstr ""
|
||||
msgid "end filenames with NUL, for use with xargs"
|
||||
msgstr ""
|
||||
|
||||
msgid "enforce basic auth on tunnel endpoint, 'user:password'"
|
||||
msgstr ""
|
||||
|
||||
msgid "enforce strict mode"
|
||||
msgstr ""
|
||||
|
||||
@@ -76213,12 +76199,6 @@ msgstr ""
|
||||
msgid "highlight this process and its ancestors"
|
||||
msgstr ""
|
||||
|
||||
msgid "host tunnel on a custom subdomain"
|
||||
msgstr ""
|
||||
|
||||
msgid "host tunnel on custom hostname (requires DNS CNAME)"
|
||||
msgstr ""
|
||||
|
||||
msgid "how to combine with options from fstab/mtab"
|
||||
msgstr ""
|
||||
|
||||
@@ -76909,9 +76889,6 @@ msgstr ""
|
||||
msgid "list-dependencies flat, not as tree"
|
||||
msgstr ""
|
||||
|
||||
msgid "listen for http, https or both: true/false/both"
|
||||
msgstr ""
|
||||
|
||||
msgid "listen mode, for inbound connects"
|
||||
msgstr ""
|
||||
|
||||
@@ -77008,9 +76985,6 @@ msgstr ""
|
||||
msgid "log positions of (de)serialized objects in the snapshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "log record format: 'term', 'logfmt', 'json'"
|
||||
msgstr ""
|
||||
|
||||
msgid "log statistical profiling information"
|
||||
msgstr ""
|
||||
|
||||
@@ -77023,9 +76997,6 @@ msgstr ""
|
||||
msgid "log what we're doing to the specified FILE"
|
||||
msgstr ""
|
||||
|
||||
msgid "logging level"
|
||||
msgstr ""
|
||||
|
||||
msgid "loglevel of client"
|
||||
msgstr ""
|
||||
|
||||
@@ -77413,12 +77384,6 @@ msgstr ""
|
||||
msgid "new package name"
|
||||
msgstr ""
|
||||
|
||||
msgid "ngrok server region [us , eu, au, ap] (default: us)"
|
||||
msgstr ""
|
||||
|
||||
msgid "ngrok.com authtoken identifying a user"
|
||||
msgstr ""
|
||||
|
||||
msgid "no cleaning of distfiles."
|
||||
msgstr ""
|
||||
|
||||
@@ -77815,15 +77780,6 @@ msgstr ""
|
||||
msgid "path to SSH private key file. May be repeated."
|
||||
msgstr ""
|
||||
|
||||
msgid "path to TLS certificate authority to verify client certs"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a TLS certificate for TLS termination"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a TLS key for TLS termination"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a custom ESLint configuration file"
|
||||
msgstr ""
|
||||
|
||||
@@ -77842,15 +77798,9 @@ msgstr ""
|
||||
msgid "path to config file for the test"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to config files; they are merged if multiple"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to log file"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to log file, 'stdout', 'stderr' or 'false'"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to plan to insert multiple data files that have master-detail relationships"
|
||||
msgstr ""
|
||||
|
||||
@@ -79156,9 +79106,6 @@ msgstr ""
|
||||
msgid "set Git namespace"
|
||||
msgstr ""
|
||||
|
||||
msgid "set Host header; if 'rewrite' use local address hostname"
|
||||
msgstr ""
|
||||
|
||||
msgid "set NAME to default values"
|
||||
msgstr ""
|
||||
|
||||
@@ -79918,9 +79865,6 @@ msgstr ""
|
||||
msgid "start a server in the background"
|
||||
msgstr ""
|
||||
|
||||
msgid "start all tunnels in the configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "start and print only the URL"
|
||||
msgstr ""
|
||||
|
||||
@@ -79936,9 +79880,6 @@ msgstr ""
|
||||
msgid "start emacs with specified init directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "start running no tunnels"
|
||||
msgstr ""
|
||||
|
||||
msgid "start session"
|
||||
msgstr ""
|
||||
|
||||
@@ -80356,9 +80297,6 @@ msgstr ""
|
||||
msgid "update a record"
|
||||
msgstr ""
|
||||
|
||||
msgid "update channel (stable, beta)"
|
||||
msgstr ""
|
||||
|
||||
msgid "update client status bar"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -475,10 +475,6 @@ msgstr ""
|
||||
msgid "%s: Invalid start value '%s'"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Invalid state"
|
||||
msgstr "%s: Invalid state"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Invalid style value '%s'"
|
||||
msgstr ""
|
||||
@@ -511,10 +507,6 @@ msgstr ""
|
||||
msgid "%s: Missing -- separator"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: New limit cannot be an empty string"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: No binding found for key '%s'"
|
||||
msgstr "%s: No binding found for key “%s”"
|
||||
@@ -543,10 +535,6 @@ msgstr "%s: Not inside of loop"
|
||||
msgid "%s: Number out of range"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Number was empty"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Options %s and %s cannot be used together"
|
||||
msgstr ""
|
||||
@@ -583,10 +571,6 @@ msgstr ""
|
||||
msgid "%s: The directory '%s' does not exist"
|
||||
msgstr "%s: The directory “%s” does not exist"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: The variable '%s' does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: There are no jobs"
|
||||
msgstr "%s: There are no jobs"
|
||||
@@ -771,10 +755,6 @@ msgstr ""
|
||||
msgid "%s: too many arguments"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: usage of -i for --silent is deprecated. Please use -s or --silent instead."
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: value not completely converted (can't convert '%s')"
|
||||
msgstr ""
|
||||
@@ -1826,6 +1806,9 @@ msgstr "invalid precision: %s"
|
||||
msgid "missing hexadecimal number in escape"
|
||||
msgstr "missing hexadecimal number in escape"
|
||||
|
||||
msgid "non-zero scale value only valid for base 10"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "only f1 through f%d are supported, not 'f%s'"
|
||||
msgstr ""
|
||||
@@ -1925,10 +1908,7 @@ msgid "%s: The number of positions to skip must be a non-negative integer\\n"
|
||||
msgstr "%s: The number of positions to skip must be a non-negative integer\\n"
|
||||
|
||||
msgid "%s: Too many arguments"
|
||||
msgstr ""
|
||||
|
||||
msgid "%s: Too many arguments\\n"
|
||||
msgstr "%s: Too many arguments\\n"
|
||||
msgstr "%s: Too many arguments"
|
||||
|
||||
msgid "%s: Unknown function '%s'\\n"
|
||||
msgstr "%s: Unknown function “%s”\\n"
|
||||
@@ -10798,6 +10778,12 @@ msgstr ""
|
||||
msgid "Check that working files are unmodified."
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the GPG signature of commits"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the GPG signature of tags"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the branch related to the current directory"
|
||||
msgstr ""
|
||||
|
||||
@@ -13036,6 +13022,9 @@ msgstr ""
|
||||
msgid "Copies between two remote hosts are transferred through the local host"
|
||||
msgstr ""
|
||||
|
||||
msgid "Copr hub hostname"
|
||||
msgstr ""
|
||||
|
||||
msgid "Copy Cc: list from first message to the others"
|
||||
msgstr ""
|
||||
|
||||
@@ -16135,6 +16124,9 @@ msgstr ""
|
||||
msgid "Disable \\write18{SHELL COMMAND}"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disable a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disable a NuGet source"
|
||||
msgstr ""
|
||||
|
||||
@@ -28255,6 +28247,9 @@ msgstr ""
|
||||
msgid "Format to serialize in"
|
||||
msgstr ""
|
||||
|
||||
msgid "Format to use for the output"
|
||||
msgstr ""
|
||||
|
||||
msgid "Format to use when exporting"
|
||||
msgstr ""
|
||||
|
||||
@@ -32539,6 +32534,9 @@ msgstr ""
|
||||
msgid "Install Node.js from source"
|
||||
msgstr ""
|
||||
|
||||
msgid "Install a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Install a Python version"
|
||||
msgstr ""
|
||||
|
||||
@@ -34156,6 +34154,9 @@ msgstr ""
|
||||
msgid "List CloudFront distribution points"
|
||||
msgstr ""
|
||||
|
||||
msgid "List Copr repositories"
|
||||
msgstr ""
|
||||
|
||||
msgid "List DPP-capable devices"
|
||||
msgstr ""
|
||||
|
||||
@@ -37474,6 +37475,9 @@ msgstr ""
|
||||
msgid "Manage .pac* files"
|
||||
msgstr ""
|
||||
|
||||
msgid "Manage Copr repositories"
|
||||
msgstr ""
|
||||
|
||||
msgid "Manage Flexible Resources between Primary and Secondary Controller "
|
||||
msgstr ""
|
||||
|
||||
@@ -44431,6 +44435,9 @@ msgstr ""
|
||||
msgid "Print commands before executing them"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print commit contents"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print compiler information"
|
||||
msgstr ""
|
||||
|
||||
@@ -45541,6 +45548,9 @@ msgstr ""
|
||||
msgid "Print raw entry names"
|
||||
msgstr "Print raw entry names"
|
||||
|
||||
msgid "Print raw gpg status output"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print raw stats"
|
||||
msgstr ""
|
||||
|
||||
@@ -45694,6 +45704,12 @@ msgstr "Print suppressions for detected errors"
|
||||
msgid "Print synopsis and options"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print system info for debugging"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print tag contents"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print tally"
|
||||
msgstr "Print tally"
|
||||
|
||||
@@ -46069,9 +46085,6 @@ msgstr ""
|
||||
msgid "Print the version of the program and exit"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print the version string"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print the version string of firewalld"
|
||||
msgstr ""
|
||||
|
||||
@@ -46390,9 +46403,6 @@ msgstr ""
|
||||
msgid "Prints an estimate of the download size of the APK"
|
||||
msgstr ""
|
||||
|
||||
msgid "Prints author and licensing information"
|
||||
msgstr ""
|
||||
|
||||
msgid "Prints backup sets and chains currently in repository"
|
||||
msgstr "Prints backup sets and chains currently in repository"
|
||||
|
||||
@@ -49186,6 +49196,9 @@ msgstr "Remove ZFS label information from the specified device"
|
||||
msgid "Remove [all] packages from cache"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove a NuGet package reference"
|
||||
msgstr ""
|
||||
|
||||
@@ -53266,9 +53279,6 @@ msgstr ""
|
||||
msgid "Save and restore package state"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save authtoken to configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save brightness"
|
||||
msgstr ""
|
||||
|
||||
@@ -64081,12 +64091,6 @@ msgstr ""
|
||||
msgid "Start a SOPS key kervice server"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a TCP tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a TLS tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a block commit operation"
|
||||
msgstr ""
|
||||
|
||||
@@ -64135,9 +64139,6 @@ msgstr ""
|
||||
msgid "Start an Elm project"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start an HTTP tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start an IRB session in the context of the current bundle"
|
||||
msgstr "Start an IRB session in the context of the current bundle"
|
||||
|
||||
@@ -64444,9 +64445,6 @@ msgstr ""
|
||||
msgid "Start tracking work in Phrequent"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start tunnels by name from the configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start up the visual interface and display its preview screen"
|
||||
msgstr ""
|
||||
|
||||
@@ -68740,9 +68738,6 @@ msgstr "Update mirror list"
|
||||
msgid "Update modules"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update ngrok to the latest version"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update object name stored in a ref safely"
|
||||
msgstr ""
|
||||
|
||||
@@ -74056,9 +74051,6 @@ msgstr ""
|
||||
msgid "bind key to command"
|
||||
msgstr ""
|
||||
|
||||
msgid "bind remote address (requires you reserve an address)"
|
||||
msgstr ""
|
||||
|
||||
msgid "binding for command mode"
|
||||
msgstr ""
|
||||
|
||||
@@ -75508,9 +75500,6 @@ msgstr ""
|
||||
msgid "enable word mangling rules"
|
||||
msgstr ""
|
||||
|
||||
msgid "enable/disable http introspection"
|
||||
msgstr ""
|
||||
|
||||
msgid "enables a keepalive every N seconds"
|
||||
msgstr ""
|
||||
|
||||
@@ -75520,9 +75509,6 @@ msgstr "end fields with NUL"
|
||||
msgid "end filenames with NUL, for use with xargs"
|
||||
msgstr ""
|
||||
|
||||
msgid "enforce basic auth on tunnel endpoint, 'user:password'"
|
||||
msgstr ""
|
||||
|
||||
msgid "enforce strict mode"
|
||||
msgstr ""
|
||||
|
||||
@@ -76213,12 +76199,6 @@ msgstr ""
|
||||
msgid "highlight this process and its ancestors"
|
||||
msgstr ""
|
||||
|
||||
msgid "host tunnel on a custom subdomain"
|
||||
msgstr ""
|
||||
|
||||
msgid "host tunnel on custom hostname (requires DNS CNAME)"
|
||||
msgstr ""
|
||||
|
||||
msgid "how to combine with options from fstab/mtab"
|
||||
msgstr ""
|
||||
|
||||
@@ -76909,9 +76889,6 @@ msgstr ""
|
||||
msgid "list-dependencies flat, not as tree"
|
||||
msgstr ""
|
||||
|
||||
msgid "listen for http, https or both: true/false/both"
|
||||
msgstr ""
|
||||
|
||||
msgid "listen mode, for inbound connects"
|
||||
msgstr ""
|
||||
|
||||
@@ -77008,9 +76985,6 @@ msgstr ""
|
||||
msgid "log positions of (de)serialized objects in the snapshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "log record format: 'term', 'logfmt', 'json'"
|
||||
msgstr ""
|
||||
|
||||
msgid "log statistical profiling information"
|
||||
msgstr "log statistical profiling information"
|
||||
|
||||
@@ -77023,9 +76997,6 @@ msgstr ""
|
||||
msgid "log what we're doing to the specified FILE"
|
||||
msgstr ""
|
||||
|
||||
msgid "logging level"
|
||||
msgstr ""
|
||||
|
||||
msgid "loglevel of client"
|
||||
msgstr ""
|
||||
|
||||
@@ -77413,12 +77384,6 @@ msgstr ""
|
||||
msgid "new package name"
|
||||
msgstr ""
|
||||
|
||||
msgid "ngrok server region [us , eu, au, ap] (default: us)"
|
||||
msgstr ""
|
||||
|
||||
msgid "ngrok.com authtoken identifying a user"
|
||||
msgstr ""
|
||||
|
||||
msgid "no cleaning of distfiles."
|
||||
msgstr ""
|
||||
|
||||
@@ -77815,15 +77780,6 @@ msgstr ""
|
||||
msgid "path to SSH private key file. May be repeated."
|
||||
msgstr ""
|
||||
|
||||
msgid "path to TLS certificate authority to verify client certs"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a TLS certificate for TLS termination"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a TLS key for TLS termination"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a custom ESLint configuration file"
|
||||
msgstr ""
|
||||
|
||||
@@ -77842,15 +77798,9 @@ msgstr ""
|
||||
msgid "path to config file for the test"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to config files; they are merged if multiple"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to log file"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to log file, 'stdout', 'stderr' or 'false'"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to plan to insert multiple data files that have master-detail relationships"
|
||||
msgstr ""
|
||||
|
||||
@@ -79156,9 +79106,6 @@ msgstr ""
|
||||
msgid "set Git namespace"
|
||||
msgstr ""
|
||||
|
||||
msgid "set Host header; if 'rewrite' use local address hostname"
|
||||
msgstr ""
|
||||
|
||||
msgid "set NAME to default values"
|
||||
msgstr ""
|
||||
|
||||
@@ -79918,9 +79865,6 @@ msgstr ""
|
||||
msgid "start a server in the background"
|
||||
msgstr ""
|
||||
|
||||
msgid "start all tunnels in the configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "start and print only the URL"
|
||||
msgstr ""
|
||||
|
||||
@@ -79936,9 +79880,6 @@ msgstr ""
|
||||
msgid "start emacs with specified init directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "start running no tunnels"
|
||||
msgstr ""
|
||||
|
||||
msgid "start session"
|
||||
msgstr ""
|
||||
|
||||
@@ -80356,9 +80297,6 @@ msgstr ""
|
||||
msgid "update a record"
|
||||
msgstr ""
|
||||
|
||||
msgid "update channel (stable, beta)"
|
||||
msgstr ""
|
||||
|
||||
msgid "update client status bar"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -475,10 +475,6 @@ msgstr "%s: Clave de ordenamiento no válida '%s'"
|
||||
msgid "%s: Invalid start value '%s'"
|
||||
msgstr "%s: Valor inicial no válido '%s'"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Invalid state"
|
||||
msgstr "%s: Estado no válido"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Invalid style value '%s'"
|
||||
msgstr "%s: Valor de estilo no válido '%s'"
|
||||
@@ -511,10 +507,6 @@ msgstr "%s: La opción larga '%s' ya está definida"
|
||||
msgid "%s: Missing -- separator"
|
||||
msgstr "%s: Falta el separador --"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: New limit cannot be an empty string"
|
||||
msgstr "%s: El nuevo límite no puede ser un string vacío"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: No binding found for key '%s'"
|
||||
msgstr "%s: No se encontró una asignación para la tecla '%s'"
|
||||
@@ -543,10 +535,6 @@ msgstr "%s: No está dentro de un bucle"
|
||||
msgid "%s: Number out of range"
|
||||
msgstr "%s: Número fuera de rango"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Number was empty"
|
||||
msgstr "%s: El número estaba vacío"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Options %s and %s cannot be used together"
|
||||
msgstr "%s: Las opciones %s y %s no pueden usarse juntas"
|
||||
@@ -583,10 +571,6 @@ msgstr "%s: La opción corta '%c' no es válida, debe ser alfanumérica o '#'"
|
||||
msgid "%s: The directory '%s' does not exist"
|
||||
msgstr "%s: El directorio '%s' no existe"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: The variable '%s' does not exist"
|
||||
msgstr "%s: La variable '%s' no existe"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: There are no jobs"
|
||||
msgstr "%s: No hay trabajos"
|
||||
@@ -771,10 +755,6 @@ msgstr "%s: no existe la línea %s"
|
||||
msgid "%s: too many arguments"
|
||||
msgstr "%s: demasiados argumentos"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: usage of -i for --silent is deprecated. Please use -s or --silent instead."
|
||||
msgstr "%s: el uso de -i para --silent es obsoleto. Usa -s o --silent en su lugar."
|
||||
|
||||
#, c-format
|
||||
msgid "%s: value not completely converted (can't convert '%s')"
|
||||
msgstr "%s: el valor no se convirtió completamente (no es posible convertir '%s')"
|
||||
@@ -1829,6 +1809,9 @@ msgstr "precisión inválida: %s"
|
||||
msgid "missing hexadecimal number in escape"
|
||||
msgstr "falta un número hexadecimal en la secuencia de escape"
|
||||
|
||||
msgid "non-zero scale value only valid for base 10"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "only f1 through f%d are supported, not 'f%s'"
|
||||
msgstr "solo se soportan f1 hasta f%d, no ‘f%s’"
|
||||
@@ -1930,9 +1913,6 @@ msgstr "%s: El número de posiciones a saltar debe ser un entero no negativo\\n"
|
||||
msgid "%s: Too many arguments"
|
||||
msgstr "%s: Demasiados argumentos"
|
||||
|
||||
msgid "%s: Too many arguments\\n"
|
||||
msgstr "%s: Demasiados argumentos\\n"
|
||||
|
||||
msgid "%s: Unknown function '%s'\\n"
|
||||
msgstr "%s: Función desconocida '%s'\\n"
|
||||
|
||||
@@ -10801,6 +10781,12 @@ msgstr ""
|
||||
msgid "Check that working files are unmodified."
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the GPG signature of commits"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the GPG signature of tags"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the branch related to the current directory"
|
||||
msgstr ""
|
||||
|
||||
@@ -13039,6 +13025,9 @@ msgstr ""
|
||||
msgid "Copies between two remote hosts are transferred through the local host"
|
||||
msgstr ""
|
||||
|
||||
msgid "Copr hub hostname"
|
||||
msgstr ""
|
||||
|
||||
msgid "Copy Cc: list from first message to the others"
|
||||
msgstr ""
|
||||
|
||||
@@ -16138,6 +16127,9 @@ msgstr ""
|
||||
msgid "Disable \\write18{SHELL COMMAND}"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disable a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disable a NuGet source"
|
||||
msgstr ""
|
||||
|
||||
@@ -28258,6 +28250,9 @@ msgstr ""
|
||||
msgid "Format to serialize in"
|
||||
msgstr ""
|
||||
|
||||
msgid "Format to use for the output"
|
||||
msgstr ""
|
||||
|
||||
msgid "Format to use when exporting"
|
||||
msgstr ""
|
||||
|
||||
@@ -32542,6 +32537,9 @@ msgstr ""
|
||||
msgid "Install Node.js from source"
|
||||
msgstr ""
|
||||
|
||||
msgid "Install a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Install a Python version"
|
||||
msgstr ""
|
||||
|
||||
@@ -34159,6 +34157,9 @@ msgstr ""
|
||||
msgid "List CloudFront distribution points"
|
||||
msgstr ""
|
||||
|
||||
msgid "List Copr repositories"
|
||||
msgstr ""
|
||||
|
||||
msgid "List DPP-capable devices"
|
||||
msgstr ""
|
||||
|
||||
@@ -37477,6 +37478,9 @@ msgstr ""
|
||||
msgid "Manage .pac* files"
|
||||
msgstr ""
|
||||
|
||||
msgid "Manage Copr repositories"
|
||||
msgstr ""
|
||||
|
||||
msgid "Manage Flexible Resources between Primary and Secondary Controller "
|
||||
msgstr ""
|
||||
|
||||
@@ -44434,6 +44438,9 @@ msgstr ""
|
||||
msgid "Print commands before executing them"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print commit contents"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print compiler information"
|
||||
msgstr ""
|
||||
|
||||
@@ -45544,6 +45551,9 @@ msgstr ""
|
||||
msgid "Print raw entry names"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print raw gpg status output"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print raw stats"
|
||||
msgstr ""
|
||||
|
||||
@@ -45697,6 +45707,12 @@ msgstr ""
|
||||
msgid "Print synopsis and options"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print system info for debugging"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print tag contents"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print tally"
|
||||
msgstr ""
|
||||
|
||||
@@ -46072,9 +46088,6 @@ msgstr ""
|
||||
msgid "Print the version of the program and exit"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print the version string"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print the version string of firewalld"
|
||||
msgstr ""
|
||||
|
||||
@@ -46393,9 +46406,6 @@ msgstr ""
|
||||
msgid "Prints an estimate of the download size of the APK"
|
||||
msgstr ""
|
||||
|
||||
msgid "Prints author and licensing information"
|
||||
msgstr ""
|
||||
|
||||
msgid "Prints backup sets and chains currently in repository"
|
||||
msgstr ""
|
||||
|
||||
@@ -49189,6 +49199,9 @@ msgstr ""
|
||||
msgid "Remove [all] packages from cache"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove a NuGet package reference"
|
||||
msgstr ""
|
||||
|
||||
@@ -53269,9 +53282,6 @@ msgstr ""
|
||||
msgid "Save and restore package state"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save authtoken to configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save brightness"
|
||||
msgstr ""
|
||||
|
||||
@@ -64084,12 +64094,6 @@ msgstr ""
|
||||
msgid "Start a SOPS key kervice server"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a TCP tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a TLS tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a block commit operation"
|
||||
msgstr ""
|
||||
|
||||
@@ -64138,9 +64142,6 @@ msgstr ""
|
||||
msgid "Start an Elm project"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start an HTTP tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start an IRB session in the context of the current bundle"
|
||||
msgstr ""
|
||||
|
||||
@@ -64447,9 +64448,6 @@ msgstr ""
|
||||
msgid "Start tracking work in Phrequent"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start tunnels by name from the configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start up the visual interface and display its preview screen"
|
||||
msgstr ""
|
||||
|
||||
@@ -68743,9 +68741,6 @@ msgstr ""
|
||||
msgid "Update modules"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update ngrok to the latest version"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update object name stored in a ref safely"
|
||||
msgstr ""
|
||||
|
||||
@@ -74059,9 +74054,6 @@ msgstr ""
|
||||
msgid "bind key to command"
|
||||
msgstr ""
|
||||
|
||||
msgid "bind remote address (requires you reserve an address)"
|
||||
msgstr ""
|
||||
|
||||
msgid "binding for command mode"
|
||||
msgstr ""
|
||||
|
||||
@@ -75511,9 +75503,6 @@ msgstr ""
|
||||
msgid "enable word mangling rules"
|
||||
msgstr ""
|
||||
|
||||
msgid "enable/disable http introspection"
|
||||
msgstr ""
|
||||
|
||||
msgid "enables a keepalive every N seconds"
|
||||
msgstr ""
|
||||
|
||||
@@ -75523,9 +75512,6 @@ msgstr ""
|
||||
msgid "end filenames with NUL, for use with xargs"
|
||||
msgstr ""
|
||||
|
||||
msgid "enforce basic auth on tunnel endpoint, 'user:password'"
|
||||
msgstr ""
|
||||
|
||||
msgid "enforce strict mode"
|
||||
msgstr ""
|
||||
|
||||
@@ -76216,12 +76202,6 @@ msgstr ""
|
||||
msgid "highlight this process and its ancestors"
|
||||
msgstr ""
|
||||
|
||||
msgid "host tunnel on a custom subdomain"
|
||||
msgstr ""
|
||||
|
||||
msgid "host tunnel on custom hostname (requires DNS CNAME)"
|
||||
msgstr ""
|
||||
|
||||
msgid "how to combine with options from fstab/mtab"
|
||||
msgstr ""
|
||||
|
||||
@@ -76912,9 +76892,6 @@ msgstr ""
|
||||
msgid "list-dependencies flat, not as tree"
|
||||
msgstr ""
|
||||
|
||||
msgid "listen for http, https or both: true/false/both"
|
||||
msgstr ""
|
||||
|
||||
msgid "listen mode, for inbound connects"
|
||||
msgstr ""
|
||||
|
||||
@@ -77011,9 +76988,6 @@ msgstr ""
|
||||
msgid "log positions of (de)serialized objects in the snapshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "log record format: 'term', 'logfmt', 'json'"
|
||||
msgstr ""
|
||||
|
||||
msgid "log statistical profiling information"
|
||||
msgstr ""
|
||||
|
||||
@@ -77026,9 +77000,6 @@ msgstr ""
|
||||
msgid "log what we're doing to the specified FILE"
|
||||
msgstr ""
|
||||
|
||||
msgid "logging level"
|
||||
msgstr ""
|
||||
|
||||
msgid "loglevel of client"
|
||||
msgstr ""
|
||||
|
||||
@@ -77416,12 +77387,6 @@ msgstr ""
|
||||
msgid "new package name"
|
||||
msgstr ""
|
||||
|
||||
msgid "ngrok server region [us , eu, au, ap] (default: us)"
|
||||
msgstr ""
|
||||
|
||||
msgid "ngrok.com authtoken identifying a user"
|
||||
msgstr ""
|
||||
|
||||
msgid "no cleaning of distfiles."
|
||||
msgstr ""
|
||||
|
||||
@@ -77818,15 +77783,6 @@ msgstr ""
|
||||
msgid "path to SSH private key file. May be repeated."
|
||||
msgstr ""
|
||||
|
||||
msgid "path to TLS certificate authority to verify client certs"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a TLS certificate for TLS termination"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a TLS key for TLS termination"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a custom ESLint configuration file"
|
||||
msgstr ""
|
||||
|
||||
@@ -77845,15 +77801,9 @@ msgstr ""
|
||||
msgid "path to config file for the test"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to config files; they are merged if multiple"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to log file"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to log file, 'stdout', 'stderr' or 'false'"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to plan to insert multiple data files that have master-detail relationships"
|
||||
msgstr ""
|
||||
|
||||
@@ -79159,9 +79109,6 @@ msgstr ""
|
||||
msgid "set Git namespace"
|
||||
msgstr ""
|
||||
|
||||
msgid "set Host header; if 'rewrite' use local address hostname"
|
||||
msgstr ""
|
||||
|
||||
msgid "set NAME to default values"
|
||||
msgstr ""
|
||||
|
||||
@@ -79921,9 +79868,6 @@ msgstr ""
|
||||
msgid "start a server in the background"
|
||||
msgstr ""
|
||||
|
||||
msgid "start all tunnels in the configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "start and print only the URL"
|
||||
msgstr ""
|
||||
|
||||
@@ -79939,9 +79883,6 @@ msgstr ""
|
||||
msgid "start emacs with specified init directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "start running no tunnels"
|
||||
msgstr ""
|
||||
|
||||
msgid "start session"
|
||||
msgstr ""
|
||||
|
||||
@@ -80359,9 +80300,6 @@ msgstr ""
|
||||
msgid "update a record"
|
||||
msgstr ""
|
||||
|
||||
msgid "update channel (stable, beta)"
|
||||
msgstr ""
|
||||
|
||||
msgid "update client status bar"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -604,10 +604,6 @@ msgstr ""
|
||||
msgid "%s: Invalid start value '%s'"
|
||||
msgstr "%s : Indice de départ « %s » invalide"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Invalid state"
|
||||
msgstr "%s : État invalide"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Invalid style value '%s'"
|
||||
msgstr ""
|
||||
@@ -640,10 +636,6 @@ msgstr ""
|
||||
msgid "%s: Missing -- separator"
|
||||
msgstr "%s : Séparateur -- manquant"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: New limit cannot be an empty string"
|
||||
msgstr "%s : La nouvelle limite ne peut être une chaîne vide"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: No binding found for key '%s'"
|
||||
msgstr "%s : Aucun lien trouvé pour la combinaison %s"
|
||||
@@ -672,10 +664,6 @@ msgstr "%s : À l’extérieur de toute boucle"
|
||||
msgid "%s: Number out of range"
|
||||
msgstr "%s : Nombre hors limites"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Number was empty"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Options %s and %s cannot be used together"
|
||||
msgstr ""
|
||||
@@ -712,10 +700,6 @@ msgstr "%s : Le sémaphore « %c » est invalide : il doit être alphanumér
|
||||
msgid "%s: The directory '%s' does not exist"
|
||||
msgstr "%s : Le dossier « %s » n’existe pas"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: The variable '%s' does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: There are no jobs"
|
||||
msgstr "%s : Aucune tâche"
|
||||
@@ -900,10 +884,6 @@ msgstr ""
|
||||
msgid "%s: too many arguments"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: usage of -i for --silent is deprecated. Please use -s or --silent instead."
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: value not completely converted (can't convert '%s')"
|
||||
msgstr ""
|
||||
@@ -1955,6 +1935,9 @@ msgstr "précision invalide : %s"
|
||||
msgid "missing hexadecimal number in escape"
|
||||
msgstr "nombre hexadécimal manquant dans l’échappement"
|
||||
|
||||
msgid "non-zero scale value only valid for base 10"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "only f1 through f%d are supported, not 'f%s'"
|
||||
msgstr ""
|
||||
@@ -2056,9 +2039,6 @@ msgstr "%s : Le nombre de positions à passer doit être un entier naturel\\n"
|
||||
msgid "%s: Too many arguments"
|
||||
msgstr "%s : Trop d’arguments"
|
||||
|
||||
msgid "%s: Too many arguments\\n"
|
||||
msgstr "%s : Trop d’arguments\\n"
|
||||
|
||||
msgid "%s: Unknown function '%s'\\n"
|
||||
msgstr "%s : Fonction « %s » inconnue\\n"
|
||||
|
||||
@@ -10927,6 +10907,12 @@ msgstr ""
|
||||
msgid "Check that working files are unmodified."
|
||||
msgstr "Vérifier que les fichiers de la copie de travail sont intacts"
|
||||
|
||||
msgid "Check the GPG signature of commits"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the GPG signature of tags"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the branch related to the current directory"
|
||||
msgstr ""
|
||||
|
||||
@@ -13165,6 +13151,9 @@ msgstr ""
|
||||
msgid "Copies between two remote hosts are transferred through the local host"
|
||||
msgstr ""
|
||||
|
||||
msgid "Copr hub hostname"
|
||||
msgstr ""
|
||||
|
||||
msgid "Copy Cc: list from first message to the others"
|
||||
msgstr ""
|
||||
|
||||
@@ -16264,6 +16253,9 @@ msgstr "Désactiver le support de Xinerama"
|
||||
msgid "Disable \\write18{SHELL COMMAND}"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disable a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disable a NuGet source"
|
||||
msgstr ""
|
||||
|
||||
@@ -28384,6 +28376,9 @@ msgstr ""
|
||||
msgid "Format to serialize in"
|
||||
msgstr ""
|
||||
|
||||
msgid "Format to use for the output"
|
||||
msgstr ""
|
||||
|
||||
msgid "Format to use when exporting"
|
||||
msgstr ""
|
||||
|
||||
@@ -32668,6 +32663,9 @@ msgstr ""
|
||||
msgid "Install Node.js from source"
|
||||
msgstr ""
|
||||
|
||||
msgid "Install a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Install a Python version"
|
||||
msgstr ""
|
||||
|
||||
@@ -34285,6 +34283,9 @@ msgstr ""
|
||||
msgid "List CloudFront distribution points"
|
||||
msgstr ""
|
||||
|
||||
msgid "List Copr repositories"
|
||||
msgstr ""
|
||||
|
||||
msgid "List DPP-capable devices"
|
||||
msgstr ""
|
||||
|
||||
@@ -37603,6 +37604,9 @@ msgstr ""
|
||||
msgid "Manage .pac* files"
|
||||
msgstr ""
|
||||
|
||||
msgid "Manage Copr repositories"
|
||||
msgstr ""
|
||||
|
||||
msgid "Manage Flexible Resources between Primary and Secondary Controller "
|
||||
msgstr ""
|
||||
|
||||
@@ -44560,6 +44564,9 @@ msgstr ""
|
||||
msgid "Print commands before executing them"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print commit contents"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print compiler information"
|
||||
msgstr ""
|
||||
|
||||
@@ -45670,6 +45677,9 @@ msgstr ""
|
||||
msgid "Print raw entry names"
|
||||
msgstr "Afficher les noms bruts des entrées"
|
||||
|
||||
msgid "Print raw gpg status output"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print raw stats"
|
||||
msgstr ""
|
||||
|
||||
@@ -45823,6 +45833,12 @@ msgstr ""
|
||||
msgid "Print synopsis and options"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print system info for debugging"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print tag contents"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print tally"
|
||||
msgstr "Afficher le registre"
|
||||
|
||||
@@ -46198,9 +46214,6 @@ msgstr ""
|
||||
msgid "Print the version of the program and exit"
|
||||
msgstr "Afficher la version du programme et quitter"
|
||||
|
||||
msgid "Print the version string"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print the version string of firewalld"
|
||||
msgstr ""
|
||||
|
||||
@@ -46519,9 +46532,6 @@ msgstr ""
|
||||
msgid "Prints an estimate of the download size of the APK"
|
||||
msgstr ""
|
||||
|
||||
msgid "Prints author and licensing information"
|
||||
msgstr ""
|
||||
|
||||
msgid "Prints backup sets and chains currently in repository"
|
||||
msgstr "Afficher les jeux et chaînes de sauvegarde actuellement dans le dépôt"
|
||||
|
||||
@@ -49315,6 +49325,9 @@ msgstr "Supprimer l’étiquette des informations ZFS du périphérique spécifi
|
||||
msgid "Remove [all] packages from cache"
|
||||
msgstr "Supprimer (tous) les paquets du cache"
|
||||
|
||||
msgid "Remove a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove a NuGet package reference"
|
||||
msgstr ""
|
||||
|
||||
@@ -53395,9 +53408,6 @@ msgstr ""
|
||||
msgid "Save and restore package state"
|
||||
msgstr "Sauvegarder et restaurer l’état des paquets"
|
||||
|
||||
msgid "Save authtoken to configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save brightness"
|
||||
msgstr "Sauvegarder la luminosité"
|
||||
|
||||
@@ -64210,12 +64220,6 @@ msgstr ""
|
||||
msgid "Start a SOPS key kervice server"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a TCP tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a TLS tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a block commit operation"
|
||||
msgstr ""
|
||||
|
||||
@@ -64264,9 +64268,6 @@ msgstr ""
|
||||
msgid "Start an Elm project"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start an HTTP tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start an IRB session in the context of the current bundle"
|
||||
msgstr "Démarrer une session IRB dans le contexte du paquet actuel"
|
||||
|
||||
@@ -64573,9 +64574,6 @@ msgstr ""
|
||||
msgid "Start tracking work in Phrequent"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start tunnels by name from the configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start up the visual interface and display its preview screen"
|
||||
msgstr "Afficher l’interface ncurses avec l’aperçu"
|
||||
|
||||
@@ -68869,9 +68867,6 @@ msgstr "Mettre à jour la liste des miroirs"
|
||||
msgid "Update modules"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update ngrok to the latest version"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update object name stored in a ref safely"
|
||||
msgstr ""
|
||||
|
||||
@@ -74185,9 +74180,6 @@ msgstr "Créer le raccourci clavier pour le mode commande au lieu du mode normal
|
||||
msgid "bind key to command"
|
||||
msgstr "Créer un raccourci clavier vers une commande"
|
||||
|
||||
msgid "bind remote address (requires you reserve an address)"
|
||||
msgstr ""
|
||||
|
||||
msgid "binding for command mode"
|
||||
msgstr "Raccourci pour le mode commande"
|
||||
|
||||
@@ -75637,9 +75629,6 @@ msgstr "Activer les ascenseurs verticaux"
|
||||
msgid "enable word mangling rules"
|
||||
msgstr ""
|
||||
|
||||
msgid "enable/disable http introspection"
|
||||
msgstr ""
|
||||
|
||||
msgid "enables a keepalive every N seconds"
|
||||
msgstr "Envoyer un keepalive à chaque délai en secondes spécifié"
|
||||
|
||||
@@ -75649,9 +75638,6 @@ msgstr "Terminer les champs avec NUL"
|
||||
msgid "end filenames with NUL, for use with xargs"
|
||||
msgstr "Terminer les noms de fichier par un caractère NUL, pour utilisation avec xargs"
|
||||
|
||||
msgid "enforce basic auth on tunnel endpoint, 'user:password'"
|
||||
msgstr ""
|
||||
|
||||
msgid "enforce strict mode"
|
||||
msgstr "Forcer le mode strict"
|
||||
|
||||
@@ -76342,12 +76328,6 @@ msgstr ""
|
||||
msgid "highlight this process and its ancestors"
|
||||
msgstr ""
|
||||
|
||||
msgid "host tunnel on a custom subdomain"
|
||||
msgstr ""
|
||||
|
||||
msgid "host tunnel on custom hostname (requires DNS CNAME)"
|
||||
msgstr ""
|
||||
|
||||
msgid "how to combine with options from fstab/mtab"
|
||||
msgstr ""
|
||||
|
||||
@@ -77038,9 +77018,6 @@ msgstr ""
|
||||
msgid "list-dependencies flat, not as tree"
|
||||
msgstr "Lister les dépendances sans arborescence"
|
||||
|
||||
msgid "listen for http, https or both: true/false/both"
|
||||
msgstr ""
|
||||
|
||||
msgid "listen mode, for inbound connects"
|
||||
msgstr ""
|
||||
|
||||
@@ -77137,9 +77114,6 @@ msgstr ""
|
||||
msgid "log positions of (de)serialized objects in the snapshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "log record format: 'term', 'logfmt', 'json'"
|
||||
msgstr ""
|
||||
|
||||
msgid "log statistical profiling information"
|
||||
msgstr "Journaliser les informations de profilage statistique"
|
||||
|
||||
@@ -77152,9 +77126,6 @@ msgstr ""
|
||||
msgid "log what we're doing to the specified FILE"
|
||||
msgstr ""
|
||||
|
||||
msgid "logging level"
|
||||
msgstr "niveau de journalisation"
|
||||
|
||||
msgid "loglevel of client"
|
||||
msgstr ""
|
||||
|
||||
@@ -77542,12 +77513,6 @@ msgstr ""
|
||||
msgid "new package name"
|
||||
msgstr ""
|
||||
|
||||
msgid "ngrok server region [us , eu, au, ap] (default: us)"
|
||||
msgstr ""
|
||||
|
||||
msgid "ngrok.com authtoken identifying a user"
|
||||
msgstr ""
|
||||
|
||||
msgid "no cleaning of distfiles."
|
||||
msgstr ""
|
||||
|
||||
@@ -77944,15 +77909,6 @@ msgstr ""
|
||||
msgid "path to SSH private key file. May be repeated."
|
||||
msgstr "Chemin du fichier de clé privée SSH"
|
||||
|
||||
msgid "path to TLS certificate authority to verify client certs"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a TLS certificate for TLS termination"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a TLS key for TLS termination"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a custom ESLint configuration file"
|
||||
msgstr ""
|
||||
|
||||
@@ -77971,15 +77927,9 @@ msgstr ""
|
||||
msgid "path to config file for the test"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to config files; they are merged if multiple"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to log file"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to log file, 'stdout', 'stderr' or 'false'"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to plan to insert multiple data files that have master-detail relationships"
|
||||
msgstr ""
|
||||
|
||||
@@ -79285,9 +79235,6 @@ msgstr ""
|
||||
msgid "set Git namespace"
|
||||
msgstr ""
|
||||
|
||||
msgid "set Host header; if 'rewrite' use local address hostname"
|
||||
msgstr ""
|
||||
|
||||
msgid "set NAME to default values"
|
||||
msgstr ""
|
||||
|
||||
@@ -80047,9 +79994,6 @@ msgstr "Démarrer un environnement jail"
|
||||
msgid "start a server in the background"
|
||||
msgstr "Démarrer un serveur en arrière-plan"
|
||||
|
||||
msgid "start all tunnels in the configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "start and print only the URL"
|
||||
msgstr ""
|
||||
|
||||
@@ -80065,9 +80009,6 @@ msgstr "Démarrer le débogueur"
|
||||
msgid "start emacs with specified init directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "start running no tunnels"
|
||||
msgstr ""
|
||||
|
||||
msgid "start session"
|
||||
msgstr ""
|
||||
|
||||
@@ -80485,9 +80426,6 @@ msgstr ""
|
||||
msgid "update a record"
|
||||
msgstr ""
|
||||
|
||||
msgid "update channel (stable, beta)"
|
||||
msgstr ""
|
||||
|
||||
msgid "update client status bar"
|
||||
msgstr "Mettre à jour la barre d’état du client"
|
||||
|
||||
|
||||
@@ -474,10 +474,6 @@ msgstr "%s: ソートキー '%s' が無効です"
|
||||
msgid "%s: Invalid start value '%s'"
|
||||
msgstr "%s: 開始値 '%s' が無効です"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Invalid state"
|
||||
msgstr "%s: 状態が無効です"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Invalid style value '%s'"
|
||||
msgstr "%s: スタイル値 '%s' が無効です"
|
||||
@@ -510,10 +506,6 @@ msgstr "%s: ロングフラグ '%s' はすでに定義されています"
|
||||
msgid "%s: Missing -- separator"
|
||||
msgstr "%s: -- セパレータがありません"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: New limit cannot be an empty string"
|
||||
msgstr "%s: 新しい制限値を空文字列にすることはできません"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: No binding found for key '%s'"
|
||||
msgstr "%s: キー '%s' のバインドが見つかりません"
|
||||
@@ -542,10 +534,6 @@ msgstr "%s: ループ内ではありません"
|
||||
msgid "%s: Number out of range"
|
||||
msgstr "%s: 数値が範囲外です"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Number was empty"
|
||||
msgstr "%s: 数値が空です"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Options %s and %s cannot be used together"
|
||||
msgstr "%s: オプション %s と %s は同時には指定できません"
|
||||
@@ -582,10 +570,6 @@ msgstr "%s: 短縮フラグ '%c' は無効です。英数字または '#' であ
|
||||
msgid "%s: The directory '%s' does not exist"
|
||||
msgstr "%s: ディレクトリ '%s' は存在しません"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: The variable '%s' does not exist"
|
||||
msgstr "%s: 変数 '%s' は存在しません"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: There are no jobs"
|
||||
msgstr "%s: ジョブはありません"
|
||||
@@ -770,10 +754,6 @@ msgstr "%s: %s 行目は存在しません"
|
||||
msgid "%s: too many arguments"
|
||||
msgstr "%s: 引数が多すぎます"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: usage of -i for --silent is deprecated. Please use -s or --silent instead."
|
||||
msgstr "%s: --silent の代わりに -i を使用する方法は非推奨です。代わりに -s または --silent を使用してください"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: value not completely converted (can't convert '%s')"
|
||||
msgstr "%s: 値を完全に変換できませんでした('%s' を変換できません)"
|
||||
@@ -1828,6 +1808,9 @@ msgstr "無効な精度: %s"
|
||||
msgid "missing hexadecimal number in escape"
|
||||
msgstr "エスケープ内に16進数がありません"
|
||||
|
||||
msgid "non-zero scale value only valid for base 10"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "only f1 through f%d are supported, not 'f%s'"
|
||||
msgstr "f1からf%dまでのみサポートされています。'f%s'はサポートされていません"
|
||||
@@ -1930,9 +1913,6 @@ msgstr "%s: スキップする位置の数は非負の整数である必要が
|
||||
msgid "%s: Too many arguments"
|
||||
msgstr "%s: 引数が多すぎます"
|
||||
|
||||
msgid "%s: Too many arguments\\n"
|
||||
msgstr "%s: 引数が多すぎます\\n"
|
||||
|
||||
msgid "%s: Unknown function '%s'\\n"
|
||||
msgstr "%s: 不明な関数 '%s' です\\n"
|
||||
|
||||
@@ -10804,6 +10784,12 @@ msgstr ""
|
||||
msgid "Check that working files are unmodified."
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the GPG signature of commits"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the GPG signature of tags"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the branch related to the current directory"
|
||||
msgstr ""
|
||||
|
||||
@@ -13042,6 +13028,9 @@ msgstr ""
|
||||
msgid "Copies between two remote hosts are transferred through the local host"
|
||||
msgstr ""
|
||||
|
||||
msgid "Copr hub hostname"
|
||||
msgstr ""
|
||||
|
||||
msgid "Copy Cc: list from first message to the others"
|
||||
msgstr ""
|
||||
|
||||
@@ -16141,6 +16130,9 @@ msgstr ""
|
||||
msgid "Disable \\write18{SHELL COMMAND}"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disable a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disable a NuGet source"
|
||||
msgstr ""
|
||||
|
||||
@@ -28261,6 +28253,9 @@ msgstr ""
|
||||
msgid "Format to serialize in"
|
||||
msgstr ""
|
||||
|
||||
msgid "Format to use for the output"
|
||||
msgstr ""
|
||||
|
||||
msgid "Format to use when exporting"
|
||||
msgstr ""
|
||||
|
||||
@@ -32545,6 +32540,9 @@ msgstr ""
|
||||
msgid "Install Node.js from source"
|
||||
msgstr ""
|
||||
|
||||
msgid "Install a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Install a Python version"
|
||||
msgstr ""
|
||||
|
||||
@@ -34162,6 +34160,9 @@ msgstr ""
|
||||
msgid "List CloudFront distribution points"
|
||||
msgstr ""
|
||||
|
||||
msgid "List Copr repositories"
|
||||
msgstr ""
|
||||
|
||||
msgid "List DPP-capable devices"
|
||||
msgstr ""
|
||||
|
||||
@@ -37480,6 +37481,9 @@ msgstr ""
|
||||
msgid "Manage .pac* files"
|
||||
msgstr ""
|
||||
|
||||
msgid "Manage Copr repositories"
|
||||
msgstr ""
|
||||
|
||||
msgid "Manage Flexible Resources between Primary and Secondary Controller "
|
||||
msgstr ""
|
||||
|
||||
@@ -44437,6 +44441,9 @@ msgstr ""
|
||||
msgid "Print commands before executing them"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print commit contents"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print compiler information"
|
||||
msgstr ""
|
||||
|
||||
@@ -45547,6 +45554,9 @@ msgstr ""
|
||||
msgid "Print raw entry names"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print raw gpg status output"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print raw stats"
|
||||
msgstr ""
|
||||
|
||||
@@ -45700,6 +45710,12 @@ msgstr ""
|
||||
msgid "Print synopsis and options"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print system info for debugging"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print tag contents"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print tally"
|
||||
msgstr ""
|
||||
|
||||
@@ -46075,9 +46091,6 @@ msgstr ""
|
||||
msgid "Print the version of the program and exit"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print the version string"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print the version string of firewalld"
|
||||
msgstr ""
|
||||
|
||||
@@ -46396,9 +46409,6 @@ msgstr ""
|
||||
msgid "Prints an estimate of the download size of the APK"
|
||||
msgstr ""
|
||||
|
||||
msgid "Prints author and licensing information"
|
||||
msgstr ""
|
||||
|
||||
msgid "Prints backup sets and chains currently in repository"
|
||||
msgstr ""
|
||||
|
||||
@@ -49192,6 +49202,9 @@ msgstr ""
|
||||
msgid "Remove [all] packages from cache"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove a NuGet package reference"
|
||||
msgstr ""
|
||||
|
||||
@@ -53272,9 +53285,6 @@ msgstr ""
|
||||
msgid "Save and restore package state"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save authtoken to configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save brightness"
|
||||
msgstr ""
|
||||
|
||||
@@ -64087,12 +64097,6 @@ msgstr ""
|
||||
msgid "Start a SOPS key kervice server"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a TCP tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a TLS tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a block commit operation"
|
||||
msgstr ""
|
||||
|
||||
@@ -64141,9 +64145,6 @@ msgstr ""
|
||||
msgid "Start an Elm project"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start an HTTP tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start an IRB session in the context of the current bundle"
|
||||
msgstr ""
|
||||
|
||||
@@ -64450,9 +64451,6 @@ msgstr ""
|
||||
msgid "Start tracking work in Phrequent"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start tunnels by name from the configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start up the visual interface and display its preview screen"
|
||||
msgstr ""
|
||||
|
||||
@@ -68746,9 +68744,6 @@ msgstr ""
|
||||
msgid "Update modules"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update ngrok to the latest version"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update object name stored in a ref safely"
|
||||
msgstr ""
|
||||
|
||||
@@ -74062,9 +74057,6 @@ msgstr ""
|
||||
msgid "bind key to command"
|
||||
msgstr ""
|
||||
|
||||
msgid "bind remote address (requires you reserve an address)"
|
||||
msgstr ""
|
||||
|
||||
msgid "binding for command mode"
|
||||
msgstr ""
|
||||
|
||||
@@ -75514,9 +75506,6 @@ msgstr ""
|
||||
msgid "enable word mangling rules"
|
||||
msgstr ""
|
||||
|
||||
msgid "enable/disable http introspection"
|
||||
msgstr ""
|
||||
|
||||
msgid "enables a keepalive every N seconds"
|
||||
msgstr ""
|
||||
|
||||
@@ -75526,9 +75515,6 @@ msgstr ""
|
||||
msgid "end filenames with NUL, for use with xargs"
|
||||
msgstr ""
|
||||
|
||||
msgid "enforce basic auth on tunnel endpoint, 'user:password'"
|
||||
msgstr ""
|
||||
|
||||
msgid "enforce strict mode"
|
||||
msgstr ""
|
||||
|
||||
@@ -76219,12 +76205,6 @@ msgstr ""
|
||||
msgid "highlight this process and its ancestors"
|
||||
msgstr ""
|
||||
|
||||
msgid "host tunnel on a custom subdomain"
|
||||
msgstr ""
|
||||
|
||||
msgid "host tunnel on custom hostname (requires DNS CNAME)"
|
||||
msgstr ""
|
||||
|
||||
msgid "how to combine with options from fstab/mtab"
|
||||
msgstr ""
|
||||
|
||||
@@ -76915,9 +76895,6 @@ msgstr ""
|
||||
msgid "list-dependencies flat, not as tree"
|
||||
msgstr ""
|
||||
|
||||
msgid "listen for http, https or both: true/false/both"
|
||||
msgstr ""
|
||||
|
||||
msgid "listen mode, for inbound connects"
|
||||
msgstr ""
|
||||
|
||||
@@ -77014,9 +76991,6 @@ msgstr ""
|
||||
msgid "log positions of (de)serialized objects in the snapshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "log record format: 'term', 'logfmt', 'json'"
|
||||
msgstr ""
|
||||
|
||||
msgid "log statistical profiling information"
|
||||
msgstr ""
|
||||
|
||||
@@ -77029,9 +77003,6 @@ msgstr ""
|
||||
msgid "log what we're doing to the specified FILE"
|
||||
msgstr ""
|
||||
|
||||
msgid "logging level"
|
||||
msgstr ""
|
||||
|
||||
msgid "loglevel of client"
|
||||
msgstr ""
|
||||
|
||||
@@ -77419,12 +77390,6 @@ msgstr ""
|
||||
msgid "new package name"
|
||||
msgstr ""
|
||||
|
||||
msgid "ngrok server region [us , eu, au, ap] (default: us)"
|
||||
msgstr ""
|
||||
|
||||
msgid "ngrok.com authtoken identifying a user"
|
||||
msgstr ""
|
||||
|
||||
msgid "no cleaning of distfiles."
|
||||
msgstr ""
|
||||
|
||||
@@ -77821,15 +77786,6 @@ msgstr ""
|
||||
msgid "path to SSH private key file. May be repeated."
|
||||
msgstr ""
|
||||
|
||||
msgid "path to TLS certificate authority to verify client certs"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a TLS certificate for TLS termination"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a TLS key for TLS termination"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a custom ESLint configuration file"
|
||||
msgstr ""
|
||||
|
||||
@@ -77848,15 +77804,9 @@ msgstr ""
|
||||
msgid "path to config file for the test"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to config files; they are merged if multiple"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to log file"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to log file, 'stdout', 'stderr' or 'false'"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to plan to insert multiple data files that have master-detail relationships"
|
||||
msgstr ""
|
||||
|
||||
@@ -79162,9 +79112,6 @@ msgstr ""
|
||||
msgid "set Git namespace"
|
||||
msgstr ""
|
||||
|
||||
msgid "set Host header; if 'rewrite' use local address hostname"
|
||||
msgstr ""
|
||||
|
||||
msgid "set NAME to default values"
|
||||
msgstr ""
|
||||
|
||||
@@ -79924,9 +79871,6 @@ msgstr ""
|
||||
msgid "start a server in the background"
|
||||
msgstr ""
|
||||
|
||||
msgid "start all tunnels in the configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "start and print only the URL"
|
||||
msgstr ""
|
||||
|
||||
@@ -79942,9 +79886,6 @@ msgstr ""
|
||||
msgid "start emacs with specified init directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "start running no tunnels"
|
||||
msgstr ""
|
||||
|
||||
msgid "start session"
|
||||
msgstr ""
|
||||
|
||||
@@ -80362,9 +80303,6 @@ msgstr ""
|
||||
msgid "update a record"
|
||||
msgstr ""
|
||||
|
||||
msgid "update channel (stable, beta)"
|
||||
msgstr ""
|
||||
|
||||
msgid "update client status bar"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -471,10 +471,6 @@ msgstr ""
|
||||
msgid "%s: Invalid start value '%s'"
|
||||
msgstr "%s: Nieprawidłową wartość początkowa '%s'"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Invalid state"
|
||||
msgstr "%s: Nieprawidłowy stan"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Invalid style value '%s'"
|
||||
msgstr ""
|
||||
@@ -507,10 +503,6 @@ msgstr ""
|
||||
msgid "%s: Missing -- separator"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: New limit cannot be an empty string"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: No binding found for key '%s'"
|
||||
msgstr ""
|
||||
@@ -539,10 +531,6 @@ msgstr ""
|
||||
msgid "%s: Number out of range"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Number was empty"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Options %s and %s cannot be used together"
|
||||
msgstr ""
|
||||
@@ -579,10 +567,6 @@ msgstr ""
|
||||
msgid "%s: The directory '%s' does not exist"
|
||||
msgstr "%s: Ścieżka '%s' nie istnieje"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: The variable '%s' does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: There are no jobs"
|
||||
msgstr "%s: Nie ma żadnych zadań"
|
||||
@@ -767,10 +751,6 @@ msgstr ""
|
||||
msgid "%s: too many arguments"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: usage of -i for --silent is deprecated. Please use -s or --silent instead."
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: value not completely converted (can't convert '%s')"
|
||||
msgstr ""
|
||||
@@ -1822,6 +1802,9 @@ msgstr ""
|
||||
msgid "missing hexadecimal number in escape"
|
||||
msgstr ""
|
||||
|
||||
msgid "non-zero scale value only valid for base 10"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "only f1 through f%d are supported, not 'f%s'"
|
||||
msgstr ""
|
||||
@@ -1923,9 +1906,6 @@ msgstr ""
|
||||
msgid "%s: Too many arguments"
|
||||
msgstr ""
|
||||
|
||||
msgid "%s: Too many arguments\\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "%s: Unknown function '%s'\\n"
|
||||
msgstr ""
|
||||
|
||||
@@ -10794,6 +10774,12 @@ msgstr ""
|
||||
msgid "Check that working files are unmodified."
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the GPG signature of commits"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the GPG signature of tags"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the branch related to the current directory"
|
||||
msgstr ""
|
||||
|
||||
@@ -13032,6 +13018,9 @@ msgstr ""
|
||||
msgid "Copies between two remote hosts are transferred through the local host"
|
||||
msgstr ""
|
||||
|
||||
msgid "Copr hub hostname"
|
||||
msgstr ""
|
||||
|
||||
msgid "Copy Cc: list from first message to the others"
|
||||
msgstr ""
|
||||
|
||||
@@ -16131,6 +16120,9 @@ msgstr ""
|
||||
msgid "Disable \\write18{SHELL COMMAND}"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disable a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disable a NuGet source"
|
||||
msgstr ""
|
||||
|
||||
@@ -28251,6 +28243,9 @@ msgstr ""
|
||||
msgid "Format to serialize in"
|
||||
msgstr ""
|
||||
|
||||
msgid "Format to use for the output"
|
||||
msgstr ""
|
||||
|
||||
msgid "Format to use when exporting"
|
||||
msgstr ""
|
||||
|
||||
@@ -32535,6 +32530,9 @@ msgstr ""
|
||||
msgid "Install Node.js from source"
|
||||
msgstr ""
|
||||
|
||||
msgid "Install a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Install a Python version"
|
||||
msgstr ""
|
||||
|
||||
@@ -34152,6 +34150,9 @@ msgstr ""
|
||||
msgid "List CloudFront distribution points"
|
||||
msgstr ""
|
||||
|
||||
msgid "List Copr repositories"
|
||||
msgstr ""
|
||||
|
||||
msgid "List DPP-capable devices"
|
||||
msgstr ""
|
||||
|
||||
@@ -37470,6 +37471,9 @@ msgstr ""
|
||||
msgid "Manage .pac* files"
|
||||
msgstr ""
|
||||
|
||||
msgid "Manage Copr repositories"
|
||||
msgstr ""
|
||||
|
||||
msgid "Manage Flexible Resources between Primary and Secondary Controller "
|
||||
msgstr ""
|
||||
|
||||
@@ -44427,6 +44431,9 @@ msgstr ""
|
||||
msgid "Print commands before executing them"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print commit contents"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print compiler information"
|
||||
msgstr ""
|
||||
|
||||
@@ -45537,6 +45544,9 @@ msgstr ""
|
||||
msgid "Print raw entry names"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print raw gpg status output"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print raw stats"
|
||||
msgstr ""
|
||||
|
||||
@@ -45690,6 +45700,12 @@ msgstr ""
|
||||
msgid "Print synopsis and options"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print system info for debugging"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print tag contents"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print tally"
|
||||
msgstr ""
|
||||
|
||||
@@ -46065,9 +46081,6 @@ msgstr ""
|
||||
msgid "Print the version of the program and exit"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print the version string"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print the version string of firewalld"
|
||||
msgstr ""
|
||||
|
||||
@@ -46386,9 +46399,6 @@ msgstr ""
|
||||
msgid "Prints an estimate of the download size of the APK"
|
||||
msgstr ""
|
||||
|
||||
msgid "Prints author and licensing information"
|
||||
msgstr ""
|
||||
|
||||
msgid "Prints backup sets and chains currently in repository"
|
||||
msgstr ""
|
||||
|
||||
@@ -49182,6 +49192,9 @@ msgstr ""
|
||||
msgid "Remove [all] packages from cache"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove a NuGet package reference"
|
||||
msgstr ""
|
||||
|
||||
@@ -53262,9 +53275,6 @@ msgstr ""
|
||||
msgid "Save and restore package state"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save authtoken to configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save brightness"
|
||||
msgstr ""
|
||||
|
||||
@@ -64077,12 +64087,6 @@ msgstr ""
|
||||
msgid "Start a SOPS key kervice server"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a TCP tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a TLS tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a block commit operation"
|
||||
msgstr ""
|
||||
|
||||
@@ -64131,9 +64135,6 @@ msgstr ""
|
||||
msgid "Start an Elm project"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start an HTTP tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start an IRB session in the context of the current bundle"
|
||||
msgstr ""
|
||||
|
||||
@@ -64440,9 +64441,6 @@ msgstr ""
|
||||
msgid "Start tracking work in Phrequent"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start tunnels by name from the configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start up the visual interface and display its preview screen"
|
||||
msgstr ""
|
||||
|
||||
@@ -68736,9 +68734,6 @@ msgstr ""
|
||||
msgid "Update modules"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update ngrok to the latest version"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update object name stored in a ref safely"
|
||||
msgstr ""
|
||||
|
||||
@@ -74052,9 +74047,6 @@ msgstr ""
|
||||
msgid "bind key to command"
|
||||
msgstr ""
|
||||
|
||||
msgid "bind remote address (requires you reserve an address)"
|
||||
msgstr ""
|
||||
|
||||
msgid "binding for command mode"
|
||||
msgstr ""
|
||||
|
||||
@@ -75504,9 +75496,6 @@ msgstr ""
|
||||
msgid "enable word mangling rules"
|
||||
msgstr ""
|
||||
|
||||
msgid "enable/disable http introspection"
|
||||
msgstr ""
|
||||
|
||||
msgid "enables a keepalive every N seconds"
|
||||
msgstr ""
|
||||
|
||||
@@ -75516,9 +75505,6 @@ msgstr ""
|
||||
msgid "end filenames with NUL, for use with xargs"
|
||||
msgstr ""
|
||||
|
||||
msgid "enforce basic auth on tunnel endpoint, 'user:password'"
|
||||
msgstr ""
|
||||
|
||||
msgid "enforce strict mode"
|
||||
msgstr ""
|
||||
|
||||
@@ -76209,12 +76195,6 @@ msgstr ""
|
||||
msgid "highlight this process and its ancestors"
|
||||
msgstr ""
|
||||
|
||||
msgid "host tunnel on a custom subdomain"
|
||||
msgstr ""
|
||||
|
||||
msgid "host tunnel on custom hostname (requires DNS CNAME)"
|
||||
msgstr ""
|
||||
|
||||
msgid "how to combine with options from fstab/mtab"
|
||||
msgstr ""
|
||||
|
||||
@@ -76905,9 +76885,6 @@ msgstr ""
|
||||
msgid "list-dependencies flat, not as tree"
|
||||
msgstr ""
|
||||
|
||||
msgid "listen for http, https or both: true/false/both"
|
||||
msgstr ""
|
||||
|
||||
msgid "listen mode, for inbound connects"
|
||||
msgstr ""
|
||||
|
||||
@@ -77004,9 +76981,6 @@ msgstr ""
|
||||
msgid "log positions of (de)serialized objects in the snapshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "log record format: 'term', 'logfmt', 'json'"
|
||||
msgstr ""
|
||||
|
||||
msgid "log statistical profiling information"
|
||||
msgstr ""
|
||||
|
||||
@@ -77019,9 +76993,6 @@ msgstr ""
|
||||
msgid "log what we're doing to the specified FILE"
|
||||
msgstr ""
|
||||
|
||||
msgid "logging level"
|
||||
msgstr ""
|
||||
|
||||
msgid "loglevel of client"
|
||||
msgstr ""
|
||||
|
||||
@@ -77409,12 +77380,6 @@ msgstr ""
|
||||
msgid "new package name"
|
||||
msgstr ""
|
||||
|
||||
msgid "ngrok server region [us , eu, au, ap] (default: us)"
|
||||
msgstr ""
|
||||
|
||||
msgid "ngrok.com authtoken identifying a user"
|
||||
msgstr ""
|
||||
|
||||
msgid "no cleaning of distfiles."
|
||||
msgstr ""
|
||||
|
||||
@@ -77811,15 +77776,6 @@ msgstr ""
|
||||
msgid "path to SSH private key file. May be repeated."
|
||||
msgstr ""
|
||||
|
||||
msgid "path to TLS certificate authority to verify client certs"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a TLS certificate for TLS termination"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a TLS key for TLS termination"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a custom ESLint configuration file"
|
||||
msgstr ""
|
||||
|
||||
@@ -77838,15 +77794,9 @@ msgstr ""
|
||||
msgid "path to config file for the test"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to config files; they are merged if multiple"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to log file"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to log file, 'stdout', 'stderr' or 'false'"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to plan to insert multiple data files that have master-detail relationships"
|
||||
msgstr ""
|
||||
|
||||
@@ -79152,9 +79102,6 @@ msgstr ""
|
||||
msgid "set Git namespace"
|
||||
msgstr ""
|
||||
|
||||
msgid "set Host header; if 'rewrite' use local address hostname"
|
||||
msgstr ""
|
||||
|
||||
msgid "set NAME to default values"
|
||||
msgstr ""
|
||||
|
||||
@@ -79914,9 +79861,6 @@ msgstr ""
|
||||
msgid "start a server in the background"
|
||||
msgstr ""
|
||||
|
||||
msgid "start all tunnels in the configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "start and print only the URL"
|
||||
msgstr ""
|
||||
|
||||
@@ -79932,9 +79876,6 @@ msgstr ""
|
||||
msgid "start emacs with specified init directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "start running no tunnels"
|
||||
msgstr ""
|
||||
|
||||
msgid "start session"
|
||||
msgstr ""
|
||||
|
||||
@@ -80352,9 +80293,6 @@ msgstr ""
|
||||
msgid "update a record"
|
||||
msgstr ""
|
||||
|
||||
msgid "update channel (stable, beta)"
|
||||
msgstr ""
|
||||
|
||||
msgid "update client status bar"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -476,10 +476,6 @@ msgstr ""
|
||||
msgid "%s: Invalid start value '%s'"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Invalid state"
|
||||
msgstr "%s: Estado inválido"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Invalid style value '%s'"
|
||||
msgstr ""
|
||||
@@ -512,10 +508,6 @@ msgstr ""
|
||||
msgid "%s: Missing -- separator"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: New limit cannot be an empty string"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: No binding found for key '%s'"
|
||||
msgstr ""
|
||||
@@ -544,10 +536,6 @@ msgstr "%s: Não está dentro de laço"
|
||||
msgid "%s: Number out of range"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Number was empty"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Options %s and %s cannot be used together"
|
||||
msgstr ""
|
||||
@@ -584,10 +572,6 @@ msgstr ""
|
||||
msgid "%s: The directory '%s' does not exist"
|
||||
msgstr "%s: O diretório “%s” não existe"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: The variable '%s' does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: There are no jobs"
|
||||
msgstr "%s: Não há tarefas"
|
||||
@@ -772,10 +756,6 @@ msgstr ""
|
||||
msgid "%s: too many arguments"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: usage of -i for --silent is deprecated. Please use -s or --silent instead."
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: value not completely converted (can't convert '%s')"
|
||||
msgstr ""
|
||||
@@ -1827,6 +1807,9 @@ msgstr "precisão inválida: %s"
|
||||
msgid "missing hexadecimal number in escape"
|
||||
msgstr "falta número hexadecimal no escape"
|
||||
|
||||
msgid "non-zero scale value only valid for base 10"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "only f1 through f%d are supported, not 'f%s'"
|
||||
msgstr ""
|
||||
@@ -1928,9 +1911,6 @@ msgstr ""
|
||||
msgid "%s: Too many arguments"
|
||||
msgstr ""
|
||||
|
||||
msgid "%s: Too many arguments\\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "%s: Unknown function '%s'\\n"
|
||||
msgstr ""
|
||||
|
||||
@@ -10799,6 +10779,12 @@ msgstr ""
|
||||
msgid "Check that working files are unmodified."
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the GPG signature of commits"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the GPG signature of tags"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the branch related to the current directory"
|
||||
msgstr ""
|
||||
|
||||
@@ -13037,6 +13023,9 @@ msgstr ""
|
||||
msgid "Copies between two remote hosts are transferred through the local host"
|
||||
msgstr ""
|
||||
|
||||
msgid "Copr hub hostname"
|
||||
msgstr ""
|
||||
|
||||
msgid "Copy Cc: list from first message to the others"
|
||||
msgstr ""
|
||||
|
||||
@@ -16136,6 +16125,9 @@ msgstr ""
|
||||
msgid "Disable \\write18{SHELL COMMAND}"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disable a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disable a NuGet source"
|
||||
msgstr ""
|
||||
|
||||
@@ -28256,6 +28248,9 @@ msgstr ""
|
||||
msgid "Format to serialize in"
|
||||
msgstr ""
|
||||
|
||||
msgid "Format to use for the output"
|
||||
msgstr ""
|
||||
|
||||
msgid "Format to use when exporting"
|
||||
msgstr ""
|
||||
|
||||
@@ -32540,6 +32535,9 @@ msgstr ""
|
||||
msgid "Install Node.js from source"
|
||||
msgstr ""
|
||||
|
||||
msgid "Install a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Install a Python version"
|
||||
msgstr ""
|
||||
|
||||
@@ -34157,6 +34155,9 @@ msgstr ""
|
||||
msgid "List CloudFront distribution points"
|
||||
msgstr ""
|
||||
|
||||
msgid "List Copr repositories"
|
||||
msgstr ""
|
||||
|
||||
msgid "List DPP-capable devices"
|
||||
msgstr ""
|
||||
|
||||
@@ -37475,6 +37476,9 @@ msgstr ""
|
||||
msgid "Manage .pac* files"
|
||||
msgstr ""
|
||||
|
||||
msgid "Manage Copr repositories"
|
||||
msgstr ""
|
||||
|
||||
msgid "Manage Flexible Resources between Primary and Secondary Controller "
|
||||
msgstr ""
|
||||
|
||||
@@ -44432,6 +44436,9 @@ msgstr ""
|
||||
msgid "Print commands before executing them"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print commit contents"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print compiler information"
|
||||
msgstr ""
|
||||
|
||||
@@ -45542,6 +45549,9 @@ msgstr ""
|
||||
msgid "Print raw entry names"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print raw gpg status output"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print raw stats"
|
||||
msgstr ""
|
||||
|
||||
@@ -45695,6 +45705,12 @@ msgstr "Print suppressions for detected errors"
|
||||
msgid "Print synopsis and options"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print system info for debugging"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print tag contents"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print tally"
|
||||
msgstr "Print tally"
|
||||
|
||||
@@ -46070,9 +46086,6 @@ msgstr ""
|
||||
msgid "Print the version of the program and exit"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print the version string"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print the version string of firewalld"
|
||||
msgstr ""
|
||||
|
||||
@@ -46391,9 +46404,6 @@ msgstr ""
|
||||
msgid "Prints an estimate of the download size of the APK"
|
||||
msgstr ""
|
||||
|
||||
msgid "Prints author and licensing information"
|
||||
msgstr ""
|
||||
|
||||
msgid "Prints backup sets and chains currently in repository"
|
||||
msgstr ""
|
||||
|
||||
@@ -49187,6 +49197,9 @@ msgstr ""
|
||||
msgid "Remove [all] packages from cache"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove a NuGet package reference"
|
||||
msgstr ""
|
||||
|
||||
@@ -53267,9 +53280,6 @@ msgstr ""
|
||||
msgid "Save and restore package state"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save authtoken to configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save brightness"
|
||||
msgstr ""
|
||||
|
||||
@@ -64082,12 +64092,6 @@ msgstr ""
|
||||
msgid "Start a SOPS key kervice server"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a TCP tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a TLS tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a block commit operation"
|
||||
msgstr ""
|
||||
|
||||
@@ -64136,9 +64140,6 @@ msgstr ""
|
||||
msgid "Start an Elm project"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start an HTTP tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start an IRB session in the context of the current bundle"
|
||||
msgstr ""
|
||||
|
||||
@@ -64445,9 +64446,6 @@ msgstr ""
|
||||
msgid "Start tracking work in Phrequent"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start tunnels by name from the configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start up the visual interface and display its preview screen"
|
||||
msgstr ""
|
||||
|
||||
@@ -68741,9 +68739,6 @@ msgstr ""
|
||||
msgid "Update modules"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update ngrok to the latest version"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update object name stored in a ref safely"
|
||||
msgstr ""
|
||||
|
||||
@@ -74057,9 +74052,6 @@ msgstr ""
|
||||
msgid "bind key to command"
|
||||
msgstr ""
|
||||
|
||||
msgid "bind remote address (requires you reserve an address)"
|
||||
msgstr ""
|
||||
|
||||
msgid "binding for command mode"
|
||||
msgstr ""
|
||||
|
||||
@@ -75509,9 +75501,6 @@ msgstr ""
|
||||
msgid "enable word mangling rules"
|
||||
msgstr ""
|
||||
|
||||
msgid "enable/disable http introspection"
|
||||
msgstr ""
|
||||
|
||||
msgid "enables a keepalive every N seconds"
|
||||
msgstr ""
|
||||
|
||||
@@ -75521,9 +75510,6 @@ msgstr ""
|
||||
msgid "end filenames with NUL, for use with xargs"
|
||||
msgstr ""
|
||||
|
||||
msgid "enforce basic auth on tunnel endpoint, 'user:password'"
|
||||
msgstr ""
|
||||
|
||||
msgid "enforce strict mode"
|
||||
msgstr ""
|
||||
|
||||
@@ -76214,12 +76200,6 @@ msgstr ""
|
||||
msgid "highlight this process and its ancestors"
|
||||
msgstr ""
|
||||
|
||||
msgid "host tunnel on a custom subdomain"
|
||||
msgstr ""
|
||||
|
||||
msgid "host tunnel on custom hostname (requires DNS CNAME)"
|
||||
msgstr ""
|
||||
|
||||
msgid "how to combine with options from fstab/mtab"
|
||||
msgstr ""
|
||||
|
||||
@@ -76910,9 +76890,6 @@ msgstr ""
|
||||
msgid "list-dependencies flat, not as tree"
|
||||
msgstr ""
|
||||
|
||||
msgid "listen for http, https or both: true/false/both"
|
||||
msgstr ""
|
||||
|
||||
msgid "listen mode, for inbound connects"
|
||||
msgstr ""
|
||||
|
||||
@@ -77009,9 +76986,6 @@ msgstr ""
|
||||
msgid "log positions of (de)serialized objects in the snapshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "log record format: 'term', 'logfmt', 'json'"
|
||||
msgstr ""
|
||||
|
||||
msgid "log statistical profiling information"
|
||||
msgstr ""
|
||||
|
||||
@@ -77024,9 +76998,6 @@ msgstr ""
|
||||
msgid "log what we're doing to the specified FILE"
|
||||
msgstr ""
|
||||
|
||||
msgid "logging level"
|
||||
msgstr ""
|
||||
|
||||
msgid "loglevel of client"
|
||||
msgstr ""
|
||||
|
||||
@@ -77414,12 +77385,6 @@ msgstr ""
|
||||
msgid "new package name"
|
||||
msgstr ""
|
||||
|
||||
msgid "ngrok server region [us , eu, au, ap] (default: us)"
|
||||
msgstr ""
|
||||
|
||||
msgid "ngrok.com authtoken identifying a user"
|
||||
msgstr ""
|
||||
|
||||
msgid "no cleaning of distfiles."
|
||||
msgstr ""
|
||||
|
||||
@@ -77816,15 +77781,6 @@ msgstr ""
|
||||
msgid "path to SSH private key file. May be repeated."
|
||||
msgstr ""
|
||||
|
||||
msgid "path to TLS certificate authority to verify client certs"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a TLS certificate for TLS termination"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a TLS key for TLS termination"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a custom ESLint configuration file"
|
||||
msgstr ""
|
||||
|
||||
@@ -77843,15 +77799,9 @@ msgstr ""
|
||||
msgid "path to config file for the test"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to config files; they are merged if multiple"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to log file"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to log file, 'stdout', 'stderr' or 'false'"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to plan to insert multiple data files that have master-detail relationships"
|
||||
msgstr ""
|
||||
|
||||
@@ -79157,9 +79107,6 @@ msgstr ""
|
||||
msgid "set Git namespace"
|
||||
msgstr ""
|
||||
|
||||
msgid "set Host header; if 'rewrite' use local address hostname"
|
||||
msgstr ""
|
||||
|
||||
msgid "set NAME to default values"
|
||||
msgstr ""
|
||||
|
||||
@@ -79919,9 +79866,6 @@ msgstr ""
|
||||
msgid "start a server in the background"
|
||||
msgstr ""
|
||||
|
||||
msgid "start all tunnels in the configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "start and print only the URL"
|
||||
msgstr ""
|
||||
|
||||
@@ -79937,9 +79881,6 @@ msgstr ""
|
||||
msgid "start emacs with specified init directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "start running no tunnels"
|
||||
msgstr ""
|
||||
|
||||
msgid "start session"
|
||||
msgstr ""
|
||||
|
||||
@@ -80357,9 +80298,6 @@ msgstr ""
|
||||
msgid "update a record"
|
||||
msgstr ""
|
||||
|
||||
msgid "update channel (stable, beta)"
|
||||
msgstr ""
|
||||
|
||||
msgid "update client status bar"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -472,10 +472,6 @@ msgstr ""
|
||||
msgid "%s: Invalid start value '%s'"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Invalid state"
|
||||
msgstr "%s: Ogiltigt tillstånd"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Invalid style value '%s'"
|
||||
msgstr ""
|
||||
@@ -508,10 +504,6 @@ msgstr ""
|
||||
msgid "%s: Missing -- separator"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: New limit cannot be an empty string"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: No binding found for key '%s'"
|
||||
msgstr ""
|
||||
@@ -540,10 +532,6 @@ msgstr "%s: Inte i en loop"
|
||||
msgid "%s: Number out of range"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Number was empty"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Options %s and %s cannot be used together"
|
||||
msgstr ""
|
||||
@@ -580,10 +568,6 @@ msgstr ""
|
||||
msgid "%s: The directory '%s' does not exist"
|
||||
msgstr "%s: Katalogen '%s' existerar inte"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: The variable '%s' does not exist"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: There are no jobs"
|
||||
msgstr "%s: Det finns inga jobb"
|
||||
@@ -768,10 +752,6 @@ msgstr ""
|
||||
msgid "%s: too many arguments"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: usage of -i for --silent is deprecated. Please use -s or --silent instead."
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "%s: value not completely converted (can't convert '%s')"
|
||||
msgstr ""
|
||||
@@ -1823,6 +1803,9 @@ msgstr ""
|
||||
msgid "missing hexadecimal number in escape"
|
||||
msgstr "saknad hexadecimalt nummer i escapesekvens"
|
||||
|
||||
msgid "non-zero scale value only valid for base 10"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "only f1 through f%d are supported, not 'f%s'"
|
||||
msgstr ""
|
||||
@@ -1922,10 +1905,7 @@ msgid "%s: The number of positions to skip must be a non-negative integer\\n"
|
||||
msgstr "%s: Antalet positioner att hoppa över måste vara ett positivt heltal\\n"
|
||||
|
||||
msgid "%s: Too many arguments"
|
||||
msgstr ""
|
||||
|
||||
msgid "%s: Too many arguments\\n"
|
||||
msgstr "%s: För många argument\\n"
|
||||
msgstr "%s: För många argument"
|
||||
|
||||
msgid "%s: Unknown function '%s'\\n"
|
||||
msgstr "%s: Okänd funktion '%s'\\n"
|
||||
@@ -10795,6 +10775,12 @@ msgstr ""
|
||||
msgid "Check that working files are unmodified."
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the GPG signature of commits"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the GPG signature of tags"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the branch related to the current directory"
|
||||
msgstr ""
|
||||
|
||||
@@ -13033,6 +13019,9 @@ msgstr ""
|
||||
msgid "Copies between two remote hosts are transferred through the local host"
|
||||
msgstr ""
|
||||
|
||||
msgid "Copr hub hostname"
|
||||
msgstr ""
|
||||
|
||||
msgid "Copy Cc: list from first message to the others"
|
||||
msgstr ""
|
||||
|
||||
@@ -16132,6 +16121,9 @@ msgstr ""
|
||||
msgid "Disable \\write18{SHELL COMMAND}"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disable a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disable a NuGet source"
|
||||
msgstr ""
|
||||
|
||||
@@ -28252,6 +28244,9 @@ msgstr ""
|
||||
msgid "Format to serialize in"
|
||||
msgstr ""
|
||||
|
||||
msgid "Format to use for the output"
|
||||
msgstr ""
|
||||
|
||||
msgid "Format to use when exporting"
|
||||
msgstr ""
|
||||
|
||||
@@ -32536,6 +32531,9 @@ msgstr ""
|
||||
msgid "Install Node.js from source"
|
||||
msgstr ""
|
||||
|
||||
msgid "Install a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Install a Python version"
|
||||
msgstr ""
|
||||
|
||||
@@ -34153,6 +34151,9 @@ msgstr ""
|
||||
msgid "List CloudFront distribution points"
|
||||
msgstr ""
|
||||
|
||||
msgid "List Copr repositories"
|
||||
msgstr ""
|
||||
|
||||
msgid "List DPP-capable devices"
|
||||
msgstr ""
|
||||
|
||||
@@ -37471,6 +37472,9 @@ msgstr ""
|
||||
msgid "Manage .pac* files"
|
||||
msgstr ""
|
||||
|
||||
msgid "Manage Copr repositories"
|
||||
msgstr ""
|
||||
|
||||
msgid "Manage Flexible Resources between Primary and Secondary Controller "
|
||||
msgstr ""
|
||||
|
||||
@@ -44428,6 +44432,9 @@ msgstr ""
|
||||
msgid "Print commands before executing them"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print commit contents"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print compiler information"
|
||||
msgstr ""
|
||||
|
||||
@@ -45538,6 +45545,9 @@ msgstr ""
|
||||
msgid "Print raw entry names"
|
||||
msgstr "Skriv obehandlade filnamn"
|
||||
|
||||
msgid "Print raw gpg status output"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print raw stats"
|
||||
msgstr ""
|
||||
|
||||
@@ -45691,6 +45701,12 @@ msgstr "Visa undertryckningar för detekterade fel"
|
||||
msgid "Print synopsis and options"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print system info for debugging"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print tag contents"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print tally"
|
||||
msgstr "Visa sammanställning av antal funktionanrop"
|
||||
|
||||
@@ -46066,9 +46082,6 @@ msgstr ""
|
||||
msgid "Print the version of the program and exit"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print the version string"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print the version string of firewalld"
|
||||
msgstr ""
|
||||
|
||||
@@ -46387,9 +46400,6 @@ msgstr ""
|
||||
msgid "Prints an estimate of the download size of the APK"
|
||||
msgstr ""
|
||||
|
||||
msgid "Prints author and licensing information"
|
||||
msgstr ""
|
||||
|
||||
msgid "Prints backup sets and chains currently in repository"
|
||||
msgstr ""
|
||||
|
||||
@@ -49183,6 +49193,9 @@ msgstr ""
|
||||
msgid "Remove [all] packages from cache"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove a NuGet package reference"
|
||||
msgstr ""
|
||||
|
||||
@@ -53263,9 +53276,6 @@ msgstr ""
|
||||
msgid "Save and restore package state"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save authtoken to configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save brightness"
|
||||
msgstr ""
|
||||
|
||||
@@ -64078,12 +64088,6 @@ msgstr ""
|
||||
msgid "Start a SOPS key kervice server"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a TCP tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a TLS tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a block commit operation"
|
||||
msgstr ""
|
||||
|
||||
@@ -64132,9 +64136,6 @@ msgstr ""
|
||||
msgid "Start an Elm project"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start an HTTP tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start an IRB session in the context of the current bundle"
|
||||
msgstr ""
|
||||
|
||||
@@ -64441,9 +64442,6 @@ msgstr ""
|
||||
msgid "Start tracking work in Phrequent"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start tunnels by name from the configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start up the visual interface and display its preview screen"
|
||||
msgstr ""
|
||||
|
||||
@@ -68737,9 +68735,6 @@ msgstr "Uppdatera spegellista"
|
||||
msgid "Update modules"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update ngrok to the latest version"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update object name stored in a ref safely"
|
||||
msgstr ""
|
||||
|
||||
@@ -74053,9 +74048,6 @@ msgstr ""
|
||||
msgid "bind key to command"
|
||||
msgstr ""
|
||||
|
||||
msgid "bind remote address (requires you reserve an address)"
|
||||
msgstr ""
|
||||
|
||||
msgid "binding for command mode"
|
||||
msgstr ""
|
||||
|
||||
@@ -75505,9 +75497,6 @@ msgstr ""
|
||||
msgid "enable word mangling rules"
|
||||
msgstr ""
|
||||
|
||||
msgid "enable/disable http introspection"
|
||||
msgstr ""
|
||||
|
||||
msgid "enables a keepalive every N seconds"
|
||||
msgstr ""
|
||||
|
||||
@@ -75517,9 +75506,6 @@ msgstr ""
|
||||
msgid "end filenames with NUL, for use with xargs"
|
||||
msgstr ""
|
||||
|
||||
msgid "enforce basic auth on tunnel endpoint, 'user:password'"
|
||||
msgstr ""
|
||||
|
||||
msgid "enforce strict mode"
|
||||
msgstr ""
|
||||
|
||||
@@ -76210,12 +76196,6 @@ msgstr ""
|
||||
msgid "highlight this process and its ancestors"
|
||||
msgstr ""
|
||||
|
||||
msgid "host tunnel on a custom subdomain"
|
||||
msgstr ""
|
||||
|
||||
msgid "host tunnel on custom hostname (requires DNS CNAME)"
|
||||
msgstr ""
|
||||
|
||||
msgid "how to combine with options from fstab/mtab"
|
||||
msgstr ""
|
||||
|
||||
@@ -76906,9 +76886,6 @@ msgstr ""
|
||||
msgid "list-dependencies flat, not as tree"
|
||||
msgstr ""
|
||||
|
||||
msgid "listen for http, https or both: true/false/both"
|
||||
msgstr ""
|
||||
|
||||
msgid "listen mode, for inbound connects"
|
||||
msgstr ""
|
||||
|
||||
@@ -77005,9 +76982,6 @@ msgstr ""
|
||||
msgid "log positions of (de)serialized objects in the snapshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "log record format: 'term', 'logfmt', 'json'"
|
||||
msgstr ""
|
||||
|
||||
msgid "log statistical profiling information"
|
||||
msgstr ""
|
||||
|
||||
@@ -77020,9 +76994,6 @@ msgstr ""
|
||||
msgid "log what we're doing to the specified FILE"
|
||||
msgstr ""
|
||||
|
||||
msgid "logging level"
|
||||
msgstr ""
|
||||
|
||||
msgid "loglevel of client"
|
||||
msgstr ""
|
||||
|
||||
@@ -77410,12 +77381,6 @@ msgstr ""
|
||||
msgid "new package name"
|
||||
msgstr ""
|
||||
|
||||
msgid "ngrok server region [us , eu, au, ap] (default: us)"
|
||||
msgstr ""
|
||||
|
||||
msgid "ngrok.com authtoken identifying a user"
|
||||
msgstr ""
|
||||
|
||||
msgid "no cleaning of distfiles."
|
||||
msgstr ""
|
||||
|
||||
@@ -77812,15 +77777,6 @@ msgstr ""
|
||||
msgid "path to SSH private key file. May be repeated."
|
||||
msgstr ""
|
||||
|
||||
msgid "path to TLS certificate authority to verify client certs"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a TLS certificate for TLS termination"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a TLS key for TLS termination"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a custom ESLint configuration file"
|
||||
msgstr ""
|
||||
|
||||
@@ -77839,15 +77795,9 @@ msgstr ""
|
||||
msgid "path to config file for the test"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to config files; they are merged if multiple"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to log file"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to log file, 'stdout', 'stderr' or 'false'"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to plan to insert multiple data files that have master-detail relationships"
|
||||
msgstr ""
|
||||
|
||||
@@ -79153,9 +79103,6 @@ msgstr ""
|
||||
msgid "set Git namespace"
|
||||
msgstr ""
|
||||
|
||||
msgid "set Host header; if 'rewrite' use local address hostname"
|
||||
msgstr ""
|
||||
|
||||
msgid "set NAME to default values"
|
||||
msgstr ""
|
||||
|
||||
@@ -79915,9 +79862,6 @@ msgstr ""
|
||||
msgid "start a server in the background"
|
||||
msgstr ""
|
||||
|
||||
msgid "start all tunnels in the configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "start and print only the URL"
|
||||
msgstr ""
|
||||
|
||||
@@ -79933,9 +79877,6 @@ msgstr ""
|
||||
msgid "start emacs with specified init directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "start running no tunnels"
|
||||
msgstr ""
|
||||
|
||||
msgid "start session"
|
||||
msgstr ""
|
||||
|
||||
@@ -80353,9 +80294,6 @@ msgstr ""
|
||||
msgid "update a record"
|
||||
msgstr ""
|
||||
|
||||
msgid "update channel (stable, beta)"
|
||||
msgstr ""
|
||||
|
||||
msgid "update client status bar"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -496,10 +496,6 @@ msgstr "%s: 无效的排序键 '%s'"
|
||||
msgid "%s: Invalid start value '%s'"
|
||||
msgstr "%s: 无效的起始值 '%s'"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Invalid state"
|
||||
msgstr "%s: 无效状态"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Invalid style value '%s'"
|
||||
msgstr "%s: 无效的样式值 '%s'"
|
||||
@@ -532,10 +528,6 @@ msgstr "%s: 长标识 '%s' 已定义"
|
||||
msgid "%s: Missing -- separator"
|
||||
msgstr "%s: 缺少 -- 分隔符"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: New limit cannot be an empty string"
|
||||
msgstr "%s: 新限制不能为空字符串"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: No binding found for key '%s'"
|
||||
msgstr "%s: 未找到键 '%s' 的绑定"
|
||||
@@ -564,10 +556,6 @@ msgstr "%s: 不在循环体内部"
|
||||
msgid "%s: Number out of range"
|
||||
msgstr "%s:数字超出范围"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Number was empty"
|
||||
msgstr "%s:数字为空"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Options %s and %s cannot be used together"
|
||||
msgstr "%s: 选项 %s 和 %s 无法一起使用"
|
||||
@@ -604,10 +592,6 @@ msgstr "%s: 短标识 '%c' 无效,必须是字母、数字或 '#'"
|
||||
msgid "%s: The directory '%s' does not exist"
|
||||
msgstr "%s: 目录 '%s' 不存在"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: The variable '%s' does not exist"
|
||||
msgstr "%s: 变量 '%s' 不存在"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: There are no jobs"
|
||||
msgstr "%s: 没有作业"
|
||||
@@ -792,10 +776,6 @@ msgstr "%s: 不存在行 %s"
|
||||
msgid "%s: too many arguments"
|
||||
msgstr "%s: 参数太多"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: usage of -i for --silent is deprecated. Please use -s or --silent instead."
|
||||
msgstr "%s: 参数 -i 用于表示 --silent 已弃用。请改用 -s 或 --silent 代替。"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: value not completely converted (can't convert '%s')"
|
||||
msgstr "%s: 数值未完全转换 (无法转换 '%s')"
|
||||
@@ -1850,6 +1830,9 @@ msgstr "无效的精度:%s"
|
||||
msgid "missing hexadecimal number in escape"
|
||||
msgstr "在转义中缺少十六进制数字"
|
||||
|
||||
msgid "non-zero scale value only valid for base 10"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "only f1 through f%d are supported, not 'f%s'"
|
||||
msgstr "仅支持 f1 至 f%d,不支持 'f%s'"
|
||||
@@ -1951,9 +1934,6 @@ msgstr "%s: 要跳过的位置数必须是非负整数\\n"
|
||||
msgid "%s: Too many arguments"
|
||||
msgstr "%s: 参数过多"
|
||||
|
||||
msgid "%s: Too many arguments\\n"
|
||||
msgstr "%s: 参数过多\\n"
|
||||
|
||||
msgid "%s: Unknown function '%s'\\n"
|
||||
msgstr "%s: 未知函数 '%s'\\n"
|
||||
|
||||
@@ -10822,6 +10802,12 @@ msgstr ""
|
||||
msgid "Check that working files are unmodified."
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the GPG signature of commits"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the GPG signature of tags"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the branch related to the current directory"
|
||||
msgstr ""
|
||||
|
||||
@@ -13060,6 +13046,9 @@ msgstr ""
|
||||
msgid "Copies between two remote hosts are transferred through the local host"
|
||||
msgstr ""
|
||||
|
||||
msgid "Copr hub hostname"
|
||||
msgstr ""
|
||||
|
||||
msgid "Copy Cc: list from first message to the others"
|
||||
msgstr ""
|
||||
|
||||
@@ -16159,6 +16148,9 @@ msgstr ""
|
||||
msgid "Disable \\write18{SHELL COMMAND}"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disable a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disable a NuGet source"
|
||||
msgstr ""
|
||||
|
||||
@@ -28279,6 +28271,9 @@ msgstr ""
|
||||
msgid "Format to serialize in"
|
||||
msgstr ""
|
||||
|
||||
msgid "Format to use for the output"
|
||||
msgstr ""
|
||||
|
||||
msgid "Format to use when exporting"
|
||||
msgstr ""
|
||||
|
||||
@@ -32563,6 +32558,9 @@ msgstr ""
|
||||
msgid "Install Node.js from source"
|
||||
msgstr ""
|
||||
|
||||
msgid "Install a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Install a Python version"
|
||||
msgstr ""
|
||||
|
||||
@@ -34180,6 +34178,9 @@ msgstr ""
|
||||
msgid "List CloudFront distribution points"
|
||||
msgstr ""
|
||||
|
||||
msgid "List Copr repositories"
|
||||
msgstr ""
|
||||
|
||||
msgid "List DPP-capable devices"
|
||||
msgstr ""
|
||||
|
||||
@@ -37498,6 +37499,9 @@ msgstr ""
|
||||
msgid "Manage .pac* files"
|
||||
msgstr ""
|
||||
|
||||
msgid "Manage Copr repositories"
|
||||
msgstr ""
|
||||
|
||||
msgid "Manage Flexible Resources between Primary and Secondary Controller "
|
||||
msgstr ""
|
||||
|
||||
@@ -44455,6 +44459,9 @@ msgstr ""
|
||||
msgid "Print commands before executing them"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print commit contents"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print compiler information"
|
||||
msgstr ""
|
||||
|
||||
@@ -45565,6 +45572,9 @@ msgstr ""
|
||||
msgid "Print raw entry names"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print raw gpg status output"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print raw stats"
|
||||
msgstr ""
|
||||
|
||||
@@ -45718,6 +45728,12 @@ msgstr ""
|
||||
msgid "Print synopsis and options"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print system info for debugging"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print tag contents"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print tally"
|
||||
msgstr ""
|
||||
|
||||
@@ -46093,9 +46109,6 @@ msgstr ""
|
||||
msgid "Print the version of the program and exit"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print the version string"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print the version string of firewalld"
|
||||
msgstr ""
|
||||
|
||||
@@ -46414,9 +46427,6 @@ msgstr ""
|
||||
msgid "Prints an estimate of the download size of the APK"
|
||||
msgstr ""
|
||||
|
||||
msgid "Prints author and licensing information"
|
||||
msgstr ""
|
||||
|
||||
msgid "Prints backup sets and chains currently in repository"
|
||||
msgstr ""
|
||||
|
||||
@@ -49210,6 +49220,9 @@ msgstr ""
|
||||
msgid "Remove [all] packages from cache"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove a NuGet package reference"
|
||||
msgstr ""
|
||||
|
||||
@@ -53290,9 +53303,6 @@ msgstr ""
|
||||
msgid "Save and restore package state"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save authtoken to configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save brightness"
|
||||
msgstr ""
|
||||
|
||||
@@ -64105,12 +64115,6 @@ msgstr ""
|
||||
msgid "Start a SOPS key kervice server"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a TCP tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a TLS tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a block commit operation"
|
||||
msgstr ""
|
||||
|
||||
@@ -64159,9 +64163,6 @@ msgstr ""
|
||||
msgid "Start an Elm project"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start an HTTP tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start an IRB session in the context of the current bundle"
|
||||
msgstr ""
|
||||
|
||||
@@ -64468,9 +64469,6 @@ msgstr ""
|
||||
msgid "Start tracking work in Phrequent"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start tunnels by name from the configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start up the visual interface and display its preview screen"
|
||||
msgstr ""
|
||||
|
||||
@@ -68764,9 +68762,6 @@ msgstr ""
|
||||
msgid "Update modules"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update ngrok to the latest version"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update object name stored in a ref safely"
|
||||
msgstr ""
|
||||
|
||||
@@ -74080,9 +74075,6 @@ msgstr ""
|
||||
msgid "bind key to command"
|
||||
msgstr ""
|
||||
|
||||
msgid "bind remote address (requires you reserve an address)"
|
||||
msgstr ""
|
||||
|
||||
msgid "binding for command mode"
|
||||
msgstr ""
|
||||
|
||||
@@ -75532,9 +75524,6 @@ msgstr ""
|
||||
msgid "enable word mangling rules"
|
||||
msgstr ""
|
||||
|
||||
msgid "enable/disable http introspection"
|
||||
msgstr ""
|
||||
|
||||
msgid "enables a keepalive every N seconds"
|
||||
msgstr ""
|
||||
|
||||
@@ -75544,9 +75533,6 @@ msgstr ""
|
||||
msgid "end filenames with NUL, for use with xargs"
|
||||
msgstr ""
|
||||
|
||||
msgid "enforce basic auth on tunnel endpoint, 'user:password'"
|
||||
msgstr ""
|
||||
|
||||
msgid "enforce strict mode"
|
||||
msgstr ""
|
||||
|
||||
@@ -76237,12 +76223,6 @@ msgstr ""
|
||||
msgid "highlight this process and its ancestors"
|
||||
msgstr ""
|
||||
|
||||
msgid "host tunnel on a custom subdomain"
|
||||
msgstr ""
|
||||
|
||||
msgid "host tunnel on custom hostname (requires DNS CNAME)"
|
||||
msgstr ""
|
||||
|
||||
msgid "how to combine with options from fstab/mtab"
|
||||
msgstr ""
|
||||
|
||||
@@ -76933,9 +76913,6 @@ msgstr ""
|
||||
msgid "list-dependencies flat, not as tree"
|
||||
msgstr ""
|
||||
|
||||
msgid "listen for http, https or both: true/false/both"
|
||||
msgstr ""
|
||||
|
||||
msgid "listen mode, for inbound connects"
|
||||
msgstr ""
|
||||
|
||||
@@ -77032,9 +77009,6 @@ msgstr ""
|
||||
msgid "log positions of (de)serialized objects in the snapshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "log record format: 'term', 'logfmt', 'json'"
|
||||
msgstr ""
|
||||
|
||||
msgid "log statistical profiling information"
|
||||
msgstr ""
|
||||
|
||||
@@ -77047,9 +77021,6 @@ msgstr ""
|
||||
msgid "log what we're doing to the specified FILE"
|
||||
msgstr ""
|
||||
|
||||
msgid "logging level"
|
||||
msgstr ""
|
||||
|
||||
msgid "loglevel of client"
|
||||
msgstr ""
|
||||
|
||||
@@ -77437,12 +77408,6 @@ msgstr ""
|
||||
msgid "new package name"
|
||||
msgstr ""
|
||||
|
||||
msgid "ngrok server region [us , eu, au, ap] (default: us)"
|
||||
msgstr ""
|
||||
|
||||
msgid "ngrok.com authtoken identifying a user"
|
||||
msgstr ""
|
||||
|
||||
msgid "no cleaning of distfiles."
|
||||
msgstr ""
|
||||
|
||||
@@ -77839,15 +77804,6 @@ msgstr ""
|
||||
msgid "path to SSH private key file. May be repeated."
|
||||
msgstr ""
|
||||
|
||||
msgid "path to TLS certificate authority to verify client certs"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a TLS certificate for TLS termination"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a TLS key for TLS termination"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a custom ESLint configuration file"
|
||||
msgstr ""
|
||||
|
||||
@@ -77866,15 +77822,9 @@ msgstr ""
|
||||
msgid "path to config file for the test"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to config files; they are merged if multiple"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to log file"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to log file, 'stdout', 'stderr' or 'false'"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to plan to insert multiple data files that have master-detail relationships"
|
||||
msgstr ""
|
||||
|
||||
@@ -79180,9 +79130,6 @@ msgstr ""
|
||||
msgid "set Git namespace"
|
||||
msgstr ""
|
||||
|
||||
msgid "set Host header; if 'rewrite' use local address hostname"
|
||||
msgstr ""
|
||||
|
||||
msgid "set NAME to default values"
|
||||
msgstr ""
|
||||
|
||||
@@ -79942,9 +79889,6 @@ msgstr ""
|
||||
msgid "start a server in the background"
|
||||
msgstr ""
|
||||
|
||||
msgid "start all tunnels in the configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "start and print only the URL"
|
||||
msgstr ""
|
||||
|
||||
@@ -79960,9 +79904,6 @@ msgstr ""
|
||||
msgid "start emacs with specified init directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "start running no tunnels"
|
||||
msgstr ""
|
||||
|
||||
msgid "start session"
|
||||
msgstr ""
|
||||
|
||||
@@ -80380,9 +80321,6 @@ msgstr ""
|
||||
msgid "update a record"
|
||||
msgstr ""
|
||||
|
||||
msgid "update channel (stable, beta)"
|
||||
msgstr ""
|
||||
|
||||
msgid "update client status bar"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -469,10 +469,6 @@ msgstr "%s:無效的排序鍵「%s」"
|
||||
msgid "%s: Invalid start value '%s'"
|
||||
msgstr "%s:無效的起點索引值「%s」"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Invalid state"
|
||||
msgstr "%s:無效的狀態"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Invalid style value '%s'"
|
||||
msgstr "%s:無效的樣式「%s」"
|
||||
@@ -505,10 +501,6 @@ msgstr "%s:定義過長旗標「%s」了"
|
||||
msgid "%s: Missing -- separator"
|
||||
msgstr "%s:缺少 -- 分隔"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: New limit cannot be an empty string"
|
||||
msgstr "%s:新的限制不能是空字串"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: No binding found for key '%s'"
|
||||
msgstr "%s:找不到按鍵「%s」的綁定"
|
||||
@@ -537,10 +529,6 @@ msgstr "%s:不在迴圈裡面"
|
||||
msgid "%s: Number out of range"
|
||||
msgstr "%s:數字超出範圍"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Number was empty"
|
||||
msgstr "%s:數字空白"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: Options %s and %s cannot be used together"
|
||||
msgstr "%s:選項 %s 和 %s 不能同時使用"
|
||||
@@ -577,10 +565,6 @@ msgstr "%s:短旗標「%c」無效,必須是字母、數字、或「#」"
|
||||
msgid "%s: The directory '%s' does not exist"
|
||||
msgstr "%s:目錄「%s」不存在"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: The variable '%s' does not exist"
|
||||
msgstr "%s:變數「%s」不存在"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: There are no jobs"
|
||||
msgstr "%s:沒有作業"
|
||||
@@ -765,10 +749,6 @@ msgstr "%s:沒有第 %s 行"
|
||||
msgid "%s: too many arguments"
|
||||
msgstr "%s:太多引數"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: usage of -i for --silent is deprecated. Please use -s or --silent instead."
|
||||
msgstr "%s:以 -i 表示 --silent 的作法已棄用。請改用 -s 或 --silent。"
|
||||
|
||||
#, c-format
|
||||
msgid "%s: value not completely converted (can't convert '%s')"
|
||||
msgstr "%s:值未完全轉換(無法轉換「%s」)"
|
||||
@@ -1824,6 +1804,9 @@ msgstr "無效的精度:%s"
|
||||
msgid "missing hexadecimal number in escape"
|
||||
msgstr "轉義序列缺少十六進位數字"
|
||||
|
||||
msgid "non-zero scale value only valid for base 10"
|
||||
msgstr ""
|
||||
|
||||
#, c-format
|
||||
msgid "only f1 through f%d are supported, not 'f%s'"
|
||||
msgstr "只支援 f1 至 f%d,不包括「f%s」"
|
||||
@@ -1924,10 +1907,7 @@ msgid "%s: The number of positions to skip must be a non-negative integer\\n"
|
||||
msgstr "%s:要略過的位置數量必須是非負整數\\n"
|
||||
|
||||
msgid "%s: Too many arguments"
|
||||
msgstr "%s:引數太少"
|
||||
|
||||
msgid "%s: Too many arguments\\n"
|
||||
msgstr "%s:引數太多\\n"
|
||||
msgstr "%s:引數太多"
|
||||
|
||||
msgid "%s: Unknown function '%s'\\n"
|
||||
msgstr "%s:未知函式「%s」\\n"
|
||||
@@ -10799,6 +10779,12 @@ msgstr ""
|
||||
msgid "Check that working files are unmodified."
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the GPG signature of commits"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the GPG signature of tags"
|
||||
msgstr ""
|
||||
|
||||
msgid "Check the branch related to the current directory"
|
||||
msgstr ""
|
||||
|
||||
@@ -13037,6 +13023,9 @@ msgstr ""
|
||||
msgid "Copies between two remote hosts are transferred through the local host"
|
||||
msgstr ""
|
||||
|
||||
msgid "Copr hub hostname"
|
||||
msgstr ""
|
||||
|
||||
msgid "Copy Cc: list from first message to the others"
|
||||
msgstr ""
|
||||
|
||||
@@ -16136,6 +16125,9 @@ msgstr ""
|
||||
msgid "Disable \\write18{SHELL COMMAND}"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disable a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disable a NuGet source"
|
||||
msgstr ""
|
||||
|
||||
@@ -28256,6 +28248,9 @@ msgstr ""
|
||||
msgid "Format to serialize in"
|
||||
msgstr ""
|
||||
|
||||
msgid "Format to use for the output"
|
||||
msgstr ""
|
||||
|
||||
msgid "Format to use when exporting"
|
||||
msgstr ""
|
||||
|
||||
@@ -32540,6 +32535,9 @@ msgstr ""
|
||||
msgid "Install Node.js from source"
|
||||
msgstr ""
|
||||
|
||||
msgid "Install a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Install a Python version"
|
||||
msgstr ""
|
||||
|
||||
@@ -34157,6 +34155,9 @@ msgstr ""
|
||||
msgid "List CloudFront distribution points"
|
||||
msgstr ""
|
||||
|
||||
msgid "List Copr repositories"
|
||||
msgstr ""
|
||||
|
||||
msgid "List DPP-capable devices"
|
||||
msgstr ""
|
||||
|
||||
@@ -37475,6 +37476,9 @@ msgstr ""
|
||||
msgid "Manage .pac* files"
|
||||
msgstr ""
|
||||
|
||||
msgid "Manage Copr repositories"
|
||||
msgstr ""
|
||||
|
||||
msgid "Manage Flexible Resources between Primary and Secondary Controller "
|
||||
msgstr ""
|
||||
|
||||
@@ -44432,6 +44436,9 @@ msgstr ""
|
||||
msgid "Print commands before executing them"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print commit contents"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print compiler information"
|
||||
msgstr ""
|
||||
|
||||
@@ -45542,6 +45549,9 @@ msgstr ""
|
||||
msgid "Print raw entry names"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print raw gpg status output"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print raw stats"
|
||||
msgstr ""
|
||||
|
||||
@@ -45695,6 +45705,12 @@ msgstr ""
|
||||
msgid "Print synopsis and options"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print system info for debugging"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print tag contents"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print tally"
|
||||
msgstr ""
|
||||
|
||||
@@ -46070,9 +46086,6 @@ msgstr ""
|
||||
msgid "Print the version of the program and exit"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print the version string"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print the version string of firewalld"
|
||||
msgstr ""
|
||||
|
||||
@@ -46391,9 +46404,6 @@ msgstr ""
|
||||
msgid "Prints an estimate of the download size of the APK"
|
||||
msgstr ""
|
||||
|
||||
msgid "Prints author and licensing information"
|
||||
msgstr ""
|
||||
|
||||
msgid "Prints backup sets and chains currently in repository"
|
||||
msgstr ""
|
||||
|
||||
@@ -49187,6 +49197,9 @@ msgstr ""
|
||||
msgid "Remove [all] packages from cache"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove a Copr repository"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remove a NuGet package reference"
|
||||
msgstr ""
|
||||
|
||||
@@ -53267,9 +53280,6 @@ msgstr ""
|
||||
msgid "Save and restore package state"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save authtoken to configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Save brightness"
|
||||
msgstr ""
|
||||
|
||||
@@ -64082,12 +64092,6 @@ msgstr ""
|
||||
msgid "Start a SOPS key kervice server"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a TCP tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a TLS tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start a block commit operation"
|
||||
msgstr ""
|
||||
|
||||
@@ -64136,9 +64140,6 @@ msgstr ""
|
||||
msgid "Start an Elm project"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start an HTTP tunnel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start an IRB session in the context of the current bundle"
|
||||
msgstr ""
|
||||
|
||||
@@ -64445,9 +64446,6 @@ msgstr ""
|
||||
msgid "Start tracking work in Phrequent"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start tunnels by name from the configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Start up the visual interface and display its preview screen"
|
||||
msgstr ""
|
||||
|
||||
@@ -68741,9 +68739,6 @@ msgstr ""
|
||||
msgid "Update modules"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update ngrok to the latest version"
|
||||
msgstr ""
|
||||
|
||||
msgid "Update object name stored in a ref safely"
|
||||
msgstr ""
|
||||
|
||||
@@ -74057,9 +74052,6 @@ msgstr ""
|
||||
msgid "bind key to command"
|
||||
msgstr ""
|
||||
|
||||
msgid "bind remote address (requires you reserve an address)"
|
||||
msgstr ""
|
||||
|
||||
msgid "binding for command mode"
|
||||
msgstr ""
|
||||
|
||||
@@ -75509,9 +75501,6 @@ msgstr ""
|
||||
msgid "enable word mangling rules"
|
||||
msgstr ""
|
||||
|
||||
msgid "enable/disable http introspection"
|
||||
msgstr ""
|
||||
|
||||
msgid "enables a keepalive every N seconds"
|
||||
msgstr ""
|
||||
|
||||
@@ -75521,9 +75510,6 @@ msgstr ""
|
||||
msgid "end filenames with NUL, for use with xargs"
|
||||
msgstr ""
|
||||
|
||||
msgid "enforce basic auth on tunnel endpoint, 'user:password'"
|
||||
msgstr ""
|
||||
|
||||
msgid "enforce strict mode"
|
||||
msgstr ""
|
||||
|
||||
@@ -76214,12 +76200,6 @@ msgstr ""
|
||||
msgid "highlight this process and its ancestors"
|
||||
msgstr ""
|
||||
|
||||
msgid "host tunnel on a custom subdomain"
|
||||
msgstr ""
|
||||
|
||||
msgid "host tunnel on custom hostname (requires DNS CNAME)"
|
||||
msgstr ""
|
||||
|
||||
msgid "how to combine with options from fstab/mtab"
|
||||
msgstr ""
|
||||
|
||||
@@ -76910,9 +76890,6 @@ msgstr ""
|
||||
msgid "list-dependencies flat, not as tree"
|
||||
msgstr ""
|
||||
|
||||
msgid "listen for http, https or both: true/false/both"
|
||||
msgstr ""
|
||||
|
||||
msgid "listen mode, for inbound connects"
|
||||
msgstr ""
|
||||
|
||||
@@ -77009,9 +76986,6 @@ msgstr ""
|
||||
msgid "log positions of (de)serialized objects in the snapshot"
|
||||
msgstr ""
|
||||
|
||||
msgid "log record format: 'term', 'logfmt', 'json'"
|
||||
msgstr ""
|
||||
|
||||
msgid "log statistical profiling information"
|
||||
msgstr ""
|
||||
|
||||
@@ -77024,9 +76998,6 @@ msgstr ""
|
||||
msgid "log what we're doing to the specified FILE"
|
||||
msgstr ""
|
||||
|
||||
msgid "logging level"
|
||||
msgstr ""
|
||||
|
||||
msgid "loglevel of client"
|
||||
msgstr ""
|
||||
|
||||
@@ -77414,12 +77385,6 @@ msgstr ""
|
||||
msgid "new package name"
|
||||
msgstr ""
|
||||
|
||||
msgid "ngrok server region [us , eu, au, ap] (default: us)"
|
||||
msgstr ""
|
||||
|
||||
msgid "ngrok.com authtoken identifying a user"
|
||||
msgstr ""
|
||||
|
||||
msgid "no cleaning of distfiles."
|
||||
msgstr ""
|
||||
|
||||
@@ -77816,15 +77781,6 @@ msgstr ""
|
||||
msgid "path to SSH private key file. May be repeated."
|
||||
msgstr ""
|
||||
|
||||
msgid "path to TLS certificate authority to verify client certs"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a TLS certificate for TLS termination"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a TLS key for TLS termination"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to a custom ESLint configuration file"
|
||||
msgstr ""
|
||||
|
||||
@@ -77843,15 +77799,9 @@ msgstr ""
|
||||
msgid "path to config file for the test"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to config files; they are merged if multiple"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to log file"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to log file, 'stdout', 'stderr' or 'false'"
|
||||
msgstr ""
|
||||
|
||||
msgid "path to plan to insert multiple data files that have master-detail relationships"
|
||||
msgstr ""
|
||||
|
||||
@@ -79157,9 +79107,6 @@ msgstr ""
|
||||
msgid "set Git namespace"
|
||||
msgstr ""
|
||||
|
||||
msgid "set Host header; if 'rewrite' use local address hostname"
|
||||
msgstr ""
|
||||
|
||||
msgid "set NAME to default values"
|
||||
msgstr ""
|
||||
|
||||
@@ -79919,9 +79866,6 @@ msgstr ""
|
||||
msgid "start a server in the background"
|
||||
msgstr ""
|
||||
|
||||
msgid "start all tunnels in the configuration file"
|
||||
msgstr ""
|
||||
|
||||
msgid "start and print only the URL"
|
||||
msgstr ""
|
||||
|
||||
@@ -79937,9 +79881,6 @@ msgstr ""
|
||||
msgid "start emacs with specified init directory"
|
||||
msgstr ""
|
||||
|
||||
msgid "start running no tunnels"
|
||||
msgstr ""
|
||||
|
||||
msgid "start session"
|
||||
msgstr ""
|
||||
|
||||
@@ -80357,9 +80298,6 @@ msgstr ""
|
||||
msgid "update a record"
|
||||
msgstr ""
|
||||
|
||||
msgid "update channel (stable, beta)"
|
||||
msgstr ""
|
||||
|
||||
msgid "update client status bar"
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -10,6 +10,19 @@ function __dnf_list_installed_packages
|
||||
dnf repoquery --cacheonly "$cur*" --qf "%{name}\n" --installed </dev/null
|
||||
end
|
||||
|
||||
function __dnf_list_copr_repos
|
||||
set -l copr_repos (dnf copr list)
|
||||
|
||||
switch $argv[1]
|
||||
case enable
|
||||
string replace -f -- " (disabled)" "" $copr_repos
|
||||
case disable
|
||||
string match -v -- "*(disabled)*" $copr_repos
|
||||
case '*'
|
||||
string replace -- " (disabled)" "" $copr_repos
|
||||
end
|
||||
end
|
||||
|
||||
function __dnf_list_available_packages
|
||||
set -l tok (commandline -ct | string collect)
|
||||
set -l files (__fish_complete_suffix .rpm)
|
||||
@@ -86,6 +99,20 @@ complete -c dnf -n "__fish_seen_subcommand_from clean" -xa metadata -d "Removes
|
||||
complete -c dnf -n "__fish_seen_subcommand_from clean" -xa packages -d "Removes any cached packages"
|
||||
complete -c dnf -n "__fish_seen_subcommand_from clean" -xa all -d "Removes all cache"
|
||||
|
||||
# Copr
|
||||
set -l coprcommands list enable disable remove debug
|
||||
complete -c dnf -n __fish_use_subcommand -xa copr -d "Manage Copr repositories"
|
||||
complete -c dnf -n "__fish_seen_subcommand_from copr; and not __fish_seen_subcommand_from $coprcommands" -xa list -d "List Copr repositories"
|
||||
complete -c dnf -n "__fish_seen_subcommand_from copr; and not __fish_seen_subcommand_from $coprcommands" -xa enable -d "Install a Copr repository"
|
||||
complete -c dnf -n "__fish_seen_subcommand_from copr; and not __fish_seen_subcommand_from $coprcommands" -xa disable -d "Disable a Copr repository"
|
||||
complete -c dnf -n "__fish_seen_subcommand_from copr; and not __fish_seen_subcommand_from $coprcommands" -xa remove -d "Remove a Copr repository"
|
||||
complete -c dnf -n "__fish_seen_subcommand_from copr; and not __fish_seen_subcommand_from $coprcommands" -xa debug -d "Print system info for debugging"
|
||||
complete -c dnf -n "__fish_seen_subcommand_from copr; and not __fish_seen_subcommand_from $coprcommands" -l hub -d "Copr hub hostname"
|
||||
|
||||
for i in enable disable remove
|
||||
complete -c dnf -n "__fish_seen_subcommand_from copr; and __fish_seen_subcommand_from $i" -xa "(__dnf_list_copr_repos $i)"
|
||||
end
|
||||
|
||||
# Distro-sync
|
||||
complete -c dnf -n __fish_use_subcommand -xa distro-sync -d "Synchronizes packages to match the latest"
|
||||
|
||||
|
||||
@@ -2969,11 +2969,24 @@ complete -f -c git -n '__fish_git_using_command update-ref' -l create-reflog -d
|
||||
complete -f -c git -n '__fish_git_using_command update-ref' -l stdin -d 'Read instructions from stdin'
|
||||
complete -f -c git -n '__fish_git_using_command update-ref' -s z -d 'NUL-terminated format for stdin'
|
||||
|
||||
### verify-commit
|
||||
complete -f -c git -n __fish_git_needs_command -a verify-commit -d 'Check the GPG signature of commits'
|
||||
complete -f -c git -n '__fish_git_using_command verify-commit' -ka '(__fish_git_commits)'
|
||||
complete -f -c git -n '__fish_git_using_command verify-commit' -s v -l verbose -d 'Print commit contents'
|
||||
complete -f -c git -n '__fish_git_using_command verify-commit' -l raw -d 'Print raw gpg status output'
|
||||
|
||||
### verify-pack
|
||||
complete -f -c git -n __fish_git_needs_command -a verify-pack -d 'Validate packed Git archive files'
|
||||
complete -f -c git -n '__fish_git_using_command verify-pack' -s v -l verbose -d 'Show objects contained in pack'
|
||||
complete -f -c git -n '__fish_git_using_command verify-pack' -s s -l stat-only -d 'Only show histogram of delta chain length'
|
||||
|
||||
### verify-tag
|
||||
complete -f -c git -n __fish_git_needs_command -a verify-tag -d 'Check the GPG signature of tags'
|
||||
complete -f -c git -n '__fish_git_using_command verify-tag' -ka '(__fish_git_tags)'
|
||||
complete -f -c git -n '__fish_git_using_command verify-tag' -s v -l verbose -d 'Print tag contents'
|
||||
complete -f -c git -n '__fish_git_using_command verify-tag' -l raw -d 'Print raw gpg status output'
|
||||
complete -x -c git -n '__fish_git_using_command verify-tag' -l format -d 'Format to use for the output'
|
||||
|
||||
### write-tree
|
||||
complete -f -c git -n __fish_git_needs_command -a write-tree -d 'Create a tree object from the current index'
|
||||
complete -f -c git -n '__fish_git_using_command write-tree' -l missing-ok -d 'Allow missing objects'
|
||||
|
||||
@@ -1,44 +1 @@
|
||||
# Commands
|
||||
complete -c ngrok -f -a authtoken -d "Save authtoken to configuration file"
|
||||
complete -c ngrok -f -a credits -d "Prints author and licensing information"
|
||||
complete -c ngrok -f -a http -d "Start an HTTP tunnel"
|
||||
complete -c ngrok -f -a start -d "Start tunnels by name from the configuration file"
|
||||
complete -c ngrok -f -a tcp -d "Start a TCP tunnel"
|
||||
complete -c ngrok -f -a tls -d "Start a TLS tunnel"
|
||||
complete -c ngrok -f -a update -d "Update ngrok to the latest version"
|
||||
complete -c ngrok -f -a version -d "Print the version string"
|
||||
complete -c ngrok -f -a help -d "Shows a list of commands or help for one command"
|
||||
|
||||
# General Options
|
||||
complete -c ngrok -l help -e -f
|
||||
complete -c ngrok -l authtoken -r -d "ngrok.com authtoken identifying a user"
|
||||
complete -c ngrok -l config -r -d "path to config files; they are merged if multiple"
|
||||
complete -c ngrok -l log -x -a "false stderr stdout" -d "path to log file, 'stdout', 'stderr' or 'false'"
|
||||
complete -c ngrok -l log-format -x -a "term logfmt json" -d "log record format: 'term', 'logfmt', 'json'"
|
||||
complete -c ngrok -l log-level -r -a info -d "logging level"
|
||||
complete -c ngrok -l region -x -a "us eu au ap" -d "ngrok server region [us , eu, au, ap] (default: us)"
|
||||
|
||||
# http & tls's options
|
||||
complete -c ngrok -l hostname -r -d "host tunnel on custom hostname (requires DNS CNAME)"
|
||||
complete -c ngrok -l subdomain -r -d "host tunnel on a custom subdomain"
|
||||
|
||||
# http's options
|
||||
complete -c ngrok -l auth -r -d "enforce basic auth on tunnel endpoint, 'user:password'"
|
||||
complete -c ngrok -l bind-tls -x -a "both https http" -d "listen for http, https or both: true/false/both"
|
||||
complete -c ngrok -l host-header -r -d "set Host header; if 'rewrite' use local address hostname"
|
||||
complete -c ngrok -l inspect -d "enable/disable http introspection"
|
||||
|
||||
# tls's options
|
||||
complete -c ngrok -l client-cas -r -d "path to TLS certificate authority to verify client certs"
|
||||
complete -c ngrok -l crt -r -d "path to a TLS certificate for TLS termination"
|
||||
complete -c ngrok -l key -r -d "path to a TLS key for TLS termination"
|
||||
|
||||
# start's options
|
||||
complete -c ngrok -l all -d "start all tunnels in the configuration file"
|
||||
complete -c ngrok -l none -d "start running no tunnels"
|
||||
|
||||
# tcp's options
|
||||
complete -c ngrok -l remote-addr -r -d "bind remote address (requires you reserve an address)"
|
||||
|
||||
# update's options
|
||||
complete -c ngrok -l channel -x -a "stable beta" -d "update channel (stable, beta)"
|
||||
SHELL=/bin/fish ngrok completion 2>/dev/null | source
|
||||
|
||||
@@ -129,7 +129,9 @@ function fish_vi_exec_motion
|
||||
set motion_cmd commandline -f $motion
|
||||
end
|
||||
switch $motion[1]
|
||||
case forward-char backward-char
|
||||
case forward-char
|
||||
set -e seq_total[1]
|
||||
case backward-char
|
||||
$motion_cmd
|
||||
set -e seq_total[1]
|
||||
end
|
||||
|
||||
@@ -10,7 +10,10 @@ function isatty -d "Tests if a file descriptor is a tty"
|
||||
end
|
||||
|
||||
if set -q argv[2]
|
||||
printf (_ "%s: Too many arguments") isatty >&2
|
||||
{
|
||||
printf (_ "%s: Too many arguments") isatty
|
||||
echo
|
||||
} >&2
|
||||
return 1
|
||||
end
|
||||
|
||||
|
||||
@@ -14,7 +14,10 @@ function psub --description "Read from stdin into a file and output the filename
|
||||
set -l funcname
|
||||
|
||||
if not status --is-command-substitution
|
||||
printf (_ "%s: Not inside of command substitution") psub >&2
|
||||
{
|
||||
printf (_ "%s: Not inside of command substitution") psub
|
||||
echo
|
||||
} >&2
|
||||
return 1
|
||||
end
|
||||
|
||||
|
||||
@@ -15,7 +15,10 @@ function setenv
|
||||
# `setenv` accepts only two arguments: the var name and the value. If there are more than two
|
||||
# args it is an error. The error message is verbatim from csh.
|
||||
if set -q argv[3]
|
||||
printf (_ '%s: Too many arguments\n') setenv >&2
|
||||
{
|
||||
printf (_ '%s: Too many arguments') setenv
|
||||
echo
|
||||
} >&2
|
||||
return 1
|
||||
end
|
||||
|
||||
|
||||
@@ -182,7 +182,10 @@ function umask --description "Set default file permission mask"
|
||||
return 1
|
||||
|
||||
case '*'
|
||||
printf (_ '%s: Too many arguments\n') umask >&2
|
||||
{
|
||||
printf (_ '%s: Too many arguments') umask
|
||||
echo
|
||||
} >&2
|
||||
return 1
|
||||
end
|
||||
end
|
||||
|
||||
@@ -501,6 +501,19 @@ class Deroffer:
|
||||
return True
|
||||
return False
|
||||
|
||||
def device_control(self):
|
||||
# groff \X'...' device control escape (and \Z'...' zero-width).
|
||||
# help2man 1.50+ uses \X'tty: link URL' for hyperlinks.
|
||||
# We just skip the entire escape.
|
||||
if self.str_at(1) in "XZ" and self.str_at(2) == "'":
|
||||
self.skip_char(3)
|
||||
while self.str_at(0) and self.str_at(0) != "'":
|
||||
self.skip_char()
|
||||
if self.str_at(0) == "'":
|
||||
self.skip_char()
|
||||
return True
|
||||
return False
|
||||
|
||||
def var(self):
|
||||
reg = ""
|
||||
s0s1 = self.s[0:2]
|
||||
@@ -650,6 +663,8 @@ class Deroffer:
|
||||
return self.size()
|
||||
elif c in "hvwud":
|
||||
return self.numreq()
|
||||
elif c in "XZ":
|
||||
return self.device_control()
|
||||
elif c in "n*":
|
||||
return self.var()
|
||||
elif c == "(":
|
||||
@@ -1314,6 +1329,9 @@ def built_command(options, description):
|
||||
|
||||
|
||||
def remove_groff_formatting(data):
|
||||
# Strip groff \X'...' device control escapes (help2man 1.50+ hyperlinks)
|
||||
# and \Z'...' zero-width escapes.
|
||||
data = re.sub(r"\\[XZ]'[^']*'", "", data)
|
||||
data = data.replace("\\fI", "")
|
||||
data = data.replace("\\fP", "")
|
||||
data = data.replace("\\f1", "")
|
||||
|
||||
@@ -22,8 +22,8 @@
|
||||
builtins::{
|
||||
fish_indent, fish_key_reader,
|
||||
shared::{
|
||||
BUILTIN_ERR_MISSING, BUILTIN_ERR_UNEXP_ARG, BUILTIN_ERR_UNKNOWN, STATUS_CMD_ERROR,
|
||||
STATUS_CMD_OK, STATUS_CMD_UNKNOWN, VERSION_STRING_TEMPLATE,
|
||||
BUILTIN_ERR_MISSING_OPT_ARG, BUILTIN_ERR_UNEXP_OPT_ARG, BUILTIN_ERR_UNKNOWN_OPT,
|
||||
STATUS_CMD_ERROR, STATUS_CMD_OK, STATUS_CMD_UNKNOWN, VERSION_STRING_TEMPLATE,
|
||||
},
|
||||
},
|
||||
common::{
|
||||
@@ -320,21 +320,21 @@ fn fish_parse_opt(args: &mut [WString], opts: &mut FishCmdOpts) -> ControlFlow<i
|
||||
'?' => {
|
||||
eprintf!(
|
||||
"%s\n\n",
|
||||
wgettext_fmt!(BUILTIN_ERR_UNKNOWN, "fish", args[w.wopt_index - 1])
|
||||
wgettext_fmt!(BUILTIN_ERR_UNKNOWN_OPT, "fish", args[w.wopt_index - 1])
|
||||
);
|
||||
return ControlFlow::Break(1);
|
||||
}
|
||||
':' => {
|
||||
eprintf!(
|
||||
"%s\n\n",
|
||||
wgettext_fmt!(BUILTIN_ERR_MISSING, "fish", args[w.wopt_index - 1])
|
||||
wgettext_fmt!(BUILTIN_ERR_MISSING_OPT_ARG, "fish", args[w.wopt_index - 1])
|
||||
);
|
||||
return ControlFlow::Break(1);
|
||||
}
|
||||
';' => {
|
||||
eprintf!(
|
||||
"%s\n\n",
|
||||
wgettext_fmt!(BUILTIN_ERR_UNEXP_ARG, "fish", args[w.wopt_index - 1])
|
||||
wgettext_fmt!(BUILTIN_ERR_UNEXP_OPT_ARG, "fish", args[w.wopt_index - 1])
|
||||
);
|
||||
return ControlFlow::Break(1);
|
||||
}
|
||||
|
||||
@@ -155,7 +155,7 @@ fn check_for_mutually_exclusive_flags(
|
||||
flag1,
|
||||
flag2
|
||||
));
|
||||
return Err(STATUS_CMD_ERROR);
|
||||
return Err(STATUS_INVALID_ARGS);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -962,7 +962,7 @@ fn argparse_parse_flags<'args>(
|
||||
)?;
|
||||
} else if opts.unknown_handling == UnknownHandling::Error {
|
||||
streams.err.appendln(&wgettext_fmt!(
|
||||
BUILTIN_ERR_UNKNOWN,
|
||||
BUILTIN_ERR_UNKNOWN_OPT,
|
||||
opts.name,
|
||||
args_read[w.wopt_index - 1]
|
||||
));
|
||||
@@ -1017,7 +1017,7 @@ fn argparse_parse_flags<'args>(
|
||||
} else {
|
||||
// the option is at the end of argv, so it has no argument
|
||||
streams.err.appendln(&wgettext_fmt!(
|
||||
BUILTIN_ERR_MISSING,
|
||||
BUILTIN_ERR_MISSING_OPT_ARG,
|
||||
opts.name,
|
||||
args_read[w.wopt_index - 1]
|
||||
));
|
||||
@@ -1033,7 +1033,7 @@ fn argparse_parse_flags<'args>(
|
||||
&& arg_contents.contains('=')
|
||||
{
|
||||
streams.err.appendln(&wgettext_fmt!(
|
||||
BUILTIN_ERR_UNEXP_ARG,
|
||||
BUILTIN_ERR_UNEXP_OPT_ARG,
|
||||
opts.name,
|
||||
args_read[w.wopt_index - 1]
|
||||
));
|
||||
|
||||
@@ -16,10 +16,12 @@
|
||||
|
||||
const DEFAULT_BIND_MODE: &wstr = L!("default");
|
||||
|
||||
const BIND_INSERT: c_int = 0;
|
||||
const BIND_ERASE: c_int = 1;
|
||||
const BIND_KEY_NAMES: c_int = 2;
|
||||
const BIND_FUNCTION_NAMES: c_int = 3;
|
||||
enum BindMode {
|
||||
Insert,
|
||||
Erase,
|
||||
KeyNames,
|
||||
FunctionNames,
|
||||
}
|
||||
|
||||
struct Options {
|
||||
all: bool,
|
||||
@@ -30,7 +32,7 @@ struct Options {
|
||||
user: bool,
|
||||
have_preset: bool,
|
||||
preset: bool,
|
||||
mode: c_int,
|
||||
mode: BindMode,
|
||||
bind_mode: Option<WString>,
|
||||
sets_bind_mode: Option<WString>,
|
||||
color: ColorEnabled,
|
||||
@@ -47,7 +49,7 @@ fn new() -> Options {
|
||||
user: false,
|
||||
have_preset: false,
|
||||
preset: false,
|
||||
mode: BIND_INSERT,
|
||||
mode: BindMode::Insert,
|
||||
bind_mode: None,
|
||||
sets_bind_mode: None,
|
||||
color: ColorEnabled::default(),
|
||||
@@ -448,8 +450,8 @@ fn parse_cmd_opts(
|
||||
while let Some(c) = w.next_opt() {
|
||||
match c {
|
||||
'a' => opts.all = true,
|
||||
'e' => opts.mode = BIND_ERASE,
|
||||
'f' => opts.mode = BIND_FUNCTION_NAMES,
|
||||
'e' => opts.mode = BindMode::Erase,
|
||||
'f' => opts.mode = BindMode::FunctionNames,
|
||||
'h' => opts.print_help = true,
|
||||
'k' => {
|
||||
streams.err.appendln(&wgettext_fmt!(
|
||||
@@ -458,7 +460,7 @@ fn parse_cmd_opts(
|
||||
));
|
||||
return Err(STATUS_INVALID_ARGS);
|
||||
}
|
||||
'K' => opts.mode = BIND_KEY_NAMES,
|
||||
'K' => opts.mode = BindMode::KeyNames,
|
||||
'L' => {
|
||||
opts.list_modes = true;
|
||||
return Ok(SUCCESS);
|
||||
@@ -534,7 +536,7 @@ pub fn bind(
|
||||
}
|
||||
|
||||
match self.opts.mode {
|
||||
BIND_ERASE => {
|
||||
BindMode::Erase => {
|
||||
// If we get both, we erase both.
|
||||
if self.opts.user
|
||||
&& self.erase(
|
||||
@@ -557,19 +559,13 @@ pub fn bind(
|
||||
return Err(STATUS_CMD_ERROR);
|
||||
}
|
||||
}
|
||||
BIND_INSERT => {
|
||||
BindMode::Insert => {
|
||||
if self.insert(optind, argv, parser, streams) {
|
||||
return Err(STATUS_CMD_ERROR);
|
||||
}
|
||||
}
|
||||
BIND_KEY_NAMES => self.key_names(streams),
|
||||
BIND_FUNCTION_NAMES => self.function_names(streams),
|
||||
_ => {
|
||||
streams
|
||||
.err
|
||||
.appendln(&wgettext_fmt!("%s: Invalid state", cmd));
|
||||
return Err(STATUS_CMD_ERROR);
|
||||
}
|
||||
BindMode::KeyNames => self.key_names(streams),
|
||||
BindMode::FunctionNames => self.function_names(streams),
|
||||
}
|
||||
Ok(SUCCESS)
|
||||
}
|
||||
|
||||
@@ -69,17 +69,10 @@ pub fn cd(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> Built
|
||||
let pwd = vars.get_pwd_slash();
|
||||
|
||||
let dirs = path_apply_cdpath(dir_in, &pwd, vars);
|
||||
if dirs.is_empty() {
|
||||
streams
|
||||
.err
|
||||
.appendln(&wgettext_fmt!(DIR_DOES_NOT_EXIST, cmd, dir_in));
|
||||
|
||||
if !parser.is_interactive() {
|
||||
streams.err.append(&parser.current_line());
|
||||
}
|
||||
|
||||
return Err(STATUS_CMD_ERROR);
|
||||
}
|
||||
assert!(
|
||||
!dirs.is_empty(),
|
||||
"dirs should always contains a least an abs path, or a rel path, or '<PWD>/...'"
|
||||
);
|
||||
|
||||
let mut best_errno = 0;
|
||||
let mut broken_symlink = WString::new();
|
||||
|
||||
@@ -1027,7 +1027,7 @@ enum OutputType {
|
||||
'c' => output_type = OutputType::Check,
|
||||
';' => {
|
||||
streams.err.appendln(&wgettext_fmt!(
|
||||
BUILTIN_ERR_UNEXP_ARG,
|
||||
BUILTIN_ERR_UNEXP_OPT_ARG,
|
||||
"fish_indent",
|
||||
w.argv[w.wopt_index - 1]
|
||||
));
|
||||
@@ -1035,7 +1035,7 @@ enum OutputType {
|
||||
}
|
||||
'?' => {
|
||||
streams.err.appendln(&wgettext_fmt!(
|
||||
BUILTIN_ERR_UNKNOWN,
|
||||
BUILTIN_ERR_UNKNOWN_OPT,
|
||||
"fish_indent",
|
||||
w.argv[w.wopt_index - 1]
|
||||
));
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
use libc::{STDIN_FILENO, VEOF, VINTR};
|
||||
|
||||
use crate::{
|
||||
builtins::shared::BUILTIN_ERR_UNKNOWN,
|
||||
builtins::shared::BUILTIN_ERR_UNKNOWN_OPT,
|
||||
common::{PROGRAM_NAME, get_program_name, osstr2wcstring, shell_modes},
|
||||
env::{EnvStack, Environment as _, env_init},
|
||||
future_feature_flags,
|
||||
@@ -213,15 +213,15 @@ fn parse_flags(
|
||||
}
|
||||
';' => {
|
||||
streams.err.appendln(&wgettext_fmt!(
|
||||
BUILTIN_ERR_UNEXP_ARG,
|
||||
BUILTIN_ERR_UNEXP_OPT_ARG,
|
||||
"fish_key_reader",
|
||||
w.argv[w.wopt_index - 1]
|
||||
));
|
||||
return ControlFlow::Break(Err(STATUS_CMD_ERROR));
|
||||
}
|
||||
'?' => {
|
||||
streams.err.append(&wgettext_fmt!(
|
||||
BUILTIN_ERR_UNKNOWN,
|
||||
streams.err.appendln(&wgettext_fmt!(
|
||||
BUILTIN_ERR_UNKNOWN_OPT,
|
||||
"fish_key_reader",
|
||||
w.argv[w.wopt_index - 1]
|
||||
));
|
||||
|
||||
@@ -145,8 +145,7 @@ fn parse_cmd_opts(
|
||||
streams.err.appendln(&wgettext_fmt!(
|
||||
BUILTIN_ERR_COMBO2,
|
||||
cmd,
|
||||
"non-zero scale value only valid
|
||||
for base 10"
|
||||
wgettext!("non-zero scale value only valid for base 10")
|
||||
));
|
||||
return Err(STATUS_INVALID_ARGS);
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ macro_rules! path_error {
|
||||
}
|
||||
|
||||
fn path_unknown_option(parser: &Parser, streams: &mut IoStreams, subcmd: &wstr, opt: &wstr) {
|
||||
path_error!(streams, BUILTIN_ERR_UNKNOWN, subcmd, opt);
|
||||
path_error!(streams, BUILTIN_ERR_UNKNOWN_OPT, subcmd, opt);
|
||||
builtin_print_error_trailer(parser, streams.err, L!("path"));
|
||||
}
|
||||
|
||||
@@ -283,7 +283,7 @@ fn parse_opts<'args>(
|
||||
let types_args = split_string_tok(w.woptarg.unwrap(), L!(","), None);
|
||||
for t in types_args {
|
||||
let Ok(r#type) = t.try_into() else {
|
||||
path_error!(streams, "%s: Invalid type '%s'", "path", t);
|
||||
path_error!(streams, "%s: Invalid type '%s'", cmd, t);
|
||||
return Err(STATUS_INVALID_ARGS);
|
||||
};
|
||||
*types |= r#type;
|
||||
@@ -295,7 +295,7 @@ fn parse_opts<'args>(
|
||||
let perms_args = split_string_tok(w.woptarg.unwrap(), L!(","), None);
|
||||
for p in perms_args {
|
||||
let Ok(perm) = p.try_into() else {
|
||||
path_error!(streams, "%s: Invalid permission '%s'", "path", p);
|
||||
path_error!(streams, "%s: Invalid permission '%s'", cmd, p);
|
||||
return Err(STATUS_INVALID_ARGS);
|
||||
};
|
||||
*perms |= perm;
|
||||
|
||||
@@ -205,16 +205,13 @@ impl<'a, 'b> builtin_printf_state_t<'a, 'b> {
|
||||
fn verify_numeric(&mut self, s: &wstr, end: &wstr, errcode: Option<Error>) {
|
||||
// This check matches the historic `errcode != EINVAL` check from C++.
|
||||
// Note that empty or missing values will be silently treated as 0.
|
||||
if errcode != None && errcode != Some(Error::InvalidChar) && errcode != Some(Error::Empty) {
|
||||
if errcode.is_some_and(|err| err != Error::InvalidChar && err != Error::Empty) {
|
||||
match errcode.unwrap() {
|
||||
Error::Overflow => {
|
||||
self.fatal_error(wgettext_fmt!("%s: Number out of range", s));
|
||||
}
|
||||
Error::Empty => {
|
||||
self.fatal_error(wgettext_fmt!("%s: Number was empty", s));
|
||||
}
|
||||
Error::InvalidChar => {
|
||||
panic!("Unreachable");
|
||||
Error::InvalidChar | Error::Empty => {
|
||||
unreachable!("Unreachable");
|
||||
}
|
||||
}
|
||||
} else if !end.is_empty() {
|
||||
|
||||
@@ -55,7 +55,6 @@ struct Options {
|
||||
array: bool,
|
||||
silent: bool,
|
||||
split_null: bool,
|
||||
to_stdout: bool,
|
||||
nchars: Option<NonZeroUsize>,
|
||||
one_line: bool,
|
||||
}
|
||||
@@ -69,7 +68,7 @@ fn new() -> Self {
|
||||
}
|
||||
}
|
||||
|
||||
const SHORT_OPTIONS: &wstr = L!("ac:d:fghiLln:p:sStuxzP:UR:L");
|
||||
const SHORT_OPTIONS: &wstr = L!("ac:d:fghLln:p:sStuxzP:UR:L");
|
||||
const LONG_OPTIONS: &[WOption] = &[
|
||||
wopt(L!("array"), ArgType::NoArgument, 'a'),
|
||||
wopt(L!("command"), ArgType::RequiredArgument, 'c'),
|
||||
@@ -121,13 +120,6 @@ fn parse_cmd_opts(
|
||||
'd' => {
|
||||
opts.delimiter = Some(w.woptarg.unwrap().to_owned());
|
||||
}
|
||||
'i' => {
|
||||
streams.err.appendln(&wgettext_fmt!(
|
||||
"%s: usage of -i for --silent is deprecated. Please use -s or --silent instead.",
|
||||
cmd
|
||||
));
|
||||
return Err(STATUS_INVALID_ARGS);
|
||||
}
|
||||
'f' => {
|
||||
opts.place.mode |= EnvMode::FUNCTION;
|
||||
}
|
||||
@@ -509,25 +501,10 @@ fn validate_read_args(
|
||||
return Err(STATUS_INVALID_ARGS);
|
||||
}
|
||||
|
||||
let argc = argv.len();
|
||||
if !opts.array && argc < 1 && !opts.to_stdout {
|
||||
if opts.array && argv.len() != 1 {
|
||||
streams
|
||||
.err
|
||||
.appendln(&wgettext_fmt!(BUILTIN_ERR_MIN_ARG_COUNT1, cmd, 1, argc));
|
||||
return Err(STATUS_INVALID_ARGS);
|
||||
}
|
||||
|
||||
if opts.array && argc != 1 {
|
||||
streams
|
||||
.err
|
||||
.appendln(&wgettext_fmt!(BUILTIN_ERR_ARG_COUNT1, cmd, 1, argc));
|
||||
return Err(STATUS_INVALID_ARGS);
|
||||
}
|
||||
|
||||
if opts.to_stdout && argc > 0 {
|
||||
streams
|
||||
.err
|
||||
.appendln(&wgettext_fmt!(BUILTIN_ERR_MAX_ARG_COUNT1, cmd, 0, argc));
|
||||
.appendln(&wgettext_fmt!(BUILTIN_ERR_ARG_COUNT1, cmd, 1, argv.len()));
|
||||
return Err(STATUS_INVALID_ARGS);
|
||||
}
|
||||
|
||||
@@ -590,16 +567,9 @@ pub fn read(parser: &Parser, streams: &mut IoStreams, argv: &mut [&wstr]) -> Bui
|
||||
let (mut opts, optind) = parse_cmd_opts(argv, parser, streams)?;
|
||||
|
||||
let cmd = argv[0];
|
||||
let mut argv: &[&wstr] = argv;
|
||||
if !opts.to_stdout {
|
||||
argv = &argv[optind..];
|
||||
}
|
||||
let argv = &argv[optind..];
|
||||
let argc = argv.len();
|
||||
|
||||
if argv.is_empty() {
|
||||
opts.to_stdout = true;
|
||||
}
|
||||
|
||||
if opts.print_help {
|
||||
builtin_print_help(parser, streams, cmd);
|
||||
return Ok(SUCCESS);
|
||||
@@ -688,7 +658,7 @@ pub fn read(parser: &Parser, streams: &mut IoStreams, argv: &mut [&wstr]) -> Bui
|
||||
return exit_res;
|
||||
}
|
||||
|
||||
if opts.to_stdout {
|
||||
if argv.is_empty() {
|
||||
streams.out.append(&buff);
|
||||
return exit_res;
|
||||
}
|
||||
|
||||
@@ -294,9 +294,11 @@ fn validate(
|
||||
}
|
||||
|
||||
if args.len() == optind && opts.erase {
|
||||
streams
|
||||
.err
|
||||
.appendln(&wgettext_fmt!(BUILTIN_ERR_MISSING, cmd, L!("--erase")));
|
||||
streams.err.appendln(&wgettext_fmt!(
|
||||
BUILTIN_ERR_MISSING_OPT_ARG,
|
||||
cmd,
|
||||
L!("--erase")
|
||||
));
|
||||
builtin_print_error_trailer(parser, streams.err, cmd);
|
||||
return Err(STATUS_INVALID_ARGS);
|
||||
}
|
||||
@@ -351,11 +353,8 @@ fn handle_env_return(retval: EnvStackSetResult, cmd: &wstr, key: &wstr, streams:
|
||||
));
|
||||
}
|
||||
EnvStackSetResult::NotFound => {
|
||||
streams.err.appendln(&wgettext_fmt!(
|
||||
"%s: The variable '%s' does not exist",
|
||||
cmd,
|
||||
key
|
||||
));
|
||||
// Only variable deletion can return a `NotFound` error, but that case is explicitly silenced
|
||||
unreachable!("variable not found");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -729,13 +728,20 @@ fn show(cmd: &wstr, parser: &Parser, streams: &mut IoStreams, args: &[&wstr]) ->
|
||||
}
|
||||
} else {
|
||||
for arg in args.iter().copied() {
|
||||
let bracket = arg.find(L!("["));
|
||||
let arg = if let Some(idx) = bracket {
|
||||
&arg[..idx]
|
||||
} else {
|
||||
arg
|
||||
};
|
||||
|
||||
if !valid_var_name(arg) {
|
||||
streams.err.append(&varname_error(cmd, arg));
|
||||
builtin_print_error_trailer(parser, streams.err, cmd);
|
||||
return Err(STATUS_INVALID_ARGS);
|
||||
}
|
||||
|
||||
if arg.contains('[') {
|
||||
if bracket.is_some() {
|
||||
streams.err.appendln(&wgettext_fmt!(
|
||||
"%s: `set --show` does not allow slices with the var names",
|
||||
cmd
|
||||
@@ -941,7 +947,7 @@ fn set_internal(
|
||||
if argv.is_empty() {
|
||||
streams
|
||||
.err
|
||||
.appendln(&wgettext_fmt!(BUILTIN_ERR_MIN_ARG_COUNT1, cmd, 1));
|
||||
.appendln(&wgettext_fmt!(BUILTIN_ERR_MIN_ARG_COUNT1, cmd, 1, 0));
|
||||
builtin_print_error_trailer(parser, streams.err, cmd);
|
||||
return Err(STATUS_INVALID_ARGS);
|
||||
}
|
||||
@@ -1041,7 +1047,7 @@ pub fn set(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> Buil
|
||||
list(&opts, parser, streams)
|
||||
} else if opts.show {
|
||||
show(cmd, parser, streams, args)
|
||||
} else if args.is_empty() {
|
||||
} else if args.is_empty() && !(opts.append || opts.prepend) {
|
||||
list(&opts, parser, streams)
|
||||
} else {
|
||||
set_internal(cmd, &opts, parser, streams, args)
|
||||
|
||||
@@ -20,11 +20,11 @@
|
||||
|
||||
localizable_consts!(
|
||||
/// Error message on missing argument.
|
||||
pub BUILTIN_ERR_MISSING
|
||||
pub BUILTIN_ERR_MISSING_OPT_ARG
|
||||
"%s: %s: option requires an argument"
|
||||
|
||||
/// Error message on unexpected argument.
|
||||
pub BUILTIN_ERR_UNEXP_ARG
|
||||
pub BUILTIN_ERR_UNEXP_OPT_ARG
|
||||
"%s: %s: option does not take an argument"
|
||||
|
||||
/// Error message on missing man page.
|
||||
@@ -44,7 +44,7 @@
|
||||
"%s: cannot both path and unpath"
|
||||
|
||||
/// Error message for unknown switch.
|
||||
pub BUILTIN_ERR_UNKNOWN
|
||||
pub BUILTIN_ERR_UNKNOWN_OPT
|
||||
"%s: %s: unknown option"
|
||||
|
||||
/// Error message for invalid bind mode name.
|
||||
@@ -667,7 +667,7 @@ pub fn builtin_unknown_option(
|
||||
) {
|
||||
streams
|
||||
.err
|
||||
.appendln(&wgettext_fmt!(BUILTIN_ERR_UNKNOWN, cmd, opt));
|
||||
.appendln(&wgettext_fmt!(BUILTIN_ERR_UNKNOWN_OPT, cmd, opt));
|
||||
if print_hints {
|
||||
builtin_print_error_trailer(parser, streams.err, cmd);
|
||||
}
|
||||
@@ -685,14 +685,14 @@ pub fn builtin_missing_argument(
|
||||
// if c in -qc '-qc' is missing the argument, now opt is just 'c'
|
||||
opt = &opt[opt.len() - 1..];
|
||||
streams.err.appendln(&wgettext_fmt!(
|
||||
BUILTIN_ERR_MISSING,
|
||||
BUILTIN_ERR_MISSING_OPT_ARG,
|
||||
cmd,
|
||||
L!("-").to_owned() + opt
|
||||
));
|
||||
} else {
|
||||
streams
|
||||
.err
|
||||
.appendln(&wgettext_fmt!(BUILTIN_ERR_MISSING, cmd, opt));
|
||||
.appendln(&wgettext_fmt!(BUILTIN_ERR_MISSING_OPT_ARG, cmd, opt));
|
||||
}
|
||||
if print_hints {
|
||||
builtin_print_error_trailer(parser, streams.err, cmd);
|
||||
@@ -709,7 +709,7 @@ pub fn builtin_unexpected_argument(
|
||||
) {
|
||||
streams
|
||||
.err
|
||||
.appendln(&wgettext_fmt!(BUILTIN_ERR_UNEXP_ARG, cmd, opt));
|
||||
.appendln(&wgettext_fmt!(BUILTIN_ERR_UNEXP_OPT_ARG, cmd, opt));
|
||||
if print_hints {
|
||||
builtin_print_error_trailer(parser, streams.err, cmd);
|
||||
}
|
||||
@@ -1042,7 +1042,7 @@ pub fn builtin_break_continue(
|
||||
if argc != 1 {
|
||||
streams
|
||||
.err
|
||||
.appendln(&wgettext_fmt!(BUILTIN_ERR_UNKNOWN, argv[0], argv[1]));
|
||||
.appendln(&wgettext_fmt!(BUILTIN_ERR_UNKNOWN_OPT, argv[0], argv[1]));
|
||||
return Err(STATUS_INVALID_ARGS);
|
||||
}
|
||||
|
||||
|
||||
@@ -399,16 +399,9 @@ pub fn status(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> B
|
||||
let job_control_mode = match opts.new_job_control_mode {
|
||||
Some(j) => {
|
||||
// Flag form used
|
||||
if !args.is_empty() {
|
||||
streams.err.appendln(&wgettext_fmt!(
|
||||
BUILTIN_ERR_ARG_COUNT2,
|
||||
cmd,
|
||||
c.to_wstr(),
|
||||
0,
|
||||
args.len()
|
||||
));
|
||||
return Err(STATUS_INVALID_ARGS);
|
||||
}
|
||||
// Any extra args would have already failed, either as an
|
||||
// unrecognized subcmd, or as a "subcmd combo"
|
||||
assert!(args.is_empty(), "unexpected job-control args");
|
||||
j
|
||||
}
|
||||
None => {
|
||||
|
||||
@@ -34,11 +34,6 @@ macro_rules! string_error {
|
||||
}
|
||||
use string_error;
|
||||
|
||||
fn string_unknown_option(parser: &Parser, streams: &mut IoStreams, subcmd: &wstr, opt: &wstr) {
|
||||
string_error!(streams, BUILTIN_ERR_UNKNOWN, subcmd, opt);
|
||||
builtin_print_error_trailer(parser, streams.err, L!("string"));
|
||||
}
|
||||
|
||||
trait StringSubCommand<'args> {
|
||||
const SHORT_OPTIONS: &'static wstr;
|
||||
const LONG_OPTIONS: &'static [WOption<'static>];
|
||||
@@ -87,13 +82,19 @@ fn parse_opts(
|
||||
return Err(STATUS_INVALID_ARGS);
|
||||
}
|
||||
'?' => {
|
||||
string_unknown_option(parser, streams, cmd, args_read[w.wopt_index - 1]);
|
||||
string_error!(
|
||||
streams,
|
||||
BUILTIN_ERR_UNKNOWN_OPT,
|
||||
cmd,
|
||||
args_read[w.wopt_index - 1]
|
||||
);
|
||||
builtin_print_error_trailer(parser, streams.err, L!("string"));
|
||||
return Err(STATUS_INVALID_ARGS);
|
||||
}
|
||||
c => {
|
||||
let retval = self.parse_opt(cmd, c, w.woptarg);
|
||||
if let Err(e) = retval {
|
||||
e.print_error(&args_read, parser, streams, w.woptarg, w.wopt_index);
|
||||
e.print_error(&args_read, streams, w.woptarg, w.wopt_index);
|
||||
return Err(e.retval());
|
||||
}
|
||||
}
|
||||
@@ -236,22 +237,26 @@ impl StringError {
|
||||
fn print_error(
|
||||
&self,
|
||||
args: &[&wstr],
|
||||
parser: &Parser,
|
||||
streams: &mut IoStreams,
|
||||
optarg: Option<&wstr>,
|
||||
optind: usize,
|
||||
) {
|
||||
let cmd = args[0];
|
||||
let subcmd = args[0];
|
||||
use StringError::*;
|
||||
match self {
|
||||
InvalidArgs(msg) => {
|
||||
streams.err.appendln("string ".chars().chain(msg.chars()));
|
||||
}
|
||||
NotANumber => {
|
||||
string_error!(streams, BUILTIN_ERR_NOT_NUMBER, cmd, optarg.unwrap());
|
||||
string_error!(streams, BUILTIN_ERR_NOT_NUMBER, subcmd, optarg.unwrap());
|
||||
}
|
||||
UnknownOption => {
|
||||
string_unknown_option(parser, streams, cmd, args[optind - 1]);
|
||||
// This would mean the subcmd's XXX_OPTIONS does not match
|
||||
// the list in its `parse_opt()` implementation
|
||||
unreachable!(
|
||||
"unexpected option '{}' for 'string {subcmd}'",
|
||||
args[optind - 1]
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -368,7 +373,7 @@ pub fn string(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> B
|
||||
_ => {
|
||||
streams
|
||||
.err
|
||||
.appendln(&wgettext_fmt!(BUILTIN_ERR_INVALID_SUBCMD, cmd, args[0]));
|
||||
.appendln(&wgettext_fmt!(BUILTIN_ERR_INVALID_SUBCMD, cmd, subcmd_name));
|
||||
builtin_print_error_trailer(parser, streams.err, cmd);
|
||||
Err(STATUS_INVALID_ARGS)
|
||||
}
|
||||
|
||||
@@ -42,15 +42,16 @@ fn parse_opt(&mut self, name: &wstr, c: char, arg: Option<&wstr>) -> Result<(),
|
||||
arg
|
||||
));
|
||||
};
|
||||
let pad_char_width = fish_wcwidth(*pad_char);
|
||||
if pad_char_width <= 0 {
|
||||
return Err(invalid_args!(
|
||||
"%s: Invalid padding character of width zero '%s'",
|
||||
name,
|
||||
arg
|
||||
));
|
||||
}
|
||||
self.pad_char_width = pad_char_width as usize;
|
||||
self.pad_char_width = match fish_wcwidth(*pad_char) {
|
||||
None | Some(0) => {
|
||||
return Err(invalid_args!(
|
||||
"%s: Invalid padding character of width zero '%s'",
|
||||
name,
|
||||
arg
|
||||
));
|
||||
}
|
||||
Some(w) => w,
|
||||
};
|
||||
self.char_to_pad = *pad_char;
|
||||
}
|
||||
'r' => self.pad_from = Direction::Right,
|
||||
|
||||
@@ -194,7 +194,7 @@ fn new(
|
||||
replacement.to_owned()
|
||||
} else {
|
||||
Self::interpret_escape(replacement)
|
||||
.ok_or_else(|| RegexError::InvalidEscape(pattern.to_owned()))?
|
||||
.ok_or_else(|| RegexError::InvalidEscape(replacement.to_owned()))?
|
||||
};
|
||||
Self::Regex {
|
||||
replacement,
|
||||
|
||||
@@ -9,9 +9,9 @@ mod test_expressions {
|
||||
|
||||
use crate::nix::isatty;
|
||||
use crate::wutil::{
|
||||
Error, Options, file_id_for_path, fish_wcswidth, lwstat, waccess, wcstod::wcstod,
|
||||
wcstoi_opts, wstat,
|
||||
Error, Options, file_id_for_path, lwstat, waccess, wcstod::wcstod, wcstoi_opts, wstat,
|
||||
};
|
||||
use fish_fallback::fish_wcswidth;
|
||||
use std::collections::HashMap;
|
||||
use std::os::unix::prelude::*;
|
||||
use std::sync::LazyLock;
|
||||
@@ -750,7 +750,7 @@ pub fn parse_args(
|
||||
commandline.push_utfstr(arg);
|
||||
narg += 1;
|
||||
if narg == parser.error_idx {
|
||||
len_to_err = fish_wcswidth(&commandline);
|
||||
len_to_err = fish_wcswidth(&commandline).unwrap_or_default();
|
||||
}
|
||||
}
|
||||
err.push_utfstr(program_name);
|
||||
|
||||
@@ -78,7 +78,12 @@ pub fn r#type(parser: &Parser, streams: &mut IoStreams, argv: &mut [&wstr]) -> B
|
||||
}
|
||||
}
|
||||
|
||||
if opts.query as i64 + opts.path as i64 + opts.get_type as i64 + opts.force_path as i64 > 1 {
|
||||
if [opts.query, opts.path, opts.get_type, opts.force_path]
|
||||
.into_iter()
|
||||
.filter(|&b| b)
|
||||
.count()
|
||||
> 1
|
||||
{
|
||||
streams.err.appendln(&wgettext_fmt!(BUILTIN_ERR_COMBO, cmd));
|
||||
return Err(STATUS_INVALID_ARGS);
|
||||
}
|
||||
|
||||
@@ -128,7 +128,7 @@ fn print_all(hard: bool, streams: &mut IoStreams) {
|
||||
let mut w = 0;
|
||||
|
||||
for resource in RESOURCE_ARR.iter() {
|
||||
w = w.max(fish_wcswidth(resource.desc));
|
||||
w = w.max(fish_wcswidth(resource.desc).unwrap_or_default());
|
||||
}
|
||||
for resource in RESOURCE_ARR.iter() {
|
||||
let Some((rlim_cur, rlim_max)) = getrlimit(resource.resource) else {
|
||||
@@ -370,14 +370,8 @@ pub fn ulimit(parser: &Parser, streams: &mut IoStreams, args: &mut [&wstr]) -> B
|
||||
BUILTIN_ULIMIT_INVALID "%s: Invalid limit '%s'"
|
||||
}
|
||||
|
||||
let new_limit: rlim_t = if w.wopt_index == argc {
|
||||
streams.err.appendln(&wgettext_fmt!(
|
||||
"%s: New limit cannot be an empty string",
|
||||
cmd
|
||||
));
|
||||
builtin_print_error_trailer(parser, streams.err, cmd);
|
||||
return Err(STATUS_INVALID_ARGS);
|
||||
} else if wcscasecmp(w.argv[w.wopt_index], L!("unlimited")) == Ordering::Equal {
|
||||
let new_limit: rlim_t = if wcscasecmp(w.argv[w.wopt_index], L!("unlimited")) == Ordering::Equal
|
||||
{
|
||||
RLIM_INFINITY
|
||||
} else if wcscasecmp(w.argv[w.wopt_index], L!("hard")) == Ordering::Equal {
|
||||
match get(what, true) {
|
||||
|
||||
@@ -1064,7 +1064,7 @@ macro_rules! write_to_output {
|
||||
pub fn reformat_for_screen(msg: &wstr, termsize: &Termsize) -> WString {
|
||||
let mut buff = WString::new();
|
||||
|
||||
let screen_width = isize::try_from(termsize.width()).unwrap();
|
||||
let screen_width = termsize.width();
|
||||
if screen_width != 0 {
|
||||
let mut start = 0;
|
||||
let mut pos = start;
|
||||
@@ -1077,7 +1077,7 @@ pub fn reformat_for_screen(msg: &wstr, termsize: &Termsize) -> WString {
|
||||
while pos < msg.len() && ![' ', '\n', '\r', '\t'].contains(&msg.char_at(pos)) {
|
||||
// Check is token is wider than one line. If so we mark it as an overflow and break
|
||||
// the token.
|
||||
let width = fish_wcwidth(msg.char_at(pos));
|
||||
let width = fish_wcwidth(msg.char_at(pos)).unwrap_or_default();
|
||||
if (tok_width + width) > (screen_width - 1) {
|
||||
overflow = true;
|
||||
break;
|
||||
|
||||
6
src/env/config_paths.rs
vendored
6
src/env/config_paths.rs
vendored
@@ -16,7 +16,9 @@ pub struct ConfigPaths {
|
||||
pub doc: Option<PathBuf>, // e.g., /usr/local/share/doc/fish
|
||||
}
|
||||
|
||||
pub const PREFIX: &str = env!("PREFIX");
|
||||
const SYSCONF_DIR: &str = env!("SYSCONFDIR");
|
||||
const DATADIR: Option<&str> = option_env!("DATADIR");
|
||||
|
||||
impl ConfigPaths {
|
||||
pub fn new() -> Self {
|
||||
@@ -58,7 +60,7 @@ macro_rules! log_optional_path {
|
||||
|
||||
fn from_exec_path(unresolved_exec_path: &'static FishPath) -> Self {
|
||||
let default_layout = |exec_path_parent: Option<&Path>| {
|
||||
let data = option_env!("DATADIR").map(|p| PathBuf::from(p).join("fish"));
|
||||
let data = DATADIR.map(|p| PathBuf::from(p).join("fish"));
|
||||
Self {
|
||||
sysconf: PathBuf::from(SYSCONF_DIR).join("fish"),
|
||||
bin: option_env!("BINDIR")
|
||||
@@ -111,6 +113,8 @@ fn from_exec_path(unresolved_exec_path: &'static FishPath) -> Self {
|
||||
let prefix = exec_path_parent.parent().unwrap();
|
||||
let data = prefix.join("share/fish");
|
||||
let sysconf = prefix.join("etc/fish");
|
||||
DATADIR.expect("cmake sets datadir").strip_prefix(PREFIX) == Some("/share") &&
|
||||
SYSCONF_DIR.strip_prefix(PREFIX) == Some("/etc") &&
|
||||
data.exists() && sysconf.exists()
|
||||
// Installations with prefix set to exactly the workspace root are not supported;
|
||||
// those will behave like non-installed builds inside the workspace.
|
||||
|
||||
4
src/env/environment.rs
vendored
4
src/env/environment.rs
vendored
@@ -8,7 +8,7 @@
|
||||
use crate::common::{
|
||||
UnescapeStringStyle, cstr2wcstring, osstr2wcstring, str2wcstring, unescape_string,
|
||||
};
|
||||
use crate::env::config_paths::ConfigPaths;
|
||||
use crate::env::config_paths::{ConfigPaths, PREFIX};
|
||||
use crate::env::{EnvMode, EnvSetMode, EnvVar, Statuses};
|
||||
use crate::env_dispatch::{VarChangeMilieu, env_dispatch_init, env_dispatch_var_change};
|
||||
use crate::event::Event;
|
||||
@@ -536,7 +536,7 @@ fn setup_user(global_exported_mode: EnvSetMode, vars: &EnvStack) {
|
||||
colon_split(&[cstr2wcstring(cstr)])
|
||||
} else {
|
||||
vec![
|
||||
str2wcstring(env!("PREFIX")) + L!("/bin"),
|
||||
str2wcstring(PREFIX) + L!("/bin"),
|
||||
L!("/usr/bin").to_owned(),
|
||||
L!("/bin").to_owned(),
|
||||
]
|
||||
|
||||
@@ -163,7 +163,8 @@ pub fn handle_emoji_width(vars: &EnvStack) {
|
||||
|
||||
if let Some(width_str) = vars.get(L!("fish_emoji_width")) {
|
||||
// The only valid values are 1 or 2; we default to 1 if it was an invalid int.
|
||||
let new_width = fish_wcstoi(&width_str.as_string()).unwrap_or(1).clamp(1, 2) as isize;
|
||||
let new_width = fish_wcstoi(&width_str.as_string()).unwrap_or(1).clamp(1, 2);
|
||||
let new_width = usize::try_from(new_width).unwrap_or_default();
|
||||
FISH_EMOJI_WIDTH.store(new_width, Ordering::Relaxed);
|
||||
flog!(
|
||||
term_support,
|
||||
@@ -171,7 +172,7 @@ pub fn handle_emoji_width(vars: &EnvStack) {
|
||||
new_width
|
||||
);
|
||||
} else {
|
||||
let width = 2_isize;
|
||||
let width = 2_usize;
|
||||
FISH_EMOJI_WIDTH.store(width, Ordering::Relaxed);
|
||||
flog!(term_support, "default emoji width:", width);
|
||||
}
|
||||
@@ -219,9 +220,9 @@ fn handle_change_ambiguous_width(vars: &EnvStack) {
|
||||
.map(|v| v.as_string())
|
||||
// We use the default value of 1 if it was an invalid int.
|
||||
.and_then(|fish_ambiguous_width| fish_wcstoi(&fish_ambiguous_width).ok())
|
||||
.unwrap_or(1)
|
||||
// Clamp in case of negative values.
|
||||
.max(0) as isize;
|
||||
.unwrap_or(1);
|
||||
// Clamp in case of negative values.
|
||||
let new_width = usize::try_from(new_width).unwrap_or_default();
|
||||
fish_fallback::FISH_AMBIGUOUS_WIDTH.store(new_width, Ordering::Relaxed);
|
||||
}
|
||||
|
||||
|
||||
@@ -237,19 +237,14 @@ fn set(&self, flag: FeatureFlag, value: bool) {
|
||||
}
|
||||
|
||||
fn set_from_string(&self, str: &wstr) {
|
||||
let whitespace = L!("\t\n\0x0B\0x0C\r ").as_char_slice();
|
||||
for entry in str.as_char_slice().split(|c| *c == ',') {
|
||||
for entry in str.split(',') {
|
||||
let entry = entry.trim();
|
||||
if entry.is_empty() {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Trim leading and trailing whitespace
|
||||
let entry = &entry[entry.iter().take_while(|c| whitespace.contains(c)).count()..];
|
||||
let entry =
|
||||
&entry[..entry.len() - entry.iter().take_while(|c| whitespace.contains(c)).count()];
|
||||
|
||||
// A "no-" prefix inverts the sense.
|
||||
let (name, value) = match entry.strip_prefix(L!("no-").as_char_slice()) {
|
||||
let (name, value) = match entry.strip_prefix("no-") {
|
||||
Some(suffix) => (suffix, false),
|
||||
None => (entry, true),
|
||||
};
|
||||
|
||||
@@ -1810,6 +1810,7 @@ mod tests {
|
||||
use crate::env::{EnvMode, EnvSetMode, EnvStack};
|
||||
use crate::fs::{LockedFile, WriteMethod};
|
||||
use crate::prelude::*;
|
||||
use crate::tests::prelude::test_init;
|
||||
use fish_build_helper::workspace_root;
|
||||
use fish_wcstringutil::{
|
||||
string_prefixes_string, string_prefixes_string_case_insensitive, wcs2bytes,
|
||||
@@ -2292,6 +2293,7 @@ fn test_history_merge() {
|
||||
|
||||
#[test]
|
||||
fn test_history_path_detection() {
|
||||
let _cleanup = test_init();
|
||||
// Regression test for #7582.
|
||||
// Temporary directory for the history files.
|
||||
let hist_tmpdir = fish_tempfile::new_dir().unwrap();
|
||||
|
||||
@@ -445,7 +445,7 @@ pub fn char_to_symbol(c: char, is_first_in_token: bool) -> WString {
|
||||
} else if ('\u{e000}'..='\u{f8ff}').contains(&c) {
|
||||
// Unmapped key from https://sw.kovidgoyal.net/kitty/keyboard-protocol/#functional-key-definitions
|
||||
sprintf!(=> buf, "\\u%04X", u32::from(c));
|
||||
} else if fish_wcwidth(c) > 0 {
|
||||
} else if fish_wcwidth(c).is_some_and(|w| w != 0) {
|
||||
sprintf!(=> buf, "%c", c);
|
||||
} else if c <= '\u{FFFF}' {
|
||||
// BMP Unicode character
|
||||
|
||||
15
src/pager.rs
15
src/pager.rs
@@ -358,17 +358,14 @@ fn measure_completion_infos(&mut self) {
|
||||
comp.comp_width += 2;
|
||||
}
|
||||
|
||||
// This can return -1 if it can't calculate the width. So be cautious.
|
||||
let comp_width = wcswidth_rendered(comp_string);
|
||||
if show_prefix {
|
||||
comp.comp_width += usize::try_from(prefix_len).unwrap_or_default();
|
||||
comp.comp_width += prefix_len;
|
||||
}
|
||||
comp.comp_width += usize::try_from(comp_width).unwrap_or_default();
|
||||
comp.comp_width += wcswidth_rendered(comp_string);
|
||||
}
|
||||
|
||||
// This can return -1 if it can't calculate the width. So be cautious.
|
||||
let desc_width = wcswidth_rendered(&comp.desc);
|
||||
comp.desc_width = usize::try_from(desc_width).unwrap_or_default();
|
||||
comp.desc_width = wcswidth_rendered(&comp.desc);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1155,8 +1152,7 @@ fn print_max_impl(
|
||||
let mut remaining = max;
|
||||
let mut i = 0;
|
||||
while let Some(c) = chars.next() {
|
||||
let iwidth_c = wcwidth_rendered(c);
|
||||
let Ok(width_c) = usize::try_from(iwidth_c) else {
|
||||
let Some(width_c) = wcwidth_rendered(c) else {
|
||||
// skip non-printable characters
|
||||
continue;
|
||||
};
|
||||
@@ -1168,8 +1164,7 @@ fn print_max_impl(
|
||||
let ellipsis = ELLIPSIS_CHAR;
|
||||
if (width_c == remaining) && (has_more || chars.peek().is_some()) {
|
||||
line.append(ellipsis, color(i), offset_in_cmdline);
|
||||
let ellipsis_width = wcwidth_rendered(ellipsis);
|
||||
remaining = remaining.saturating_sub(usize::try_from(ellipsis_width).unwrap());
|
||||
remaining = remaining.saturating_sub(wcwidth_rendered(ellipsis).unwrap());
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -385,11 +385,8 @@ pub fn describe_with_prefix(
|
||||
// It's possible that the start points at a newline itself. In that case,
|
||||
// pretend it's a space. We only expect this to be at the end of the string.
|
||||
caret_space_line += " ";
|
||||
} else {
|
||||
let width = fish_wcwidth(wc);
|
||||
if width > 0 {
|
||||
caret_space_line += " ".repeat(width as usize).as_str();
|
||||
}
|
||||
} else if let Some(width) = fish_wcwidth(wc) {
|
||||
caret_space_line += " ".repeat(width).as_str();
|
||||
}
|
||||
}
|
||||
result += "\n";
|
||||
@@ -400,11 +397,11 @@ pub fn describe_with_prefix(
|
||||
// We do it like this
|
||||
// ^~~^
|
||||
// With a "^" under the start and end, and squiggles in-between.
|
||||
let width = fish_wcswidth(&src[start..start + len]);
|
||||
let width = fish_wcswidth(&src[start..start + len]).unwrap_or_default();
|
||||
if width >= 2 {
|
||||
// Subtract one for each of the carets - this is important in case
|
||||
// the starting char has a width of > 1.
|
||||
result += "~".repeat(width as usize - 2).as_str();
|
||||
result += "~".repeat(width - 2).as_str();
|
||||
result += "^";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2205,11 +2205,9 @@ fn delete_char(&mut self, backward: bool /* = true */) {
|
||||
|
||||
// Fake composed character sequences by continuing to delete until we delete a character of
|
||||
// width at least 1.
|
||||
let mut width;
|
||||
loop {
|
||||
pos -= 1;
|
||||
width = fish_wcwidth(el.text().char_at(pos));
|
||||
if width != 0 || pos == 0 {
|
||||
if fish_wcwidth(el.text().char_at(pos)).is_none_or(|w| w != 0) || pos == 0 {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -2268,7 +2266,11 @@ fn move_word(
|
||||
|
||||
while buff_pos != end {
|
||||
if buff_pos == el.len() && (move_right || to_word_end) {
|
||||
break;
|
||||
if !move_right && to_word_end && buff_pos != 0 {
|
||||
buff_pos -= 1;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
let char_pos = if move_right {
|
||||
if to_word_end { buff_pos + 1 } else { buff_pos }
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
use crate::terminal::{BufferedOutputter, CardinalDirection, Outputter};
|
||||
use crate::termsize::Termsize;
|
||||
use crate::wutil::fstat;
|
||||
use fish_fallback::fish_wcwidth;
|
||||
use fish_fallback::{fish_wcswidth_canonicalizing, fish_wcwidth};
|
||||
use fish_wcstringutil::{fish_wcwidth_visible, string_prefixes_string, wcs2bytes};
|
||||
use fish_widestring::ELLIPSIS_CHAR;
|
||||
use libc::{STDERR_FILENO, STDOUT_FILENO};
|
||||
@@ -1786,23 +1786,24 @@ fn line_shared_prefix(a: &Line, b: &Line) -> usize {
|
||||
// We're done if the text or colors are different.
|
||||
if ac != bc || a.color_at(idx) != b.color_at(idx) {
|
||||
if idx > 0 {
|
||||
fn invisible(c: char) -> bool {
|
||||
matches!(fish_wcwidth(c), None | Some(0))
|
||||
}
|
||||
|
||||
let mut c = None;
|
||||
// Possible combining mark, go back until we hit _two_ printable characters or idx
|
||||
// of 0.
|
||||
if fish_wcwidth(a.char_at(idx)) < 1 {
|
||||
if invisible(a.char_at(idx)) {
|
||||
c = Some(&a);
|
||||
} else if fish_wcwidth(b.char_at(idx)) < 1 {
|
||||
} else if invisible(b.char_at(idx)) {
|
||||
c = Some(&b);
|
||||
}
|
||||
|
||||
if let Some(c) = c {
|
||||
while idx > 1
|
||||
&& (fish_wcwidth(c.char_at(idx - 1)) < 1
|
||||
|| fish_wcwidth(c.char_at(idx)) < 1)
|
||||
{
|
||||
while idx > 1 && (invisible(c.char_at(idx - 1)) || invisible(c.char_at(idx))) {
|
||||
idx -= 1;
|
||||
}
|
||||
if idx == 1 && fish_wcwidth(c.char_at(idx)) < 1 {
|
||||
if idx == 1 && invisible(c.char_at(idx)) {
|
||||
idx = 0;
|
||||
}
|
||||
}
|
||||
@@ -2060,13 +2061,13 @@ fn rendered_character(c: char) -> char {
|
||||
}
|
||||
|
||||
fn wcwidth_rendered_min_0(c: char) -> usize {
|
||||
usize::try_from(wcwidth_rendered(c)).unwrap_or_default()
|
||||
wcwidth_rendered(c).unwrap_or_default()
|
||||
}
|
||||
pub fn wcwidth_rendered(c: char) -> isize {
|
||||
pub fn wcwidth_rendered(c: char) -> Option<usize> {
|
||||
fish_wcwidth(rendered_character(c))
|
||||
}
|
||||
pub fn wcswidth_rendered(s: &wstr) -> isize {
|
||||
s.chars().map(wcwidth_rendered).sum()
|
||||
pub fn wcswidth_rendered(s: &wstr) -> usize {
|
||||
fish_wcswidth_canonicalizing(s, rendered_character).unwrap_or_default()
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
use crate::flog;
|
||||
use crate::signal::SigChecker;
|
||||
use crate::topic_monitor::Topic;
|
||||
use errno::{Errno, set_errno};
|
||||
use fish_util::{perror, write_to_fd};
|
||||
use fish_wcstringutil::{join_strings, str2bytes_callback, wcs2osstring, wcs2zstring};
|
||||
use fish_widestring::{IntoCharIter, L, WExt as _, WString, wstr};
|
||||
@@ -100,6 +101,7 @@ pub fn wreadlink(file_name: &wstr) -> Option<WString> {
|
||||
/// `wrealpath()` returns `None`
|
||||
pub fn wrealpath(pathname: &wstr) -> Option<WString> {
|
||||
if pathname.is_empty() {
|
||||
set_errno(Errno(0));
|
||||
return None;
|
||||
}
|
||||
|
||||
@@ -432,10 +434,6 @@ pub fn fish_iswalnum(c: char) -> bool {
|
||||
!fish_reserved_codepoint(c) && !fish_is_pua(c) && c.is_alphanumeric()
|
||||
}
|
||||
|
||||
pub fn fish_wcswidth(s: &wstr) -> isize {
|
||||
fish_fallback::fish_wcswidth(s)
|
||||
}
|
||||
|
||||
/// Given that `cursor` is a pointer into `base`, return the offset in characters.
|
||||
/// This emulates C pointer arithmetic:
|
||||
/// `wstr_offset_in(cursor, base)` is equivalent to C++ `cursor - base`.
|
||||
|
||||
@@ -234,3 +234,54 @@ abbr | grep __abbr_coexist
|
||||
# CHECK: abbr -a --position anywhere --command bar -- __abbr_coexist_2 'bar command'
|
||||
abbr -e --command foo __abbr_coexist
|
||||
abbr -e --command bar __abbr_coexist_2
|
||||
|
||||
abbr --add foo --rename foo fuu --show --list --erase foo --query foo
|
||||
# CHECKERR: abbr: Cannot combine options add, rename, show, list, erase, query
|
||||
|
||||
abbr --add foo
|
||||
# CHECKERR: abbr --add: Requires at least two arguments
|
||||
|
||||
abbr --add foo --function foobar extra
|
||||
# CHECKERR: abbr: too many arguments
|
||||
|
||||
abbr --add foo --command=foobar --position=command bar
|
||||
# CHECKERR: abbr: --command cannot be combined with --position=command
|
||||
|
||||
abbr --list --regex "."
|
||||
# CHECKERR: abbr: --regex option requires --add
|
||||
|
||||
abbr --add --regex "a." --regex ".b" foo bar
|
||||
# CHECKERR: abbr: Cannot specify multiple regex patterns
|
||||
|
||||
abbr --show --set-cursor=marker
|
||||
# CHECKERR: abbr: --set-cursor option requires --add
|
||||
|
||||
abbr --add --set-cursor=marker --set-cursor=marker
|
||||
# CHECKERR: abbr: Cannot specify multiple set-cursor options
|
||||
|
||||
abbr --add foo --set-cursor= foo
|
||||
# CHECKERR: abbr: --set-cursor argument cannot be empty
|
||||
|
||||
abbr --list foo
|
||||
# CHECKERR: abbr --list: Unexpected argument -- 'foo'
|
||||
|
||||
abbr --rename "" bar
|
||||
# CHECKERR: abbr --rename: Name cannot be empty
|
||||
|
||||
abbr --rename foo ""
|
||||
# CHECKERR: abbr --rename: Name cannot be empty
|
||||
|
||||
abbr sub1 -c foo -c bar foo_1
|
||||
abbr sub2 -c foo -c bar foo_1
|
||||
abbr --rename -c foo -c bar sub1 sub2
|
||||
# CHECKERR: abbr --rename: Abbreviation sub2 already exists for commands foo, bar, cannot rename sub1
|
||||
abbr --erase sub1 --command={foo,bar}
|
||||
abbr --erase sub2 --command={foo,bar}
|
||||
|
||||
abbr --erase (abbr --list)
|
||||
abbr -U
|
||||
# CHECKERR: abbr: Warning: Option '-U' was removed and is now ignored
|
||||
# CHECKERR: {{.*}}checks/abbr.fish (line {{\d+}}):
|
||||
# CHECKERR: abbr -U
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help abbr' for related documentation)
|
||||
|
||||
@@ -36,41 +36,47 @@ end
|
||||
|
||||
# Invalid option specs
|
||||
argparse h-
|
||||
argparse /
|
||||
argparse +help
|
||||
argparse h/help:
|
||||
argparse h-help::
|
||||
argparse h-help=x
|
||||
#CHECKERR: argparse: Invalid option spec 'h-' at char '-'
|
||||
#CHECKERR: {{.*}}checks/argparse.fish (line {{\d+}}):
|
||||
#CHECKERR: argparse h-
|
||||
#CHECKERR: ^
|
||||
#CHECKERR: (Type 'help argparse' for related documentation)
|
||||
argparse /
|
||||
#CHECKERR: argparse: Short flag '/' invalid, must be alphanum or '#'
|
||||
#CHECKERR: {{.*}}checks/argparse.fish (line {{\d+}}):
|
||||
#CHECKERR: argparse /
|
||||
#CHECKERR: ^
|
||||
#CHECKERR: (Type 'help argparse' for related documentation)
|
||||
argparse +help
|
||||
#CHECKERR: argparse: Short flag '+' invalid, must be alphanum or '#'
|
||||
#CHECKERR: {{.*}}checks/argparse.fish (line {{\d+}}):
|
||||
#CHECKERR: argparse +help
|
||||
#CHECKERR: ^
|
||||
#CHECKERR: (Type 'help argparse' for related documentation)
|
||||
argparse h/help:
|
||||
#CHECKERR: argparse: Invalid option spec 'h/help:' at char ':'
|
||||
#CHECKERR: {{.*}}checks/argparse.fish (line {{\d+}}):
|
||||
#CHECKERR: argparse h/help:
|
||||
#CHECKERR: ^
|
||||
#CHECKERR: (Type 'help argparse' for related documentation)
|
||||
argparse h-help::
|
||||
#CHECKERR: argparse: Invalid option spec 'h-help::' at char ':'
|
||||
#CHECKERR: {{.*}}checks/argparse.fish (line {{\d+}}):
|
||||
#CHECKERR: argparse h-help::
|
||||
#CHECKERR: ^
|
||||
#CHECKERR: (Type 'help argparse' for related documentation)
|
||||
argparse h-help=x
|
||||
#CHECKERR: argparse: Invalid option spec 'h-help=x' at char 'x'
|
||||
#CHECKERR: {{.*}}checks/argparse.fish (line {{\d+}}):
|
||||
#CHECKERR: argparse h-help=x
|
||||
#CHECKERR: ^
|
||||
#CHECKERR: (Type 'help argparse' for related documentation)
|
||||
argparse h/
|
||||
#CHECKERR: argparse: Invalid option spec 'h/' at char '/'
|
||||
#CHECKERR: {{.*}}checks/argparse.fish (line {{\d+}}):
|
||||
#CHECKERR: argparse h/
|
||||
#CHECKERR: ^
|
||||
#CHECKERR: (Type 'help argparse' for related documentation)
|
||||
|
||||
# --max-args and --min-args work
|
||||
begin
|
||||
@@ -90,6 +96,19 @@ begin
|
||||
#CHECKERR: min-max: expected <= 1 arguments; got 2
|
||||
argparse --name min-max --max-args 1 -- arg1 arg2
|
||||
#CHECKERR: min-max: expected <= 1 arguments; got 2
|
||||
|
||||
argparse --name min-max --min-args -1 --
|
||||
#CHECKERR: argparse: Invalid --min-args value '-1'
|
||||
#CHECKERR: {{.*}}checks/argparse.fish (line {{\d+}}):
|
||||
#CHECKERR: argparse --name min-max --min-args -1 --
|
||||
#CHECKERR: ^
|
||||
#CHECKERR: (Type 'help argparse' for related documentation)
|
||||
argparse --name min-max --max-args -1 --
|
||||
#CHECKERR: argparse: Invalid --max-args value '-1'
|
||||
#CHECKERR: {{.*}}checks/argparse.fish (line {{\d+}}):
|
||||
#CHECKERR: argparse --name min-max --max-args -1 --
|
||||
#CHECKERR: ^
|
||||
#CHECKERR: (Type 'help argparse' for related documentation)
|
||||
end
|
||||
|
||||
# Invalid \"#-val\" spec
|
||||
@@ -136,6 +155,13 @@ begin
|
||||
#CHECKERR: argparse '#-val' x/xray 'v#val' -- -s -x --long
|
||||
#CHECKERR: ^
|
||||
#CHECKERR: (Type 'help argparse' for related documentation)
|
||||
|
||||
argparse 'v#val' x/xray '#-val' -- -s -x --long
|
||||
# CHECKERR: argparse: Implicit int flag 'v' already defined
|
||||
# CHECKERR: {{.*}}checks/argparse.fish (line {{\d+}}):
|
||||
# CHECKERR: argparse 'v#val' x/xray '#-val' -- -s -x --long
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help argparse' for related documentation)
|
||||
end
|
||||
|
||||
# Defining an implicit int flag with modifiers
|
||||
@@ -304,7 +330,7 @@ and echo unexpected argparse return status >&2
|
||||
# CHECKERR: argparse: Value 'a1' for flag 'm' is not an integer
|
||||
|
||||
begin
|
||||
# Check the exit status from argparse validation
|
||||
# Check the exit status from argparse validation
|
||||
argparse 'm#max!set -l | grep "^_flag_"; function x; return 57; end; x' -- argle --max=83 bargle 2>&1
|
||||
set -l saved_status $status
|
||||
test $saved_status -eq 57
|
||||
@@ -420,7 +446,6 @@ begin
|
||||
# CHECK: argv_opts '--long=value' '--long'
|
||||
end
|
||||
|
||||
|
||||
begin
|
||||
argparse -u b/break -- "-b kubectl get pods -l name=foo"
|
||||
set -l
|
||||
@@ -726,9 +751,8 @@ begin
|
||||
# CHECK: argv_opts
|
||||
end
|
||||
|
||||
|
||||
begin
|
||||
argparse 'd=?&' a b -- -d -d3 -ad -bd345
|
||||
argparse 'd=?&' a b -- -d -d3 -ad -bd345
|
||||
set -l
|
||||
# CHECK: _flag_a -a
|
||||
# CHECK: _flag_b -b
|
||||
@@ -738,7 +762,7 @@ begin
|
||||
end
|
||||
|
||||
begin
|
||||
argparse 'd&' a b 'v=' -- 0 -adbv124 1 -abdv125 2 -dabv124 3 -vd3
|
||||
argparse 'd&' a b 'v=' -- 0 -adbv124 1 -abdv125 2 -dabv124 3 -vd3
|
||||
set -l
|
||||
# CHECK: _flag_a '-a' '-a' '-a'
|
||||
# CHECK: _flag_b '-b' '-b' '-b'
|
||||
@@ -795,5 +819,28 @@ begin
|
||||
# CHECK: argv_opts '-o' '-oval' '--opt' '--opt=456'
|
||||
end
|
||||
|
||||
# Check --exclusive
|
||||
begin
|
||||
argparse --exclusive=a a/abc b/bcd --
|
||||
# CHECKERR: argparse: exclusive flag string 'a' is not valid
|
||||
|
||||
argparse --exclusive=a,bcd a/abc b/bcd --
|
||||
argparse -x a,bcd a/abc b/bcd --
|
||||
|
||||
argparse --exclusive=a,bcd,e a/abc b/bcd --
|
||||
# CHECKERR: argparse: exclusive flag 'e' is not valid
|
||||
end
|
||||
|
||||
begin
|
||||
# Many, many long options
|
||||
argparse (for i in (seq 0 6400); echo "o$i"; end) --
|
||||
# CHECKERR: argparse: Too many long-only options
|
||||
# CHECKERR: {{.*}}checks/argparse.fish (line {{\d+}}):
|
||||
# CHECKERR: argparse (for i in (seq 0 6400); echo "o$i"; end) --
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help argparse' for related documentation)
|
||||
set -l
|
||||
end
|
||||
|
||||
# Check that the argparse's are properly wrapped in begin blocks
|
||||
set -l
|
||||
|
||||
@@ -233,6 +233,8 @@ contains -i -- -- a b c; or echo nothing
|
||||
#CHECK: nothing
|
||||
contains -i -- -- a b c -- v
|
||||
#CHECK: 4
|
||||
contains
|
||||
#CHECKERR: contains: Key not specified
|
||||
|
||||
# Test if, else, and else if
|
||||
if true
|
||||
@@ -447,6 +449,11 @@ $dyn_break -h
|
||||
continue -h
|
||||
#CHECKERR: Documentation for continue
|
||||
|
||||
for i in abc
|
||||
break foo
|
||||
end
|
||||
#CHECKERR: break: foo: unknown option
|
||||
|
||||
# Test implicit cd. This should do nothing.
|
||||
./
|
||||
|
||||
|
||||
@@ -6,3 +6,6 @@ bg -- -1
|
||||
# CHECKERR: bg: '-1' is not a valid process ID
|
||||
bg -- -(math 2 ^ 31)
|
||||
# CHECKERR: bg: '-2147483648' is not a valid process ID
|
||||
|
||||
bg
|
||||
# CHECKERR: bg: There are no suitable jobs
|
||||
|
||||
@@ -138,7 +138,6 @@ bind \ef forward-word
|
||||
bind \ef
|
||||
# CHECK: bind alt-f forward-word
|
||||
|
||||
|
||||
# Erasing bindings
|
||||
bind --erase tab
|
||||
bind tab
|
||||
@@ -179,6 +178,9 @@ bind ctrl-shift-a
|
||||
bind ctrl-shift-ä
|
||||
# CHECKERR: bind: No binding found for key 'ctrl-shift-ä'
|
||||
|
||||
bind '\n'
|
||||
# CHECKERR: bind: No binding found for key sequence '\\n'
|
||||
|
||||
# Verify binds from all modes are returned when querying a sequence
|
||||
fish_vi_key_bindings
|
||||
bind --preset ctrl-q 'echo preset'
|
||||
@@ -190,6 +192,10 @@ bind ctrl-q
|
||||
# CHECK: bind ctrl-q 'echo default'
|
||||
# CHECK: bind -M insert ctrl-q 'echo insert'
|
||||
# CHECK: bind -M replace ctrl-q 'echo replace'
|
||||
|
||||
bind --user --preset ctrl-q 'echo preset'
|
||||
# CHECKERR: bind: --preset --user: options cannot be used together
|
||||
|
||||
fish_default_key_bindings
|
||||
|
||||
exit 0
|
||||
|
||||
9
tests/checks/breakpoint.fish
Normal file
9
tests/checks/breakpoint.fish
Normal file
@@ -0,0 +1,9 @@
|
||||
# RUN: fish=%fish %fish %s
|
||||
|
||||
breakpoint foo
|
||||
# CHECKERR: breakpoint: expected 0 arguments; got 1
|
||||
|
||||
# no breakpoint in non-interactive shell
|
||||
breakpoint
|
||||
echo $status
|
||||
# CHECK: 1
|
||||
@@ -36,6 +36,15 @@ test (pwd) = "$link" || echo "(pwd) != \$link:"\n "\$PWD: "(pwd)\n "\$link: $lin
|
||||
test (pwd -P) = "$real" || echo "(pwd -P) != \$real:"\n "\$PWD: $PWD"\n "\$real: $real"\n
|
||||
test (pwd -P -L) = "$link" || echo "(pwd -P -L) != \$link:"\n "\$PWD: $PWD"\n "\$link: $link"\n
|
||||
# Expect no output on success.
|
||||
pwd abc
|
||||
# CHECKERR: pwd: expected 0 arguments; got 1
|
||||
|
||||
mkdir -p $base/pwd_real/subdir
|
||||
ln -s $base/pwd_real $base/pwd_link
|
||||
cd $base/pwd_link/subdir
|
||||
rmdir $base/pwd_real/subdir $base/pwd_real
|
||||
pwd -P
|
||||
# CHECKERR: pwd: realpath failed: No such file or directory
|
||||
|
||||
# Create a symlink and verify logical completion.
|
||||
# create directory $base/through/the/looking/glass
|
||||
@@ -309,3 +318,27 @@ else
|
||||
chmod -R +rx $tmp # we must be able to list the directory to delete its children
|
||||
rm -rf $tmp
|
||||
end
|
||||
|
||||
HOME="" cd
|
||||
# CHECKERR: cd: Could not find home directory
|
||||
|
||||
ln -s loop1 loop2
|
||||
ln -s loop2 loop1
|
||||
cd loop1
|
||||
# CHECKERR: cd: Too many levels of symbolic links: 'loop1'
|
||||
# CHECKERR: {{.*}}/cd.fish (line {{\d+}}):
|
||||
# CHECKERR: builtin cd $argv
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: in function 'cd' with arguments 'loop1'
|
||||
# CHECKERR: called on line {{\d+}} of file {{.*}}/cd.fish
|
||||
|
||||
# According to https://en.wikipedia.org/wiki/Comparison_of_file_systems#Limits,
|
||||
# the longest filename supported is with Reiser4 (3976 bytes)
|
||||
cd (string repeat 4096 a)
|
||||
# CHECKERR: cd: {{.+}}
|
||||
# CHECKERR: cd: Unknown error trying to locate directory '{{.*}}'
|
||||
# CHECKERR: {{.*}}/cd.fish (line {{\d+}}):
|
||||
# CHECKERR: builtin cd $argv
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: in function 'cd' with arguments '{{.*}}'
|
||||
# CHECKERR: called on line {{\d+}} of file {{.*}}/cd.fish
|
||||
|
||||
@@ -72,3 +72,141 @@ $fish -c 'commandline foo'
|
||||
# CHECKERR: commandline foo
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help commandline' for related documentation)
|
||||
|
||||
commandline --tokens-expanded --tokens-raw
|
||||
# CHECKERR: commandline: invalid option combination, --tokens options are mutually exclusive
|
||||
# CHECKERR: {{.*}}/commandline.fish (line {{\d+}}):
|
||||
# CHECKERR: commandline --tokens-expanded --tokens-raw
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help commandline' for related documentation)
|
||||
|
||||
commandline --tokens-expanded --tokenize
|
||||
# CHECKERR: commandline: invalid option combination, --tokens options are mutually exclusive
|
||||
# CHECKERR: {{.*}}/commandline.fish (line {{\d+}}):
|
||||
# CHECKERR: commandline --tokens-expanded --tokenize
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help commandline' for related documentation)
|
||||
|
||||
commandline --function --current-buffer
|
||||
# CHECKERR: commandline: invalid option combination
|
||||
# CHECKERR: {{.*}}/commandline.fish (line {{\d+}}):
|
||||
# CHECKERR: commandline --function --current-buffer
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help commandline' for related documentation)
|
||||
|
||||
commandline --function foo
|
||||
# CHECKERR: commandline: Unknown input function 'foo'
|
||||
# CHECKERR: {{.*}}/commandline.fish (line {{\d+}}):
|
||||
# CHECKERR: commandline --function foo
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help commandline' for related documentation)
|
||||
|
||||
commandline --selection-start foo
|
||||
# CHECKERR: commandline: too many arguments
|
||||
# CHECKERR: {{.*}}/commandline.fish (line {{\d+}}):
|
||||
# CHECKERR: commandline --selection-start foo
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help commandline' for related documentation)
|
||||
commandline --selection-end foo
|
||||
# CHECKERR: commandline: too many arguments
|
||||
# CHECKERR: {{.*}}/commandline.fish (line {{\d+}}):
|
||||
# CHECKERR: commandline --selection-end foo
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help commandline' for related documentation)
|
||||
|
||||
commandline --line 1 2
|
||||
# CHECKERR: commandline: too many arguments
|
||||
# CHECKERR: {{.*}}/commandline.fish (line {{\d+}}):
|
||||
# CHECKERR: commandline --line 1 2
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help commandline' for related documentation)
|
||||
|
||||
commandline --cut-at-cursor --cursor
|
||||
# CHECKERR: commandline: invalid option combination
|
||||
# CHECKERR: {{.*}}/commandline.fish (line {{\d+}}):
|
||||
# CHECKERR: commandline --cut-at-cursor --cursor
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help commandline' for related documentation)
|
||||
|
||||
commandline --cut-at-cursor --tokens-expanded abc
|
||||
# CHECKERR: commandline: invalid option combination, --cut-at-cursor and token options can not be used when setting the commandline
|
||||
# CHECKERR: {{.*}}/commandline.fish (line {{\d+}}):
|
||||
# CHECKERR: commandline --cut-at-cursor --tokens-expanded abc
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help commandline' for related documentation)
|
||||
|
||||
commandline --search-field --tokens-expanded
|
||||
# CHECKERR: commandline: invalid option combination
|
||||
# CHECKERR: {{.*}}/commandline.fish (line {{\d+}}):
|
||||
# CHECKERR: commandline --search-field --tokens-expanded
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help commandline' for related documentation)
|
||||
|
||||
commandline --insert-smart 0 --search-field
|
||||
# CHECKERR: commandline: --insert-smart --search-field: options cannot be used together
|
||||
# CHECKERR: {{.*}}/commandline.fish (line {{\d+}}):
|
||||
# CHECKERR: commandline --insert-smart 0 --search-field
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help commandline' for related documentation)
|
||||
|
||||
commandline --insert-smart 0 --current-token
|
||||
# CHECKERR: commandline: --insert-smart --current-token: options cannot be used together
|
||||
# CHECKERR: {{.*}}/commandline.fish (line {{\d+}}):
|
||||
# CHECKERR: commandline --insert-smart 0 --current-token
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help commandline' for related documentation)
|
||||
|
||||
commandline --line abc
|
||||
# CHECKERR: commandline: abc: invalid integer
|
||||
# CHECKERR: {{.*}}/commandline.fish (line {{\d+}}):
|
||||
# CHECKERR: commandline --line abc
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help commandline' for related documentation)
|
||||
commandline --line 0
|
||||
# CHECKERR: commandline: line/column index starts at 1
|
||||
# CHECKERR: {{.*}}/commandline.fish (line {{\d+}}):
|
||||
# CHECKERR: commandline --line 0
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help commandline' for related documentation)
|
||||
commandline --line 1
|
||||
# OK
|
||||
commandline --line 2
|
||||
# CHECKERR: commandline: there is no line 2
|
||||
# CHECKERR: {{.*}}/commandline.fish (line {{\d+}}):
|
||||
# CHECKERR: commandline --line 2
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help commandline' for related documentation)
|
||||
commandline --line 3
|
||||
# CHECKERR: commandline: there is no line 3
|
||||
# CHECKERR: {{.*}}/commandline.fish (line {{\d+}}):
|
||||
# CHECKERR: commandline --line 3
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help commandline' for related documentation)
|
||||
|
||||
commandline --column abc
|
||||
# CHECKERR: commandline: abc: invalid integer
|
||||
# CHECKERR: {{.*}}/commandline.fish (line {{\d+}}):
|
||||
# CHECKERR: commandline --column abc
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help commandline' for related documentation)
|
||||
commandline --column 0
|
||||
# CHECKERR: commandline: line/column index starts at 1
|
||||
# CHECKERR: {{.*}}/commandline.fish (line {{\d+}}):
|
||||
# CHECKERR: commandline --column 0
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help commandline' for related documentation)
|
||||
commandline --column 1
|
||||
# OK
|
||||
commandline --column 2
|
||||
# CHECKERR: commandline: column 2 exceeds line length
|
||||
# CHECKERR: {{.*}}/commandline.fish (line {{\d+}}):
|
||||
# CHECKERR: commandline --column 2
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help commandline' for related documentation)
|
||||
|
||||
$fish -ic "commandline --cursor abc"
|
||||
# CHECKERR: commandline: abc: invalid integer
|
||||
# CHECKERR: Standard input (line 1):
|
||||
# CHECKERR: commandline --cursor abc
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help commandline' for related documentation)
|
||||
|
||||
@@ -482,6 +482,8 @@ complete -C"cmd_with_fancy_completion </dev/null >/dev/null 2>>/dev/null >?/dev/
|
||||
|
||||
complete -c thing -x -F
|
||||
# CHECKERR: complete: invalid option combination, '--exclusive' and '--force-files'
|
||||
complete -c thing -F -f
|
||||
# CHECKERR: complete: invalid option combination, '--no-files' and '--force-files'
|
||||
# Multiple conditions
|
||||
complete -f -c shot
|
||||
complete -fc shot -n 'test (count (commandline -xpc) -eq 1' -n 'test (commandline -xpc)[-1] = shot' -a through
|
||||
@@ -697,6 +699,18 @@ begin
|
||||
chmod +x "$TMPDIR/-command-starting-with-dash"
|
||||
|
||||
set -l PATH "$TMPDIR" $PATH
|
||||
complete -C"-command-starting-with"
|
||||
complete -C-command-starting-with
|
||||
# CHECK: -command-starting-with-dash{{\t}}command
|
||||
end
|
||||
|
||||
complete --command="foo\\"
|
||||
# CHECKERR: complete: Invalid token 'foo\'
|
||||
|
||||
complete -c foo -a "foo\\"
|
||||
# CHECKERR: complete: foo\: contains a syntax error
|
||||
# CHECKERR: complete: Expected a string, but found an incomplete token
|
||||
# CHECKERR: foo\
|
||||
# CHECKERR: ^
|
||||
|
||||
complete -C
|
||||
# CHECKERR: complete: Can not get commandline in non-interactive mode
|
||||
|
||||
@@ -6,3 +6,15 @@ disown -- -1
|
||||
# CHECKERR: disown: '-1' is not a valid process ID
|
||||
disown -- -(math 2 ^ 31)
|
||||
# CHECKERR: disown: '-2147483648' is not a valid process ID
|
||||
disown
|
||||
# CHECKERR: disown: There are no suitable jobs
|
||||
|
||||
# So jobs can be resumed by disown
|
||||
status job-control full
|
||||
sleep 1 &
|
||||
set -l pid (jobs -lp)
|
||||
kill -SIGSTOP $pid
|
||||
disown
|
||||
# CHECKERR: disown: job 1 ('sleep 1 &') was stopped and has been signalled to continue.
|
||||
echo $status
|
||||
# CHECK: 0
|
||||
|
||||
@@ -15,6 +15,9 @@ fg (math 2 ^ 31)
|
||||
fg 0 2>| string match --max-matches=1 '*' >&2
|
||||
# CHECKERR: fg: '0' is not a valid process ID
|
||||
|
||||
fg
|
||||
# CHECKERR: fg: There are no suitable jobs
|
||||
|
||||
builtin fg -- -1 2>| string match --max-matches=1 '*' >&2
|
||||
# CHECKERR: fg: '-1' is not a valid process ID
|
||||
|
||||
@@ -23,3 +26,22 @@ builtin fg -- -1 2>| string match --max-matches=1 '*' >&2
|
||||
|
||||
builtin fg -- -(math 2 ^ 31) 2>| string match --max-matches=1 '*' >&2
|
||||
# CHECKERR: fg: '-2147483648' is not a valid process ID
|
||||
|
||||
builtin fg 1 2
|
||||
# CHECKERR: fg: '1' is not a job
|
||||
# CHECKERR: {{.*}}/fg.fish (line {{\d+}}):
|
||||
# CHECKERR: builtin fg 1 2
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help fg' for related documentation)
|
||||
|
||||
sleep 1 &
|
||||
sleep 1 &
|
||||
builtin fg (jobs --pid)
|
||||
# CHECKERR: fg: Ambiguous job
|
||||
# CHECKERR: {{.*}}/fg.fish (line {{\d+}}):
|
||||
# CHECKERR: builtin fg (jobs --pid)
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help fg' for related documentation)
|
||||
set -l pid (jobs -lp)
|
||||
fg $pid
|
||||
# CHECKERR: fg: Can't put job {{\d+}}, 'sleep 1 &' to foreground because it is not under job control
|
||||
|
||||
19
tests/checks/fish_key_reader.fish
Normal file
19
tests/checks/fish_key_reader.fish
Normal file
@@ -0,0 +1,19 @@
|
||||
#RUN: fish=%fish %fish %s
|
||||
|
||||
# See `tests/pexpects/fkr.py` for non-error tests
|
||||
|
||||
fish_key_reader --continuous=invalid
|
||||
# CHECKERR: fish_key_reader: --continuous=invalid: option does not take an argument
|
||||
|
||||
fish_key_reader --invalid-opt
|
||||
# CHECKERR: fish_key_reader: --invalid-opt: unknown option
|
||||
|
||||
fish_key_reader some-unexpected-args
|
||||
# CHECKERR: Expected no arguments, got 1
|
||||
|
||||
echo | builtin fish_key_reader
|
||||
# CHECKERR: Stdin must be attached to a tty.
|
||||
|
||||
set -l dir (dirname $fish)
|
||||
echo | command $dir/fish_key_reader
|
||||
# CHECKERR: Stdin must be attached to a tty.
|
||||
@@ -244,4 +244,22 @@ for flag in --on-process-exit --on-job-exit
|
||||
# CHECKERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||||
end
|
||||
|
||||
function handle_some_sig --on-signal SOME_SIG
|
||||
end
|
||||
#CHECKERR: {{.*}}/function.fish (line {{\d+}}): function: Unknown signal 'SOME_SIG'
|
||||
#CHECKERR: function handle_some_sig --on-signal SOME_SIG
|
||||
#CHECKERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||||
|
||||
function handle_exit_invalid_pid -j caller
|
||||
end
|
||||
#CHECKERR: {{.*}}/function.fish (line {{\d+}}): function: calling job for event handler not found
|
||||
#CHECKERR: function handle_exit_invalid_pid -j caller
|
||||
#CHECKERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||||
|
||||
function fn_with_args -- arg
|
||||
end
|
||||
#CHECKERR: {{.*}}/function.fish (line {{\d+}}): function: arg: unexpected positional argument
|
||||
#CHECKERR: function fn_with_args -- arg
|
||||
#CHECKERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~^
|
||||
|
||||
exit 0
|
||||
|
||||
@@ -147,6 +147,50 @@ functions -Dv t2
|
||||
#CHECK: scope-shadowing
|
||||
#CHECK:
|
||||
|
||||
functions -c first
|
||||
# CHECKERR: functions: Expected exactly two names (current function name, and new function name)
|
||||
# CHECKERR: {{.*}}/checks/functions.fish (line {{\d+}}):
|
||||
# CHECKERR: functions -c first
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help functions' for related documentation)
|
||||
|
||||
functions -c first second third
|
||||
# CHECKERR: functions: Expected exactly two names (current function name, and new function name)
|
||||
# CHECKERR: {{.*}}/checks/functions.fish (line {{\d+}}):
|
||||
# CHECKERR: functions -c first second third
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help functions' for related documentation)
|
||||
|
||||
functions -c unknown_function copy
|
||||
# CHECKERR: functions: Function 'unknown_function' does not exist
|
||||
# CHECKERR: {{.*}}/checks/functions.fish (line {{\d+}}):
|
||||
# CHECKERR: functions -c unknown_function copy
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help functions' for related documentation)
|
||||
|
||||
function to_copy
|
||||
end
|
||||
functions -c -- to_copy -invalid_name
|
||||
# CHECKERR: functions: Illegal function name '-invalid_name'
|
||||
# CHECKERR: {{.*}}/checks/functions.fish (line {{\d+}}):
|
||||
# CHECKERR: functions -c -- to_copy -invalid_name
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help functions' for related documentation)
|
||||
|
||||
functions -c -- to_copy function
|
||||
# CHECKERR: functions: Illegal function name 'function'
|
||||
# CHECKERR: {{.*}}/checks/functions.fish (line {{\d+}}):
|
||||
# CHECKERR: functions -c -- to_copy function
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help functions' for related documentation)
|
||||
|
||||
functions -c -- to_copy to_copy
|
||||
# CHECKERR: functions: Function 'to_copy' already exists. Cannot create copy of 'to_copy'
|
||||
# CHECKERR: {{.*}}/checks/functions.fish (line {{\d+}}):
|
||||
# CHECKERR: functions -c -- to_copy to_copy
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help functions' for related documentation)
|
||||
|
||||
echo "functions -c t t3" | source
|
||||
functions t3
|
||||
# CHECK: # Defined via `source`, copied via `source`
|
||||
@@ -190,6 +234,9 @@ functions --handlers-type signal
|
||||
# CHECK: SIGTERM term2
|
||||
# CHECK: SIGTERM term3
|
||||
|
||||
functions -t invalid_type
|
||||
# CHECKERR: functions: Expected generic | variable | signal | exit | job-id for --handlers-type
|
||||
|
||||
# See how --names and --all work.
|
||||
# We don't want to list all of our functions here,
|
||||
# so we just match a few that we know are there.
|
||||
@@ -244,6 +291,9 @@ end
|
||||
functions --color=invalid
|
||||
# CHECKERR: functions: Invalid value for '--color' option: 'invalid'. Expected 'always', 'never', or 'auto'
|
||||
|
||||
functions --color
|
||||
# CHECKERR: functions: --color: option requires an argument
|
||||
|
||||
functions --no-details --color=never test_color_option
|
||||
# CHECK: function test_color_option
|
||||
# CHECK: echo hello
|
||||
@@ -253,3 +303,17 @@ string escape (functions --no-details --color=always test_color_option)
|
||||
# CHECK: function\ \e\[36mtest_color_option\e\[32m
|
||||
# CHECK: \e\[39m\ \ \ \ echo\ \e\[36mhello\e\[32m
|
||||
# CHECK: \e\[39mend\e\[32m\e\[39m
|
||||
|
||||
functions --names --query
|
||||
# CHECKERR: functions: invalid option combination
|
||||
# CHECKERR: {{.*}}/checks/functions.fish (line {{\d+}}):
|
||||
# CHECKERR: functions --names --query
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help functions' for related documentation)
|
||||
|
||||
functions -d desc unknown_function
|
||||
# CHECKERR: functions: Function 'unknown_function' does not exist
|
||||
# CHECKERR: {{.*}}/checks/functions.fish (line {{\d+}}):
|
||||
# CHECKERR: functions -d desc unknown_function
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help functions' for related documentation)
|
||||
|
||||
@@ -70,3 +70,12 @@ builtin history save
|
||||
set -g fish_private_mode 1
|
||||
builtin history merge
|
||||
#CHECKERR: history: can't merge history in private mode
|
||||
|
||||
builtin history -n abc
|
||||
#CHECKERR: history: abc: invalid integer
|
||||
|
||||
builtin history delete --prefix abc
|
||||
#CHECKERR: builtin history delete only supports --exact
|
||||
|
||||
builtin history delete --exact abc
|
||||
#CHECKERR: builtin history delete --exact requires --case-sensitive
|
||||
|
||||
@@ -5,6 +5,17 @@
|
||||
fish_indent --no-such-option
|
||||
#CHECKERR: fish_indent: --no-such-option: unknown option
|
||||
|
||||
fish_indent --check=foo
|
||||
#CHECKERR: fish_indent: --check=foo: option does not take an argument
|
||||
|
||||
fish_indent -w
|
||||
#CHECKERR: Expected file path to read/write for -w:
|
||||
#CHECKERR:
|
||||
#CHECKERR: {{ }}$ fish -w foo.fish
|
||||
|
||||
fish_indent -w nonexistent
|
||||
#CHECKERR: Opening "nonexistent" failed: No such file or directory (os error {{\d+}})
|
||||
|
||||
echo 'echo foo \\
|
||||
| cat' | $fish_indent
|
||||
#CHECK: echo foo \
|
||||
@@ -36,7 +47,6 @@ brot' | $fish_indent
|
||||
#CHECK: echo foo \
|
||||
#CHECK: brot
|
||||
|
||||
|
||||
echo 'echo rabarber \\
|
||||
banana' | $fish_indent
|
||||
#CHECK: echo rabarber \
|
||||
@@ -225,7 +235,6 @@ echo < stdin >>appended yes 2>&1 no > stdout maybe 2>& 4 | cat 2>| cat
|
||||
' | $fish_indent
|
||||
#CHECK: echo <stdin >>appended yes 2>&1 no >stdout maybe 2>&4 | cat 2>| cat
|
||||
|
||||
|
||||
# issue 7252
|
||||
echo -n '
|
||||
begin
|
||||
@@ -265,7 +274,6 @@ end
|
||||
#CHECK: {{^ }}{{ }}continuation
|
||||
#CHECK: {{^}}end
|
||||
|
||||
|
||||
echo -n '
|
||||
i\
|
||||
f true
|
||||
@@ -624,7 +632,6 @@ end' | $fish_indent --only-unindent
|
||||
# CHECK: {{^}} not indented properly
|
||||
# CHECK: {{^}}end
|
||||
|
||||
|
||||
echo 'echo (
|
||||
if true
|
||||
echo
|
||||
@@ -671,11 +678,16 @@ end
|
||||
# CHECK: {{^}})
|
||||
|
||||
set -l tmpdir (mktemp -d)
|
||||
echo 'echo "foo" "bar"' > $tmpdir/indent_test.fish
|
||||
echo 'echo "foo" "bar"' >$tmpdir/indent_test.fish
|
||||
$fish_indent --write $tmpdir/indent_test.fish
|
||||
cat $tmpdir/indent_test.fish
|
||||
# CHECK: echo foo bar
|
||||
|
||||
echo 'echo "foo" "bar"' >$tmpdir/indent_test.fish
|
||||
chmod 400 $tmpdir/indent_test.fish
|
||||
$fish_indent --write $tmpdir/indent_test.fish
|
||||
# CHECKERR: Opening "{{.*}}/indent_test.fish" failed: {{.*}})
|
||||
|
||||
# See that the builtin can be redirected
|
||||
printf %s\n a b c | builtin fish_indent | grep b
|
||||
# CHECK: b
|
||||
|
||||
@@ -133,3 +133,6 @@ end
|
||||
|
||||
disown 252
|
||||
# CHECKERR: disown: Could not find job '252'
|
||||
|
||||
jobs %abc
|
||||
# CHECKERR: jobs: '%abc' is not a valid job ID
|
||||
|
||||
38
tests/checks/manpage-completions-groff-x.fish
Normal file
38
tests/checks/manpage-completions-groff-x.fish
Normal file
@@ -0,0 +1,38 @@
|
||||
#RUN: %fish %s
|
||||
#REQUIRES: command -v python3
|
||||
|
||||
# Regression test for groff \X'...' device control escapes in man pages.
|
||||
# help2man 1.50+ emits \X'tty: link URL' hyperlinks which broke the parser.
|
||||
# See: coreutils 9.10 man pages.
|
||||
|
||||
set -l script (status dirname)/../../share/tools/create_manpage_completions.py
|
||||
set -l tmpdir (mktemp -d)
|
||||
|
||||
# Minimal man page with \X'tty: link' escapes as produced by help2man 1.50
|
||||
printf '%s\n' \
|
||||
'.TH TESTCMD "1" "March 2026" "test 1.0" "User Commands"' \
|
||||
'.SH NAME' \
|
||||
'testcmd \\- test command' \
|
||||
'.SH DESCRIPTION' \
|
||||
'A test command.' \
|
||||
'.TP' \
|
||||
'\\X'"'"'tty: link https://example.com/a'"'"'\\fB\\-a, \\-\\-all\\fP\\X'"'"'tty: link'"'"'' \
|
||||
'show all entries' \
|
||||
'.TP' \
|
||||
'\\X'"'"'tty: link https://example.com/v'"'"'\\fB\\-v, \\-\\-verbose\\fP\\X'"'"'tty: link'"'"'' \
|
||||
'be verbose' \
|
||||
'.TP' \
|
||||
'\\X'"'"'tty: link https://example.com/h'"'"'\\fB\\-\\-help\\fP\\X'"'"'tty: link'"'"'' \
|
||||
'display help' \
|
||||
'.PP' \
|
||||
'Some trailing paragraph text.' \
|
||||
'.SH AUTHOR' \
|
||||
'Nobody.' \
|
||||
> $tmpdir/testcmd.1
|
||||
|
||||
python3 $script --stdout $tmpdir/testcmd.1 | string match -r '^complete.*'
|
||||
#CHECK: complete -c testcmd -s a -l all -d 'show all entries'
|
||||
#CHECK: complete -c testcmd -s v -l verbose -d 'be verbose'
|
||||
#CHECK: complete -c testcmd -l help -d 'display help'
|
||||
|
||||
rm -rf $tmpdir
|
||||
@@ -23,6 +23,14 @@ math --scale=6 '5 / 3 * 0.3'
|
||||
# CHECK: 0.5
|
||||
math --scale=max '5 / 3'
|
||||
# CHECK: 1.666666666666667
|
||||
math --scale=1 --base=16 "2 / 3 - 1"
|
||||
# CHECKERR: math: invalid option combination, non-zero scale value only valid for base 10
|
||||
math --scale=abc '5 / 3'
|
||||
# CHECKERR: math: abc: invalid scale
|
||||
math --scale=-1 '5 / 3'
|
||||
# CHECKERR: math: -1: invalid scale
|
||||
math --scale=16 '5 / 3'
|
||||
# CHECKERR: math: 16: invalid scale
|
||||
math "7^2"
|
||||
# CHECK: 49
|
||||
math -1 + 1
|
||||
@@ -138,7 +146,6 @@ math n + 4
|
||||
# CHECKERR: 'n + 4'
|
||||
# CHECKERR: ^
|
||||
|
||||
|
||||
not math 'sin()'
|
||||
# CHECKERR: math: Error: Too few arguments
|
||||
# CHECKERR: 'sin()'
|
||||
@@ -428,3 +435,6 @@ math -s 6 --scale-mode=ceiling "1 / 3 - 1"
|
||||
# CHECK: -0.666666
|
||||
math -s 6 --scale-mode=ceiling "2 / 3 - 1"
|
||||
# CHECK: -0.333333
|
||||
|
||||
math -s 6 --scale-mode=random "2 / 3 - 1"
|
||||
# CHECKERR: math: random: invalid mode
|
||||
|
||||
@@ -337,3 +337,49 @@ path basename -E foo.txt /usr/local/foo.bar /foo.tar.gz
|
||||
|
||||
path basename --null-out bar baz | string escape
|
||||
# CHECK: bar\x00baz\x00
|
||||
|
||||
path basename --quiet=foo
|
||||
# CHECKERR: path basename: --quiet=foo: option does not take an argument
|
||||
|
||||
path basename --unknown-option
|
||||
# CHECKERR: path basename: --unknown-option: unknown option
|
||||
# CHECKERR: {{.*}}/checks/path.fish (line {{\d+}}):
|
||||
# CHECKERR: path basename --unknown-option
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help path' for related documentation)
|
||||
|
||||
path filter -t invalid_type
|
||||
# CHECKERR: path filter: Invalid type 'invalid_type'
|
||||
|
||||
path filter -p 999
|
||||
# CHECKERR: path filter: Invalid permission '999'
|
||||
|
||||
path sort --relative
|
||||
# CHECKERR: path sort: --relative: unknown option
|
||||
# CHECKERR: {{.*}}/checks/path.fish (line {{\d+}}):
|
||||
# CHECKERR: path sort --relative
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help path' for related documentation)
|
||||
|
||||
path change-extension
|
||||
# CHECKERR: path change-extension: missing argument
|
||||
|
||||
echo some.file | path basename other.file
|
||||
# CHECKERR: path basename: too many arguments
|
||||
|
||||
path sort --key=invalid-key
|
||||
# CHECKERR: path sort: Invalid sort key 'invalid-key'
|
||||
|
||||
path
|
||||
# CHECKERR: path: missing subcommand
|
||||
# CHECKERR: {{.*}}/checks/path.fish (line {{\d+}}):
|
||||
# CHECKERR: path
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help path' for related documentation)
|
||||
|
||||
path invalid-subcmd
|
||||
# CHECKERR: path: invalid-subcmd: invalid subcommand
|
||||
# CHECKERR: {{.*}}/checks/path.fish (line {{\d+}}):
|
||||
# CHECKERR: path invalid-subcmd
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help path' for related documentation)
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
# RUN: %fish %s
|
||||
# Test redirecting builtin help with a pipe
|
||||
# REQUIRES: command -v man
|
||||
|
||||
set -lx __fish_data_dir (mktemp -d)
|
||||
mkdir -p $__fish_data_dir/man/man1
|
||||
# Create $__fish_data_dir/man/man1/and.1
|
||||
echo '.\" Test manpage for and (not real).
|
||||
.TH "AND" "1" "Feb 02, 2024" "3.7" "fish-shell"
|
||||
.SH NAME
|
||||
and \- conditionally execute a command' >$__fish_data_dir/man/man1/and.1
|
||||
|
||||
# Test redirecting builtin help with a pipe
|
||||
# help should be redirected to grep instead of appearing on STDOUT
|
||||
builtin and --help 2>| grep -q "Documentation for and"
|
||||
echo $status
|
||||
#CHECK: 0
|
||||
|
||||
function __fish_print_help
|
||||
return 2
|
||||
end
|
||||
builtin and --help
|
||||
# CHECKERR: fish: and: missing man page
|
||||
# CHECKERR: Documentation may not be installed.
|
||||
# CHECKERR: `help and` will show an online version
|
||||
|
||||
@@ -31,6 +31,12 @@ printf "%-20d%d\n" 5 10
|
||||
printf "%*d\n" 10 100
|
||||
# CHECK: 100
|
||||
|
||||
printf "%*s\n" 2147483648 abc
|
||||
# CHECKERR: invalid field width: 2147483648
|
||||
|
||||
printf "%*s\n" -2147483649 abc
|
||||
# CHECKERR: invalid field width: -2147483649
|
||||
|
||||
printf "%%\"\\\n"
|
||||
printf "%s\b%s\n" x y
|
||||
# CHECK: %"\nxy
|
||||
@@ -80,9 +86,11 @@ printf 'long hex2 %X\n' 498216206234
|
||||
printf 'long hex3 %X\n' 0xABCDEF1234567890
|
||||
# CHECK: long hex3 ABCDEF1234567890
|
||||
printf 'long hex4 %X\n' 0xABCDEF12345678901
|
||||
printf '\n'
|
||||
# CHECK: long hex4
|
||||
# CHECKERR: 0xABCDEF12345678901: Number out of range
|
||||
printf 'long decimal %d\n' 498216206594
|
||||
# CHECK: long hex4 long decimal 498216206594
|
||||
# CHECK: long decimal 498216206594
|
||||
printf 'long signed %d\n' -498216206595
|
||||
# CHECK: long signed -498216206595
|
||||
printf 'long signed to unsigned %u\n' -498216206596
|
||||
@@ -124,6 +132,12 @@ printf '%d\n' 0g
|
||||
echo $status
|
||||
# CHECK: 1
|
||||
|
||||
printf '%d\n' abc
|
||||
# CHECKERR: abc: expected a numeric value
|
||||
|
||||
printf '%d\n' ""
|
||||
# CHECK: 0
|
||||
|
||||
printf '%f\n' 0x2
|
||||
# CHECK: 2.000000
|
||||
|
||||
@@ -133,6 +147,12 @@ printf '%f\n' 0x2p3
|
||||
printf '%.1f\n' -0X1.5P8
|
||||
# CHECK: -336.0
|
||||
|
||||
printf '%.*f\n' 2147483648 1
|
||||
# CHECKERR: invalid precision: 2147483648
|
||||
|
||||
printf '%lb\n' 1
|
||||
# CHECKERR: %lb: invalid conversion specification
|
||||
|
||||
# Test that we ignore options
|
||||
printf -a
|
||||
printf --foo
|
||||
@@ -156,7 +176,7 @@ printf %18446744073709551616s
|
||||
# CHECKERR: Number out of range
|
||||
|
||||
# Test non-ASCII behavior
|
||||
printf '|%3s|\n' 'ö'
|
||||
printf '|%3s|\n' ö
|
||||
# CHECK: | ö|
|
||||
printf '|%3s|\n' '🇺🇳'
|
||||
#CHECK: | 🇺🇳|
|
||||
@@ -168,16 +188,24 @@ printf '|%.3s|\n' 'aa🇺🇳'
|
||||
#CHECK: |aa|
|
||||
printf '|%3.3s|\n' 'aa🇺🇳'
|
||||
#CHECK: | aa|
|
||||
printf '|%.1s|\n' '𒈙a'
|
||||
printf '|%.1s|\n' 𒈙a
|
||||
#CHECK: |𒈙|
|
||||
printf '|%3.3s|\n' '👨👨👧👧'
|
||||
#CHECK: | 👨👨👧👧|
|
||||
|
||||
printf '\xxyz'
|
||||
# CHECKERR: missing hexadecimal number in escape
|
||||
printf '\uxyz'
|
||||
# CHECKERR: Missing hexadecimal number in Unicode escape
|
||||
|
||||
# Check handling of chars we use in our internal PUA encoding.
|
||||
printf '\uf641' | display_bytes
|
||||
# CHECK: 0000000 357 231 201
|
||||
# CHECK: 0000003
|
||||
|
||||
printf '\U110000'
|
||||
# CHECKERR: Not a valid Unicode character: \U00110000
|
||||
|
||||
# UTF-8 representation of \uf641
|
||||
printf '%s' \xef\x99\x81 | display_bytes
|
||||
# CHECK: 0000000 357 231 201
|
||||
|
||||
@@ -142,6 +142,15 @@ echo $bar
|
||||
echo test | read -n 1 foo
|
||||
echo $foo
|
||||
#CHECK: t
|
||||
echo test | read -n 2147483647 foo
|
||||
echo $foo
|
||||
#CHECK: test
|
||||
echo test | read -n 2147483648 foo
|
||||
#CHECKERR: read: Argument '2147483648' is out of range
|
||||
#CHECKERR: {{.*}}/checks/read.fish (line {{\d+}}):
|
||||
#CHECKERR: echo test | read -n 2147483648 foo
|
||||
#CHECKERR: ^
|
||||
#CHECKERR: (Type 'help read' for related documentation)
|
||||
|
||||
# read -z tests
|
||||
echo -n testing | read -lz foo
|
||||
@@ -455,6 +464,25 @@ set -S rawlist_null
|
||||
# CHECK: $rawlist_null[7]: |line|
|
||||
# CHECK: $rawlist_null[8]: |\n|
|
||||
|
||||
echo 'foo "&" bar' | read -al --tokenize --tokenize tokens
|
||||
set -S tokens
|
||||
# CHECK: $tokens: set in local scope, unexported, with 3 elements
|
||||
# CHECK: $tokens[1]: |foo|
|
||||
# CHECK: $tokens[2]: |&|
|
||||
# CHECK: $tokens[3]: |bar|
|
||||
echo 'foo "&" bar' | read -al --tokenize-raw --tokenize-raw tokens
|
||||
set -S tokens
|
||||
# CHECK: $tokens: set in local scope, unexported, with 3 elements
|
||||
# CHECK: $tokens[1]: |foo|
|
||||
# CHECK: $tokens[2]: |"&"|
|
||||
# CHECK: $tokens[3]: |bar|
|
||||
echo 'foo "&" bar' | read -al --tokenize --tokenize-raw tokens
|
||||
# CHECKERR: read: invalid option combination, --tokenize and --tokenize-raw are mutually exclusive
|
||||
# CHECKERR: {{.*}}checks/read.fish (line {{\d+}}):
|
||||
# CHECKERR: echo 'foo "&" bar' | read -al --tokenize --tokenize-raw tokens
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help read' for related documentation)
|
||||
|
||||
echo '1 {} "{}"' | read -lat var
|
||||
echo $var
|
||||
# CHECK: 1 {} {}
|
||||
@@ -467,3 +495,33 @@ set -S out_of_range_codepoint
|
||||
printf \xff | { read invalid_utf8; set -S invalid_utf8 }
|
||||
# CHECK: $invalid_utf8: set in global scope, unexported, with 1 elements
|
||||
# CHECK: $invalid_utf8[1]: |\Xff|
|
||||
|
||||
echo foo | read -l -p "echo little-p" -P big-P var
|
||||
# CHECKERR: read: Options -p and -P cannot be used together
|
||||
# CHECKERR: {{.*}}checks/read.fish (line {{\d+}}):
|
||||
# CHECKERR: echo foo | read -l -p "echo little-p" -P big-P var
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help read' for related documentation)
|
||||
|
||||
echo foo | read -d ";" -L var
|
||||
# CHECKERR: read: Options --delimiter and --line cannot be used together
|
||||
echo foo | read --null -L var
|
||||
# CHECKERR: read: Options -z and --line cannot be used together
|
||||
echo foo | read -d "&" --tokenize
|
||||
# CHECKERR: read: --delimiter --tokenize: options cannot be used together
|
||||
echo foo | read -L --tokenize-raw
|
||||
# CHECKERR: read: --line --tokenize-raw: options cannot be used together
|
||||
|
||||
echo foo | read -lxu var
|
||||
# CHECKERR: read: cannot both export and unexport
|
||||
# CHECKERR: {{.*}}checks/read.fish (line {{\d+}}):
|
||||
# CHECKERR: echo foo | read -lxu var
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help read' for related documentation)
|
||||
|
||||
echo foo | read -lf var
|
||||
# CHECKERR: read: scope can be only one of: universal function global local
|
||||
# CHECKERR: {{.*}}checks/read.fish (line {{\d+}}):
|
||||
# CHECKERR: echo foo | read -lf var
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help read' for related documentation)
|
||||
|
||||
@@ -44,11 +44,15 @@ builtin realpath /def///
|
||||
# Verify `realpath .` when cwd is a deleted directory gives a no such file or dir error.
|
||||
set -l tmpdir (mktemp -d)
|
||||
pushd $tmpdir
|
||||
mkdir subdir
|
||||
cd subdir
|
||||
# Solaris rmdir tries to protect against deleting $PWD.
|
||||
# But that's what we want to test, so we weasel around it.
|
||||
sh -c "cd ..; rmdir $tmpdir"
|
||||
sh -c "cd ../..; rmdir $tmpdir/subdir $tmpdir"
|
||||
builtin realpath .
|
||||
# CHECKERR: builtin realpath: .: No such file or directory
|
||||
builtin realpath -s .
|
||||
# CHECKERR: builtin realpath: realpath failed: No such file or directory
|
||||
popd
|
||||
|
||||
# A single symlink to a directory is correctly resolved.
|
||||
@@ -134,4 +138,11 @@ builtin realpath / /
|
||||
# CHECK: /
|
||||
# CHECK: /
|
||||
|
||||
builtin realpath '' /tmp '' /dont-exist ''
|
||||
# CHECKERR: builtin realpath: Invalid arg:
|
||||
# CHECK: {{.*}}/tmp
|
||||
# CHECKERR: builtin realpath: Invalid arg:
|
||||
# CHECK: /dont-exist
|
||||
# CHECKERR: builtin realpath: Invalid arg:
|
||||
|
||||
exit 0
|
||||
|
||||
@@ -35,3 +35,17 @@ for i in (seq -- -550 -1)
|
||||
end
|
||||
end
|
||||
# CHECK:
|
||||
|
||||
$fish -c "return 1 2"
|
||||
# CHECKERR: return: too many arguments
|
||||
# CHECKERR: Standard input (line 1):
|
||||
# CHECKERR: return 1 2
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help return' for related documentation)
|
||||
|
||||
$fish -c "return abc"
|
||||
# CHECKERR: return: abc: invalid integer
|
||||
# CHECKERR: Standard input (line 1):
|
||||
# CHECKERR: return abc
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help return' for related documentation)
|
||||
|
||||
@@ -49,7 +49,6 @@ else
|
||||
end
|
||||
# CHECK: Test 4 pass
|
||||
|
||||
|
||||
#Test that scope is preserved when setting a new value
|
||||
|
||||
set t5 a
|
||||
@@ -79,7 +78,6 @@ for i in 1
|
||||
end
|
||||
# CHECK: Test 6 pass
|
||||
|
||||
|
||||
# Test if variables in for loop blocks do not go out of scope on new laps
|
||||
|
||||
set res fail
|
||||
@@ -405,7 +403,6 @@ set -x DONT_ESCAPE_COLONS_PATH 1: 2: :3:
|
||||
env | grep '^DONT_ESCAPE_COLONS_PATH='
|
||||
# CHECK: DONT_ESCAPE_COLONS_PATH=1::2:::3:
|
||||
|
||||
|
||||
# Path universal variables
|
||||
set -U __fish_test_path_not a b c
|
||||
set -U __fish_test_PATH 1 2 3
|
||||
@@ -485,7 +482,6 @@ set -g __fish_test_global_vs_universal global
|
||||
echo "global-vs-universal 2: $__fish_test_global_vs_universal"
|
||||
# CHECK: global-vs-universal 2: global
|
||||
|
||||
|
||||
set __fish_test_global_vs_universal global2
|
||||
echo "global-vs-universal 3: $__fish_test_global_vs_universal"
|
||||
# CHECK: global-vs-universal 3: global2
|
||||
@@ -537,6 +533,13 @@ set --show 'argle bargle'
|
||||
#CHECKERR: ^
|
||||
#CHECKERR: (Type 'help set' for related documentation)
|
||||
|
||||
set --show array[1]
|
||||
# CHECKERR: set: `set --show` does not allow slices with the var names
|
||||
# CHECKERR: {{.*}}set.fish (line {{\d+}}):
|
||||
# CHECKERR: set --show array[1]
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help set' for related documentation)
|
||||
|
||||
# Verify behavior of `set --show`
|
||||
set semiempty ''
|
||||
set --show semiempty
|
||||
@@ -622,6 +625,32 @@ set --show var5
|
||||
#CHECK: $var5[7]: |x|
|
||||
#CHECK: $var5[8]: |0|
|
||||
|
||||
set -a
|
||||
# CHECKERR: set: expected >= 1 arguments; got 0
|
||||
# CHECKERR: {{.*}}checks/set.fish (line {{\d+}}):
|
||||
# CHECKERR: set -a
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help set' for related documentation)
|
||||
set -p
|
||||
# CHECKERR: set: expected >= 1 arguments; got 0
|
||||
# CHECKERR: {{.*}}checks/set.fish (line {{\d+}}):
|
||||
# CHECKERR: set -p
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help set' for related documentation)
|
||||
|
||||
set -a foo[1]
|
||||
# CHECKERR: set: Cannot use --append or --prepend when assigning to a slice
|
||||
# CHECKERR: {{.*}}checks/set.fish (line {{\d+}}):
|
||||
# CHECKERR: set -a foo[1]
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help set' for related documentation)
|
||||
set -p foo[1]
|
||||
# CHECKERR: set: Cannot use --append or --prepend when assigning to a slice
|
||||
# CHECKERR: {{.*}}checks/set.fish (line {{\d+}}):
|
||||
# CHECKERR: set -p foo[1]
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help set' for related documentation)
|
||||
|
||||
# Setting local scope when no local scope of the var uses the closest scope
|
||||
set -g var6 ghi jkl
|
||||
begin
|
||||
@@ -673,6 +702,19 @@ env | grep TESTVAR | sort | cat -v
|
||||
#CHECK: TESTVAR1=a
|
||||
#CHECK: TESTVAR2=a b
|
||||
|
||||
set -x | grep TESTVAR | sort | cat -v
|
||||
#CHECK: TESTVAR0
|
||||
#CHECK: TESTVAR1 a
|
||||
#CHECK: TESTVAR2 'a' 'b'
|
||||
|
||||
set -u TESTVAR0
|
||||
set -u TESTVAR2 a b
|
||||
set -u | grep TESTVAR | sort | cat -v
|
||||
#CHECK: TESTVAR0
|
||||
#CHECK: TESTVAR2 'a' 'b'
|
||||
set -x | grep TESTVAR | sort | cat -v
|
||||
#CHECK: TESTVAR1 a
|
||||
|
||||
# if/for/while scope
|
||||
function test_ifforwhile_scope
|
||||
if set -l ifvar1 (true && echo val1)
|
||||
@@ -747,7 +789,6 @@ echo $foo
|
||||
echo $bar
|
||||
#CHECK: 1 3
|
||||
|
||||
|
||||
# Test that `set -q` does not return 0 if there are 256 missing variables
|
||||
|
||||
set -lq a(seq 1 256)
|
||||
@@ -809,14 +850,14 @@ set -S stilllocal
|
||||
set -g globalvar global
|
||||
|
||||
function test-function-scope
|
||||
set -f funcvar "function"
|
||||
set -f funcvar function
|
||||
echo $funcvar
|
||||
# CHECK: function
|
||||
set -S funcvar
|
||||
#CHECK: $funcvar: set in local scope, unexported, with 1 elements
|
||||
#CHECK: $funcvar[1]: |function|
|
||||
begin
|
||||
set -l funcvar "block"
|
||||
set -l funcvar block
|
||||
echo $funcvar
|
||||
# CHECK: block
|
||||
set -S funcvar
|
||||
@@ -971,6 +1012,11 @@ set -e undefined[..1]
|
||||
set -l negative_oob 1 2 3
|
||||
set -q negative_oob[-10..1]
|
||||
|
||||
set foo[1 2 3] a b
|
||||
# CHECKERR: set: given 3 indexes but 2 values
|
||||
set foo[1 2 3] a b c d
|
||||
# CHECKERR: set: given 3 indexes but 4 values
|
||||
|
||||
# --no-event
|
||||
|
||||
function onevent --on-variable nonevent
|
||||
@@ -1015,8 +1061,89 @@ set line[0] ""
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help set' for related documentation)
|
||||
|
||||
|
||||
echo Still here
|
||||
# CHECK: Still here
|
||||
|
||||
set -o xtrace
|
||||
# CHECKERR: Fish does not have shell options. See `help fish_for_bash_users`.
|
||||
# CHECKERR: set: -o: unknown option
|
||||
|
||||
set -o vi
|
||||
# CHECKERR: Fish does not have shell options. See `help fish_for_bash_users`.
|
||||
# CHECKERR: To enable vi-mode, run `fish_vi_key_bindings`.
|
||||
# CHECKERR: set: -o: unknown option
|
||||
|
||||
set -o ed
|
||||
# CHECKERR: Fish does not have shell options. See `help fish_for_bash_users`.
|
||||
# CHECKERR: ?
|
||||
# CHECKERR: ?
|
||||
# CHECKERR: ?
|
||||
# CHECKERR: set: -o: unknown option
|
||||
|
||||
set -q -e foo
|
||||
# CHECKERR: set: invalid option combination
|
||||
# CHECKERR: {{.*}}set.fish (line {{\d+}}):
|
||||
# CHECKERR: set -q -e foo
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help set' for related documentation)
|
||||
|
||||
set -q -n
|
||||
# CHECKERR: set: invalid option combination
|
||||
# CHECKERR: {{.*}}set.fish (line {{\d+}}):
|
||||
# CHECKERR: set -q -n
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help set' for related documentation)
|
||||
|
||||
set -e -n
|
||||
# CHECKERR: set: invalid option combination
|
||||
# CHECKERR: {{.*}}set.fish (line {{\d+}}):
|
||||
# CHECKERR: set -e -n
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help set' for related documentation)
|
||||
|
||||
set -l -g foo bar
|
||||
# CHECKERR: set: scope can be only one of: universal function global local
|
||||
# CHECKERR: {{.*}}set.fish (line {{\d+}}):
|
||||
# CHECKERR: set -l -g foo bar
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help set' for related documentation)
|
||||
|
||||
set -u -x foo
|
||||
# CHECKERR: set: cannot both export and unexport
|
||||
# CHECKERR: {{.*}}set.fish (line {{\d+}}):
|
||||
# CHECKERR: set -u -x foo
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help set' for related documentation)
|
||||
|
||||
set -e -x foo
|
||||
# CHECKERR: set: invalid option combination
|
||||
# CHECKERR: {{.*}}set.fish (line {{\d+}}):
|
||||
# CHECKERR: set -e -x foo
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help set' for related documentation)
|
||||
|
||||
set -e -u foo
|
||||
# CHECKERR: set: invalid option combination
|
||||
# CHECKERR: {{.*}}set.fish (line {{\d+}}):
|
||||
# CHECKERR: set -e -u foo
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help set' for related documentation)
|
||||
|
||||
set --path --unpath foo
|
||||
# CHECKERR: set: cannot both path and unpath
|
||||
# CHECKERR: {{.*}}set.fish (line {{\d+}}):
|
||||
# CHECKERR: set --path --unpath foo
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help set' for related documentation)
|
||||
|
||||
set -s -l
|
||||
# CHECKERR: set: invalid option combination
|
||||
# CHECKERR: {{.*}}set.fish (line {{\d+}}):
|
||||
# CHECKERR: set -s -l
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help set' for related documentation)
|
||||
|
||||
set umask abc
|
||||
# CHECKERR: set: Tried to modify the special variable 'umask' to an invalid value
|
||||
|
||||
exit 0
|
||||
|
||||
@@ -138,3 +138,10 @@ string escape (set_color --underline=off)
|
||||
|
||||
string escape (set_color --reset f00 --background=00f --underline-color=0f0 --bold --dim --italics --reverse --strikethrough --underline=curly)
|
||||
# CHECK: \e\[\;38\;2\;255\;0\;0\;48\;2\;0\;0\;255\;58:2::0:255:0\;1\;4:3\;2\;3m\e\[7\;9m
|
||||
|
||||
set_color --unknown-opt
|
||||
# CHECKERR: set_color: --unknown-opt: unknown option
|
||||
# CHECKERR: {{.*}}checks/set_color.fish (line {{\d+}}):
|
||||
# CHECKERR: set_color --unknown-opt
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help set_color' for related documentation)
|
||||
|
||||
@@ -73,4 +73,15 @@ echo "Now event handler should have run"
|
||||
# CHECK: PROCESS_EXIT 0
|
||||
# CHECK: JOB_EXIT 0
|
||||
# CHECK: Now event handler should have run
|
||||
|
||||
begin
|
||||
block --erase --local
|
||||
# CHECKERR: block: Can not specify scope when removing block
|
||||
block --erase --global
|
||||
# CHECKERR: block: Can not specify scope when removing block
|
||||
block --erase
|
||||
# CHECKERR: block: No blocks defined
|
||||
end
|
||||
|
||||
exit 0
|
||||
# CHECK: PROCESS_EXIT 0
|
||||
|
||||
@@ -9,3 +9,12 @@ echo $status
|
||||
# CHECKERR: error: Unable to read input file: Is a directory
|
||||
# CHECKERR: source: Error while reading file '/'
|
||||
# CHECK: 1
|
||||
|
||||
source unknown-file
|
||||
# CHECKERR: source: Error encountered while sourcing file 'unknown-file':
|
||||
# CHECKERR: source: {{.+}}
|
||||
|
||||
source <&-
|
||||
# CHECKERR: source: stdin is closed
|
||||
source - <&-
|
||||
# CHECKERR: source: stdin is closed
|
||||
|
||||
@@ -86,7 +86,7 @@ echo $status
|
||||
# Verify errors from writes - see #7857.
|
||||
if test -e /dev/full
|
||||
# Failed writes to stdout produce 1.
|
||||
echo foo > /dev/full
|
||||
echo foo >/dev/full
|
||||
if test $status -ne 1
|
||||
echo "Wrong status when writing to /dev/full"
|
||||
end
|
||||
@@ -94,7 +94,7 @@ if test -e /dev/full
|
||||
# Here the builtin should fail with status 2,
|
||||
# and also the write should fail with status 1.
|
||||
# The builtin has precedence.
|
||||
builtin string --not-a-valid-option 2> /dev/full
|
||||
builtin string --not-a-valid-option 2>/dev/full
|
||||
if test $status -ne 2
|
||||
echo "Wrong status for failing builtin"
|
||||
end
|
||||
@@ -140,3 +140,51 @@ and should have failed on unrecognized feature
|
||||
# CHECKERR: status test-terminal-feature: unrecognized feature 'unrecognized-feature'
|
||||
status test-terminal-feature scroll-content-up
|
||||
and should have failed when running without a TTY
|
||||
|
||||
status -L abc
|
||||
# CHECKERR: status: abc: invalid integer
|
||||
status -L 9999999999999999999999
|
||||
# CHECKERR: status: Invalid level value '9999999999999999999999'
|
||||
|
||||
status unknown-subcmd
|
||||
# CHECKERR: status: unknown-subcmd: invalid subcommand
|
||||
|
||||
status job-control abc cdf
|
||||
# CHECKERR: status: job-control: expected 1 arguments; got 2
|
||||
|
||||
status test-feature
|
||||
# CHECKERR: status: test-feature: expected 1 arguments; got 0
|
||||
status test-feature one two
|
||||
# CHECKERR: status: test-feature: expected 1 arguments; got 2
|
||||
|
||||
status get-file
|
||||
# CHECKERR: status: get-file: expected 1 arguments; got 0
|
||||
status get-file one two
|
||||
# CHECKERR: status: get-file: expected 1 arguments; got 2
|
||||
|
||||
if status buildinfo | string match -q "*localize-messages*"
|
||||
echo Skipped
|
||||
else
|
||||
set -l result "$(status language 2>&1)"
|
||||
if string match -q "fish was built with the `localize-messages` feature disabled. The `status language` command is unavailable." -- "$result"
|
||||
echo Success
|
||||
else
|
||||
echo "Failed: $result"
|
||||
end
|
||||
end
|
||||
# CHECK: {{Skipped|Success}}
|
||||
|
||||
if not { status buildinfo | string match -q "*localize-messages*" }
|
||||
echo Skipped
|
||||
else
|
||||
set -l result "$(status language foo 2>&1)"
|
||||
if string match -q "status language: foo: invalid subcommand" -- "$result"
|
||||
echo Success
|
||||
else
|
||||
echo "Failed: $result"
|
||||
end
|
||||
end
|
||||
# CHECK: {{Skipped|Success}}
|
||||
|
||||
status build-info other-arg
|
||||
# CHECKERR: status: build-info: expected 0 arguments; got 1
|
||||
|
||||
@@ -1,6 +1,27 @@
|
||||
#RUN: %fish %s
|
||||
#RUN: fish=%fish %fish %s
|
||||
# Tests for string builtin. Mostly taken from man page examples.
|
||||
|
||||
string
|
||||
# CHECKERR: string: missing subcommand
|
||||
# CHECKERR: {{.*}}checks/string.fish (line {{\d+}}):
|
||||
# CHECKERR: string
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help string' for related documentation)
|
||||
|
||||
string abc
|
||||
# CHECKERR: string: abc: invalid subcommand
|
||||
# CHECKERR: {{.*}}checks/string.fish (line {{\d+}}):
|
||||
# CHECKERR: string abc
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help string' for related documentation)
|
||||
|
||||
string --abc
|
||||
# CHECKERR: string: --abc: invalid subcommand
|
||||
# CHECKERR: {{.*}}checks/string.fish (line {{\d+}}):
|
||||
# CHECKERR: string --abc
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help string' for related documentation)
|
||||
|
||||
string match -r -v "c.*" dog can cat diz; and echo "exit 0"
|
||||
# CHECK: dog
|
||||
# CHECK: diz
|
||||
@@ -36,6 +57,12 @@ string match -q -r -v x y; and echo "exit 0"
|
||||
string match -q -r -v x x; or echo "exit 1"
|
||||
# CHECK: exit 1
|
||||
|
||||
string match -v -g foo foo
|
||||
# CHECKERR: match: invalid option combination, --invert and --groups-only are mutually exclusive
|
||||
|
||||
string match
|
||||
# CHECKERR: string match: missing argument
|
||||
|
||||
string length "hello, world"
|
||||
# CHECK: 12
|
||||
|
||||
@@ -55,6 +82,8 @@ string pad -r -w 7 --chars - --center foo
|
||||
# might overflow when converting sign
|
||||
string sub --start -9223372036854775808 abc
|
||||
# CHECK: abc
|
||||
string sub --start 0 abc
|
||||
# CHECKERR: string sub: Invalid start value '0'
|
||||
|
||||
string pad --width 7 -c '=' foo
|
||||
# CHECK: ====foo
|
||||
@@ -137,6 +166,9 @@ string pad -c ab -w4 .
|
||||
string pad -c \u07 .
|
||||
# CHECKERR: string pad: Invalid padding character of width zero {{'\a'}}
|
||||
|
||||
string pad --width=-1 foo
|
||||
# CHECKERR: string pad: Invalid width value '-1'
|
||||
|
||||
# Visible length. Let's start off simple, colors are ignored:
|
||||
string length --visible (set_color red)abc
|
||||
# CHECK: 3
|
||||
@@ -185,6 +217,9 @@ string sub --length 2 abcde
|
||||
string sub -s 2 -l 2 abcde
|
||||
# CHECK: bc
|
||||
|
||||
string sub --length=-1 abcde
|
||||
# CHECKERR: string sub: Invalid length value '-1'
|
||||
|
||||
string sub --start=-2 abcde
|
||||
# CHECK: de
|
||||
|
||||
@@ -194,6 +229,9 @@ string sub --end=3 abcde
|
||||
string sub --end=-4 abcde
|
||||
# CHECK: a
|
||||
|
||||
string sub --end=0 abcde
|
||||
# CHECKERR: string sub: Invalid end value '0'
|
||||
|
||||
string sub --start=2 --end=-2 abcde
|
||||
# CHECK: bc
|
||||
|
||||
@@ -212,6 +250,9 @@ string sub -s -50 -e -100 abcde
|
||||
string sub -s 2 -e -5 abcde
|
||||
# CHECK:
|
||||
|
||||
string sub -s 2 -e -5 -l 3 abcde
|
||||
# CHECKERR: sub: invalid option combination, --end and --length are mutually exclusive
|
||||
|
||||
string split . example.com
|
||||
# CHECK: example
|
||||
# CHECK: com
|
||||
@@ -225,10 +266,16 @@ string split "" abc
|
||||
# CHECK: b
|
||||
# CHECK: c
|
||||
|
||||
string split
|
||||
# CHECKERR: string split: missing argument
|
||||
|
||||
string split --max 1 --right 12 AB12CD
|
||||
# CHECK: AB
|
||||
# CHECK: CD
|
||||
|
||||
string split --max=-1 --right 12 AB12CD
|
||||
# CHECKERR: string split: Invalid max value '-1'
|
||||
|
||||
string split --fields=2 "" abc
|
||||
# CHECK: b
|
||||
|
||||
@@ -288,9 +335,15 @@ string split -f1 ' ' 'a b' 'c d'
|
||||
string split --allow-empty --fields=2,9 "" abc
|
||||
# CHECK: b
|
||||
|
||||
string split --allow-empty "" abc
|
||||
# CHECKERR: split: invalid option combination, --allow-empty is only valid with --fields
|
||||
|
||||
seq 3 | string join ...
|
||||
# CHECK: 1...2...3
|
||||
|
||||
string join
|
||||
# CHECKERR: string join: missing argument
|
||||
|
||||
string trim " abc "
|
||||
# CHECK: abc
|
||||
|
||||
@@ -361,6 +414,9 @@ world"
|
||||
# CHECK: \^this is a literal string
|
||||
# CHECK: hello\nworld
|
||||
|
||||
string escape --style=unknown-style
|
||||
# CHECKERR: string escape: Invalid escape style 'unknown-style'
|
||||
|
||||
### Verify that we can correctly unescape the same strings
|
||||
# we tested escaping above.
|
||||
set x (string unescape (echo \x07 | string escape))
|
||||
@@ -395,6 +451,9 @@ string unescape --style=var (string escape --style=var '_a_b_c_')
|
||||
string unescape --style=var -- (string escape --style=var -- -)
|
||||
# CHECK: -
|
||||
|
||||
string unescape --style=unknown-style
|
||||
# CHECKERR: string unescape: Invalid style value 'unknown-style'
|
||||
|
||||
### Verify that we can correctly match strings.
|
||||
string match "*" a
|
||||
# CHECK: a
|
||||
@@ -431,6 +490,9 @@ string match -r -a -n at ratatat
|
||||
string match -r -i "0x[0-9a-f]{1,8}" "int magic = 0xBadC0de;"
|
||||
# CHECK: 0xBadC0de
|
||||
|
||||
string match -r -i "0x[0-9a-f]{1,8}" "int magic = 0xBadC0de;"
|
||||
# CHECK: 0xBadC0de
|
||||
|
||||
string replace is was "blue is my favorite"
|
||||
# CHECK: blue was my favorite
|
||||
|
||||
@@ -531,6 +593,9 @@ echo foo | string repeat -n 2
|
||||
echo foo | string repeat 2
|
||||
# CHECK: foofoo
|
||||
|
||||
string repeat
|
||||
# CHECKERR: string repeat: missing argument
|
||||
|
||||
string repeat foo
|
||||
# CHECKERR: string repeat: Invalid count value 'foo'
|
||||
|
||||
@@ -717,6 +782,12 @@ or echo exit 1
|
||||
# CHECK: caabxyxz
|
||||
# CHECK: xyx
|
||||
|
||||
string match --entire --index foo foo
|
||||
# CHECKERR: match: invalid option combination, --entire and --index are mutually exclusive
|
||||
|
||||
string match --entire --groups-only -r foo foo
|
||||
# CHECKERR: match: invalid option combination, --entire and --groups-only are mutually exclusive
|
||||
|
||||
# 'string match -r "a*b([xy]+)" abc abxc bye aaabyz kaabxz abbxy abcx caabxyxz'
|
||||
string match -r "a*b([xy]+)" abc abxc bye aaabyz kaabxz abbxy abcx caabxyxz
|
||||
or echo exit 1
|
||||
@@ -1006,6 +1077,9 @@ string shorten --max 4 -c /// foobarnana
|
||||
string shorten --max 2 --char "" foo
|
||||
# CHECK: fo
|
||||
|
||||
string shorten --max=-1 --char "" foo
|
||||
# CHECKERR: string shorten: Invalid max value '-1'
|
||||
|
||||
string shorten foo foobar
|
||||
# CHECK: foo
|
||||
# CHECK: fo…
|
||||
@@ -1200,6 +1274,12 @@ printf "dog\ncat\nbat\ngnat\n" | string match -m2 "*at"
|
||||
# CHECK: cat
|
||||
# CHECK: bat
|
||||
|
||||
string match -m0 foo
|
||||
# CHECKERR: string match: Invalid max matches value '0'
|
||||
|
||||
string match -m999999999999999999999999999999999999999 foo
|
||||
# CHECKERR: string match: Invalid max matches value '999999999999999999999999999999999999999'
|
||||
|
||||
printf "dog\ncat\nbat\nhog\n" | string match -rvm1 'at$'
|
||||
# CHECK: dog
|
||||
|
||||
@@ -1209,3 +1289,31 @@ printf "dog\ncat\nbat\n" | string replace -rf --max-matches 1 'at$' aught
|
||||
printf "dog\ncat\nbat\n" | string replace -r --max-matches 1 '^c' h
|
||||
# CHECK: dog
|
||||
# CHECK: hat
|
||||
|
||||
$fish --features="no-regex-easyesc" -c "string replace -r o '\c' -- foo"
|
||||
# CHECKERR: string replace: Invalid escape sequence in pattern "\c"
|
||||
|
||||
string replace --max-matches abc
|
||||
# CHECKERR: string replace: Invalid max matches value 'abc'
|
||||
string replace --max-matches -1
|
||||
# CHECKERR: string replace: Invalid max matches value '-1'
|
||||
string replace --max-matches 99999999999999999999
|
||||
# CHECKERR: string replace: Invalid max matches value '99999999999999999999'
|
||||
|
||||
string replace
|
||||
# CHECKERR: string replace: missing argument
|
||||
string replace one
|
||||
# CHECKERR: string replace: expected 1 arguments; got 2
|
||||
|
||||
string replace -r o '${bad_name}' foobar
|
||||
# CHECKERR: string replace: Regular expression substitute error: unknown substring
|
||||
|
||||
string match --unknown-opt
|
||||
# CHECKERR: string match: --unknown-opt: unknown option
|
||||
# CHECKERR: {{.*}}checks/string.fish (line {{\d+}}):
|
||||
# CHECKERR: string match --unknown-opt
|
||||
# CHECKERR: ^
|
||||
# CHECKERR: (Type 'help string' for related documentation)
|
||||
|
||||
string match --regex=abc
|
||||
# CHECKERR: string match: --regex=abc: option does not take an argument
|
||||
|
||||
@@ -142,3 +142,10 @@ test
|
||||
#CHECKERR: test
|
||||
#CHECKERR: ^
|
||||
#CHECKERR: (Type 'help test' for related documentation)
|
||||
|
||||
[ -z
|
||||
#CHECKERR: [: the last argument must be ']'
|
||||
#CHECKERR: {{.*}}test.fish (line {{\d+}}):
|
||||
#CHECKERR: [ -z
|
||||
#CHECKERR: ^
|
||||
#CHECKERR: (Type 'help [' for related documentation)
|
||||
|
||||
11
tests/checks/tmux-breakpoint.fish
Normal file
11
tests/checks/tmux-breakpoint.fish
Normal file
@@ -0,0 +1,11 @@
|
||||
#RUN: %fish %s
|
||||
#REQUIRES: command -v tmux
|
||||
|
||||
isolated-tmux-start
|
||||
isolated-tmux send-keys breakpoint Enter
|
||||
|
||||
tmux-sleep
|
||||
isolated-tmux capture-pane -p
|
||||
# CHECK: prompt 0> breakpoint
|
||||
# CHECK: breakpoint: Command not valid at an interactive prompt
|
||||
# CHECK: prompt 1>
|
||||
13
tests/checks/tmux-set.fish
Normal file
13
tests/checks/tmux-set.fish
Normal file
@@ -0,0 +1,13 @@
|
||||
#RUN: %fish %s
|
||||
#REQUIRES: command -v tmux
|
||||
|
||||
isolated-tmux-start
|
||||
isolated-tmux send-keys 'set -g g_u_var foobar' Enter
|
||||
isolated-tmux send-keys 'set -U g_u_var barfoo' Enter
|
||||
|
||||
tmux-sleep
|
||||
isolated-tmux capture-pane -p
|
||||
# CHECK: prompt 0> set -g g_u_var foobar
|
||||
# CHECK: prompt 0> set -U g_u_var barfoo
|
||||
# CHECK: set: successfully set universal 'g_u_var'; but a global by that name shadows it
|
||||
# CHECK: prompt 0>
|
||||
13
tests/checks/tmux-source.fish
Normal file
13
tests/checks/tmux-source.fish
Normal file
@@ -0,0 +1,13 @@
|
||||
#RUN: %fish %s
|
||||
#REQUIRES: command -v tmux
|
||||
|
||||
isolated-tmux-start
|
||||
isolated-tmux send-keys source Enter
|
||||
isolated-tmux send-keys 'source -' Enter
|
||||
|
||||
tmux-sleep
|
||||
isolated-tmux capture-pane -p
|
||||
# CHECK: prompt 0> source
|
||||
# CHECK: source: missing filename argument or input redirection
|
||||
# CHECK: prompt 1> source -
|
||||
# CHECK: prompt 1>
|
||||
@@ -140,3 +140,6 @@ chmod +x ./test
|
||||
|
||||
PATH=.:$PATH type -P test
|
||||
# CHECK: ./test
|
||||
|
||||
type -p -q type
|
||||
# CHECKERR: type: invalid option combination
|
||||
|
||||
@@ -14,3 +14,71 @@ ulimit 4352353252352352334
|
||||
#CHECKERR: ^
|
||||
#CHECKERR: (Type 'help ulimit' for related documentation)
|
||||
|
||||
# Try to increase a hard limit
|
||||
# Since limits vary between OSes and distributions, we need to find
|
||||
# a non-unlimited dynamically
|
||||
set -l ulimit_opts -c -d -f -n -s -t -u
|
||||
for ulimit_opt in $ulimit_opts
|
||||
set -l max (ulimit -H $ulimit_opt 2>/dev/null)
|
||||
if contains -- "$max" "" unlimited
|
||||
continue
|
||||
end
|
||||
set found true
|
||||
echo "Using $ulimit_opt to increase hard limit" >&2
|
||||
ulimit -H $ulimit_opt (math $max + 1) >/dev/null
|
||||
break
|
||||
end
|
||||
if not set -q found
|
||||
echo "All common hard ulimits are unlimited, cannot increase them" >&2
|
||||
end
|
||||
#CHECKERR: Using {{-.}} to increase hard limit
|
||||
#CHECKERR: ulimit: Permission denied when changing resource of type '{{.+}}'
|
||||
|
||||
# Try to lower a hard limit below its soft one
|
||||
set -e found
|
||||
for ulimit_opt in $ulimit_opts
|
||||
set -l min (ulimit -S $ulimit_opt 2>/dev/null)
|
||||
if contains -- "$min" "" 0
|
||||
continue
|
||||
end
|
||||
if test $min = unlimited
|
||||
set min 1024
|
||||
end
|
||||
set found true
|
||||
echo "Using $ulimit_opt to lower hard limit" >&2
|
||||
ulimit -H $ulimit_opt (math $min - 1) >/dev/null
|
||||
and if test (__fish_uname) = FreeBSD
|
||||
echo "ulimit: FreeBSD doesn't fail unlike other platforms, so fake it" >&2
|
||||
end
|
||||
break
|
||||
end
|
||||
if not set -q found
|
||||
echo "All common soft ulimits are 0, cannot decrease hard ulimits below them" >&2
|
||||
end
|
||||
#CHECKERR: Using {{-.}} to lower hard limit
|
||||
#CHECKERR: ulimit: {{.+}}
|
||||
|
||||
if test (__fish_uname) = Linux
|
||||
ulimit -K 1024
|
||||
else
|
||||
ulimit -q 1024
|
||||
end
|
||||
#CHECKERR: ulimit: Resource limit not available on this operating system
|
||||
#CHECKERR: {{.*}}checks/ulimit.fish (line {{\d+}}):
|
||||
#CHECKERR: ulimit -{{.}} 1024
|
||||
#CHECKERR: ^
|
||||
#CHECKERR: (Type 'help ulimit' for related documentation)
|
||||
|
||||
ulimit --core-size 0 1 2
|
||||
#CHECKERR: ulimit: too many arguments
|
||||
#CHECKERR: {{.*}}checks/ulimit.fish (line {{\d+}}):
|
||||
#CHECKERR: ulimit --core-size 0 1 2
|
||||
#CHECKERR: ^
|
||||
#CHECKERR: (Type 'help ulimit' for related documentation)
|
||||
|
||||
ulimit --core-size abc
|
||||
#CHECKERR: ulimit: Invalid limit 'abc'
|
||||
#CHECKERR: {{.*}}checks/ulimit.fish (line {{\d+}}):
|
||||
#CHECKERR: ulimit --core-size abc
|
||||
#CHECKERR: ^
|
||||
#CHECKERR: (Type 'help ulimit' for related documentation)
|
||||
|
||||
@@ -76,3 +76,6 @@ wait -- -1
|
||||
# CHECKERR: wait: Could not find child processes with the name '-1'
|
||||
wait -- -(math 2 ^ 31)
|
||||
# CHECKERR: wait: Could not find child processes with the name '-2147483648'
|
||||
|
||||
wait 999999999
|
||||
# CHECKERR: wait: Could not find a job with process ID '999999999'
|
||||
|
||||
@@ -683,8 +683,8 @@ expect_str("foo-barqux")
|
||||
expect_prompt()
|
||||
|
||||
sendline("bind ctrl-g backward-word-end")
|
||||
sendline("echo 12" + control("g") + "3")
|
||||
expect_str("123")
|
||||
sendline("eco 12" + control("g") + "h")
|
||||
expect_str("12")
|
||||
expect_prompt()
|
||||
|
||||
# Check that the builtin version of `exit` works
|
||||
|
||||
@@ -41,7 +41,7 @@ send("\033")
|
||||
sleep(1)
|
||||
send("hhhdhldl")
|
||||
sendline("")
|
||||
expect_re(r"\bacdf\b")
|
||||
expect_re(r"\bacef\b")
|
||||
|
||||
# Test x copying to clipboard
|
||||
send("echo hello")
|
||||
|
||||
Reference in New Issue
Block a user